networkmanager: hoist some lib.mkIf
s up a few levels
would you believe one of these attributes was being set without a mkIf cfg.enabled guard :)
This commit is contained in:
parent
cbe6072c03
commit
4ba0343315
|
@ -8,15 +8,19 @@
|
|||
let
|
||||
cfg = config.sane.programs.networkmanager;
|
||||
in
|
||||
{
|
||||
config = lib.mkMerge [
|
||||
{
|
||||
sane.programs.networkmanager = {
|
||||
suggestedPrograms = [ "wpa_supplicant" ];
|
||||
enableFor.system = lib.mkIf (builtins.any (en: en) (builtins.attrValues cfg.enableFor.user)) true;
|
||||
};
|
||||
}
|
||||
|
||||
(lib.mkIf cfg.enabled {
|
||||
# add to systemd.packages so we get the service file it ships, then override what we need to customize (taken from nixpkgs)
|
||||
systemd.packages = lib.mkIf cfg.enabled [ cfg.package ];
|
||||
systemd.services.NetworkManager = lib.mkIf cfg.enabled {
|
||||
systemd.packages = [ cfg.package ];
|
||||
systemd.services.NetworkManager = {
|
||||
wantedBy = [ "network.target" ];
|
||||
aliases = [ "dbus-org.freedesktop.NetworkManager.service" ];
|
||||
|
||||
|
@ -26,11 +30,9 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
systemd.services.NetworkManager-wait-online = lib.mkIf cfg.enabled {
|
||||
wantedBy = [ "network-online.target" ];
|
||||
};
|
||||
systemd.services.NetworkManager-wait-online.wantedBy = [ "network-online.target" ];
|
||||
|
||||
systemd.services.NetworkManager-dispatcher = lib.mkIf cfg.enabled {
|
||||
systemd.services.NetworkManager-dispatcher = {
|
||||
wantedBy = [ "NetworkManager.service" ];
|
||||
# to debug, add NM_DISPATCHER_DEBUG_LOG=1
|
||||
serviceConfig.ExecStart = [
|
||||
|
@ -41,7 +43,7 @@ in
|
|||
serviceConfig.RestartSec = "1s";
|
||||
};
|
||||
|
||||
environment.etc = lib.mkIf cfg.enabled {
|
||||
environment.etc = {
|
||||
"NetworkManager/system-connections".source = "/var/lib/NetworkManager/system-connections";
|
||||
"NetworkManager/NetworkManager.conf".text = ''
|
||||
[device]
|
||||
|
@ -83,13 +85,11 @@ in
|
|||
# debug=... (see also: NM_DEBUG env var)
|
||||
'';
|
||||
};
|
||||
hardware.wirelessRegulatoryDatabase = lib.mkIf cfg.enabled true;
|
||||
networking.useDHCP = lib.mkIf cfg.enabled false;
|
||||
users.groups = lib.mkIf cfg.enabled {
|
||||
networkmanager.gid = config.ids.gids.networkmanager;
|
||||
};
|
||||
services.udev.packages = lib.mkIf cfg.enabled [ cfg.package ];
|
||||
security.polkit.enable = lib.mkIf cfg.enabled true;
|
||||
hardware.wirelessRegulatoryDatabase = true;
|
||||
networking.useDHCP = false;
|
||||
users.groups.networkmanager.gid = config.ids.gids.networkmanager;
|
||||
services.udev.packages = [ cfg.package ];
|
||||
security.polkit.enable = true;
|
||||
security.polkit.extraConfig = ''
|
||||
polkit.addRule(function(action, subject) {
|
||||
if (
|
||||
|
@ -104,4 +104,6 @@ in
|
|||
boot.kernelModules = [ "ctr" ]; #< TODO: needed (what even is this)?
|
||||
# TODO: polkit?
|
||||
# TODO: NetworkManager-ensure-profiles?
|
||||
})
|
||||
];
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user