summary refs log tree commit diff
path: root/pkgs/data/themes/catppuccin/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/data/themes/catppuccin/default.nix')
-rw-r--r--pkgs/data/themes/catppuccin/default.nix79
1 files changed, 78 insertions, 1 deletions
diff --git a/pkgs/data/themes/catppuccin/default.nix b/pkgs/data/themes/catppuccin/default.nix
index 16befcd06b8..59e030eb9e0 100644
--- a/pkgs/data/themes/catppuccin/default.nix
+++ b/pkgs/data/themes/catppuccin/default.nix
@@ -1,5 +1,5 @@
 let
-  validThemes = [ "bat" "bottom" "btop" "k9s" "lazygit" ];
+  validThemes = [ "bat" "bottom" "btop" "hyprland" "k9s" "kvantum" "lazygit" "plymouth" "refind" "rofi" "waybar" ];
 in
 { fetchFromGitHub
 , lib
@@ -40,6 +40,14 @@ let
       hash = "sha256-J3UezOQMDdxpflGax0rGBF/XMiKqdqZXuX4KMVGTxFk=";
     };
 
+    hyprland = fetchFromGitHub {
+      name = "hyprland";
+      owner = "catppuccin";
+      repo = "hyprland";
+      rev = "v1.2";
+      hash = "sha256-07B5QmQmsUKYf38oWU3+2C6KO4JvinuTwmW1Pfk8CT8=";
+    };
+
     k9s = fetchFromGitHub {
       name = "k9s";
       owner = "catppuccin";
@@ -48,6 +56,14 @@ let
       hash = "sha256-PtBJRBNbLkj7D2ko7ebpEjbfK9Ywjs7zbE+Y8FQVEfA=";
     };
 
+    kvantum = fetchFromGitHub {
+      name = "kvantum";
+      owner = "catppuccin";
+      repo = "Kvantum";
+      rev = "d1e174c85311de9715aefc1eba4b8efd6b2730fc";
+      sha256 = "sha256-IrHo8pnR3u90bq12m7FEXucUF79+iub3I9vgH5h86Lk=";
+    };
+
     lazygit = fetchFromGitHub {
       name = "lazygit";
       owner = "catppuccin";
@@ -55,6 +71,38 @@ let
       rev = "0543c28e8af1a935f8c512ad9451facbcc17d8a8";
       hash = "sha256-OVihY5E+elPKag2H4RyWiSv+MdIqHtfGNM3/1u2ik6U=";
     };
+
+    plymouth = fetchFromGitHub {
+      name = "plymouth";
+      owner = "catppuccin";
+      repo = "plymouth";
+      rev = "d4105cf336599653783c34c4a2d6ca8c93f9281c";
+      hash = "sha256-quBSH8hx3gD7y1JNWAKQdTk3CmO4t1kVo4cOGbeWlNE=";
+    };
+
+    refind = fetchFromGitHub {
+      name = "refind";
+      owner = "catppuccin";
+      repo = "refind";
+      rev = "ff0b593c19bb9b469ee0ee36068b8d373f0fadc5";
+      hash = "sha256-itUMo0lA23bJzH0Ndq7L2IaEYoVdNPYxbB/VWkRfRso=";
+    };
+
+    rofi = fetchFromGitHub {
+      name = "rofi";
+      owner = "catppuccin";
+      repo = "rofi";
+      rev = "5350da41a11814f950c3354f090b90d4674a95ce";
+      hash = "sha256-DNorfyl3C4RBclF2KDgwvQQwixpTwSRu7fIvihPN8JY=";
+    };
+
+    waybar = fetchFromGitHub {
+      name = "waybar";
+      owner = "catppuccin";
+      repo = "waybar";
+      rev = "v1.0";
+      hash = "sha256-vfwfBE3iqIN1cGoItSssR7h0z6tuJAhNarkziGFlNBw=";
+    };
   };
 in
 lib.checkListOfEnum "${pname}: variant" validVariants [ variant ]
@@ -77,6 +125,9 @@ stdenvNoCC.mkDerivation {
   installPhase = ''
     runHook preInstall
 
+    local capitalizedVariant=$(sed 's/^\(.\)/\U\1/' <<< "${variant}")
+    local capitalizedAccent=$(sed 's/^\(.\)/\U\1/' <<< "${accent}")
+
   '' + lib.optionalString (lib.elem "bat" themeList) ''
     mkdir -p $out/bat
     cp "${sources.bat}/Catppuccin-${variant}.tmTheme" "$out/bat/"
@@ -89,15 +140,41 @@ stdenvNoCC.mkDerivation {
     mkdir -p $out/bottom
     cp "${sources.bottom}/themes/${variant}.toml" "$out/bottom/"
 
+  '' + lib.optionalString (lib.elem "hyprland" themeList) ''
+    mkdir -p $out/hyprland
+    cp "${sources.hyprland}/themes/${variant}.conf" "$out/hyprland/"
+
   '' + lib.optionalString (lib.elem "k9s" themeList) ''
     mkdir -p $out/k9s
     cp "${sources.k9s}/dist/${variant}.yml" "$out/k9s/"
 
+  '' + lib.optionalString (lib.elem "kvantum" themeList) ''
+    mkdir -p $out/share/Kvantum
+    cp -r ${sources.kvantum}/src/Catppuccin-"$capitalizedVariant"-"$capitalizedAccent" $out/share/Kvantum
+
   '' + lib.optionalString (lib.elem "lazygit" themeList) ''
     mkdir -p $out/lazygit/{themes,themes-mergable}
     cp "${sources.lazygit}/themes/${variant}/${variant}-${accent}.yml" "$out/lazygit/themes/"
     cp "${sources.lazygit}/themes-mergable/${variant}/${variant}-${accent}.yml" "$out/lazygit/themes-mergable/"
 
+  '' + lib.optionalString (lib.elem "plymouth" themeList) ''
+    mkdir -p $out/share/plymouth/themes/catppuccin-${variant}
+    cp ${sources.plymouth}/themes/catppuccin-${variant}/* $out/share/plymouth/themes/catppuccin-${variant}
+    sed -i 's:\(^ImageDir=\)/usr:\1'"$out"':' $out/share/plymouth/themes/catppuccin-${variant}/catppuccin-${variant}.plymouth
+
+  '' + lib.optionalString (lib.elem "rofi" themeList) ''
+    mkdir -p $out/rofi
+    cp ${sources.rofi}/basic/.local/share/rofi/themes/catppuccin-${variant}.rasi $out/rofi/
+
+  '' + lib.optionalString (lib.elem "refind" themeList) ''
+    mkdir -p $out/refind/assets
+    cp ${sources.refind}/${variant}.conf $out/refind/
+    cp -r ${sources.refind}/assets/${variant} $out/refind/assets/
+
+  '' + lib.optionalString (lib.elem "waybar" themeList) ''
+    mkdir -p $out/waybar
+    cp ${sources.waybar}/${variant}.css $out/waybar/
+
   '' + ''
     runHook postInstall
   '';