diff options
| author | Caroline Larimore <caroline@larimo.re> | 2025-02-07 04:52:51 -0800 |
|---|---|---|
| committer | Caroline Larimore <caroline@larimo.re> | 2025-04-14 18:58:46 -0700 |
| commit | cf4129bb33d19e2e9a795058aa5db75a0aa9ce36 (patch) | |
| tree | b7803d06fcd22d01a86911250988c9aee8ee64a8 /snowfall/modules | |
| parent | eece25c38ae26bb0ad2503a637dd96f389a009b2 (diff) | |
migration: theme system
Diffstat (limited to 'snowfall/modules')
| -rw-r--r-- | snowfall/modules/home/desktop/bg/SOURCES.md | 6 | ||||
| -rw-r--r-- | snowfall/modules/home/desktop/bg/lycoris.png | bin | 0 -> 28947690 bytes | |||
| -rw-r--r-- | snowfall/modules/home/desktop/bg/matama.png | bin | 0 -> 9543767 bytes | |||
| -rw-r--r-- | snowfall/modules/home/desktop/bg/mem.png | bin | 0 -> 6454104 bytes | |||
| -rw-r--r-- | snowfall/modules/home/desktop/bg/nonon.png | bin | 0 -> 145618 bytes | |||
| -rw-r--r-- | snowfall/modules/home/desktop/bg/ryo.png | bin | 0 -> 5189063 bytes | |||
| -rw-r--r-- | snowfall/modules/home/desktop/bg/shinobu.png | bin | 0 -> 4879909 bytes | |||
| -rw-r--r-- | snowfall/modules/home/desktop/bg/skull.png | bin | 0 -> 2651560 bytes | |||
| -rw-r--r-- | snowfall/modules/home/desktop/default.nix | 55 | ||||
| -rw-r--r-- | snowfall/modules/home/desktop/theme/gruvbox.nix | 27 |
10 files changed, 88 insertions, 0 deletions
diff --git a/snowfall/modules/home/desktop/bg/SOURCES.md b/snowfall/modules/home/desktop/bg/SOURCES.md new file mode 100644 index 0000000..893f894 --- /dev/null +++ b/snowfall/modules/home/desktop/bg/SOURCES.md @@ -0,0 +1,6 @@ +# Background Image Sources +- `matama.png`: Mahou Shoujo ni Akogarete S01E09 (Edited) +- `mem.png`: Oshi no Ko S01 OP +- `shinobu.png`: Kizumonogatari I: Tekketsu (Edited) +- `skull.png`: [Akiakane](https://akiakane.net) + diff --git a/snowfall/modules/home/desktop/bg/lycoris.png b/snowfall/modules/home/desktop/bg/lycoris.png Binary files differnew file mode 100644 index 0000000..8c8ba19 --- /dev/null +++ b/snowfall/modules/home/desktop/bg/lycoris.png diff --git a/snowfall/modules/home/desktop/bg/matama.png b/snowfall/modules/home/desktop/bg/matama.png Binary files differnew file mode 100644 index 0000000..248d18e --- /dev/null +++ b/snowfall/modules/home/desktop/bg/matama.png diff --git a/snowfall/modules/home/desktop/bg/mem.png b/snowfall/modules/home/desktop/bg/mem.png Binary files differnew file mode 100644 index 0000000..1cd2007 --- /dev/null +++ b/snowfall/modules/home/desktop/bg/mem.png diff --git a/snowfall/modules/home/desktop/bg/nonon.png b/snowfall/modules/home/desktop/bg/nonon.png Binary files differnew file mode 100644 index 0000000..b16de01 --- /dev/null +++ b/snowfall/modules/home/desktop/bg/nonon.png diff --git a/snowfall/modules/home/desktop/bg/ryo.png b/snowfall/modules/home/desktop/bg/ryo.png Binary files differnew file mode 100644 index 0000000..d268a89 --- /dev/null +++ b/snowfall/modules/home/desktop/bg/ryo.png diff --git a/snowfall/modules/home/desktop/bg/shinobu.png b/snowfall/modules/home/desktop/bg/shinobu.png Binary files differnew file mode 100644 index 0000000..176ac0c --- /dev/null +++ b/snowfall/modules/home/desktop/bg/shinobu.png diff --git a/snowfall/modules/home/desktop/bg/skull.png b/snowfall/modules/home/desktop/bg/skull.png Binary files differnew file mode 100644 index 0000000..0cd2deb --- /dev/null +++ b/snowfall/modules/home/desktop/bg/skull.png diff --git a/snowfall/modules/home/desktop/default.nix b/snowfall/modules/home/desktop/default.nix new file mode 100644 index 0000000..4dc7a1b --- /dev/null +++ b/snowfall/modules/home/desktop/default.nix @@ -0,0 +1,55 @@ +{ options, config, lib, namespace, ... }: + +with lib; with lib.${namespace}; let + cfg = config.${namespace}.desktop; +in { + options.${namespace}.desktop = with types; { + background = mkOption { + type = enum [ + "lycoris.png" + "matama.png" + "mem.png" + "nonon.png" + "ryo.png" + "shinobu.png" + "skull.png" + ]; + }; + + theme = { + name = mkOption { + type = enum [ "gruvbox" ]; + default = "gruvbox"; + }; + + colors = let + mkColorOption = name: { + inherit name; + value = mkOption { + type = strMatching "[a-fA-F0-9]{6}"; + default = "ff00ff"; + example = "23ce94"; + description = '' + Hex value for color "${name}". + ''; + }; + }; + in listToAttrs (map mkColorOption [ + "accent" + + "black" "red" "green" "yellow" "blue" "magenta" "cyan" "white" + "brightBlack" "brightRed" "brightGreen" "brightYellow" "brightBlue" "brightMagenta" "brightCyan" "brightWhite" + + "bg" "bg0" "bg1" "bg2" "bg3" "bg4" + "fg" "fg0" "fg1" "fg2" "fg3" "fg4" + + "orange" "brightOrange" + ]); + }; + }; + + config = { + cxl.desktop.theme.colors = import ./theme/${cfg.theme.name}.nix; + }; +} + diff --git a/snowfall/modules/home/desktop/theme/gruvbox.nix b/snowfall/modules/home/desktop/theme/gruvbox.nix new file mode 100644 index 0000000..c955374 --- /dev/null +++ b/snowfall/modules/home/desktop/theme/gruvbox.nix @@ -0,0 +1,27 @@ +{ + accent = "cc241d"; + + black = "282828"; brightBlack = "928374"; + red = "cc241d"; brightRed = "fb4934"; + green = "98971a"; brightGreen = "b8bb26"; + yellow = "d79921"; brightYellow = "fabd2f"; + blue = "458588"; brightBlue = "83a598"; + magenta = "b16286"; brightMagenta = "d3869b"; + cyan = "689d6a"; brightCyan = "8ec07c"; + white = "a89984"; brightWhite = "ebdbb2"; + + bg = "282828"; + bg0 = "282828"; + bg1 = "3c3836"; + bg2 = "504945"; + bg3 = "665c54"; + bg4 = "7c6f64"; + + fg = "ebdbb2"; + fg0 = "fbf1c7"; + fg1 = "ebdbb2"; + fg2 = "d5c4a1"; + fg3 = "bdae93"; + fg4 = "a89984"; +} + |