diff options
| author | Collin Williams <96917990+bluedragon1221@users.noreply.github.com> | 2025-07-08 17:03:20 +0000 |
|---|---|---|
| committer | Collin Williams <96917990+bluedragon1221@users.noreply.github.com> | 2025-07-08 17:14:14 +0000 |
| commit | 82ec91b4d2c253c6ccb783f960a2788f230d6ad1 (patch) | |
| tree | 94dad925340787e5a045d9bb0d094f71dedce036 /modules/services | |
| parent | cfe198ee85f3c5ee41f4221f49b73dd492b42fdc (diff) | |
start avoiding lib.enum; start using hjem generators
Diffstat (limited to 'modules/services')
| -rw-r--r-- | modules/services/options.nix | 28 | ||||
| -rw-r--r-- | modules/services/system/bluetooth.nix | 5 | ||||
| -rw-r--r-- | modules/services/system/networking/default.nix | 3 | ||||
| -rw-r--r-- | modules/services/system/networking/iwd.nix | 2 | ||||
| -rw-r--r-- | modules/services/system/networking/networkmanager.nix (renamed from modules/services/system/networking/nm.nix) | 2 |
5 files changed, 29 insertions, 11 deletions
diff --git a/modules/services/options.nix b/modules/services/options.nix index 344d37d..cda9299 100644 --- a/modules/services/options.nix +++ b/modules/services/options.nix @@ -1,20 +1,36 @@ -{lib, ...}: let - inherit (lib) mkEnableOption mkOption types; +{ + lib, + config, + ... +}: let + inherit (lib) mkEnableOption; in { options = { collinux.services = { networking = { enable = mkEnableOption "wifi"; - wifiDaemon = mkOption { - type = types.enum ["networkmanager" "iwd"]; - }; + iwd.enable = mkEnableOption "lightweight wifi daemon"; + networkmanager.enable = mkEnableOption "heavier wifi daemon"; }; audio = { enable = mkEnableOption "pipewire + wireplumber"; pulse.enable = mkEnableOption "pipewire-pulse"; # some config to make audio work with wine (TODO for jupiter) }; - bluetooth.enable = mkEnableOption "bluetooth"; + bluetooth = { + enable = mkEnableOption "bluetooth"; + blueman.enable = mkEnableOption "graphical bluetooth manager"; + bluetuith.enable = mkEnableOption "terminal bluetooth manager"; + }; }; }; + + config = { + assertions = [ + { + assertion = with config.collinux.services.networking; !(iwd.enable && networkmanager.enable); + message = "can not use iwd and networkmanager at the same time"; + } + ]; + }; } diff --git a/modules/services/system/bluetooth.nix b/modules/services/system/bluetooth.nix index a0c3f86..a86b5b3 100644 --- a/modules/services/system/bluetooth.nix +++ b/modules/services/system/bluetooth.nix @@ -12,5 +12,8 @@ in powerOnBoot = true; }; - environment.systemPackages = [pkgs.blueman]; + environment.systemPackages = [ + (lib.mkIf cfg.blueman.enable pkgs.blueman) + (lib.mkIf cfg.bluetuith.enable pkgs.bluetuith) + ]; } diff --git a/modules/services/system/networking/default.nix b/modules/services/system/networking/default.nix index 4908b6f..68c794c 100644 --- a/modules/services/system/networking/default.nix +++ b/modules/services/system/networking/default.nix @@ -1,7 +1,7 @@ { imports = [ ./iwd.nix - ./nm.nix + ./networkmanager.nix ]; config = { @@ -16,4 +16,3 @@ networking.resolvconf.enable = false; }; } - diff --git a/modules/services/system/networking/iwd.nix b/modules/services/system/networking/iwd.nix index 5306f29..d081792 100644 --- a/modules/services/system/networking/iwd.nix +++ b/modules/services/system/networking/iwd.nix @@ -5,7 +5,7 @@ }: let cfg = config.collinux.services.networking; in - lib.mkIf (cfg.enable && cfg.wifiDaemon == "iwd") { + lib.mkIf (cfg.enable && cfg.iwd.enable) { networking = { wireless.iwd = { enable = true; diff --git a/modules/services/system/networking/nm.nix b/modules/services/system/networking/networkmanager.nix index 674664e..f22f922 100644 --- a/modules/services/system/networking/nm.nix +++ b/modules/services/system/networking/networkmanager.nix @@ -5,7 +5,7 @@ }: let cfg = config.collinux.services.networking; in - lib.mkIf (cfg.enable && cfg.wifiDaemon == "networkmanager") { + lib.mkIf (cfg.enable && cfg.networkmanager.enable) { networking = { nameservers = ["1.1.1.1" "1.0.0.1"]; enableIPv6 = false; |
