Compare commits

...

33 commits

Author SHA1 Message Date
9947d603d0
feat(tmux): Catppuccin -> Rose Pine
Some checks are pending
CI / Format Nix files (push) Waiting to run
CI / Test Modules (push) Waiting to run
CI / Validate sources (push) Waiting to run
Release / Publish to Flake registries (push) Blocked by required conditions
Release / Make release (push) Waiting to run
Build & deploy website / Build site (push) Waiting to run
Build & deploy website / Deploy website (push) Blocked by required conditions
2024-10-20 13:12:44 -07:00
2fbe5e2779
feat(sway): Catppuccin -> Rose Pine 2024-10-20 13:04:49 -07:00
1530686ee7
feat(swaylock): Catppuccin -> Rose Pine 2024-10-20 12:59:09 -07:00
6bc895a1f6
feat(starship): Catppuccin -> Rose Pine 2024-10-20 12:50:35 -07:00
4b7d02dd4e
feat(spotify-player): Remove spotify-player 2024-10-20 12:33:14 -07:00
20fd2d7b74
feat(skim): Remove skim 2024-10-20 12:20:28 -07:00
e1d74c0117
feat(rofi): Catppuccin -> Rose Pine 2024-10-20 12:19:42 -07:00
dc1c94c811
feat(rio): Catppuccin -> Rose Pine 2024-10-20 12:06:12 -07:00
5b93568483
feat(polybar): Catppuccin -> Rose Pine 2024-10-20 12:03:00 -07:00
4f738cbbf5
feat(neovim): Catppuccin -> Rose Pine 2024-10-20 11:51:39 -07:00
09370a33d1
feat(mpv): Remove mpv 2024-10-20 11:40:36 -07:00
7e82562b1c
feat(micro): Remove micro 2024-10-20 11:39:15 -07:00
f8c7812f4f
feat(mako): Catppuccin -> Rose Pine 2024-10-20 11:23:59 -07:00
bf5eb17672
feat(newsboat): Remove Newsboat 2024-10-20 11:18:01 -07:00
707617832c
feat(lazygit): Remove lazygit 2024-10-20 11:17:06 -07:00
7a65a5404c
feat(kvantum): Remove Kvantum 2024-10-20 11:16:51 -07:00
b5ecd9cab6
feat(kitty): Catppuccin -> Rose Pine 2024-10-20 11:14:35 -07:00
4c8ed054c1
feat(k9s): Catppuccin -> Rose Pine 2024-10-20 10:37:57 -07:00
6cd932a7fa
feat(imv): Remove imv 2024-10-20 10:20:27 -07:00
71a87bbaf4
feat(hyprlock): Remove Hyprlock 2024-10-20 10:17:51 -07:00
62331e913b
chore(sources): Remove unneeded sources 2024-10-19 23:44:49 -07:00
d4c3806c8f
feat(hyprland): Catppuccin -> Rose Pine 2024-10-19 23:39:46 -07:00
57afe4a40e
feat(helix): Catppuccin -> Rose Pine 2024-10-19 23:02:44 -07:00
09b2d0f6c4
feat(gtk): Catppuccin -> Rose Pine 2024-10-19 22:41:57 -07:00
8330baa99f
feat(home-manager): Update globals to Rose Pine 2024-10-19 22:07:48 -07:00
14e660df08
feat(glamour): Remove Glamour 2024-10-19 22:04:40 -07:00
9e2b868081
feat(gitui): Remove gitui 2024-10-19 22:03:51 -07:00
c202d1e3c8
feat(gh-dash): Remove gh-dash 2024-10-19 22:02:22 -07:00
1c6a265081
feat(fzf): Catppuccin -> Rose Pine 2024-10-19 22:00:01 -07:00
e83dd23931
feat(sources): Add palette JSON file
The easiest way to style FZF is through JSON input but Rose Pine doesn't
provide a JSON source so I had to make my own. Eventually it would be
nice to automate the generation of this file with @rose-pine/build.
2024-10-19 21:50:29 -07:00
04dc34f1db
feat(fuzzel): Remove Fuzzel 2024-10-19 20:49:16 -07:00
2e5fabb018
feat(freetube): Remove FreeTube 2024-10-19 20:48:07 -07:00
127d492d5a
feat(foot): Catppuccin -> Rose Pine 2024-10-19 20:38:50 -07:00
35 changed files with 836 additions and 895 deletions

