diff --git a/hosts/ni/default.nix b/hosts/ni/default.nix index c3cdb3f7..1a99c645 100644 --- a/hosts/ni/default.nix +++ b/hosts/ni/default.nix @@ -30,6 +30,7 @@ networking.enable = true; networking.setup = "networkmanager"; networking.wireguard.enable = true; + setups.desktop.enable = true; setups.music.enable = true; }; @@ -63,17 +64,8 @@ # My custom configuration with my custom modules starts here. profiles = { - i18n.enable = true; archiving.enable = true; browsers.chromium.enable = true; - desktop = { - enable = true; - audio.enable = true; - fonts.enable = true; - hardware.enable = true; - cleanup.enable = true; - wine.enable = true; - }; dev = { enable = true; shell.enable = true; @@ -94,22 +86,6 @@ # This is somewhat used for streaming games from it. programs.steam.remotePlay.openFirewall = true; - programs.blender = { - enable = true; - package = pkgs.blender-foodogsquared; - addons = with pkgs; [ - blender-blendergis - blender-machin3tools - ]; - }; - - # Backup for the almighty archive, pls. - tasks.backup-archive.enable = true; - - # The most extensible desktop environment with the greatest toolset of all - # time (arguably but it is great). - workflows.workflows.a-happy-gnome.enable = true; - programs.wezterm.enable = true; programs.adb.enable = true; diff --git a/hosts/ni/modules/default.nix b/hosts/ni/modules/default.nix index 73984b68..0491726d 100644 --- a/hosts/ni/modules/default.nix +++ b/hosts/ni/modules/default.nix @@ -4,6 +4,7 @@ ./hardware/qol.nix ./networking/setup.nix ./networking/wireguard.nix + ./setups/desktop.nix ./setups/music.nix ]; } diff --git a/hosts/ni/modules/setups/desktop.nix b/hosts/ni/modules/setups/desktop.nix new file mode 100644 index 00000000..6ee1bdb9 --- /dev/null +++ b/hosts/ni/modules/setups/desktop.nix @@ -0,0 +1,42 @@ +{ config, lib, pkgs, ... }: + +let + hostCfg = config.hosts.ni; + cfg = hostCfg.setups.desktop; +in +{ + options.hosts.ni.setups.desktop.enable = + lib.mkEnableOption "desktop environment setup"; + + config = lib.mkIf cfg.enable { + # Bring all of the desktop goodies. + profiles.desktop = { + enable = true; + audio.enable = true; + fonts.enable = true; + hardware.enable = true; + cleanup.enable = true; + wine.enable = true; + }; + + # Apparently the Emacs of 3D artists. + programs.blender = { + enable = true; + package = pkgs.blender-foodogsquared; + addons = with pkgs; [ + blender-blendergis + blender-machin3tools + ]; + }; + + # Make it in multiple languages. Take note this is meant to be set up by + # the workflow module of choice... + profiles.i18n.enable = true; + + # ...which is by the way is this one. + workflows.workflows.a-happy-gnome.enable = true; + + # Backup for the almighty archive, pls. + tasks.backup-archive.enable = true; + }; +}