From 82ec91b4d2c253c6ccb783f960a2788f230d6ad1 Mon Sep 17 00:00:00 2001 From: Collin Williams <96917990+bluedragon1221@users.noreply.github.com> Date: Tue, 8 Jul 2025 17:03:20 +0000 Subject: start avoiding lib.enum; start using hjem generators --- modules/services/options.nix | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) (limited to 'modules/services/options.nix') 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"; + } + ]; + }; } -- cgit v1.3.1