diff --git a/hosts/Parzival-Mobile/default.nix b/hosts/Parzival-Mobile/default.nix index 67c715f..feaa095 100644 --- a/hosts/Parzival-Mobile/default.nix +++ b/hosts/Parzival-Mobile/default.nix @@ -23,4 +23,5 @@ module.hacking.enable = true; module.mudding.enable = true; module.gaming.enable = true; + software.keyd.enable = true; } diff --git a/modules/options.nix b/modules/options.nix index 914290f..264fdd3 100644 --- a/modules/options.nix +++ b/modules/options.nix @@ -20,6 +20,11 @@ art.enable = lib.mkEnableOption "enabled graphical art stuff"; }; + software = { + keyd = lib.mkEnableOption "enabled keyd overrides (useful for non-QMK enabled devices)"; + usershell = lib.mkEnableOption "opinionated usershell"; + }; + user = { enable = lib.mkEnableOption "enables users"; crow = { @@ -34,17 +39,6 @@ # Set default option states in config config = { - user = { - enable = lib.mkDefault true; - crow = { - enable = lib.mkDefault false; - home.enable = lib.mkDefault config.user.crow.enable; - }; - overseer = { - enable = lib.mkDefault false; - }; - }; - module = { enable = lib.mkDefault true; core.enable = lib.mkDefault true; @@ -60,6 +54,23 @@ art.enable = lib.mkDefault false; }; + software = { + keyd.enable = lib.mkDefault false; + usershell.enable = lib.mkDefault true; + }; + + user = { + enable = lib.mkDefault true; + crow = { + enable = lib.mkDefault false; + home.enable = lib.mkDefault config.user.crow.enable; + }; + overseer = { + enable = lib.mkDefault false; + }; + }; + + # Desktop options are declared in their relevant modules in module/desktops desktop = { sway.enable = lib.mkDefault false; i3.enable = lib.mkDefault false; diff --git a/modules/software/keyd.nix b/modules/software/keyd.nix index 6e74dcf..38d53eb 100644 --- a/modules/software/keyd.nix +++ b/modules/software/keyd.nix @@ -1,5 +1,9 @@ -{...}: { - config.services.keyd = { +{ + lib, + config, + ... +}: { + config.services.keyd = lib.mkIf config.software.keyd.enable { enable = true; keyboards.default = { ids = ["*"]; diff --git a/modules/software/usershell.nix b/modules/software/usershell.nix index 2d6c600..a7a20f4 100644 --- a/modules/software/usershell.nix +++ b/modules/software/usershell.nix @@ -1,5 +1,10 @@ -{pkgs, ...}: { - config = { +{ + config, + lib, + pkgs, + ... +}: { + config = lib.mkIf config.software.usershell.enable { programs.zsh = { enable = true; autosuggestions = {