nixos/networking: Rebuild resolvconf during activation
This is needed when /etc/resolv.conf is being overriden by networkd and other configurations. If the file is destroyed by an environment activation then it must be rebuilt so that applications which interface with /etc/resolv.conf directly don't break.
This commit is contained in:
parent
8cffa37787
commit
c234e7b115
@ -98,6 +98,24 @@ in
|
|||||||
# pulled in by this target.
|
# pulled in by this target.
|
||||||
systemd.targets.ip-up.description = "Services Requiring IP Connectivity";
|
systemd.targets.ip-up.description = "Services Requiring IP Connectivity";
|
||||||
|
|
||||||
|
# This is needed when /etc/resolv.conf is being overriden by networkd
|
||||||
|
# and other configurations. If the file is destroyed by an environment
|
||||||
|
# activation then it must be rebuilt so that applications which interface
|
||||||
|
# with /etc/resolv.conf directly don't break.
|
||||||
|
system.activationScripts.resolvconf = stringAfter [ "etc" "tmpfs" "var" ]
|
||||||
|
''
|
||||||
|
# Systemd resolved controls its own resolv.conf
|
||||||
|
rm -f /run/resolvconf/interfaces/systemd
|
||||||
|
${optionalString config.services.resolved.enable ''
|
||||||
|
rm -rf /run/resolvconf/interfaces
|
||||||
|
mkdir -p /run/resolvconf/interfaces
|
||||||
|
ln -s /run/systemd/resolve/resolv.conf /run/resolvconf/interfaces/systemd
|
||||||
|
''}
|
||||||
|
|
||||||
|
# Make sure resolv.conf is up to date
|
||||||
|
${pkgs.openresolv}/bin/resolvconf -u
|
||||||
|
'';
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user