diff options
Diffstat (limited to 'modules/services/options.nix')
| -rw-r--r-- | modules/services/options.nix | 28 |
1 files changed, 22 insertions, 6 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"; + } + ]; + }; } |
