diff options
-rw-r--r-- | common.nix | 6 | ||||
-rw-r--r-- | flake.lock | 18 | ||||
-rw-r--r-- | modules/iwd.nix | 82 |
3 files changed, 10 insertions, 96 deletions
@@ -8,15 +8,11 @@ let host = config.networking.hostName; in { - disabledModules = [ - "services/networking/pppd.nix" - "services/networking/iwd.nix" - ]; + disabledModules = [ "services/networking/pppd.nix" ]; imports = [ ./modules/userdata.nix ./modules/dev.nix ./modules/pppd.nix - ./modules/iwd.nix ]; # boot @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1701436327, - "narHash": "sha256-tRHbnoNI8SIM5O5xuxOmtSLnswEByzmnQcGGyNRjxsE=", + "lastModified": 1702151865, + "narHash": "sha256-9VAt19t6yQa7pHZLDbil/QctAgVsA66DLnzdRGqDisg=", "owner": "NixOs", "repo": "nixpkgs", - "rev": "91050ea1e57e50388fa87a3302ba12d188ef723a", + "rev": "666fc80e7b2afb570462423cb0e1cf1a3a34fedd", "type": "github" }, "original": { @@ -18,11 +18,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1701568804, - "narHash": "sha256-iwr1fjOCvlirVL/xNvOTwY9kg3L/F3TC/7yh/QszaPI=", + "lastModified": 1702148972, + "narHash": "sha256-h2jODFP6n+ABrUWcGRSVPRFfLOkM9TJ2pO+h+9JcaL0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dc01248a9c946953ad4d438b0a626f5c987a93e4", + "rev": "b8f33c044e51de6dde3ad80a9676945e0e4e3227", "type": "github" }, "original": { @@ -46,11 +46,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1701728052, - "narHash": "sha256-7lOMc3PtW5a55vFReBJLLLOnopsoi1W7MkjJ93jPV4E=", + "lastModified": 1702177193, + "narHash": "sha256-J2409SyXROoUHYXVy9h4Pj0VU8ReLuy/mzBc9iK4DBg=", "owner": "Mic92", "repo": "sops-nix", - "rev": "e91ece6d2cf5a0ae729796b8f0dedceab5107c3d", + "rev": "d806e546f96c88cd9f7d91c1c19ebc99ba6277d9", "type": "github" }, "original": { diff --git a/modules/iwd.nix b/modules/iwd.nix deleted file mode 100644 index 3b11368..0000000 --- a/modules/iwd.nix +++ /dev/null @@ -1,82 +0,0 @@ -{ config, lib, pkgs, ... }: - -let - inherit (lib) - mkEnableOption mkIf mkOption types - recursiveUpdate; - - cfg = config.networking.wireless.iwd; - ini = pkgs.formats.ini { }; - defaults = { - # without UseDefaultInterface, sometimes wlan0 simply goes AWOL with NetworkManager - # https://iwd.wiki.kernel.org/interface_lifecycle#interface_management_in_iwd - General.UseDefaultInterface = with config.networking.networkmanager; (enable && (wifi.backend == "iwd")); - }; - configFile = ini.generate "main.conf" (recursiveUpdate defaults cfg.settings); - -in -{ - options.networking.wireless.iwd = { - enable = mkEnableOption (lib.mdDoc "iwd"); - - package = mkOption { - type = types.package; - default = pkgs.iwd; - defaultText = lib.literalExpression "pkgs.iwd"; - description = lib.mdDoc '' - The iwd package to use. - ''; - }; - - settings = mkOption { - type = ini.type; - default = { }; - - example = { - Settings.AutoConnect = true; - - Network = { - EnableIPv6 = true; - RoutePriorityOffset = 300; - }; - }; - - description = lib.mdDoc '' - Options passed to iwd. - See [here](https://iwd.wiki.kernel.org/networkconfigurationsettings) for supported options. - ''; - }; - }; - - config = mkIf cfg.enable { - assertions = [{ - assertion = !config.networking.wireless.enable; - message = '' - Only one wireless daemon is allowed at the time: networking.wireless.enable and networking.wireless.iwd.enable are mutually exclusive. - ''; - }]; - - environment.etc."iwd/${configFile.name}".source = configFile; - - # for iwctl - environment.systemPackages = [ cfg.package ]; - - services.dbus.packages = [ cfg.package ]; - - systemd.packages = [ cfg.package ]; - - systemd.network.links."80-iwd" = { - matchConfig.Type = "wlan"; - linkConfig.NamePolicy = "keep kernel"; - }; - - systemd.services.iwd = { - path = [ config.networking.resolvconf.package ]; - wantedBy = [ "multi-user.target" ]; - restartTriggers = [ configFile ]; - serviceConfig.ReadWritePaths = "-/etc/resolv.conf"; - }; - }; - - meta.maintainers = with lib.maintainers; [ dtzWill ]; -} |