Compare commits
33 commits
ac3a0ba204
...
9947d603d0
Author | SHA1 | Date | |
---|---|---|---|
9947d603d0 | |||
2fbe5e2779 | |||
1530686ee7 | |||
6bc895a1f6 | |||
4b7d02dd4e | |||
20fd2d7b74 | |||
e1d74c0117 | |||
dc1c94c811 | |||
5b93568483 | |||
4f738cbbf5 | |||
09370a33d1 | |||
7e82562b1c | |||
f8c7812f4f | |||
bf5eb17672 | |||
707617832c | |||
7a65a5404c | |||
b5ecd9cab6 | |||
4c8ed054c1 | |||
6cd932a7fa | |||
71a87bbaf4 | |||
62331e913b | |||
d4c3806c8f | |||
57afe4a40e | |||
09b2d0f6c4 | |||
8330baa99f | |||
14e660df08 | |||
9e2b868081 | |||
c202d1e3c8 | |||
1c6a265081 | |||
e83dd23931 | |||
04dc34f1db | |||
2e5fabb018 | |||
127d492d5a |
35 changed files with 836 additions and 895 deletions
425
.sources/palette.json
Normal file
425
.sources/palette.json
Normal file
|
@ -0,0 +1,425 @@
|
|||
{
|
||||
"main": {
|
||||
"name": "",
|
||||
"dark": true,
|
||||
"colors": {
|
||||
"base": {
|
||||
"name": "Base",
|
||||
"hex": "#191724",
|
||||
"rgb": {
|
||||
"r": 25,
|
||||
"g": 23,
|
||||
"b": 36
|
||||
}
|
||||
},
|
||||
"surface": {
|
||||
"name": "Surface",
|
||||
"hex": "#1f1d2e",
|
||||
"rgb": {
|
||||
"r": 31,
|
||||
"g": 29,
|
||||
"b": 36
|
||||
}
|
||||
},
|
||||
"overlay": {
|
||||
"name": "Overlay",
|
||||
"hex": "#26233a",
|
||||
"rgb": {
|
||||
"r": 38,
|
||||
"g": 35,
|
||||
"b": 58
|
||||
}
|
||||
},
|
||||
"muted": {
|
||||
"name": "Muted",
|
||||
"hex": "#6e6a86",
|
||||
"rgb": {
|
||||
"r": 110,
|
||||
"g": 106,
|
||||
"b": 134
|
||||
}
|
||||
},
|
||||
"subtle": {
|
||||
"name": "Subtle",
|
||||
"hex": "#908caa",
|
||||
"rgb": {
|
||||
"r": 144,
|
||||
"g": 140,
|
||||
"b": 170
|
||||
}
|
||||
},
|
||||
"text": {
|
||||
"name": "Text",
|
||||
"hex": "#e0def4",
|
||||
"rgb": {
|
||||
"r": 224,
|
||||
"g": 222,
|
||||
"b": 244
|
||||
}
|
||||
},
|
||||
"love": {
|
||||
"name": "Love",
|
||||
"hex": "#eb6f92",
|
||||
"rgb": {
|
||||
"r": 235,
|
||||
"g": 111,
|
||||
"b": 146
|
||||
}
|
||||
},
|
||||
"gold": {
|
||||
"name": "Gold",
|
||||
"hex": "#f6c177",
|
||||
"rgb": {
|
||||
"r": 246,
|
||||
"g": 193,
|
||||
"b": 119
|
||||
}
|
||||
},
|
||||
"rose": {
|
||||
"name": "Rose",
|
||||
"hex": "#ebbcba",
|
||||
"rgb": {
|
||||
"r": 235,
|
||||
"g": 188,
|
||||
"b": 186
|
||||
}
|
||||
},
|
||||
"pine": {
|
||||
"name": "Pine",
|
||||
"hex": "#31748f",
|
||||
"rgb": {
|
||||
"r": 49,
|
||||
"g": 116,
|
||||
"b": 143
|
||||
}
|
||||
},
|
||||
"foam": {
|
||||
"name": "Foam",
|
||||
"hex": "#9ccfd8",
|
||||
"rgb": {
|
||||
"r": 156,
|
||||
"g": 207,
|
||||
"b": 216
|
||||
}
|
||||
},
|
||||
"iris": {
|
||||
"name": "Iris",
|
||||
"hex": "#c4a7e7",
|
||||
"rgb": {
|
||||
"r": 196,
|
||||
"g": 167,
|
||||
"b": 231
|
||||
}
|
||||
},
|
||||
"highlight-low": {
|
||||
"name": "Highlight Low",
|
||||
"hex": "#21202e",
|
||||
"rgb": {
|
||||
"r": 33,
|
||||
"g": 32,
|
||||
"b": 46
|
||||
}
|
||||
},
|
||||
"highlight-med": {
|
||||
"name": "Highlight Med",
|
||||
"hex": "#403d52",
|
||||
"rgb": {
|
||||
"r": 64,
|
||||
"g": 61,
|
||||
"b": 82
|
||||
}
|
||||
},
|
||||
"highlight-high": {
|
||||
"name": "Highlight High",
|
||||
"hex": "#524f67",
|
||||
"rgb": {
|
||||
"r": 82,
|
||||
"g": 79,
|
||||
"b": 103
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"moon": {
|
||||
"name": "Moon",
|
||||
"dark": true,
|
||||
"colors": {
|
||||
"base": {
|
||||
"name": "Base",
|
||||
"hex": "#232136",
|
||||
"rgb": {
|
||||
"r": 35,
|
||||
"g": 33,
|
||||
"b": 54
|
||||
}
|
||||
},
|
||||
"surface": {
|
||||
"name": "Surface",
|
||||
"hex": "#2a273f",
|
||||
"rgb": {
|
||||
"r": 42,
|
||||
"g": 39,
|
||||
"b": 63
|
||||
}
|
||||
},
|
||||
"overlay": {
|
||||
"name": "Overlay",
|
||||
"hex": "#26233a",
|
||||
"rgb": {
|
||||
"r": 57,
|
||||
"g": 53,
|
||||
"b": 82
|
||||
}
|
||||
},
|
||||
"muted": {
|
||||
"name": "Muted",
|
||||
"hex": "#6e6a86",
|
||||
"rgb": {
|
||||
"r": 110,
|
||||
"g": 106,
|
||||
"b": 134
|
||||
}
|
||||
},
|
||||
"subtle": {
|
||||
"name": "Subtle",
|
||||
"hex": "#908caa",
|
||||
"rgb": {
|
||||
"r": 144,
|
||||
"g": 140,
|
||||
"b": 170
|
||||
}
|
||||
},
|
||||
"text": {
|
||||
"name": "Text",
|
||||
"hex": "#e0def4",
|
||||
"rgb": {
|
||||
"r": 224,
|
||||
"g": 222,
|
||||
"b": 244
|
||||
}
|
||||
},
|
||||
"love": {
|
||||
"name": "Love",
|
||||
"hex": "#eb6f92",
|
||||
"rgb": {
|
||||
"r": 235,
|
||||
"g": 111,
|
||||
"b": 146
|
||||
}
|
||||
},
|
||||
"gold": {
|
||||
"name": "Gold",
|
||||
"hex": "#f6c177",
|
||||
"rgb": {
|
||||
"r": 246,
|
||||
"g": 193,
|
||||
"b": 119
|
||||
}
|
||||
},
|
||||
"rose": {
|
||||
"name": "Rose",
|
||||
"hex": "#ea9a97",
|
||||
"rgb": {
|
||||
"r": 234,
|
||||
"g": 154,
|
||||
"b": 151
|
||||
}
|
||||
},
|
||||
"pine": {
|
||||
"name": "Pine",
|
||||
"hex": "#3e8fb0",
|
||||
"rgb": {
|
||||
"r": 62,
|
||||
"g": 143,
|
||||
"b": 176
|
||||
}
|
||||
},
|
||||
"foam": {
|
||||
"name": "Foam",
|
||||
"hex": "#9ccfd8",
|
||||
"rgb": {
|
||||
"r": 156,
|
||||
"g": 207,
|
||||
"b": 216
|
||||
}
|
||||
},
|
||||
"iris": {
|
||||
"name": "Iris",
|
||||
"hex": "#c4a7e7",
|
||||
"rgb": {
|
||||
"r": 196,
|
||||
"g": 167,
|
||||
"b": 231
|
||||
}
|
||||
},
|
||||
"highlight-low": {
|
||||
"name": "Highlight Low",
|
||||
"hex": "#2a283e",
|
||||
"rgb": {
|
||||
"r": 42,
|
||||
"g": 40,
|
||||
"b": 62
|
||||
}
|
||||
},
|
||||
"highlight-med": {
|
||||
"name": "Highlight Med",
|
||||
"hex": "#44415a",
|
||||
"rgb": {
|
||||
"r": 58,
|
||||
"g": 65,
|
||||
"b": 90
|
||||
}
|
||||
},
|
||||
"highlight-high": {
|
||||
"name": "Highlight High",
|
||||
"hex": "#56526e",
|
||||
"rgb": {
|
||||
"r": 86,
|
||||
"g": 82,
|
||||
"b": 110
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"dawn": {
|
||||
"name": "Dawn",
|
||||
"dark": false,
|
||||
"colors": {
|
||||
"base": {
|
||||
"name": "Base",
|
||||
"hex": "#faf4ed",
|
||||
"rgb": {
|
||||
"r": 250,
|
||||
"g": 244,
|
||||
"b": 237
|
||||
}
|
||||
},
|
||||
"surface": {
|
||||
"name": "Surface",
|
||||
"hex": "#fffaf3",
|
||||
"rgb": {
|
||||
"r": 255,
|
||||
"g": 250,
|
||||
"b": 243
|
||||
}
|
||||
},
|
||||
"overlay": {
|
||||
"name": "Overlay",
|
||||
"hex": "#f2e9e1",
|
||||
"rgb": {
|
||||
"r": 242,
|
||||
"g": 233,
|
||||
"b": 222
|
||||
}
|
||||
},
|
||||
"muted": {
|
||||
"name": "Muted",
|
||||
"hex": "#9893a5",
|
||||
"rgb": {
|
||||
"r": 152,
|
||||
"g": 147,
|
||||
"b": 165
|
||||
}
|
||||
},
|
||||
"subtle": {
|
||||
"name": "Subtle",
|
||||
"hex": "#797593",
|
||||
"rgb": {
|
||||
"r": 121,
|
||||
"g": 117,
|
||||
"b": 147
|
||||
}
|
||||
},
|
||||
"text": {
|
||||
"name": "Text",
|
||||
"hex": "#575279",
|
||||
"rgb": {
|
||||
"r": 87,
|
||||
"g": 82,
|
||||
"b": 121
|
||||
}
|
||||
},
|
||||
"love": {
|
||||
"name": "Love",
|
||||
"hex": "#b4637a",
|
||||
"rgb": {
|
||||
"r": 180,
|
||||
"g": 99,
|
||||
"b": 122
|
||||
}
|
||||
},
|
||||
"gold": {
|
||||
"name": "Gold",
|
||||
"hex": "#ea9d34",
|
||||
"rgb": {
|
||||
"r": 234,
|
||||
"g": 157,
|
||||
"b": 52
|
||||
}
|
||||
},
|
||||
"rose": {
|
||||
"name": "Rose",
|
||||
"hex": "#d7827e",
|
||||
"rgb": {
|
||||
"r": 215,
|
||||
"g": 130,
|
||||
"b": 126
|
||||
}
|
||||
},
|
||||
"pine": {
|
||||
"name": "Pine",
|
||||
"hex": "#286983",
|
||||
"rgb": {
|
||||
"r": 40,
|
||||
"g": 105,
|
||||
"b": 131
|
||||
}
|
||||
},
|
||||
"foam": {
|
||||
"name": "Foam",
|
||||
"hex": "#56949f",
|
||||
"rgb": {
|
||||
"r": 86,
|
||||
"g": 148,
|
||||
"b": 159
|
||||
}
|
||||
},
|
||||
"iris": {
|
||||
"name": "Iris",
|
||||
"hex": "#907aa9",
|
||||
"rgb": {
|
||||
"r": 144,
|
||||
"g": 122,
|
||||
"b": 169
|
||||
}
|
||||
},
|
||||
"highlight-low": {
|
||||
"name": "Highlight Low",
|
||||
"hex": "#f4ede8",
|
||||
"rgb": {
|
||||
"r": 244,
|
||||
"g": 237,
|
||||
"b": 232
|
||||
}
|
||||
},
|
||||
"highlight-med": {
|
||||
"name": "Highlight Med",
|
||||
"hex": "#dfdad9",
|
||||
"rgb": {
|
||||
"r": 223,
|
||||
"g": 218,
|
||||
"b": 217
|
||||
}
|
||||
},
|
||||
"highlight-high": {
|
||||
"name": "Highlight High",
|
||||
"hex": "#cecacd",
|
||||
"rgb": {
|
||||
"r": 206,
|
||||
"g": 202,
|
||||
"b": 205
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -24,18 +24,6 @@
|
|||
"url": "https://github.com/catppuccin/bat/archive/d3feec47b16a8e99eabb34cdfbaa115541d374fc.tar.gz",
|
||||
"hash": "1g73x0p8pbzb8d1g1x1fwhwf05sj3nzhbhb65811752p5178fh5k"
|
||||
},
|
||||
"bottom": {
|
||||
"type": "Git",
|
||||
"repository": {
|
||||
"type": "GitHub",
|
||||
"owner": "catppuccin",
|
||||
"repo": "bottom"
|
||||
},
|
||||
"branch": "main",
|
||||
"revision": "ed09bd5a5dd78d83acdc8ff5fdec40a6340ed1c2",
|
||||
"url": "https://github.com/catppuccin/bottom/archive/ed09bd5a5dd78d83acdc8ff5fdec40a6340ed1c2.tar.gz",
|
||||
"hash": "0x5mcddn1ia8d9dkg54kxmmpgm17c7gxmshwvc1zlmlqizq3fbjn"
|
||||
},
|
||||
"btop": {
|
||||
"type": "Git",
|
||||
"repository": {
|
||||
|
@ -60,18 +48,6 @@
|
|||
"url": "https://github.com/rose-pine/cava/archive/f9a915563d281d4a58e6f9fe701bdb769f1bbf26.tar.gz",
|
||||
"hash": "06qzrlbj2kzrbrq6ag9kha0yx3yvixsz79p7x4ib2dxl9rkxk7gf"
|
||||
},
|
||||
"delta": {
|
||||
"type": "Git",
|
||||
"repository": {
|
||||
"type": "GitHub",
|
||||
"owner": "catppuccin",
|
||||
"repo": "delta"
|
||||
},
|
||||
"branch": "main",
|
||||
"revision": "5c2c59991b950ce230f48cb3f2546e37ca65597b",
|
||||
"url": "https://github.com/catppuccin/delta/archive/5c2c59991b950ce230f48cb3f2546e37ca65597b.tar.gz",
|
||||
"hash": "0fpv7vkbc70h4bds77amxqidwacgzf55mrqj615hnwk7l13v366q"
|
||||
},
|
||||
"dunst": {
|
||||
"type": "Git",
|
||||
"repository": {
|
||||
|
@ -112,61 +88,13 @@
|
|||
"type": "Git",
|
||||
"repository": {
|
||||
"type": "GitHub",
|
||||
"owner": "catppuccin",
|
||||
"owner": "EuCaue",
|
||||
"repo": "foot"
|
||||
},
|
||||
"branch": "main",
|
||||
"revision": "17e2bdc8a8d854e8d390919579f87ab7d5f86e38",
|
||||
"url": "https://github.com/catppuccin/foot/archive/17e2bdc8a8d854e8d390919579f87ab7d5f86e38.tar.gz",
|
||||
"hash": "145icc622jf5j9sb4d5phclh47s6n6zi9c906p3n935q2yycg7rg"
|
||||
},
|
||||
"fuzzel": {
|
||||
"type": "Git",
|
||||
"repository": {
|
||||
"type": "GitHub",
|
||||
"owner": "catppuccin",
|
||||
"repo": "fuzzel"
|
||||
},
|
||||
"branch": "main",
|
||||
"revision": "125dc68ba79ddfe71e59412257698418c4f05218",
|
||||
"url": "https://github.com/catppuccin/fuzzel/archive/125dc68ba79ddfe71e59412257698418c4f05218.tar.gz",
|
||||
"hash": "12vdwfm17f40c0pv8i36kfmpsx5jnxbdjyz0jajcfx419dl3mpms"
|
||||
},
|
||||
"gh-dash": {
|
||||
"type": "Git",
|
||||
"repository": {
|
||||
"type": "GitHub",
|
||||
"owner": "catppuccin",
|
||||
"repo": "gh-dash"
|
||||
},
|
||||
"branch": "main",
|
||||
"revision": "1c53a7ce647114c25d6e7459907c567531593b71",
|
||||
"url": "https://github.com/catppuccin/gh-dash/archive/1c53a7ce647114c25d6e7459907c567531593b71.tar.gz",
|
||||
"hash": "11a963hlk27p53p2rka6r10ay10slakfvqcn19qlf9kxf6wjmw5h"
|
||||
},
|
||||
"gitui": {
|
||||
"type": "Git",
|
||||
"repository": {
|
||||
"type": "GitHub",
|
||||
"owner": "catppuccin",
|
||||
"repo": "gitui"
|
||||
},
|
||||
"branch": "main",
|
||||
"revision": "c7661f043cb6773a1fc96c336738c6399de3e617",
|
||||
"url": "https://github.com/catppuccin/gitui/archive/c7661f043cb6773a1fc96c336738c6399de3e617.tar.gz",
|
||||
"hash": "0ja8wwm3zvnaf16yfwnm86xpql6cg6sw15ylca2c0hd16h86j709"
|
||||
},
|
||||
"glamour": {
|
||||
"type": "Git",
|
||||
"repository": {
|
||||
"type": "GitHub",
|
||||
"owner": "catppuccin",
|
||||
"repo": "glamour"
|
||||
},
|
||||
"branch": "main",
|
||||
"revision": "f410083af1e9b2418bcd73dbbbc987461d4aa292",
|
||||
"url": "https://github.com/catppuccin/glamour/archive/f410083af1e9b2418bcd73dbbbc987461d4aa292.tar.gz",
|
||||
"hash": "0h7az265yx20zhsdrjjy7vqaq7yhjwgq8vpqa2w89i4wsbbr3g3b"
|
||||
"revision": "a4504926bf7aa748479adf4103d721aec7b735c5",
|
||||
"url": "https://github.com/EuCaue/foot/archive/a4504926bf7aa748479adf4103d721aec7b735c5.tar.gz",
|
||||
"hash": "1a4854csxs4x5hjmz2k5zr68qmxi117bgq90yd62kz6v4lbn8jqa"
|
||||
},
|
||||
"grub": {
|
||||
"type": "Git",
|
||||
|
@ -184,25 +112,37 @@
|
|||
"type": "Git",
|
||||
"repository": {
|
||||
"type": "GitHub",
|
||||
"owner": "catppuccin",
|
||||
"owner": "rose-pine",
|
||||
"repo": "helix"
|
||||
},
|
||||
"branch": "main",
|
||||
"revision": "7e468da5dbdd54c7504519499f82c4862af472fd",
|
||||
"url": "https://github.com/catppuccin/helix/archive/7e468da5dbdd54c7504519499f82c4862af472fd.tar.gz",
|
||||
"hash": "0xwdvbjlhlkhcj7mjc954gfkm6a978a0xn64i7yy674pzs8x90xq"
|
||||
"revision": "15e1ff4ff7c59bf8d75d648d652112acb1efc412",
|
||||
"url": "https://github.com/rose-pine/helix/archive/15e1ff4ff7c59bf8d75d648d652112acb1efc412.tar.gz",
|
||||
"hash": "1gmvjks39spz1lmv1b1f1jgpfjhsg603gc2dxs5hzj93vmlbl7ph"
|
||||
},
|
||||
"hyprland": {
|
||||
"type": "Git",
|
||||
"repository": {
|
||||
"type": "GitHub",
|
||||
"owner": "catppuccin",
|
||||
"owner": "rose-pine",
|
||||
"repo": "hyprland"
|
||||
},
|
||||
"branch": "main",
|
||||
"revision": "c388ac55563ddeea0afe9df79d4bfff0096b146b",
|
||||
"url": "https://github.com/catppuccin/hyprland/archive/c388ac55563ddeea0afe9df79d4bfff0096b146b.tar.gz",
|
||||
"hash": "0cxzxfgbqnkdnvn8nch4z4s7izzlm2jgciq1s8cjmypf8g7vy9n5"
|
||||
"revision": "6898fe967c59f9bec614a9a58993e0cb8090d052",
|
||||
"url": "https://github.com/rose-pine/hyprland/archive/6898fe967c59f9bec614a9a58993e0cb8090d052.tar.gz",
|
||||
"hash": "1l9xrrympg8ikvmq8mazb9x2byci4l230hqgyagvl3id8xkiicm1"
|
||||
},
|
||||
"i3": {
|
||||
"type": "Git",
|
||||
"repository": {
|
||||
"type": "GitHub",
|
||||
"owner": "rose-pine",
|
||||
"repo": "i3"
|
||||
},
|
||||
"branch": "main",
|
||||
"revision": "d4f374a5a582f6594e09ff08e85cb31f1be3b9e3",
|
||||
"url": "https://github.com/rose-pine/i3/archive/d4f374a5a582f6594e09ff08e85cb31f1be3b9e3.tar.gz",
|
||||
"hash": "1r1ma3whdks87c2vs6cj3kq2kqyhahqvsxbdfgm132fpwxgpbk77"
|
||||
},
|
||||
"imv": {
|
||||
"type": "Git",
|
||||
|
@ -228,65 +168,41 @@
|
|||
"url": "https://github.com/catppuccin/k9s/archive/fdbec82284744a1fc2eb3e2d24cb92ef87ffb8b4.tar.gz",
|
||||
"hash": "0cs7j1z0xq66w0700qcrc6ynzmw3bdr422p1rnkl7hxq8g4a67zn"
|
||||
},
|
||||
"lazygit": {
|
||||
"k9s-theme": {
|
||||
"type": "Git",
|
||||
"repository": {
|
||||
"type": "GitHub",
|
||||
"owner": "catppuccin",
|
||||
"repo": "lazygit"
|
||||
"owner": "sasoria",
|
||||
"repo": "k9s-theme"
|
||||
},
|
||||
"branch": "main",
|
||||
"revision": "772b45481933de5b912cd6176ea8d827217efd1b",
|
||||
"url": "https://github.com/catppuccin/lazygit/archive/772b45481933de5b912cd6176ea8d827217efd1b.tar.gz",
|
||||
"hash": "01airvhdh5mnsr945a6ij8rz5ks8cn246q3an5k8k4b9zari0r6c"
|
||||
"revision": "4ed8c473f16642b894bb501f1cd979fb670cce2d",
|
||||
"url": "https://github.com/sasoria/k9s-theme/archive/4ed8c473f16642b894bb501f1cd979fb670cce2d.tar.gz",
|
||||
"hash": "17lrv30wiql6i0ll33wng9ziizlzg9kx0wa960i900crfcq94168"
|
||||
},
|
||||
"kitty": {
|
||||
"type": "Git",
|
||||
"repository": {
|
||||
"type": "GitHub",
|
||||
"owner": "rose-pine",
|
||||
"repo": "kitty"
|
||||
},
|
||||
"branch": "main",
|
||||
"revision": "788bf1bf1a688dff9bbacbd9e516d83ac7dbd216",
|
||||
"url": "https://github.com/rose-pine/kitty/archive/788bf1bf1a688dff9bbacbd9e516d83ac7dbd216.tar.gz",
|
||||
"hash": "0a5r70q7g29b3fwz3i6rlj8jkyw5rc1pv92icndyc6lbb291bhq1"
|
||||
},
|
||||
"mako": {
|
||||
"type": "Git",
|
||||
"repository": {
|
||||
"type": "GitHub",
|
||||
"owner": "catppuccin",
|
||||
"owner": "rose-pine",
|
||||
"repo": "mako"
|
||||
},
|
||||
"branch": "main",
|
||||
"revision": "92844f144e72f2dc8727879ec141ffdacf3ff6a1",
|
||||
"url": "https://github.com/catppuccin/mako/archive/92844f144e72f2dc8727879ec141ffdacf3ff6a1.tar.gz",
|
||||
"hash": "0nz5x66bv0nhmgh2slw647j69x7pqcw0cyclkpv3bq6c5bw9j24f"
|
||||
},
|
||||
"micro": {
|
||||
"type": "Git",
|
||||
"repository": {
|
||||
"type": "GitHub",
|
||||
"owner": "catppuccin",
|
||||
"repo": "micro"
|
||||
},
|
||||
"branch": "main",
|
||||
"revision": "2802b32308e5b1a827689c095f11ae604bbc85e6",
|
||||
"url": "https://github.com/catppuccin/micro/archive/2802b32308e5b1a827689c095f11ae604bbc85e6.tar.gz",
|
||||
"hash": "1d28rhywzwhdg3qzjmgq4xjga7lg19hm4zkcfqjaf7c25pczg5zq"
|
||||
},
|
||||
"mpv": {
|
||||
"type": "Git",
|
||||
"repository": {
|
||||
"type": "GitHub",
|
||||
"owner": "catppuccin",
|
||||
"repo": "mpv"
|
||||
},
|
||||
"branch": "main",
|
||||
"revision": "7b93fb0febd0490a8ccfe3077ab7741a9b4ef44a",
|
||||
"url": "https://github.com/catppuccin/mpv/archive/7b93fb0febd0490a8ccfe3077ab7741a9b4ef44a.tar.gz",
|
||||
"hash": "1wzahqxqrblalkcxi4ll05vi5rhmsm3z4mk7d96rfka2c38wc5wj"
|
||||
},
|
||||
"newsboat": {
|
||||
"type": "Git",
|
||||
"repository": {
|
||||
"type": "GitHub",
|
||||
"owner": "catppuccin",
|
||||
"repo": "newsboat"
|
||||
},
|
||||
"branch": "main",
|
||||
"revision": "be3d0ee1ba0fc26baf7a47c2aa7032b7541deb0f",
|
||||
"url": "https://github.com/catppuccin/newsboat/archive/be3d0ee1ba0fc26baf7a47c2aa7032b7541deb0f.tar.gz",
|
||||
"hash": "04ib4lvma5959n943f7myzbc2blmb8n2dd7bkb0xgl2rnpfx2fvk"
|
||||
"revision": "07bc71ed12be3ce7d0b728eee58c5e183f78f40e",
|
||||
"url": "https://github.com/rose-pine/mako/archive/07bc71ed12be3ce7d0b728eee58c5e183f78f40e.tar.gz",
|
||||
"hash": "0xxkj2x4nz6qkdjdfr5fddb24ab51519xnai63x62zlij0fzgdq0"
|
||||
},
|
||||
"nvim": {
|
||||
"type": "Git",
|
||||
|
@ -328,13 +244,13 @@
|
|||
"type": "Git",
|
||||
"repository": {
|
||||
"type": "GitHub",
|
||||
"owner": "catppuccin",
|
||||
"owner": "rose-pine",
|
||||
"repo": "polybar"
|
||||
},
|
||||
"branch": "main",
|
||||
"revision": "20054f39d3b77bd1afc765981a42c3467bf91204",
|
||||
"url": "https://github.com/catppuccin/polybar/archive/20054f39d3b77bd1afc765981a42c3467bf91204.tar.gz",
|
||||
"hash": "130szcc72vnsl0872qpiiqad1qcspmasana4p2g9v3jxgn03xi4c"
|
||||
"revision": "2c94fbc4997915c1c877cecc9aaf5b63797f74a4",
|
||||
"url": "https://github.com/rose-pine/polybar/archive/2c94fbc4997915c1c877cecc9aaf5b63797f74a4.tar.gz",
|
||||
"hash": "10b09fypcp8bj92wwkc95w4nwk4rxh0an3v2hdp551f8lc7qz75j"
|
||||
},
|
||||
"rio": {
|
||||
"type": "Git",
|
||||
|
@ -348,17 +264,29 @@
|
|||
"url": "https://github.com/catppuccin/rio/archive/6d93b3385a0f2ae586edc30aa64601d40ea382d5.tar.gz",
|
||||
"hash": "171pb62q1rzpr802yb93sj30vq3b3kiqlac8nva08rgjb94z5ipi"
|
||||
},
|
||||
"rio-terminal": {
|
||||
"type": "Git",
|
||||
"repository": {
|
||||
"type": "GitHub",
|
||||
"owner": "rose-pine",
|
||||
"repo": "rio-terminal"
|
||||
},
|
||||
"branch": "main",
|
||||
"revision": "6c0422dc266bc4c85849c2cae9727a3f105c9285",
|
||||
"url": "https://github.com/rose-pine/rio-terminal/archive/6c0422dc266bc4c85849c2cae9727a3f105c9285.tar.gz",
|
||||
"hash": "0970n6gba1cwa5wcvmxvfb7bx3pdw2rqysxzcxqyzsvj7ykxgmsr"
|
||||
},
|
||||
"rofi": {
|
||||
"type": "Git",
|
||||
"repository": {
|
||||
"type": "GitHub",
|
||||
"owner": "catppuccin",
|
||||
"owner": "rose-pine",
|
||||
"repo": "rofi"
|
||||
},
|
||||
"branch": "main",
|
||||
"revision": "b636a00fd40a7899a8206195464ae8b7f0450a6d",
|
||||
"url": "https://github.com/catppuccin/rofi/archive/b636a00fd40a7899a8206195464ae8b7f0450a6d.tar.gz",
|
||||
"hash": "1a1sr451nsfii70j2f5qf8wq4jns0d4477a2kzh3993xdnx1j3yc"
|
||||
"revision": "414bb2538713a874dbb357f19212c96a011e1ac8",
|
||||
"url": "https://github.com/rose-pine/rofi/archive/414bb2538713a874dbb357f19212c96a011e1ac8.tar.gz",
|
||||
"hash": "19kif3nh0lr934blam971fm55pr1pdbn9b3lnrpc0yq2vpgf8x9y"
|
||||
},
|
||||
"rose-pine-dunst": {
|
||||
"type": "Git",
|
||||
|
@ -372,41 +300,29 @@
|
|||
"url": "https://github.com/d2718nis/rose-pine-dunst/archive/496499eaed38a07ce4f79ec91baaf6e1e4c28bc5.tar.gz",
|
||||
"hash": "0x7cqbcn7zygab9xbmbarz06wxkj3wxxffwmka33ljhm8gk3x0ay"
|
||||
},
|
||||
"skim": {
|
||||
"rose-pine-swaylock": {
|
||||
"type": "Git",
|
||||
"repository": {
|
||||
"type": "GitHub",
|
||||
"owner": "catppuccin",
|
||||
"repo": "skim"
|
||||
"owner": "d2718nis",
|
||||
"repo": "rose-pine-swaylock"
|
||||
},
|
||||
"branch": "main",
|
||||
"revision": "d39304b5f84721788b19bc40aebcfd7720208d8a",
|
||||
"url": "https://github.com/catppuccin/skim/archive/d39304b5f84721788b19bc40aebcfd7720208d8a.tar.gz",
|
||||
"hash": "1b6cd1wfkprrn7imgf1w1f9a6iqy3bql2ansy7l0k44ps1gwrvxq"
|
||||
},
|
||||
"spotify-player": {
|
||||
"type": "Git",
|
||||
"repository": {
|
||||
"type": "GitHub",
|
||||
"owner": "catppuccin",
|
||||
"repo": "spotify-player"
|
||||
},
|
||||
"branch": "main",
|
||||
"revision": "34b3d23806770185b72466d777853c73454b85a6",
|
||||
"url": "https://github.com/catppuccin/spotify-player/archive/34b3d23806770185b72466d777853c73454b85a6.tar.gz",
|
||||
"hash": "15cz4x432681zwik8dwmjljj628v540c1fz1m4v6nvvw63bdzsbr"
|
||||
"revision": "8a2aefbc9996941535bb10f0df5357687c43c06a",
|
||||
"url": "https://github.com/d2718nis/rose-pine-swaylock/archive/8a2aefbc9996941535bb10f0df5357687c43c06a.tar.gz",
|
||||
"hash": "15inlf8j6vn5k9d71lzmxsrqn55qha1idmpxbk4v1ji0sywrw1f6"
|
||||
},
|
||||
"starship": {
|
||||
"type": "Git",
|
||||
"repository": {
|
||||
"type": "GitHub",
|
||||
"owner": "catppuccin",
|
||||
"owner": "rose-pine",
|
||||
"repo": "starship"
|
||||
},
|
||||
"branch": "main",
|
||||
"revision": "3c4749512e7d552adf48e75e5182a271392ab176",
|
||||
"url": "https://github.com/catppuccin/starship/archive/3c4749512e7d552adf48e75e5182a271392ab176.tar.gz",
|
||||
"hash": "0w1i9zjngx63khwrdcmw0zzpvp860aznq9dmdh07s1kkcxvydwdp"
|
||||
"revision": "ed68857c08cf49dcbf2575c5d4f491155750d011",
|
||||
"url": "https://github.com/rose-pine/starship/archive/ed68857c08cf49dcbf2575c5d4f491155750d011.tar.gz",
|
||||
"hash": "0ywwyy3j5n3qj39d855sj0iy4dm55j83cmpjgnx1hqx0vp5zynn8"
|
||||
},
|
||||
"sway": {
|
||||
"type": "Git",
|
||||
|
@ -444,18 +360,6 @@
|
|||
"url": "https://github.com/rose-pine/tm-theme/archive/c4235f9a65fd180ac0f5e4396e3a86e21a0884ec.tar.gz",
|
||||
"hash": "19k0r1mrhqhlf1xfzvd1q8ihpic86f84kbmgy0m314w3w9cbqf4f"
|
||||
},
|
||||
"tmux": {
|
||||
"type": "Git",
|
||||
"repository": {
|
||||
"type": "GitHub",
|
||||
"owner": "catppuccin",
|
||||
"repo": "tmux"
|
||||
},
|
||||
"branch": "main",
|
||||
"revision": "1612a23174a6771ac466312eb156f83b8b89d907",
|
||||
"url": "https://github.com/catppuccin/tmux/archive/1612a23174a6771ac466312eb156f83b8b89d907.tar.gz",
|
||||
"hash": "0mrj9kasry1csfh24gpdh713ha3ia2vfljjd81kw40rg1nn58g4d"
|
||||
},
|
||||
"tofi": {
|
||||
"type": "Git",
|
||||
"repository": {
|
||||
|
@ -518,4 +422,5 @@
|
|||
}
|
||||
},
|
||||
"version": 3
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -8,32 +8,18 @@
|
|||
./fcitx5.nix
|
||||
./fish.nix
|
||||
./foot.nix
|
||||
./freetube.nix
|
||||
./fuzzel.nix
|
||||
./fzf.nix
|
||||
./gh-dash.nix
|
||||
./gitui.nix
|
||||
./glamour.nix
|
||||
./globals.nix
|
||||
./gtk.nix
|
||||
./helix.nix
|
||||
./hyprland.nix
|
||||
./hyprlock.nix
|
||||
./imv.nix
|
||||
./k9s.nix
|
||||
./kitty.nix
|
||||
./kvantum.nix
|
||||
./lazygit.nix
|
||||
./newsboat.nix
|
||||
./mako.nix
|
||||
./micro.nix
|
||||
./mpv.nix
|
||||
./neovim.nix
|
||||
./polybar.nix
|
||||
./rio.nix
|
||||
./rofi.nix
|
||||
./skim.nix
|
||||
./spotify-player.nix
|
||||
./starship.nix
|
||||
./swaylock.nix
|
||||
./sway.nix
|
||||
|
|
|
@ -1,14 +1,21 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (config.catppuccin) sources;
|
||||
|
||||
cfg = config.programs.foot.catppuccin;
|
||||
enable = cfg.enable && config.programs.foot.enable;
|
||||
in
|
||||
{
|
||||
options.programs.foot.catppuccin = lib.ctp.mkCatppuccinOpt { name = "foot"; };
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (config.rose-pine) sources;
|
||||
|
||||
cfg = config.programs.foot.rose-pine;
|
||||
enable = cfg.enable && config.programs.foot.enable;
|
||||
|
||||
themeName =
|
||||
if (cfg.flavor == "main")
|
||||
then "rose-pine"
|
||||
else "rose-pine-${cfg.flavor}";
|
||||
in {
|
||||
options.programs.foot.rose-pine = lib.rp.mkRosePineOpt {name = "foot";};
|
||||
|
||||
config.programs.foot = lib.mkIf enable {
|
||||
settings.main.include = sources.foot + "/themes/catppuccin-${cfg.flavor}.ini";
|
||||
settings.main.include = sources.foot + "/${themeName}.ini";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (config.programs.freetube.settings) baseTheme;
|
||||
inherit (lib.ctp) mkAccentOpt mkUpper;
|
||||
cfg = config.programs.freetube.catppuccin;
|
||||
enable = cfg.enable && config.programs.freetube.enable;
|
||||
in
|
||||
{
|
||||
options.programs.freetube.catppuccin = lib.ctp.mkCatppuccinOpt { name = "freetube"; } // {
|
||||
accent = mkAccentOpt "FreeTube";
|
||||
# FreeTube supports two accent colors
|
||||
secondaryAccent = mkAccentOpt "FreeTube" // {
|
||||
# Have the secondary accent default to FreeTube's main accent rather than the global Catppuccin accent
|
||||
# This assumes most users would prefer both accent colors to be the same when only overriding the main one
|
||||
default = cfg.accent;
|
||||
};
|
||||
};
|
||||
|
||||
config.programs.freetube.settings = lib.mkIf enable {
|
||||
# NOTE: For some reason, baseTheme does not capitalize first letter, but the other settings do
|
||||
baseTheme = "catppuccin${mkUpper cfg.flavor}";
|
||||
mainColor = mkUpper "${baseTheme}${mkUpper cfg.accent}";
|
||||
secColor = mkUpper "${baseTheme}${mkUpper cfg.secondaryAccent}";
|
||||
};
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (config.catppuccin) sources;
|
||||
cfg = config.programs.fuzzel.catppuccin;
|
||||
in
|
||||
{
|
||||
options.programs.fuzzel.catppuccin = lib.ctp.mkCatppuccinOpt { name = "fuzzel"; } // {
|
||||
accent = lib.ctp.mkAccentOpt "fuzzel";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.fuzzel.settings.main.include = sources.fuzzel + "/themes/${cfg.flavor}/${cfg.accent}.ini";
|
||||
};
|
||||
}
|
|
@ -1,34 +1,36 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (config.catppuccin) sources;
|
||||
|
||||
cfg = config.programs.fzf.catppuccin;
|
||||
enable = cfg.enable && config.programs.fzf.enable;
|
||||
palette = (lib.importJSON "${sources.palette}/palette.json").${cfg.flavor}.colors;
|
||||
in
|
||||
{
|
||||
options.programs.fzf.catppuccin = lib.ctp.mkCatppuccinOpt { name = "fzf"; } // {
|
||||
accent = lib.ctp.mkAccentOpt "fzf";
|
||||
};
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
cfg = config.programs.fzf.rose-pine;
|
||||
enable = cfg.enable && config.programs.fzf.enable;
|
||||
palette = (lib.importJSON "../../.sources/palette.json").${cfg.flavor}.colors;
|
||||
in {
|
||||
options.programs.fzf.rose-pine =
|
||||
lib.rp.mkRosePineOpt {name = "fzf";};
|
||||
|
||||
config.programs.fzf.colors =
|
||||
lib.mkIf enable
|
||||
# Manually populate with colors from catppuccin/fzf
|
||||
# The ordering is meant to match the order of catppuccin/fzf to make comparison easier
|
||||
(
|
||||
lib.attrsets.mapAttrs (_: color: palette.${color}.hex) {
|
||||
"bg+" = "surface0";
|
||||
bg = "base";
|
||||
spinner = "rosewater";
|
||||
hl = cfg.accent;
|
||||
fg = "text";
|
||||
header = cfg.accent;
|
||||
info = cfg.accent;
|
||||
pointer = cfg.accent;
|
||||
marker = cfg.accent;
|
||||
"fg+" = "text";
|
||||
prompt = cfg.accent;
|
||||
"hl+" = cfg.accent;
|
||||
}
|
||||
);
|
||||
# Manually populate with colors from rose-pine/fzf
|
||||
# The ordering is meant to match the order of rose-pine/fzf to make
|
||||
# comparison easier
|
||||
(
|
||||
lib.attrsets.mapAttrs (_: color: palette.${color}.hex) {
|
||||
fg = "subtle";
|
||||
bg = "base";
|
||||
hl = "rose";
|
||||
"fg+" = "text";
|
||||
"bg+" = "overlay";
|
||||
"hl+" = "rose";
|
||||
border = "highlight-med";
|
||||
header = "pine";
|
||||
gutter = "base";
|
||||
spinner = "gold";
|
||||
info = "foam";
|
||||
pointer = "iris";
|
||||
marker = "love";
|
||||
prompt = "subtle";
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (config.catppuccin) sources;
|
||||
cfg = config.programs.gh-dash.catppuccin;
|
||||
enable = cfg.enable && config.programs.gh-dash.enable;
|
||||
theme = "${sources.gh-dash}/themes/${cfg.flavor}/catppuccin-${cfg.flavor}-${cfg.accent}.yml";
|
||||
in
|
||||
{
|
||||
options.programs.gh-dash.catppuccin = lib.ctp.mkCatppuccinOpt { name = "gh-dash"; } // {
|
||||
accent = lib.ctp.mkAccentOpt "gh-dash";
|
||||
};
|
||||
|
||||
config.programs.gh-dash.settings = lib.mkIf enable (lib.ctp.fromYaml theme);
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (config.catppuccin) sources;
|
||||
|
||||
cfg = config.programs.gitui.catppuccin;
|
||||
enable = cfg.enable && config.programs.gitui.enable;
|
||||
in
|
||||
{
|
||||
options.programs.gitui.catppuccin = lib.ctp.mkCatppuccinOpt { name = "gitui"; };
|
||||
|
||||
config = lib.mkIf enable {
|
||||
programs.gitui.theme = builtins.path {
|
||||
name = "${cfg.flavor}.ron";
|
||||
path = "${sources.gitui}/themes/catppuccin-${cfg.flavor}.ron";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (config.catppuccin) sources;
|
||||
cfg = config.programs.glamour.catppuccin;
|
||||
inherit (cfg) enable;
|
||||
in
|
||||
{
|
||||
options.programs.glamour.catppuccin = lib.ctp.mkCatppuccinOpt { name = "glamour"; };
|
||||
|
||||
config = {
|
||||
home.sessionVariables = lib.mkIf enable {
|
||||
GLAMOUR_STYLE = "${sources.glamour}/themes/catppuccin-${cfg.flavor}.json";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,28 +1,26 @@
|
|||
{ lib, ... }:
|
||||
{
|
||||
{lib, ...}: {
|
||||
config = {
|
||||
assertions = [ (lib.ctp.assertMinimumVersion "24.05") ];
|
||||
assertions = [(lib.rp.assertMinimumVersion "24.05")];
|
||||
};
|
||||
|
||||
options.catppuccin = {
|
||||
enable = lib.mkEnableOption "Catppuccin globally";
|
||||
options.rose-pine = {
|
||||
enable = lib.mkEnableOption "Rose Pine globally";
|
||||
|
||||
flavor = lib.mkOption {
|
||||
type = lib.ctp.types.flavorOption;
|
||||
default = "mocha";
|
||||
description = "Global Catppuccin flavor";
|
||||
type = lib.rp.types.flavorOption;
|
||||
default = "main";
|
||||
description = "Global Rose Pine flavor";
|
||||
};
|
||||
|
||||
accent = lib.mkOption {
|
||||
type = lib.ctp.types.accentOption;
|
||||
default = "mauve";
|
||||
description = "Global Catppuccin accent";
|
||||
type = lib.rp.types.accentOption;
|
||||
default = "love";
|
||||
description = "Global Rose Pine accent";
|
||||
};
|
||||
|
||||
sources =
|
||||
let
|
||||
defaultSources = import ../../.sources;
|
||||
in
|
||||
sources = let
|
||||
defaultSources = import ../../.sources;
|
||||
in
|
||||
lib.mkOption {
|
||||
type = lib.types.lazyAttrsOf lib.types.raw;
|
||||
default = defaultSources;
|
||||
|
|
|
@ -3,182 +3,53 @@
|
|||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
concatStringsSep
|
||||
ctp
|
||||
}: let
|
||||
inherit
|
||||
(lib)
|
||||
rp
|
||||
mkIf
|
||||
mkEnableOption
|
||||
mkMerge
|
||||
mkOption
|
||||
mkRenamedOptionModule
|
||||
types
|
||||
;
|
||||
cfg = config.gtk.catppuccin;
|
||||
cfg = config.gtk.rose-pine;
|
||||
enable = cfg.enable && config.gtk.enable;
|
||||
in
|
||||
{
|
||||
options.gtk.catppuccin =
|
||||
ctp.mkCatppuccinOpt {
|
||||
|
||||
themeName =
|
||||
if (cfg.flavor == "main")
|
||||
then "rose-pine"
|
||||
else "rose-pine-${cfg.flavor}";
|
||||
in {
|
||||
options.gtk.rose-pine =
|
||||
rp.mkRosePineOpt {
|
||||
name = "gtk";
|
||||
enableDefault = false;
|
||||
}
|
||||
// {
|
||||
accent = ctp.mkAccentOpt "gtk";
|
||||
|
||||
size = mkOption {
|
||||
type = types.enum [
|
||||
"standard"
|
||||
"compact"
|
||||
];
|
||||
default = "standard";
|
||||
description = "Catppuccin size variant for gtk";
|
||||
icon = rp.mkRosePineOpt {
|
||||
name = "GTK icon theme";
|
||||
# NOTE: we exclude this from the global `catppuccin.enable` as there
|
||||
# is no `enable` option in the upstream module to guard it.
|
||||
enableDefault = false;
|
||||
};
|
||||
|
||||
tweaks = mkOption {
|
||||
type = types.listOf (
|
||||
types.enum [
|
||||
"black"
|
||||
"rimless"
|
||||
"normal"
|
||||
"float"
|
||||
]
|
||||
);
|
||||
default = [ ];
|
||||
description = "Catppuccin tweaks for gtk";
|
||||
};
|
||||
|
||||
gnomeShellTheme = mkEnableOption "Catppuccin gtk theme for GNOME Shell";
|
||||
|
||||
icon =
|
||||
ctp.mkCatppuccinOpt {
|
||||
name = "GTK modified Papirus icon theme";
|
||||
# NOTE: we exclude this from the global `catppuccin.enable` as there is no
|
||||
# `enable` option in the upstream module to guard it
|
||||
enableDefault = false;
|
||||
}
|
||||
// {
|
||||
accent = ctp.mkAccentOpt "GTK modified Papirus icon theme";
|
||||
};
|
||||
};
|
||||
|
||||
imports = [
|
||||
(mkRenamedOptionModule
|
||||
[
|
||||
"gtk"
|
||||
"catppuccin"
|
||||
"cursor"
|
||||
"enable"
|
||||
]
|
||||
[
|
||||
"catppuccin"
|
||||
"pointerCursor"
|
||||
"enable"
|
||||
]
|
||||
)
|
||||
|
||||
(mkRenamedOptionModule
|
||||
[
|
||||
"gtk"
|
||||
"catppuccin"
|
||||
"cursor"
|
||||
"flavor"
|
||||
]
|
||||
[
|
||||
"catppuccin"
|
||||
"pointerCursor"
|
||||
"flavor"
|
||||
]
|
||||
)
|
||||
|
||||
(mkRenamedOptionModule
|
||||
[
|
||||
"gtk"
|
||||
"catppuccin"
|
||||
"cursor"
|
||||
"accent"
|
||||
]
|
||||
[
|
||||
"catppuccin"
|
||||
"pointerCursor"
|
||||
"accent"
|
||||
]
|
||||
)
|
||||
];
|
||||
|
||||
config = mkMerge [
|
||||
(mkIf (enable || cfg.gnomeShellTheme) {
|
||||
warnings = [
|
||||
''
|
||||
`gtk.catppuccin.enable` and `gtk.catppuccin.gnomeShellTheme` are deprecated and will be removed in a future release.
|
||||
|
||||
The upstream port has been archived and support will no longer be provided.
|
||||
Please see https://github.com/catppuccin/gtk/issues/262
|
||||
''
|
||||
];
|
||||
})
|
||||
|
||||
(mkIf enable {
|
||||
gtk.theme =
|
||||
let
|
||||
gtkTweaks = "+" + concatStringsSep "," cfg.tweaks;
|
||||
in
|
||||
{
|
||||
name =
|
||||
"catppuccin-${cfg.flavor}-${cfg.accent}-${cfg.size}"
|
||||
+ lib.optionalString (cfg.tweaks != [ ]) gtkTweaks;
|
||||
package = pkgs.catppuccin-gtk.override {
|
||||
inherit (cfg) size tweaks;
|
||||
accents = [ cfg.accent ];
|
||||
variant = cfg.flavor;
|
||||
};
|
||||
};
|
||||
gtk.theme = {
|
||||
name = "${themeName}-gtk";
|
||||
package = pkgs.rose-pine-gtk-theme;
|
||||
};
|
||||
|
||||
xdg.configFile =
|
||||
let
|
||||
gtk4Dir = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0";
|
||||
in
|
||||
{
|
||||
"gtk-4.0/assets".source = "${gtk4Dir}/assets";
|
||||
"gtk-4.0/gtk.css".source = "${gtk4Dir}/gtk.css";
|
||||
"gtk-4.0/gtk-dark.css".source = "${gtk4Dir}/gtk-dark.css";
|
||||
};
|
||||
xdg.configFile = let
|
||||
gtk4Dir = "${config.gtk.theme.package}/share/themes/${themeName}/gtk-4.0";
|
||||
in {
|
||||
"gtk-4.0/gtk.css".source = "${gtk4Dir}/gtk.css";
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf cfg.icon.enable {
|
||||
gtk.iconTheme =
|
||||
let
|
||||
# use the light icon theme for latte
|
||||
polarity = if cfg.icon.flavor == "latte" then "Light" else "Dark";
|
||||
in
|
||||
{
|
||||
name = "Papirus-${polarity}";
|
||||
package = pkgs.catppuccin-papirus-folders.override { inherit (cfg.icon) accent flavor; };
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf cfg.gnomeShellTheme {
|
||||
assertions = [
|
||||
{
|
||||
assertion = enable;
|
||||
message = "`gtk.enable` and `gtk.catppuccin.enable` must be `true` to use the GNOME shell theme";
|
||||
}
|
||||
];
|
||||
|
||||
home.packages = [ pkgs.gnomeExtensions.user-themes ];
|
||||
|
||||
dconf.settings = {
|
||||
"org/gnome/shell" = {
|
||||
disable-user-extensions = false;
|
||||
enabled-extensions = [ "user-theme@gnome-shell-extensions.gcampax.github.com" ];
|
||||
};
|
||||
"org/gnome/shell/extensions/user-theme" = {
|
||||
inherit (config.gtk.theme) name;
|
||||
};
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = if cfg.flavor == "latte" then "default" else "prefer-dark";
|
||||
};
|
||||
gtk.iconTheme = {
|
||||
name = "${themeName}-icons";
|
||||
package = pkgs.rose-pine-icon-theme;
|
||||
};
|
||||
})
|
||||
];
|
||||
|
|
|
@ -1,26 +1,28 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (config.catppuccin) sources;
|
||||
cfg = config.programs.helix.catppuccin;
|
||||
enable = cfg.enable && config.programs.helix.enable;
|
||||
in
|
||||
{
|
||||
options.programs.helix.catppuccin = lib.ctp.mkCatppuccinOpt { name = "helix"; } // {
|
||||
useItalics = lib.mkEnableOption "Italics in Catppuccin theme for Helix";
|
||||
};
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (config.rose-pine) sources;
|
||||
|
||||
cfg = config.programs.helix.rose-pine;
|
||||
enable = cfg.enable && config.programs.helix.enable;
|
||||
|
||||
themeName =
|
||||
if (cfg.flavor == "main")
|
||||
then "rose_pine"
|
||||
else "rose_pine_${cfg.flavor}";
|
||||
in {
|
||||
options.programs.helix.rose-pine = lib.rp.mkRosePineOpt {name = "helix";};
|
||||
|
||||
config = lib.mkIf enable {
|
||||
programs.helix =
|
||||
let
|
||||
subdir = if cfg.useItalics then "default" else "no_italics";
|
||||
in
|
||||
{
|
||||
settings = {
|
||||
theme = "catppuccin-${cfg.flavor}";
|
||||
editor.color-modes = lib.mkDefault true;
|
||||
};
|
||||
|
||||
themes."catppuccin-${cfg.flavor}" = lib.importTOML "${sources.helix}/themes/${subdir}/catppuccin_${cfg.flavor}.toml";
|
||||
programs.helix = {
|
||||
settings = {
|
||||
theme = themeName;
|
||||
editor.color-modes = lib.mkDefault true;
|
||||
};
|
||||
|
||||
themes."${themeName}" = lib.importTOML "${sources.helix}/${themeName}.toml";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,29 +1,31 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (config.catppuccin) sources pointerCursor;
|
||||
cfg = config.wayland.windowManager.hyprland.catppuccin;
|
||||
enable = cfg.enable && config.wayland.windowManager.hyprland.enable;
|
||||
in
|
||||
{
|
||||
options.wayland.windowManager.hyprland.catppuccin =
|
||||
lib.ctp.mkCatppuccinOpt { name = "hyprland"; }
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (config.rose-pine) sources;
|
||||
|
||||
cfg = config.wayland.windowManager.hyprland.rose-pine;
|
||||
enable = cfg.enable && config.wayland.windowManager.hyprland.enable;
|
||||
|
||||
themeName =
|
||||
if (cfg.flavor == "main")
|
||||
then "rose-pine"
|
||||
else "rose-pine-${cfg.flavor}";
|
||||
in {
|
||||
options.wayland.windowManager.hyprland.rose-pine =
|
||||
lib.rp.mkRosePineOpt {name = "hyprland";}
|
||||
// {
|
||||
accent = lib.ctp.mkAccentOpt "hyprland";
|
||||
accent = lib.rp.mkAccentOpt "hyprland";
|
||||
};
|
||||
|
||||
config = lib.mkIf enable {
|
||||
home.sessionVariables = lib.mkIf pointerCursor.enable {
|
||||
HYPRCURSOR_SIZE = config.home.pointerCursor.size;
|
||||
HYPRCURSOR_THEME = "catppuccin-${pointerCursor.flavor}-${pointerCursor.accent}-cursors";
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
source = [
|
||||
"${sources.hyprland}/themes/${cfg.flavor}.conf"
|
||||
# Define accents in file to ensure they appear before user vars
|
||||
"${sources.hyprland}/${themeName}.conf"
|
||||
# Define accent in file to ensure it appears before user vars
|
||||
(builtins.toFile "hyprland-${cfg.accent}-accent.conf" ''
|
||||
$accent = ''$${cfg.accent}
|
||||
$accentAlpha = ''$${cfg.accent}Alpha
|
||||
'')
|
||||
];
|
||||
};
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (config.catppuccin) sources;
|
||||
cfg = config.programs.hyprlock.catppuccin;
|
||||
enable = cfg.enable && config.programs.hyprlock.enable;
|
||||
in
|
||||
{
|
||||
options.programs.hyprlock.catppuccin = lib.ctp.mkCatppuccinOpt { name = "hyprlock"; } // {
|
||||
accent = lib.ctp.mkAccentOpt "hyprlock";
|
||||
};
|
||||
|
||||
config = lib.mkIf enable {
|
||||
programs.hyprlock.settings = {
|
||||
source = [
|
||||
"${sources.hyprland}/themes/${cfg.flavor}.conf"
|
||||
# Define accents in file to ensure they appear before user vars
|
||||
(builtins.toFile "hyprland-${cfg.accent}-accent.conf" ''
|
||||
$accent = ''$${cfg.accent}
|
||||
$accentAlpha = ''$${cfg.accent}Alpha
|
||||
'')
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (config.catppuccin) sources;
|
||||
cfg = config.programs.imv.catppuccin;
|
||||
enable = cfg.enable && config.programs.imv.enable;
|
||||
in
|
||||
{
|
||||
options.programs.imv.catppuccin = lib.ctp.mkCatppuccinOpt { name = "imv"; };
|
||||
|
||||
config.programs.imv.settings = lib.mkIf enable (
|
||||
lib.ctp.fromINI (sources.imv + "/themes/${cfg.flavor}.config")
|
||||
);
|
||||
}
|
|
@ -3,34 +3,34 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (config.catppuccin) sources;
|
||||
}: let
|
||||
inherit (config.rose-pine) sources;
|
||||
|
||||
cfg = config.programs.k9s.catppuccin;
|
||||
cfg = config.programs.k9s.rose-pine;
|
||||
enable = cfg.enable && config.programs.k9s.enable;
|
||||
|
||||
# NOTE: On MacOS specifically, k9s expects its configuration to be in
|
||||
# `~/Library/Application Support` when not using XDG
|
||||
# `~/Library/Application Support` when not using XDG.
|
||||
enableXdgConfig = !pkgs.stdenv.hostPlatform.isDarwin || config.xdg.enable;
|
||||
|
||||
themeName = "catppuccin-${cfg.flavor}" + lib.optionalString cfg.transparent "-transparent";
|
||||
themeFile = "${themeName}.yaml";
|
||||
themeFile = "rose-pine.yaml";
|
||||
themePath = "k9s/skins/${themeFile}";
|
||||
theme = sources.k9s + "/dist/${themeFile}";
|
||||
in
|
||||
{
|
||||
options.programs.k9s.catppuccin = lib.ctp.mkCatppuccinOpt { name = "k9s"; } // {
|
||||
transparent = lib.mkEnableOption "transparent version of flavor";
|
||||
};
|
||||
theme = sources.k9s + "/skin.yml";
|
||||
in {
|
||||
options.programs.k9s.rose-pine = lib.rp.mkRosePineOpt {name = "k9s";};
|
||||
|
||||
config = lib.mkIf enable (
|
||||
lib.mkMerge [
|
||||
(lib.mkIf (!enableXdgConfig) {
|
||||
home.file."Library/Application Support/${themePath}".source = theme;
|
||||
})
|
||||
(lib.mkIf enableXdgConfig { xdg.configFile.${themePath}.source = theme; })
|
||||
{ programs.k9s.settings.k9s.ui.skin = themeName; }
|
||||
(lib.mkIf enableXdgConfig {
|
||||
xdg.configFile.${themePath}.source = theme;
|
||||
})
|
||||
|
||||
{
|
||||
programs.k9s.settings.k9s.ui.skin = "rose-pine";
|
||||
}
|
||||
]
|
||||
);
|
||||
}
|
||||
|
|
|
@ -1,15 +1,27 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (lib) ctp;
|
||||
cfg = config.programs.kitty.catppuccin;
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (config.rose-pine) sources;
|
||||
|
||||
cfg = config.programs.kitty.rose-pine;
|
||||
enable = cfg.enable && config.programs.kitty.enable;
|
||||
|
||||
# TODO: Remove after 24.11 is stable
|
||||
# https://github.com/nix-community/home-manager/pull/5750
|
||||
attrName = if (lib.versionAtLeast ctp.getModuleRelease "24.11") then "themeFile" else "theme";
|
||||
in
|
||||
{
|
||||
options.programs.kitty.catppuccin = ctp.mkCatppuccinOpt { name = "kitty"; };
|
||||
themeName =
|
||||
if (cfg.flavor == "main")
|
||||
then "rose-pine"
|
||||
else "rose-pine-${cfg.flavor}";
|
||||
themePath = "themes/${themeName}.conf";
|
||||
theme = sources.kitty + "/dist/${themeName}.conf";
|
||||
in {
|
||||
options.programs.kitty.rose-pine = lib.rp.mkRosePineOpt {name = "kitty";};
|
||||
|
||||
config = lib.mkIf enable { programs.kitty.${attrName} = "Catppuccin-${ctp.mkUpper cfg.flavor}"; };
|
||||
config = lib.mkIf enable {
|
||||
xdg.configFile."kitty/${themePath}".source = theme;
|
||||
|
||||
programs.kitty.settings = {
|
||||
include = themePath;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,58 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.qt.style.catppuccin;
|
||||
enable = cfg.enable && config.qt.enable;
|
||||
|
||||
flavorCapitalized = lib.ctp.mkUpper cfg.flavor;
|
||||
accentCapitalized = lib.ctp.mkUpper cfg.accent;
|
||||
theme = pkgs.catppuccin-kvantum.override {
|
||||
accent = accentCapitalized;
|
||||
variant = flavorCapitalized;
|
||||
};
|
||||
themeName = "Catppuccin-${flavorCapitalized}-${accentCapitalized}";
|
||||
in
|
||||
{
|
||||
options.qt.style.catppuccin = lib.ctp.mkCatppuccinOpt { name = "Kvantum"; } // {
|
||||
accent = lib.ctp.mkAccentOpt "Kvantum";
|
||||
|
||||
apply = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Applies the theme by overwriting `$XDG_CONFIG_HOME/Kvantum/kvantum.kvconfig`.
|
||||
If this is disabled, you must manually set the theme (e.g. by using `kvantummanager`).
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf enable {
|
||||
assertions = [
|
||||
{
|
||||
assertion = lib.elem config.qt.style.name [
|
||||
"kvantum"
|
||||
"Kvantum"
|
||||
];
|
||||
message = ''`qt.style.name` must be `"kvantum"` to use `qt.style.catppuccin`'';
|
||||
}
|
||||
{
|
||||
assertion = lib.elem (config.qt.platformTheme.name or null) [ "kvantum" ];
|
||||
message = ''`qt.platformTheme.name` must be set to `"kvantum"` to use `qt.style.catppuccin`'';
|
||||
}
|
||||
];
|
||||
|
||||
xdg.configFile = {
|
||||
"Kvantum/${themeName}".source = "${theme}/share/Kvantum/${themeName}";
|
||||
"Kvantum/kvantum.kvconfig" = lib.mkIf cfg.apply {
|
||||
text = ''
|
||||
[General]
|
||||
theme=${themeName}
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) ctp;
|
||||
inherit (config.catppuccin) sources;
|
||||
|
||||
cfg = config.programs.lazygit.catppuccin;
|
||||
enable = cfg.enable && config.programs.lazygit.enable;
|
||||
|
||||
# NOTE: On MacOS specifically, k9s expects its configuration to be in
|
||||
# `~/Library/Application Support` when not using XDG
|
||||
enableXdgConfig = !pkgs.stdenv.hostPlatform.isDarwin || config.xdg.enable;
|
||||
|
||||
configDirectory =
|
||||
if enableXdgConfig then
|
||||
config.xdg.configHome
|
||||
else
|
||||
"${config.home.homeDirectory}/Library/Application Support";
|
||||
configFile = "${configDirectory}/lazygit/config.yml";
|
||||
in
|
||||
{
|
||||
options.programs.lazygit.catppuccin = lib.ctp.mkCatppuccinOpt { name = "lazygit"; } // {
|
||||
accent = ctp.mkAccentOpt "lazygit";
|
||||
};
|
||||
|
||||
config.home.sessionVariables = lib.mkIf enable {
|
||||
# Ensure that the default config file is still sourced
|
||||
LG_CONFIG_FILE = "${sources.lazygit}/themes-mergable/${cfg.flavor}/${cfg.accent}.yml,${configFile}";
|
||||
};
|
||||
}
|
|
@ -3,31 +3,33 @@
|
|||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (config.catppuccin) sources;
|
||||
cfg = config.services.mako.catppuccin;
|
||||
}: let
|
||||
inherit (config.rose-pine) sources;
|
||||
|
||||
cfg = config.services.mako.rose-pine;
|
||||
enable = cfg.enable && config.services.mako.enable;
|
||||
theme = lib.ctp.fromINI (
|
||||
sources.mako + "/themes/catppuccin-${cfg.flavor}/catppuccin-${cfg.flavor}-${cfg.accent}"
|
||||
);
|
||||
|
||||
themeName =
|
||||
if (cfg.flavor == "main")
|
||||
then "rose-pine"
|
||||
else "rose-pine-${cfg.flavor}";
|
||||
theme = lib.rp.fromINI (sources.mako + "/theme/${themeName}.theme");
|
||||
|
||||
# Settings that need to be extracted and put in extraConfig
|
||||
extraConfigAttrs = lib.attrsets.getAttrs [ "urgency=high" ] theme;
|
||||
in
|
||||
{
|
||||
options.services.mako.catppuccin = lib.ctp.mkCatppuccinOpt { name = "mako"; } // {
|
||||
accent = lib.ctp.mkAccentOpt "mako";
|
||||
};
|
||||
extraConfigAttrs = lib.attrsets.getAttrs ["urgency=high"] theme;
|
||||
in {
|
||||
options.services.mako.rose-pine =
|
||||
lib.rp.mkRosePineOpt {name = "mako";};
|
||||
|
||||
# Will cause infinite recursion if config.services.mako is directly set as a whole
|
||||
# Will cause infinite recursion if config.services.mako is directly set as a
|
||||
# whole.
|
||||
config.services.mako = lib.mkIf enable {
|
||||
backgroundColor = theme.background-color;
|
||||
textColor = theme.text-color;
|
||||
borderColor = theme.border-color;
|
||||
progressColor = theme.progress-color;
|
||||
extraConfig = builtins.readFile (
|
||||
(pkgs.formats.ini { }).generate "mako-extra-config" extraConfigAttrs
|
||||
(pkgs.formats.ini {}).generate "mako-extra-config" extraConfigAttrs
|
||||
);
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (config.catppuccin) sources;
|
||||
cfg = config.programs.micro.catppuccin;
|
||||
enable = cfg.enable && config.programs.micro.enable;
|
||||
|
||||
themePath = "catppuccin-${cfg.flavor}.micro";
|
||||
in
|
||||
{
|
||||
options.programs.micro.catppuccin = lib.ctp.mkCatppuccinOpt { name = "micro"; };
|
||||
|
||||
config = lib.mkIf enable {
|
||||
programs.micro.settings.colorscheme = lib.removeSuffix ".micro" themePath;
|
||||
|
||||
xdg.configFile."micro/colorschemes/${themePath}".source = "${sources.micro}/src/${themePath}";
|
||||
};
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (config.catppuccin) sources;
|
||||
inherit (lib) ctp mkIf;
|
||||
cfg = config.programs.mpv.catppuccin;
|
||||
enable = cfg.enable && config.programs.mpv.enable;
|
||||
in
|
||||
{
|
||||
options.programs.mpv.catppuccin = ctp.mkCatppuccinOpt { name = "mpv"; } // {
|
||||
accent = ctp.mkAccentOpt "mpv";
|
||||
};
|
||||
|
||||
config.programs.mpv = mkIf enable {
|
||||
config.include = sources.mpv + "/themes/${cfg.flavor}/${cfg.accent}.conf";
|
||||
};
|
||||
}
|
|
@ -3,30 +3,23 @@
|
|||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.programs.neovim.catppuccin;
|
||||
}: let
|
||||
cfg = config.programs.neovim.rose-pine;
|
||||
enable = cfg.enable && config.programs.neovim.enable;
|
||||
in
|
||||
{
|
||||
options.programs.neovim.catppuccin = lib.ctp.mkCatppuccinOpt { name = "neovim"; };
|
||||
in {
|
||||
options.programs.neovim.rose-pine = lib.rp.mkRosePineOpt {name = "neovim";};
|
||||
|
||||
config.programs.neovim = lib.mkIf enable {
|
||||
plugins = with pkgs.vimPlugins; [
|
||||
{
|
||||
plugin = catppuccin-nvim;
|
||||
plugin = rose-pine;
|
||||
config = ''
|
||||
lua << EOF
|
||||
local compile_path = vim.fn.stdpath("cache") .. "/catppuccin-nvim"
|
||||
vim.fn.mkdir(compile_path, "p")
|
||||
vim.opt.runtimepath:append(compile_path)
|
||||
|
||||
require("catppuccin").setup({
|
||||
compile_path = compile_path,
|
||||
flavour = "${cfg.flavor}",
|
||||
require("rose-pine").setup({
|
||||
variant = "${cfg.flavor}",
|
||||
})
|
||||
|
||||
vim.api.nvim_command("colorscheme catppuccin")
|
||||
vim.api.nvim_command("colorscheme rose-pine")
|
||||
EOF
|
||||
'';
|
||||
}
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (config.catppuccin) sources;
|
||||
|
||||
cfg = config.programs.newsboat.catppuccin;
|
||||
enable = cfg.enable && config.programs.newsboat.enable;
|
||||
theme = if cfg.flavor == "latte" then "latte" else "dark";
|
||||
in
|
||||
{
|
||||
options.programs.newsboat.catppuccin = lib.ctp.mkCatppuccinOpt { name = "newsboat"; };
|
||||
|
||||
config = lib.mkIf enable {
|
||||
programs.newsboat.extraConfig = builtins.readFile "${sources.newsboat}/themes/${theme}";
|
||||
};
|
||||
}
|
|
@ -1,13 +1,21 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (config.catppuccin) sources;
|
||||
cfg = config.services.polybar.catppuccin;
|
||||
enable = cfg.enable && config.services.polybar.enable;
|
||||
in
|
||||
{
|
||||
options.services.polybar.catppuccin = lib.ctp.mkCatppuccinOpt { name = "polybar"; };
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (config.rose-pine) sources;
|
||||
|
||||
cfg = config.services.polybar.rose-pine;
|
||||
enable = cfg.enable && config.services.polybar.enable;
|
||||
|
||||
themeName =
|
||||
if (cfg.flavor == "main")
|
||||
then "rose-pine"
|
||||
else "rose-pine-${cfg.flavor}";
|
||||
in {
|
||||
options.services.polybar.rose-pine = lib.rp.mkRosePineOpt {name = "polybar";};
|
||||
|
||||
config.services.polybar.extraConfig = lib.mkIf enable (
|
||||
builtins.readFile "${sources.polybar}/themes/${cfg.flavor}.ini"
|
||||
builtins.readFile "${sources.polybar}/schemes/${themeName}.ini"
|
||||
);
|
||||
}
|
||||
|
|
|
@ -1,15 +1,21 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (lib) ctp;
|
||||
inherit (config.catppuccin) sources;
|
||||
|
||||
cfg = config.programs.rio.catppuccin;
|
||||
enable = cfg.enable && config.programs.rio.enable;
|
||||
in
|
||||
{
|
||||
options.programs.rio.catppuccin = ctp.mkCatppuccinOpt { name = "rio"; };
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (config.rose-pine) sources;
|
||||
|
||||
cfg = config.programs.rio.rose-pine;
|
||||
enable = cfg.enable && config.programs.rio.enable;
|
||||
|
||||
themeName =
|
||||
if (cfg.flavor == "main")
|
||||
then "rose-pine"
|
||||
else "rose-pine-${cfg.flavor}";
|
||||
in {
|
||||
options.programs.rio.rose-pine = lib.rp.mkRosePineOpt {name = "rio";};
|
||||
|
||||
config = lib.mkIf enable {
|
||||
programs.rio.settings = lib.importTOML "${sources.rio}/themes/catppuccin-${cfg.flavor}.toml";
|
||||
programs.rio.settings = lib.importTOML "${sources.rio}/${themeName}.toml";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,18 +1,25 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (config.catppuccin) sources;
|
||||
|
||||
cfg = config.programs.rofi.catppuccin;
|
||||
enable = cfg.enable && config.programs.rofi.enable;
|
||||
in
|
||||
{
|
||||
options.programs.rofi.catppuccin = lib.ctp.mkCatppuccinOpt { name = "rofi"; };
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (config.rose-pine) sources;
|
||||
|
||||
cfg = config.programs.rofi.rose-pine;
|
||||
enable = cfg.enable && config.programs.rofi.enable;
|
||||
|
||||
themeName =
|
||||
if (cfg.flavor == "main")
|
||||
then "rose-pine"
|
||||
else "rose-pine-${cfg.flavor}";
|
||||
in {
|
||||
options.programs.rofi.rose-pine = lib.rp.mkRosePineOpt {name = "rofi";};
|
||||
|
||||
config.programs.rofi = lib.mkIf enable {
|
||||
theme = {
|
||||
"@theme" = builtins.path {
|
||||
name = "catppuccin-${cfg.flavor}.rasi";
|
||||
path = "${sources.rofi}/basic/.local/share/rofi/themes/catppuccin-${cfg.flavor}.rasi";
|
||||
name = "${themeName}.rasi";
|
||||
path = "${sources.rofi}/${themeName}.rasi";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (config.catppuccin) sources;
|
||||
cfg = config.programs.skim.catppuccin;
|
||||
enable = cfg.enable && config.programs.skim.enable;
|
||||
palette = (lib.importJSON "${sources.palette}/palette.json").${cfg.flavor}.colors;
|
||||
in
|
||||
{
|
||||
options.programs.skim.catppuccin = lib.ctp.mkCatppuccinOpt { name = "skim"; };
|
||||
|
||||
config.programs.skim = lib.mkIf enable {
|
||||
defaultOptions = [
|
||||
"--color=fg:${palette.text.hex},bg:${palette.base.hex},matched:${palette.surface0.hex},matched_bg:${palette.flamingo.hex},current:${palette.text.hex},current_bg:${palette.surface1.hex},current_match:${palette.base.hex},current_match_bg:${palette.rosewater.hex},spinner:${palette.green.hex},info:${palette.mauve.hex},prompt:${palette.blue.hex},cursor:${palette.red.hex},selected:${palette.maroon.hex},header:${palette.teal.hex},border:${palette.overlay0.hex}"
|
||||
];
|
||||
};
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (config.catppuccin) sources;
|
||||
cfg = config.programs.spotify-player.catppuccin;
|
||||
enable = cfg.enable && config.programs.spotify-player.enable;
|
||||
in
|
||||
{
|
||||
options.programs.spotify-player.catppuccin = lib.ctp.mkCatppuccinOpt { name = "spotify-player"; };
|
||||
|
||||
config = lib.mkIf enable {
|
||||
programs.spotify-player = {
|
||||
settings.theme = "Catppuccin-${cfg.flavor}";
|
||||
inherit (lib.importTOML "${sources.spotify-player}/theme.toml") themes;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,17 +1,21 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (config.catppuccin) sources;
|
||||
cfg = config.programs.starship.catppuccin;
|
||||
enable = cfg.enable && config.programs.starship.enable;
|
||||
in
|
||||
{
|
||||
options.programs.starship.catppuccin = lib.ctp.mkCatppuccinOpt { name = "starship"; };
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (config.rose-pine) sources;
|
||||
|
||||
cfg = config.programs.starship.rose-pine;
|
||||
enable = cfg.enable && config.programs.starship.enable;
|
||||
|
||||
themeName =
|
||||
if (cfg.flavor == "main")
|
||||
then "rose-pine"
|
||||
else "rose-pine-${cfg.flavor}";
|
||||
in {
|
||||
options.programs.starship.rose-pine = lib.rp.mkRosePineOpt {name = "starship";};
|
||||
|
||||
config.programs.starship.settings = lib.mkIf enable (
|
||||
{
|
||||
format = lib.mkDefault "$all";
|
||||
palette = "catppuccin_${cfg.flavor}";
|
||||
}
|
||||
// lib.importTOML "${sources.starship}/themes/${cfg.flavor}.toml"
|
||||
lib.importTOML "${sources.starship}/${themeName}.toml"
|
||||
);
|
||||
}
|
||||
|
|
|
@ -1,12 +1,20 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (config.catppuccin) sources;
|
||||
cfg = config.wayland.windowManager.sway.catppuccin;
|
||||
enable = cfg.enable && config.wayland.windowManager.sway.enable;
|
||||
theme = "${sources.sway}/themes/catppuccin-${cfg.flavor}";
|
||||
in
|
||||
{
|
||||
options.wayland.windowManager.sway.catppuccin = lib.ctp.mkCatppuccinOpt { name = "sway"; };
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (config.rose-pine) sources;
|
||||
|
||||
cfg = config.wayland.windowManager.sway.rose-pine;
|
||||
enable = cfg.enable && config.wayland.windowManager.sway.enable;
|
||||
|
||||
themeName =
|
||||
if (cfg.flavor == "main")
|
||||
then "rose-pine"
|
||||
else "rose-pine-${cfg.flavor}";
|
||||
theme = "${sources.sway}/themes/${themeName}.theme";
|
||||
in {
|
||||
options.wayland.windowManager.sway.rose-pine = lib.rp.mkRosePineOpt {name = "sway";};
|
||||
|
||||
config = lib.mkIf enable {
|
||||
wayland.windowManager.sway.extraConfigEarly = ''
|
||||
|
|
|
@ -1,39 +1,51 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (config.catppuccin) sources;
|
||||
cfg = config.programs.swaylock.catppuccin;
|
||||
in
|
||||
{
|
||||
options.programs.swaylock.catppuccin = {
|
||||
enable = lib.mkEnableOption "Catppuccin theme" // {
|
||||
/*
|
||||
global `catppuccin.enable` purposefully doesn't work here in configurations with a `home.stateVersion`
|
||||
that is >= 23.05
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (config.rose-pine) sources;
|
||||
|
||||
this is because the upstream module will automatically enable itself if `programs.swaylock.settings`
|
||||
is set in configurations with a `home.stateVersion` that is < 23.05. so, we can't use the
|
||||
`programs.swaylock.enable` option to guard against defining this like we usually do, as when the
|
||||
upstream `enable` option is unset on these systems it checks that same `settings` option we would be
|
||||
defining if *our* and the upstream's `enable` option is `true` ...leading to a case of infinite
|
||||
recursion where `programs.swaylock.settings` is only being defined if `programs.swaylock.settings` is
|
||||
defined
|
||||
cfg = config.programs.swaylock.rose-pine;
|
||||
|
||||
debugging this was the most confusing and horrifying thing i've had to deal with throughout working on
|
||||
this project.
|
||||
themeName =
|
||||
if (cfg.flavor == "main")
|
||||
then "rose-pine"
|
||||
else "rose-pine-${cfg.flavor}";
|
||||
in {
|
||||
options.programs.swaylock.rose-pine = {
|
||||
enable =
|
||||
lib.mkEnableOption "Rosé Pine theme"
|
||||
// {
|
||||
/*
|
||||
global `rose-pine.enable` purposefully doesn't work here in
|
||||
configurations with a `home.stateVersion` that is >= 23.05
|
||||
|
||||
this is because the upstream module will automatically enable itself if
|
||||
`programs.swaylock.settings` is set in configurations with a
|
||||
`home.stateVersion` that is < 23.05. so, we can't use the
|
||||
`programs.swaylock.enable` option to guard against defining this like we
|
||||
usually do, as when the upstream `enable` option is unset on these
|
||||
systems it checks that same `settings` option we would be defining if
|
||||
*our* and the upstream's `enable` option is `true` ...leading to a case
|
||||
of infinite recursion where `programs.swaylock.settings` is only being
|
||||
defined if `programs.swaylock.settings` is defined
|
||||
|
||||
debugging this was the most confusing and horrifying thing i've had to
|
||||
deal with throughout working on this project.
|
||||
- @getchoo
|
||||
*/
|
||||
default = lib.versionAtLeast config.home.stateVersion "23.05" && config.catppuccin.enable;
|
||||
defaultText = lib.literalExpression ''
|
||||
`catppuccin.enable` if `home.stateVersion` is >= 23.05, false otherwise
|
||||
*/
|
||||
default = lib.versionAtLeast config.home.stateVersion "23.05" && config.rose-pine.enable;
|
||||
defaultText = lib.literalExpression ''
|
||||
`rose-pine.enable` if `home.stateVersion` is >= 23.05, false otherwise.
|
||||
|
||||
Yes this is weird, and there's a funny story about it in the code comments
|
||||
'';
|
||||
};
|
||||
Yes this is weird, and there's a funny story about it in the code comments.
|
||||
'';
|
||||
};
|
||||
|
||||
flavor = lib.ctp.mkFlavorOpt "swaylock";
|
||||
flavor = lib.rp.mkFlavorOpt "swaylock";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.swaylock.settings = lib.ctp.fromINI (sources.swaylock + "/themes/${cfg.flavor}.conf");
|
||||
programs.swaylock.settings = lib.rp.fromINI (sources.swaylock + "/${themeName}");
|
||||
};
|
||||
}
|
||||
|
|
|
@ -3,44 +3,29 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
ctp
|
||||
mkOption
|
||||
types
|
||||
concatStrings
|
||||
;
|
||||
inherit (config.catppuccin) sources;
|
||||
cfg = config.programs.tmux.catppuccin;
|
||||
}: let
|
||||
cfg = config.programs.tmux.rose-pine;
|
||||
enable = cfg.enable && config.programs.tmux.enable;
|
||||
|
||||
plugin =
|
||||
# TODO @getchoo: upstream this in nixpkgs
|
||||
pkgs.tmuxPlugins.mkTmuxPlugin {
|
||||
pluginName = "catppuccin";
|
||||
version = builtins.substring 0 7 sources.tmux.revision;
|
||||
src = sources.tmux;
|
||||
in {
|
||||
options.programs.tmux.rose-pine =
|
||||
lib.rp.mkRosePineOpt {name = "tmux";}
|
||||
// {
|
||||
extraConfig = lib.mkOption {
|
||||
type = lib.types.lines;
|
||||
description = "Additional configuration for the rose-pine plugin.";
|
||||
default = "";
|
||||
example = ''
|
||||
set -g @rose-pine "application session user host date_time"
|
||||
'';
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
options.programs.tmux.catppuccin = ctp.mkCatppuccinOpt { name = "tmux"; } // {
|
||||
extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
description = "Additional configuration for the catppuccin plugin.";
|
||||
default = "";
|
||||
example = ''
|
||||
set -g @catppuccin_status_modules_right "application session user host date_time"
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config.programs.tmux.plugins = lib.mkIf enable [
|
||||
{
|
||||
inherit plugin;
|
||||
extraConfig = concatStrings [
|
||||
plugin = pkgs.tmuxPlugins.rose-pine;
|
||||
extraConfig = lib.concatStrings [
|
||||
''
|
||||
set -g @catppuccin_flavor '${cfg.flavor}'
|
||||
set -g @rose_pine_variant '${cfg.flavor}'
|
||||
''
|
||||
cfg.extraConfig
|
||||
];
|
||||
|
|
|
@ -17,7 +17,7 @@ in {
|
|||
lib.mkOption {
|
||||
inherit type;
|
||||
default = config.rose-pine.${attr};
|
||||
description = "Rose Pine ${attr} for ${name}";
|
||||
description = "Rosé Pine ${attr} for ${name}";
|
||||
};
|
||||
|
||||
# string -> a
|
||||
|
|
Loading…
Reference in a new issue