Commit 1ca423a

HPCesia <me@hpcesia.com>
2026-09-22 08:15:03
crush: add catppuccin theme
1 parent 1529c0a
Changed files (2)
modules
dev
modules/dev/agents/crush/themes/catppuccin-mocha.json
@@ -0,0 +1,53 @@
+{
+  "primary": "#cba6f7",
+  "secondary": "#f5c2e7",
+  "accent": "#94e2d5",
+  "keyword": "#cba6f7",
+  "fg_base": "#cdd6f4",
+  "fg_subtle": "#bac2de",
+  "fg_more_subtle": "#a6adc8",
+  "fg_most_subtle": "#9399b2",
+  "bg_base": "#1e1e2e",
+  "bg_most_visible": "#585b70",
+  "bg_less_visible": "#45475a",
+  "bg_least_visible": "#313244",
+  "on_primary": "#1e1e2e",
+  "separator": "#45475a",
+  "destructive": "#cba6f7",
+  "error": "#f38ba8",
+  "warning": "#f9e2af",
+  "warning_subtle": "#fab387",
+  "attention": "#fab387",
+  "busy": "#f9e2af",
+  "info": "#89b4fa",
+  "info_more_subtle": "#89dceb",
+  "info_most_subtle": "#74c7ec",
+  "success": "#a6e3a1",
+  "success_more_subtle": "#94e2d5",
+  "success_most_subtle": "#a6e3a1",
+  "diff_insert_fg": "#a6e3a1",
+  "diff_delete_fg": "#f38ba8",
+  "yolo": "#f9e2af",
+  "plan": "#cba6f7",
+  "plan_more_subtle": "#45475a",
+  "button": "#f5c2e7",
+  "button_subtle": "#45475a",
+  "button_inactive": "#585b70",
+  "button_hovered": "#9399b2",
+  "ansi_black": "#45475a",
+  "ansi_red": "#f38ba8",
+  "ansi_green": "#a6e3a1",
+  "ansi_yellow": "#f9e2af",
+  "ansi_blue": "#89b4fa",
+  "ansi_magenta": "#f5c2e7",
+  "ansi_cyan": "#94e2d5",
+  "ansi_white": "#a6adc8",
+  "ansi_bright_black": "#585b70",
+  "ansi_bright_red": "#f37799",
+  "ansi_bright_green": "#89d88b",
+  "ansi_bright_yellow": "#ebd391",
+  "ansi_bright_blue": "#74a8fc",
+  "ansi_bright_magenta": "#f2aede",
+  "ansi_bright_cyan": "#6bd7ca",
+  "ansi_bright_white": "#bac2de"
+}
modules/dev/agents/crush/default.nix
@@ -23,6 +23,15 @@
       packages = [pkgs.nur.repos.charmbracelet.crush];
 
       xdg.config.files = {
+        "crush/crush.json" = {
+          type = "copy";
+          permissions = "0600";
+          generator = (pkgs.formats.json {}).generate "crush.json";
+          value = {
+            "$schema" = "https://charm.land/crush.json";
+          };
+        };
+
         "crush/crushrc" = {
           type = "copy";
           permissions = "0600";
@@ -32,8 +41,6 @@
             option global-context-path "${config.xdg.config.directory}/agents/AGENTS.md"
             option skill-path "${config.xdg.config.directory}/agents/skills"
 
-            option ui transparent true
-
             mcp add deepwiki --type http \
               --url "https://mcp.deepwiki.com/mcp"
 
@@ -55,10 +62,24 @@
     };
   };
 
-  den.aspects.dev.crush.themes = {
+  den.aspects.dev.agents.crush.themes = {
     catppuccin = {
-      # Unfortunately, crush lack of themes support :(
-      # TODO: Waiting for https://github.com/charmbracelet/crush/pull/2731
+      hjem = {
+        xdg.config.files = {
+          "crush/themes/catppuccin-mocha.json" = {
+            type = "copy";
+            permissions = "0644";
+            source = ./themes/catppuccin-mocha.json;
+          };
+
+          "crush/crush.json" = {
+            # crushrc has no theme option (v0.96.1), the theme is only settable here.
+            value = {
+              options.tui.active_theme = "catppuccin-mocha";
+            };
+          };
+        };
+      };
     };
   };
 }