catppuccin-kde: fix install script

+73 -266
+61
pkgs/data/themes/catppuccin-kde/color.sh
···
··· 1 + echo $FLAVOUR $ACCENT $WINDECSTYLE 2 + 3 + FLAVOURNAME=${FLAVOUR^} 4 + ACCENTNAME=${ACCENT^} 5 + WINDECSTYLENAME=${WINDECSTYLE^} 6 + 7 + if [[ $FLAVOURNAME == "Mocha" ]]; then 8 + FLAVOUR="1"; 9 + elif [[ $FLAVOURNAME == "Macchiato" ]]; then 10 + FLAVOUR="2"; 11 + elif [[ $FLAVOURNAME == "Frappe" ]]; then 12 + FLAVOUR="3"; 13 + elif [[ $FLAVOURNAME == "Latte" ]]; then 14 + FLAVOUR="4"; 15 + fi 16 + if [[ $FLAVOURNAME == "Mocha" ]]; then 17 + FLAVOUR="1"; 18 + elif [[ $FLAVOURNAME == "Macchiato" ]]; then 19 + FLAVOUR="2"; 20 + elif [[ $FLAVOURNAME == "Frappe" ]]; then 21 + FLAVOUR="3"; 22 + elif [[ $FLAVOURNAME == "Latte" ]]; then 23 + FLAVOUR="4"; 24 + fi 25 + 26 + 27 + if [[ $ACCENTNAME == "Rosewater" ]]; then 28 + ACCENT="1" 29 + elif [[ $ACCENTNAME == "Flamingo" ]]; then 30 + ACCENT="2" 31 + elif [[ $ACCENTNAME == "Pink" ]]; then 32 + ACCENT="3" 33 + elif [[ $ACCENTNAME == "Mauve" ]]; then 34 + ACCENT="4" 35 + elif [[ $ACCENTNAME == "Red" ]]; then 36 + ACCENT="5" 37 + elif [[ $ACCENTNAME == "Maroon" ]]; then 38 + ACCENT="6" 39 + elif [[ $ACCENTNAME == "Peach" ]]; then 40 + ACCENT="7" 41 + elif [[ $ACCENTNAME == "Yellow" ]]; then 42 + ACCENT="8" 43 + elif [[ $ACCENTNAME == "Green" ]]; then 44 + ACCENT="9" 45 + elif [[ $ACCENTNAME == "Teal" ]]; then 46 + ACCENT="10" 47 + elif [[ $ACCENTNAME == "Sky" ]]; then 48 + ACCENT="11" 49 + elif [[ $ACCENTNAME == "Sapphire" ]]; then 50 + ACCENT="12" 51 + elif [[ $ACCENTNAME == "Blue" ]]; then 52 + ACCENT="13" 53 + elif [[ $ACCENTNAME == "Lavender" ]]; then 54 + ACCENT="14" 55 + fi 56 + 57 + if [[ $WINDECSTYLENAME == "Modern" ]]; then 58 + WINDECSTYLE=1 59 + elif [[ $WINDECSTYLENAME == "Classic" ]]; then 60 + WINDECSTYLE=2 61 + fi
+12 -3
pkgs/data/themes/catppuccin-kde/default.nix
··· 1 { lib 2 , stdenvNoCC 3 , fetchFromGitHub 4 , flavour ? [ "frappe" ] 5 , accents ? [ "blue" ] 6 , winDecStyles ? [ "modern" ] ··· 11 validAccents = [ "rosewater" "flamingo" "pink" "mauve" "red" "maroon" "peach" "yellow" "green" "teal" "sky" "sapphire" "blue" "lavender" ]; 12 validWinDecStyles = [ "modern" "classic" ]; 13 14 - installScript = ./install.sh; 15 in 16 17 lib.checkListOfEnum "Invalid accent, valid accents are ${toString validAccents}" validAccents accents ··· 29 hash = "sha256-w77lzeSisx/PPxctMJKIdRJenq0s8HwR8gLmgNh4SH8="; 30 }; 31 32 installPhase = '' 33 runHook preInstall 34 - 35 patchShebangs . 36 for WINDECSTYLE in ${toString winDecStyles}; do 37 for FLAVOUR in ${toString flavour}; do 38 for ACCENT in ${toString accents}; do 39 - FLAVOUR=$FLAVOUR ACCENT=$ACCENT WINDECSTYLE=$WINDECSTYLE bash ${installScript} 40 done; 41 done; 42 done;
··· 1 { lib 2 , stdenvNoCC 3 , fetchFromGitHub 4 + , fetchpatch 5 , flavour ? [ "frappe" ] 6 , accents ? [ "blue" ] 7 , winDecStyles ? [ "modern" ] ··· 12 validAccents = [ "rosewater" "flamingo" "pink" "mauve" "red" "maroon" "peach" "yellow" "green" "teal" "sky" "sapphire" "blue" "lavender" ]; 13 validWinDecStyles = [ "modern" "classic" ]; 14 15 + colorScript = ./color.sh; 16 in 17 18 lib.checkListOfEnum "Invalid accent, valid accents are ${toString validAccents}" validAccents accents ··· 30 hash = "sha256-w77lzeSisx/PPxctMJKIdRJenq0s8HwR8gLmgNh4SH8="; 31 }; 32 33 + patches = [ 34 + (fetchpatch { 35 + url = "https://github.com/michaelBelsanti/catppuccin-kde/commit/81a8edb3c24bd6af896c92b5051e09af97d69c51.patch"; 36 + hash = "sha256-cb4/dQ52T+H8UqXEgExblmnMfxwO0Y1BrjMCay/EAkI="; 37 + }) 38 + ]; 39 + 40 installPhase = '' 41 runHook preInstall 42 patchShebangs . 43 + 44 for WINDECSTYLE in ${toString winDecStyles}; do 45 for FLAVOUR in ${toString flavour}; do 46 for ACCENT in ${toString accents}; do 47 + source ${colorScript} 48 + ./install.sh $FLAVOUR $ACCENT $WINDECSTYLE 49 done; 50 done; 51 done;
-263
pkgs/data/themes/catppuccin-kde/install.sh
··· 1 - COLORDIR=$out/share/color-schemes 2 - AURORAEDIR=$out/share/aurorae/themes 3 - LOOKANDFEELDIR=$out/share/plasma/look-and-feel 4 - DESKTOPTHEMEDIR=$out/share/plasma/desktoptheme 5 - 6 - FLAVOUR=${FLAVOUR^} 7 - ACCENT=${ACCENT^} 8 - WINDECSTYLE=${WINDECSTYLE^} 9 - 10 - echo "Creating theme directories.." 11 - mkdir -p $COLORDIR 12 - mkdir -p $AURORAEDIR 13 - mkdir -p $LOOKANDFEELDIR 14 - mkdir -p $DESKTOPTHEMEDIR 15 - mkdir ./dist 16 - 17 - # Sets accent based on the pallet selected (Best to fold this in your respective editor) 18 - if [[ $ACCENT == "Rosewater" ]]; then 19 - if [[ $FLAVOUR == "Mocha" ]]; then 20 - ACCENTCOLOR=#f5e0dc 21 - elif [[ $FLAVOUR == "Macchiato" ]]; then 22 - ACCENTCOLOR=#f4dbd6 23 - elif [[ $FLAVOUR == "Frappe" ]]; then 24 - ACCENTCOLOR=#f2d5cf 25 - elif [[ $FLAVOUR == "Latte" ]]; then 26 - ACCENTCOLOR=#dc8a78 27 - fi 28 - echo "Accent Rosewater(1) was selected!" 29 - elif [[ $ACCENT == "Flamingo" ]]; then 30 - if [[ $FLAVOUR == "Mocha" ]]; then 31 - ACCENTCOLOR=#f2cdcd 32 - elif [[ $FLAVOUR == "Macchiato" ]]; then 33 - ACCENTCOLOR=#f0c6c6 34 - elif [[ $FLAVOUR == "Frappe" ]]; then 35 - ACCENTCOLOR=#eebebe 36 - elif [[ $FLAVOUR == "Latte" ]]; then 37 - ACCENTCOLOR=#dd7878 38 - fi 39 - echo "Accent Flamingo(2) was selected!" 40 - ACCENT="2" 41 - elif [[ $ACCENT == "Pink" ]]; then 42 - if [[ $FLAVOUR == "Mocha" ]]; then 43 - ACCENTCOLOR=#f5c2e7 44 - elif [[ $FLAVOUR == "Macchiato" ]]; then 45 - ACCENTCOLOR=#f5bde6 46 - elif [[ $FLAVOUR == "Frappe" ]]; then 47 - ACCENTCOLOR=#f4b8e4 48 - elif [[ $FLAVOUR == "Latte" ]]; then 49 - ACCENTCOLOR=#ea76cb 50 - fi 51 - echo "Accent Pink(3) was selected!" 52 - elif [[ $ACCENT == "Mauve" ]]; then 53 - if [[ $FLAVOUR == "Mocha" ]]; then 54 - ACCENTCOLOR=#cba6f7 55 - elif [[ $FLAVOUR == "Macchiato" ]]; then 56 - ACCENTCOLOR=#c6a0f6 57 - elif [[ $FLAVOUR == "Frappe" ]]; then 58 - ACCENTCOLOR=#ca9ee6 59 - elif [[ $FLAVOUR == "Latte" ]]; then 60 - ACCENTCOLOR=#8839ef 61 - fi 62 - echo "Accent Mauve(4) was selected!" 63 - elif [[ $ACCENT == "Red" ]]; then 64 - if [[ $FLAVOUR == "Mocha" ]]; then 65 - ACCENTCOLOR=#f38ba8 66 - elif [[ $FLAVOUR == "Macchiato" ]]; then 67 - ACCENTCOLOR=#ed8796 68 - elif [[ $FLAVOUR == "Frappe" ]]; then 69 - ACCENTCOLOR=#e78284 70 - elif [[ $FLAVOUR == "Latte" ]]; then 71 - ACCENTCOLOR=#d20f39 72 - fi 73 - echo "Accent Red(5) was selected!" 74 - elif [[ $ACCENT == "Maroon" ]]; then 75 - if [[ $FLAVOUR == "Mocha" ]]; then 76 - ACCENTCOLOR=#eba0ac 77 - elif [[ $FLAVOUR == "Macchiato" ]]; then 78 - ACCENTCOLOR=#ee99a0 79 - elif [[ $FLAVOUR == "Frappe" ]]; then 80 - ACCENTCOLOR=#ea999c 81 - elif [[ $FLAVOUR == "Latte" ]]; then 82 - ACCENTCOLOR=#e64553 83 - fi 84 - echo "Accent Maroon(6) was selected!" 85 - elif [[ $ACCENT == "Peach" ]]; then 86 - if [[ $FLAVOUR == "Mocha" ]]; then 87 - ACCENTCOLOR=#fab387 88 - elif [[ $FLAVOUR == "Macchiato" ]]; then 89 - ACCENTCOLOR=#f5a97f 90 - elif [[ $FLAVOUR == "Frappe" ]]; then 91 - ACCENTCOLOR=#ef9f76 92 - elif [[ $FLAVOUR == "Latte" ]]; then 93 - ACCENTCOLOR=#fe640b 94 - fi 95 - echo "Accent Peach(7) was selected!" 96 - elif [[ $ACCENT == "Yellow" ]]; then 97 - if [[ $FLAVOUR == "Mocha" ]]; then 98 - ACCENTCOLOR=#f9e2af 99 - elif [[ $FLAVOUR == "Macchiato" ]]; then 100 - ACCENTCOLOR=#eed49f 101 - elif [[ $FLAVOUR == "Frappe" ]]; then 102 - ACCENTCOLOR=#e5c890 103 - elif [[ $FLAVOUR == "Latte" ]]; then 104 - ACCENTCOLOR=#df8e1d 105 - fi 106 - echo "Accent Yellow(8) was selected!" 107 - elif [[ $ACCENT == "Green" ]]; then 108 - if [[ $FLAVOUR == "Mocha" ]]; then 109 - ACCENTCOLOR=#a6e3a1 110 - elif [[ $FLAVOUR == "Macchiato" ]]; then 111 - ACCENTCOLOR=#a6da95 112 - elif [[ $FLAVOUR == "Frappe" ]]; then 113 - ACCENTCOLOR=#a6d189 114 - elif [[ $FLAVOUR == "Latte" ]]; then 115 - ACCENTCOLOR=#40a02b 116 - fi 117 - echo "Accent Green(9) was selected!" 118 - elif [[ $ACCENT == "Teal" ]]; then 119 - if [[ $FLAVOUR == "Mocha" ]]; then 120 - ACCENTCOLOR=#94e2d5 121 - elif [[ $FLAVOUR == "Macchiato" ]]; then 122 - ACCENTCOLOR=#8bd5ca 123 - elif [[ $FLAVOUR == "Frappe" ]]; then 124 - ACCENTCOLOR=#81c8be 125 - elif [[ $FLAVOUR == "Latte" ]]; then 126 - ACCENTCOLOR=#179299 127 - fi 128 - echo "Accent Teal(10) was selected!" 129 - elif [[ $ACCENT == "Sky" ]]; then 130 - if [[ $FLAVOUR == "Mocha" ]]; then 131 - ACCENTCOLOR=#89dceb 132 - elif [[ $FLAVOUR == "Macchiato" ]]; then 133 - ACCENTCOLOR=#91d7e3 134 - elif [[ $FLAVOUR == "Frappe" ]]; then 135 - ACCENTCOLOR=#99d1db 136 - elif [[ $FLAVOUR == "Latte" ]]; then 137 - ACCENTCOLOR=#04a5e5 138 - fi 139 - echo "Accent Sky(11) was selected!" 140 - elif [[ $ACCENT == "Sapphire" ]]; then 141 - if [[ $FLAVOUR == "Mocha" ]]; then 142 - ACCENTCOLOR=#74c7ec 143 - elif [[ $FLAVOUR == "Macchiato" ]]; then 144 - ACCENTCOLOR=#7dc4e4 145 - elif [[ $FLAVOUR == "Frappe" ]]; then 146 - ACCENTCOLOR=#85c1dc 147 - elif [[ $FLAVOUR == "Latte" ]]; then 148 - ACCENTCOLOR=#209fb5 149 - fi 150 - echo "Accent Sapphire(12) was selected!" 151 - elif [[ $ACCENT == "Blue" ]]; then 152 - if [[ $FLAVOUR == "Mocha" ]]; then 153 - ACCENTCOLOR=#89b4fa 154 - elif [[ $FLAVOUR == "Macchiato" ]]; then 155 - ACCENTCOLOR=#8aadf4 156 - elif [[ $FLAVOUR == "Frappe" ]]; then 157 - ACCENTCOLOR=#8caaee 158 - elif [[ $FLAVOUR == "Latte" ]]; then 159 - ACCENTCOLOR=#1e66f5 160 - fi 161 - echo "Accent Blue(13) was selected!" 162 - elif [[ $ACCENT == "Lavender" ]]; then 163 - if [[ $FLAVOUR == "Mocha" ]]; then 164 - ACCENTCOLOR=#b4befe 165 - elif [[ $FLAVOUR == "Macchiato" ]]; then 166 - ACCENTCOLOR=#b7bdf8 167 - elif [[ $FLAVOUR == "Frappe" ]]; then 168 - ACCENTCOLOR=#babbf1 169 - elif [[ $FLAVOUR == "Latte" ]]; then 170 - ACCENTCOLOR=#7287fd 171 - fi 172 - echo "Accent Lavender(14) was selected!" 173 - else echo "Not a valid accent" && exit 174 - fi 175 - 176 - if [[ $WINDECSTYLE == "Modern" ]]; then 177 - WINDECSTYLECODE=__aurorae__svg__Catppuccin$FLAVOUR-Modern 178 - elif [[ $WINDECSTYLE == "Classic" ]]; then 179 - WINDECSTYLECODE=__aurorae__svg__Catppuccin$FLAVOUR-Classic 180 - fi 181 - 182 - function ModifyLightlyPlasma { 183 - 184 - rm -rf $DESKTOPTHEMEDIR/lightly-plasma-git/icons/* 185 - rm -rf $DESKTOPTHEMEDIR/lightly-plasma-git/translucent 186 - rm $DESKTOPTHEMEDIR/lightly-plasma-git/widgets/tabbar.svgz 187 - rm $DESKTOPTHEMEDIR/lightly-plasma-git/dialogs/background.svgz 188 - 189 - # Copy Patches 190 - cp $DESKTOPTHEMEDIR/lightly-plasma-git/solid/* $DESKTOPTHEMEDIR/lightly-plasma-git -Rf 191 - cp ./Patches/glowbar.svg $DESKTOPTHEMEDIR/lightly-plasma-git/widgets -rf 192 - cp ./Patches/background.svg $DESKTOPTHEMEDIR/lightly-plasma-git/widgets -rf 193 - cp ./Patches/panel-background.svgz $DESKTOPTHEMEDIR/lightly-plasma-git/widgets 194 - 195 - # Modify description to state that it has been modified by the KDE Catppuccin Installer 196 - sed -e s/A\ plasma\ style\ with\ close\ to\ the\ look\ of\ the\ newest\ Lightly./*MODIFIED\ BY\ CATPPUCCIN\ KDE\ INSTALLER*\ A\ plasma\ style\ with\ close\ to\ the\ look\ of\ the\ newest\ Lightly./g $DESKTOPTHEMEDIR/lightly-plasma-git/metadata.desktop >> $DESKTOPTHEMEDIR/lightly-plasma-git/newMetadata.desktop 197 - cp -f $DESKTOPTHEMEDIR/metadata.desktop $DESKTOPTHEMEDIR/lightly-plasma-git/metadata.desktop && rm $DESKTOPTHEMEDIR/metadata.desktop 198 - } 199 - 200 - function AuroraeInstall { 201 - if [[ $WINDECSTYLE == "Modern" ]]; then 202 - cp ./Resources/aurorae/Catppuccin$FLAVOUR-Modern $AURORAEDIR -r; 203 - elif [[ $WINDECSTYLE == "Classic" ]]; then 204 - cp ./Resources/aurorae/Catppuccin$FLAVOUR-Classic $AURORAEDIR -r; 205 - fi 206 - } 207 - 208 - function BuildColorscheme { 209 - # Add Metadata & Replace Accent in colors file 210 - sed -e s/--accentColor/$ACCENTCOLOR/g -e s/--flavour/$FLAVOUR/g -e s/--accentName/$ACCENT/g ./Resources/base.colors > ./dist/base.colors 211 - # Hydrate Metadata with Pallet + Accent Info 212 - sed -e s/--accentName/$ACCENT/g -e s/--flavour/$FLAVOUR/g ./Resources/metadata.desktop > ./dist/Catppuccin-$FLAVOUR-$ACCENT/metadata.desktop 213 - # Modify 'defaults' to set the correct Aurorae Theme 214 - sed -e s/--accentName/$ACCENT/g -e s/--flavour/$FLAVOUR/g -e s/--aurorae/$WINDECSTYLECODE/g ./Resources/defaults > ./dist/Catppuccin-$FLAVOUR-$ACCENT/contents/defaults 215 - # Hydrate Dummy colors according to Pallet 216 - FLAVOURNAME=$FLAVOUR ACCENTNAME=$ACCENT ./Installer/color-build.sh -o ./dist/Catppuccin$FLAVOUR$ACCENT.colors -s ./dist/base.colors 217 - } 218 - 219 - function BuildSplashScreen { 220 - # Hydrate Dummy colors according to Pallet 221 - FLAVOURNAME=$FLAVOUR ./Installer/color-build.sh -s ./Resources/splash/images/busywidget.svg -o ./dist/$GLOBALTHEMENAME/contents/splash/images/_busywidget.svg 222 - # Replace Accent in colors file 223 - sed ./dist/$GLOBALTHEMENAME/contents/splash/images/_busywidget.svg -e s/REPLACE--ACCENT/$ACCENTCOLOR/g > ./dist/$GLOBALTHEMENAME/contents/splash/images/busywidget.svg 224 - # Cleanup temporary file 225 - rm ./dist/$GLOBALTHEMENAME/contents/splash/images/_busywidget.svg 226 - # Hydrate Dummy colors according to Pallet (QML file) 227 - FLAVOURNAME=$FLAVOUR ./Installer/color-build.sh -s ./Resources/splash/Splash.qml -o ./dist/$GLOBALTHEMENAME/contents/splash/Splash.qml 228 - # Add CTP Logo 229 - # TODO: Switch between latte & mocha logo based on Pallet 230 - cp ./Resources/splash/images/Logo.png ./dist/$GLOBALTHEMENAME/contents/splash/images 231 - } 232 - 233 - # Prepare Global Theme Folder 234 - GLOBALTHEMENAME="Catppuccin-$FLAVOUR-$ACCENT" 235 - cp -r ./Resources/Catppuccin-$FLAVOUR-Global ./dist/$GLOBALTHEMENAME 236 - mkdir -p ./dist/$GLOBALTHEMENAME/contents/splash/images 237 - 238 - # Build SplashScreen 239 - echo "Building SplashScreen.." 240 - BuildSplashScreen 241 - 242 - # Build Colorscheme 243 - echo "Building Colorscheme.." 244 - # Generate Color scheme 245 - BuildColorscheme 246 - 247 - # Install Colorscheme 248 - echo "Installing Colorscheme.." 249 - mv ./dist/Catppuccin$FLAVOUR$ACCENT.colors $COLORDIR 250 - 251 - # Install Global Theme. 252 - echo "Installing Global Theme.." 253 - cp -r ./dist/$GLOBALTHEMENAME $LOOKANDFEELDIR 254 - 255 - # echo "Modifying lightly plasma theme.." 256 - # ModifyLightlyPlasma 257 - 258 - echo "Installing aurorae theme.." 259 - AuroraeInstall 260 - 261 - # Cleanup 262 - echo "Cleaning up.." 263 - rm -rf ./dist
···