{ pkgs, config, lib, ... }: with lib; let cfg = config.modules.hardware.networking; in { options.modules.hardware.networking = { enable = mkEnableOption "Enable NetworkManager, a daemon for configuring network interfaces"; powersave = mkEnableOption { default = config.modules.core.laptop; description = "Enable power saving options over Wi-Fi"; }; }; config = mkIf cfg.enable { networking.networkmanager.enable = true; networking.networkmanager.wifi.backend = "iwd"; networking.networkmanager.wifi.powersave = cfg.powersave; networking.wireless.iwd.settings.Settings.AutoConnect = true; systemd.services.NetworkManager-wait-online.enable = false; }; }