aboutsummaryrefslogtreecommitdiff
path: root/modules/services/options.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/services/options.nix')
-rw-r--r--modules/services/options.nix28
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";
+ }
+ ];
+ };
}