nixos/networkmanager: use tmpfiles to setup state directories
This commit is contained in:
parent
334921ad31
commit
5e593038d1
|
@ -24,9 +24,6 @@ let
|
||||||
|
|
||||||
enableIwd = cfg.wifi.backend == "iwd";
|
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" ''
|
configFile = pkgs.writeText "NetworkManager.conf" ''
|
||||||
[main]
|
[main]
|
||||||
plugins=keyfile
|
plugins=keyfile
|
||||||
|
@ -472,17 +469,24 @@ in {
|
||||||
|
|
||||||
systemd.packages = cfg.packages;
|
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 = {
|
systemd.services.NetworkManager = {
|
||||||
wantedBy = [ "network.target" ];
|
wantedBy = [ "network.target" ];
|
||||||
restartTriggers = [ configFile ];
|
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" ];
|
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 = {
|
systemd.services.NetworkManager-wait-online = {
|
||||||
|
|
Loading…
Reference in New Issue