425
.sources/palette.json Normal file
View 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
}
}
}
}
}

View file

@ -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": {
@ -519,3 +423,4 @@
},
"version": 3
}

View file

@ -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

View file

@ -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";
};
}

View file

@ -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}";
};
}

View file

@ -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";
};
}

View file

@ -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
# 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) {
"bg+" = "surface0";
fg = "subtle";
bg = "base";
spinner = "rosewater";
hl = cfg.accent;
fg = "text";
header = cfg.accent;
info = cfg.accent;
pointer = cfg.accent;
marker = cfg.accent;
hl = "rose";
"fg+" = "text";
prompt = cfg.accent;
"hl+" = cfg.accent;
"bg+" = "overlay";
"hl+" = "rose";
border = "highlight-med";
header = "pine";
gutter = "base";
spinner = "gold";
info = "foam";
pointer = "iris";
marker = "love";
prompt = "subtle";
}
);
}

View file

@ -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);
}

View file

@ -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";
};
};
}

View file

@ -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";
};
};
}

View file

@ -1,26 +1,24 @@
{ 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
sources = let
defaultSources = import ../../.sources;
in
lib.mkOption {

View file

@ -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";
};
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
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;
}
// {
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";
xdg.configFile = let
gtk4Dir = "${config.gtk.theme.package}/share/themes/${themeName}/gtk-4.0";
in {
"gtk-4.0/gtk.css".source = "${gtk4Dir}/gtk.css";
"gtk-4.0/gtk-dark.css".source = "${gtk4Dir}/gtk-dark.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;
};
})
];

View file

@ -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
{
programs.helix = {
settings = {
theme = "catppuccin-${cfg.flavor}";
theme = themeName;
editor.color-modes = lib.mkDefault true;
};
themes."catppuccin-${cfg.flavor}" = lib.importTOML "${sources.helix}/themes/${subdir}/catppuccin_${cfg.flavor}.toml";
themes."${themeName}" = lib.importTOML "${sources.helix}/${themeName}.toml";
};
};
}

View file

@ -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
'')
];
};

View file

@ -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
'')
];
};
};
}

View file

@ -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")
);
}

View file

@ -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";
}
]
);
}

View file

@ -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;
};
};
}

View file

@ -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}
'';
};
};
};
}

View file

@ -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}";
};
}

View file

@ -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
);
};
}

View file

@ -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}";
};
}

View file

@ -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";
};
}

View file

@ -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
'';
}

View file

@ -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}";
};
}

View file

@ -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"
);
}

View file

@ -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";
};
}

View file

@ -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";
};
};
};

View file

@ -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}"
];
};
}

View file

@ -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;
};
};
}

View file

@ -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"
);
}

View file

@ -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 = ''

View file

@ -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" // {
config,
lib,
...
}: let
inherit (config.rose-pine) sources;
cfg = config.programs.swaylock.rose-pine;
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 `catppuccin.enable` purposefully doesn't work here in configurations with a `home.stateVersion`
that is >= 23.05
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
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.
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;
default = lib.versionAtLeast config.home.stateVersion "23.05" && config.rose-pine.enable;
defaultText = lib.literalExpression ''
`catppuccin.enable` if `home.stateVersion` is >= 23.05, false otherwise
`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}");
};
}

View file

@ -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.catppuccin = ctp.mkCatppuccinOpt { name = "tmux"; } // {
extraConfig = mkOption {
type = types.lines;
description = "Additional configuration for the catppuccin plugin.";
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 @catppuccin_status_modules_right "application session user host date_time"
set -g @rose-pine "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
];

View file

@ -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