aboutsummaryrefslogtreecommitdiff
path: root/snowfall/modules
diff options
context:
space:
mode:
Diffstat (limited to 'snowfall/modules')
-rw-r--r--snowfall/modules/home/desktop/bg/SOURCES.md6
-rw-r--r--snowfall/modules/home/desktop/bg/lycoris.pngbin0 -> 28947690 bytes
-rw-r--r--snowfall/modules/home/desktop/bg/matama.pngbin0 -> 9543767 bytes
-rw-r--r--snowfall/modules/home/desktop/bg/mem.pngbin0 -> 6454104 bytes
-rw-r--r--snowfall/modules/home/desktop/bg/nonon.pngbin0 -> 145618 bytes
-rw-r--r--snowfall/modules/home/desktop/bg/ryo.pngbin0 -> 5189063 bytes
-rw-r--r--snowfall/modules/home/desktop/bg/shinobu.pngbin0 -> 4879909 bytes
-rw-r--r--snowfall/modules/home/desktop/bg/skull.pngbin0 -> 2651560 bytes
-rw-r--r--snowfall/modules/home/desktop/default.nix55
-rw-r--r--snowfall/modules/home/desktop/theme/gruvbox.nix27
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
new file mode 100644
index 0000000..8c8ba19
--- /dev/null
+++ b/snowfall/modules/home/desktop/bg/lycoris.png
Binary files differ
diff --git a/snowfall/modules/home/desktop/bg/matama.png b/snowfall/modules/home/desktop/bg/matama.png
new file mode 100644
index 0000000..248d18e
--- /dev/null
+++ b/snowfall/modules/home/desktop/bg/matama.png
Binary files differ
diff --git a/snowfall/modules/home/desktop/bg/mem.png b/snowfall/modules/home/desktop/bg/mem.png
new file mode 100644
index 0000000..1cd2007
--- /dev/null
+++ b/snowfall/modules/home/desktop/bg/mem.png
Binary files differ
diff --git a/snowfall/modules/home/desktop/bg/nonon.png b/snowfall/modules/home/desktop/bg/nonon.png
new file mode 100644
index 0000000..b16de01
--- /dev/null
+++ b/snowfall/modules/home/desktop/bg/nonon.png
Binary files differ
diff --git a/snowfall/modules/home/desktop/bg/ryo.png b/snowfall/modules/home/desktop/bg/ryo.png
new file mode 100644
index 0000000..d268a89
--- /dev/null
+++ b/snowfall/modules/home/desktop/bg/ryo.png
Binary files differ
diff --git a/snowfall/modules/home/desktop/bg/shinobu.png b/snowfall/modules/home/desktop/bg/shinobu.png
new file mode 100644
index 0000000..176ac0c
--- /dev/null
+++ b/snowfall/modules/home/desktop/bg/shinobu.png
Binary files differ
diff --git a/snowfall/modules/home/desktop/bg/skull.png b/snowfall/modules/home/desktop/bg/skull.png
new file mode 100644
index 0000000..0cd2deb
--- /dev/null
+++ b/snowfall/modules/home/desktop/bg/skull.png
Binary files differ
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";
+}
+