From e8077fde966e051fc449fffcfa061c7f7edc47b0 Mon Sep 17 00:00:00 2001 From: Caroline Larimore Date: Mon, 14 Apr 2025 19:01:38 -0700 Subject: migration: finalize --- modules/home/suites/common/default.nix | 23 +++++++++++++++++++++++ modules/home/suites/desktop/default.nix | 32 ++++++++++++++++++++++++++++++++ modules/home/suites/dev/default.nix | 31 +++++++++++++++++++++++++++++++ modules/home/suites/gaming/default.nix | 19 +++++++++++++++++++ modules/home/suites/media/default.nix | 26 ++++++++++++++++++++++++++ modules/home/suites/misc/default.nix | 23 +++++++++++++++++++++++ 6 files changed, 154 insertions(+) create mode 100644 modules/home/suites/common/default.nix create mode 100644 modules/home/suites/desktop/default.nix create mode 100644 modules/home/suites/dev/default.nix create mode 100644 modules/home/suites/gaming/default.nix create mode 100644 modules/home/suites/media/default.nix create mode 100644 modules/home/suites/misc/default.nix (limited to 'modules/home/suites') diff --git a/modules/home/suites/common/default.nix b/modules/home/suites/common/default.nix new file mode 100644 index 0000000..63ea042 --- /dev/null +++ b/modules/home/suites/common/default.nix @@ -0,0 +1,23 @@ +{ options, config, lib, namespace, ... }: + +with lib; with lib.${namespace}; let + cfg = config.${namespace}.suites.common; +in { + options.${namespace}.suites.common = with types; { + enable = mkEnableOption "common"; + }; + + config = mkIf cfg.enable { + cxl = { + tools = { + bash.enable = true; + vim.enable = true; + git.enable = true; + ssh.enable = true; + gpg.enable = true; + btop.enable = true; + zoxide.enable = true; + }; + }; + }; +} diff --git a/modules/home/suites/desktop/default.nix b/modules/home/suites/desktop/default.nix new file mode 100644 index 0000000..077843a --- /dev/null +++ b/modules/home/suites/desktop/default.nix @@ -0,0 +1,32 @@ +{ options, config, lib, namespace, ... }: + +with lib; with lib.${namespace}; let + cfg = config.${namespace}.suites.desktop; +in { + options.${namespace}.suites.desktop = with types; { + enable = mkEnableOption "desktop"; + }; + + config = mkIf cfg.enable { + cxl = { + apps = { + kitty.enable = true; + flameshot.enable = true; + firefox.enable = true; + }; + + desktop.components = { + i3.enable = true; + + polybar.enable = true; + rofi.enable = true; + picom.enable = true; + eww.enable = true; + + gtk.enable = true; + fcitx5.enable = true; + }; + }; + }; +} + diff --git a/modules/home/suites/dev/default.nix b/modules/home/suites/dev/default.nix new file mode 100644 index 0000000..eb1fef9 --- /dev/null +++ b/modules/home/suites/dev/default.nix @@ -0,0 +1,31 @@ +{ options, config, lib, namespace, ... }: + +with lib; with lib.${namespace}; let + cfg = config.${namespace}.suites.dev; + impermanence = config.${namespace}.impermanence; + desktop = config.${namespace}.suites.desktop; +in { + options.${namespace}.suites.dev = with types; { + enable = mkEnableOption "dev"; + }; + + config = mkIf cfg.enable { + home.persistence.${impermanence.location} = { + directories = [ + "code" + ]; + }; + + cxl = { + apps = { + vscode.enable = desktop.enable; + intellij.enable = desktop.enable; + }; + + tools = { + cloc.enable = true; + tmux.enable = true; + }; + }; + }; +} diff --git a/modules/home/suites/gaming/default.nix b/modules/home/suites/gaming/default.nix new file mode 100644 index 0000000..f72af27 --- /dev/null +++ b/modules/home/suites/gaming/default.nix @@ -0,0 +1,19 @@ +{ options, config, lib, namespace, ... }: + +with lib; with lib.${namespace}; let + cfg = config.${namespace}.suites.gaming; +in { + options.${namespace}.suites.gaming = with types; { + enable = mkEnableOption "gaming"; + }; + + config = mkIf cfg.enable { + cxl = { + apps = { + steam.enable = true; + prismlauncher.enable = true; + lutris.enable = true; + }; + }; + }; +} diff --git a/modules/home/suites/media/default.nix b/modules/home/suites/media/default.nix new file mode 100644 index 0000000..b99d064 --- /dev/null +++ b/modules/home/suites/media/default.nix @@ -0,0 +1,26 @@ +{ options, config, lib, namespace, ... }: + +with lib; with lib.${namespace}; let + cfg = config.${namespace}.suites.media; +in { + options.${namespace}.suites.media = with types; { + enable = mkEnableOption "media"; + }; + + config = mkIf cfg.enable { + cxl = { + apps = { + feh.enable = true; + mpv.enable = true; + + cmus.enable = true; + + jellyfin.enable = true; + }; + + tools = { + ffmpeg.enable = true; + }; + }; + }; +} diff --git a/modules/home/suites/misc/default.nix b/modules/home/suites/misc/default.nix new file mode 100644 index 0000000..61cfbed --- /dev/null +++ b/modules/home/suites/misc/default.nix @@ -0,0 +1,23 @@ +{ options, config, lib, namespace, ... }: + +with lib; with lib.${namespace}; let + cfg = config.${namespace}.suites.misc; +in { + options.${namespace}.suites.misc = with types; { + enable = mkEnableOption "misc"; + }; + + config = mkIf cfg.enable { + cxl = { + apps = { + fastfetch.enable = true; + pfetch.enable = true; + cmatrix.enable = true; + asciiquarium.enable = true; + pipes.enable = true; + cowsay.enable = true; + figlet.enable = true; + }; + }; + }; +} -- cgit v1.2.3