diff options
author | Florian Klink <flokli@flokli.de> | 2019-10-18 17:58:45 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-18 17:58:45 +0200 |
commit | c41b37ef25eca512f2ec7195c80658e11f769ac4 (patch) | |
tree | 5e472b3b4323d8c5ad87fc309d991dbd253d4a5c /nixos/modules/services | |
parent | 8f0aba000b89ea7cdbf87956b664233a76347910 (diff) | |
parent | 5e593038d1cf9ff151c01179c7722b765fa37765 (diff) | |
download | nixlib-c41b37ef25eca512f2ec7195c80658e11f769ac4.tar nixlib-c41b37ef25eca512f2ec7195c80658e11f769ac4.tar.gz nixlib-c41b37ef25eca512f2ec7195c80658e11f769ac4.tar.bz2 nixlib-c41b37ef25eca512f2ec7195c80658e11f769ac4.tar.lz nixlib-c41b37ef25eca512f2ec7195c80658e11f769ac4.tar.xz nixlib-c41b37ef25eca512f2ec7195c80658e11f769ac4.tar.zst nixlib-c41b37ef25eca512f2ec7195c80658e11f769ac4.zip |
nixos/networkmanager: use tmpfiles to setup state directories (#71322)
nixos/networkmanager: use tmpfiles to setup state directories
Diffstat (limited to 'nixos/modules/services')
-rw-r--r-- | nixos/modules/services/networking/networkmanager.nix | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix index 3f1d0727d9bc..45dc36e32402 100644 --- a/nixos/modules/services/networking/networkmanager.nix +++ b/nixos/modules/services/networking/networkmanager.nix @@ -24,9 +24,6 @@ let enableIwd = cfg.wifi.backend == "iwd"; - # /var/lib/misc is for dnsmasq.leases. - stateDirs = "/var/lib/NetworkManager /var/lib/dhclient /var/lib/misc"; - configFile = pkgs.writeText "NetworkManager.conf" '' [main] plugins=keyfile @@ -472,17 +469,24 @@ in { systemd.packages = cfg.packages; + systemd.tmpfiles.rules = [ + "d /etc/NetworkManager/system-connections 0700 root root -" + "d /etc/ipsec.d 0700 root root -" + + "d /var/lib/dhclient 0755 root root -" + "d /var/lib/misc 0755 root root -" # for dnsmasq.leases + ]; + systemd.services.NetworkManager = { wantedBy = [ "network.target" ]; restartTriggers = [ configFile ]; - preStart = '' - mkdir -m 700 -p /etc/NetworkManager/system-connections - mkdir -m 700 -p /etc/ipsec.d - mkdir -m 755 -p ${stateDirs} - ''; - aliases = [ "dbus-org.freedesktop.NetworkManager.service" ]; + + serviceConfig = { + StateDirectory = "NetworkManager"; + StateDirectoryMode = 755; # not sure if this really needs to be 755 + }; }; systemd.services.NetworkManager-wait-online = { |