mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-20 12:42:24 +00:00
* Use openresolv to set the static nameserver configuration. Next
step is to get the DHCP client, OpenVPN etc. to use openresolv as well. svn path=/nixos/trunk/; revision=32411
This commit is contained in:
parent
1707d1130f
commit
a218a602d4
|
@ -96,6 +96,7 @@ mkdir -m 0755 -p /etc/nixos
|
|||
|
||||
# Miscellaneous boot time cleanup.
|
||||
rm -rf /var/run /var/lock /var/log/upstart
|
||||
rm -f /etc/resolv.conf
|
||||
|
||||
#echo -n "cleaning \`/tmp'..."
|
||||
#rm -rf --one-file-system /tmp/*
|
||||
|
|
|
@ -179,6 +179,7 @@ in
|
|||
pkgs.nettools
|
||||
pkgs.wirelesstools
|
||||
pkgs.rfkill
|
||||
pkgs.openresolv
|
||||
]
|
||||
++ optional (cfg.bridges != {}) pkgs.bridge_utils
|
||||
++ optional cfg.enableIPv6 pkgs.ndisc6;
|
||||
|
@ -196,6 +197,7 @@ in
|
|||
''
|
||||
set +e # continue in case of errors
|
||||
|
||||
# Set MAC addresses of interfaces, if desired.
|
||||
${flip concatMapStrings cfg.interfaces (i:
|
||||
optionalString (i.macAddress != "")
|
||||
''
|
||||
|
@ -236,16 +238,15 @@ in
|
|||
'')
|
||||
}
|
||||
|
||||
# Set the nameservers.
|
||||
if test -n "${toString cfg.nameservers}"; then
|
||||
rm -f /etc/resolv.conf
|
||||
if test -n "${cfg.domain}"; then
|
||||
echo "domain ${cfg.domain}" >> /etc/resolv.conf
|
||||
fi
|
||||
for i in ${toString cfg.nameservers}; do
|
||||
echo "nameserver $i" >> /etc/resolv.conf
|
||||
done
|
||||
fi
|
||||
# Set the static DNS configuration, if given.
|
||||
cat | ${pkgs.openresolv}/sbin/resolvconf -a static <<EOF
|
||||
${optionalString (cfg.nameservers != [] && cfg.domain != "") ''
|
||||
domain ${cfg.domain}
|
||||
''}
|
||||
${flip concatMapStrings cfg.nameservers (ns: ''
|
||||
nameserver ${ns}
|
||||
'')}
|
||||
EOF
|
||||
|
||||
# Set the default gateway.
|
||||
${optionalString (cfg.defaultGateway != "") ''
|
||||
|
|
Loading…
Reference in a new issue