summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2019-06-10 18:29:13 +0300
committerNikolay Amiantov <ab@fmap.me>2019-06-10 18:54:32 +0300
commit33b7e5f6c7d82c3447e4dd9aea235fca27bd5cc0 (patch)
tree7ff3b8c181b1f23fc405ff9c5f2dc2a7c81e8ecf /nixos
parent68de116eb49de02813d7f6d34e6c5f2b69729a69 (diff)
downloadnixpkgs-33b7e5f6c7d82c3447e4dd9aea235fca27bd5cc0.tar
nixpkgs-33b7e5f6c7d82c3447e4dd9aea235fca27bd5cc0.tar.gz
nixpkgs-33b7e5f6c7d82c3447e4dd9aea235fca27bd5cc0.tar.bz2
nixpkgs-33b7e5f6c7d82c3447e4dd9aea235fca27bd5cc0.tar.lz
nixpkgs-33b7e5f6c7d82c3447e4dd9aea235fca27bd5cc0.tar.xz
nixpkgs-33b7e5f6c7d82c3447e4dd9aea235fca27bd5cc0.tar.zst
nixpkgs-33b7e5f6c7d82c3447e4dd9aea235fca27bd5cc0.zip
networkmanager service: fix simultaneous append and insert of nameservers
Before only one of them could work at the same time.
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/services/networking/networkmanager.nix18
1 files changed, 9 insertions, 9 deletions
diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix
index 5edcaa45fce..dcae09c532b 100644
--- a/nixos/modules/services/networking/networkmanager.nix
+++ b/nixos/modules/services/networking/networkmanager.nix
@@ -64,19 +64,19 @@ let
     });
   '';
 
-  ns = xs: writeText "nameservers" (
+  ns = xs: pkgs.writeText "nameservers" (
     concatStrings (map (s: "nameserver ${s}\n") xs)
   );
 
-  overrideNameserversScript = writeScript "02overridedns" ''
+  overrideNameserversScript = pkgs.writeScript "02overridedns" ''
     #!/bin/sh
-    tmp=`${coreutils}/bin/mktemp`
-    ${gnused}/bin/sed '/nameserver /d' /etc/resolv.conf > $tmp
-    ${gnugrep}/bin/grep 'nameserver ' /etc/resolv.conf | \
-      ${gnugrep}/bin/grep -vf ${ns (cfg.appendNameservers ++ cfg.insertNameservers)} > $tmp.ns
-    ${optionalString (cfg.appendNameservers != []) "${coreutils}/bin/cat $tmp $tmp.ns ${ns cfg.appendNameservers} > /etc/resolv.conf"}
-    ${optionalString (cfg.insertNameservers != []) "${coreutils}/bin/cat $tmp ${ns cfg.insertNameservers} $tmp.ns > /etc/resolv.conf"}
-    ${coreutils}/bin/rm -f $tmp $tmp.ns
+    PATH=${with pkgs; makeBinPath [ gnused gnugrep coreutils ]}
+    tmp=`mktemp`
+    sed '/nameserver /d' /etc/resolv.conf > $tmp
+    grep 'nameserver ' /etc/resolv.conf | \
+      grep -vf ${ns (cfg.appendNameservers ++ cfg.insertNameservers)} > $tmp.ns
+    cat $tmp ${ns cfg.insertNameservers} $tmp.ns ${ns cfg.appendNameservers} > /etc/resolv.conf
+    rm -f $tmp $tmp.ns
   '';
 
   dispatcherTypesSubdirMap = {