diff --git a/nix/hosts/lemp11/default.nix b/nix/hosts/lemp11/default.nix index c35679f4..bab79799 100644 --- a/nix/hosts/lemp11/default.nix +++ b/nix/hosts/lemp11/default.nix @@ -1,5 +1,9 @@ { features = { + cli = { + docker.enable = true; + }; + desktop = { gaming.enable = true; diff --git a/nix/modules/nixos/default.nix b/nix/modules/nixos/default.nix index dfd00b70..760682d6 100644 --- a/nix/modules/nixos/default.nix +++ b/nix/modules/nixos/default.nix @@ -1,7 +1,8 @@ { imports = [ ./autorandr.nix - ./docker.nix + ./features/cli + ./features/desktop ./features/gaming.nix ./features/homelab ./fonts.nix @@ -9,7 +10,6 @@ ./kanata.nix ./rofi.nix ./rsnapshot.nix - ./screenkey.nix ./xbanish.nix ]; } diff --git a/nix/modules/nixos/docker.nix b/nix/modules/nixos/docker.nix deleted file mode 100644 index 1a9a4b9d..00000000 --- a/nix/modules/nixos/docker.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - virtualisation.docker = { - enable = true; - - autoPrune = { - enable = true; - dates = "weekly"; - }; - }; -} diff --git a/nix/modules/nixos/features/cli/default.nix b/nix/modules/nixos/features/cli/default.nix new file mode 100644 index 00000000..9045632e --- /dev/null +++ b/nix/modules/nixos/features/cli/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./docker.nix + ]; +} diff --git a/nix/modules/nixos/features/cli/docker.nix b/nix/modules/nixos/features/cli/docker.nix new file mode 100644 index 00000000..8aa12321 --- /dev/null +++ b/nix/modules/nixos/features/cli/docker.nix @@ -0,0 +1,16 @@ +{ lib, config, ... }: + +{ + options.features.cli.docker.enable = lib.mkEnableOption "Enable Docker"; + + config = lib.mkIf config.features.cli.docker.enable { + virtualisation.docker = { + enable = true; + + autoPrune = { + enable = true; + dates = "weekly"; + }; + }; + }; +} diff --git a/nix/modules/nixos/features/desktop/default.nix b/nix/modules/nixos/features/desktop/default.nix new file mode 100644 index 00000000..819761e5 --- /dev/null +++ b/nix/modules/nixos/features/desktop/default.nix @@ -0,0 +1,3 @@ +{ + imports = [ ./screenkey.nix ]; +} diff --git a/nix/modules/nixos/features/desktop/screenkey.nix b/nix/modules/nixos/features/desktop/screenkey.nix new file mode 100644 index 00000000..185de462 --- /dev/null +++ b/nix/modules/nixos/features/desktop/screenkey.nix @@ -0,0 +1,23 @@ +{ + config, + lib, + pkgs, + username, + ... +}: + +{ + options.features.desktop.screenkey.enable = lib.mkEnableOption "Enable screenkey"; + + config = lib.mkIf config.features.desktop.screenkey.enable { + environment.systemPackages = with pkgs; [ screenkey ]; + + home-manager.users.${username}.xdg.configFile."screenkey.json".text = builtins.toJSON { + key_mode = "composed"; + mods_mode = "emacs"; + persist = true; + size = "small"; + timeout = 0.25; + }; + }; +} diff --git a/nix/modules/nixos/screenkey.nix b/nix/modules/nixos/screenkey.nix deleted file mode 100644 index 8068946e..00000000 --- a/nix/modules/nixos/screenkey.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs, username, ... }: - -{ - environment.systemPackages = with pkgs; [ screenkey ]; - - home-manager.users.${username}.xdg.configFile."screenkey.json".text = builtins.toJSON { - key_mode = "composed"; - mods_mode = "emacs"; - persist = true; - size = "small"; - timeout = 0.25; - }; -}