diff --git a/default.nix b/default.nix index 9c9b95e..b1b90ba 100644 --- a/default.nix +++ b/default.nix @@ -1,30 +1,5 @@ -{ config, pkgs, lib, ... }: -with lib; -let - cfg = config.sconfig; -in +{ ... }: { - options.sconfig.profile = mkOption { - type = types.enum [ "server" "desktop-gnome" "desktop-sway" ]; - }; - - config = mkMerge [ - - (mkIf (cfg.profile == "server") (mkMerge [ - { services.openssh.enable = true; } - (import ./modules/auto-update.nix { }) - ])) - - (mkIf (cfg.profile == "desktop-sway") (import ./modules/sway.nix { inherit pkgs; })) - (mkIf (cfg.profile == "desktop-gnome") (import ./modules/gnome.nix { inherit pkgs; })) - - (mkIf ("desktop-" == builtins.substring 0 8 cfg.profile) (mkMerge [ - (import ./modules/security-tools.nix { inherit pkgs; }) - (import ./modules/graphical.nix { inherit pkgs; }) - ])) - - ]; - imports = [ ./modules/alacritty.nix ./modules/backports.nix @@ -32,6 +7,7 @@ in ./modules/cli.nix ./modules/flakes.nix ./modules/phpipam.nix + ./modules/profiles.nix ./modules/scansnap_s1300.nix ./modules/scroll-boost ./modules/status-on-console.nix diff --git a/modules/profiles.nix b/modules/profiles.nix new file mode 100644 index 0000000..bc5d219 --- /dev/null +++ b/modules/profiles.nix @@ -0,0 +1,27 @@ +{ config, pkgs, lib, ... }: +with lib; +let + cfg = config.sconfig.profile; +in +{ + options.sconfig.profile = mkOption { + type = types.enum [ "server" "desktop-gnome" "desktop-sway" ]; + }; + + config = mkMerge [ + + (mkIf (cfg == "server") (mkMerge [ + { services.openssh.enable = true; } + (import ./auto-update.nix { }) + ])) + + (mkIf (cfg == "desktop-sway") (import ./sway.nix { inherit pkgs; })) + (mkIf (cfg == "desktop-gnome") (import ./gnome.nix { inherit pkgs; })) + + (mkIf ("desktop-" == builtins.substring 0 8 cfg) (mkMerge [ + (import ./security-tools.nix { inherit pkgs; }) + (import ./graphical.nix { inherit pkgs; }) + ])) + + ]; +}