tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
catppuccin-kde: fix install script
michaelBelsanti
2 years ago
d699a144
7062e551
+73
-266
3 changed files
expand all
collapse all
unified
split
pkgs
data
themes
catppuccin-kde
color.sh
default.nix
install.sh
+61
pkgs/data/themes/catppuccin-kde/color.sh
···
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
···
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
0
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
0
0
0
0
0
0
0
32
installPhase = ''
33
runHook preInstall
34
-
35
patchShebangs .
0
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}
0
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
0
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
···
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0