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