Compare commits

...

5 commits

Author SHA1 Message Date
ac3a0ba204
feat(fish): 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 / Make release (push) Waiting to run
Release / Publish to Flake registries (push) Blocked by required conditions
Build & deploy website / Deploy website (push) Blocked by required conditions
Build & deploy website / Build site (push) Waiting to run
2024-10-19 20:33:32 -07:00
9479745881
feat(fcitx5): Catppuccin -> Rose Pine 2024-10-19 19:48:53 -07:00
db4860d283
feat(dunst): Catppuccin -> Rose Pine 2024-10-19 19:37:03 -07:00
2841326f0a
feat(delta): Remove delta 2024-10-19 19:26:35 -07:00
f0fb2cc974
feat(cursor): Catppuccin -> Rose Pine 2024-10-19 18:04:37 -07:00
7 changed files with 104 additions and 98 deletions

View file

@ -88,25 +88,25 @@
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "catppuccin",
"owner": "rose-pine",
"repo": "fcitx5"
},
"branch": "main",
"revision": "3471b918d4b5aab2d3c3dd9f2c3b9c18fb470e8e",
"url": "https://github.com/catppuccin/fcitx5/archive/3471b918d4b5aab2d3c3dd9f2c3b9c18fb470e8e.tar.gz",
"hash": "0rsyrwc74pif9x0f5l3d9bb0s4van0py8qis6qr3zsqq65aqb2nl"
"revision": "148de09929c2e2f948376bb23bc25d72006403bc",
"url": "https://github.com/rose-pine/fcitx5/archive/148de09929c2e2f948376bb23bc25d72006403bc.tar.gz",
"hash": "0gywb8ykb2j3zyr20w1mc3f5xfw2aw4v9b821d55w36ja753k52a"
},
"fish": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "catppuccin",
"owner": "rose-pine",
"repo": "fish"
},
"branch": "main",
"revision": "cc8e4d8fffbdaab07b3979131030b234596f18da",
"url": "https://github.com/catppuccin/fish/archive/cc8e4d8fffbdaab07b3979131030b234596f18da.tar.gz",
"hash": "1iqmchnz0gglwsxrqcm300754s84gsxrbwmfxh5mdlm16gcr9n5r"
"revision": "38aab5baabefea1bc7e560ba3fbdb53cb91a6186",
"url": "https://github.com/rose-pine/fish/archive/38aab5baabefea1bc7e560ba3fbdb53cb91a6186.tar.gz",
"hash": "0bwsq9pz1nlhbr3kyz677prgyk973sgis72xamm1737zqa98c8bd"
},
"foot": {
"type": "Git",
@ -360,6 +360,18 @@
"url": "https://github.com/catppuccin/rofi/archive/b636a00fd40a7899a8206195464ae8b7f0450a6d.tar.gz",
"hash": "1a1sr451nsfii70j2f5qf8wq4jns0d4477a2kzh3993xdnx1j3yc"
},
"rose-pine-dunst": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "d2718nis",
"repo": "rose-pine-dunst"
},
"branch": "main",
"revision": "496499eaed38a07ce4f79ec91baaf6e1e4c28bc5",
"url": "https://github.com/d2718nis/rose-pine-dunst/archive/496499eaed38a07ce4f79ec91baaf6e1e4c28bc5.tar.gz",
"hash": "0x7cqbcn7zygab9xbmbarz06wxkj3wxxffwmka33ljhm8gk3x0ay"
},
"skim": {
"type": "Git",
"repository": {

View file

@ -4,7 +4,6 @@
./btop.nix
./cava.nix
./cursor.nix
./delta.nix
./dunst.nix
./fcitx5.nix
./fish.nix

View file

@ -3,33 +3,23 @@
pkgs,
lib,
...
}:
let
inherit (lib) ctp mkIf;
cfg = config.catppuccin.pointerCursor;
# "dark" and "light" can be used alongside the regular accents
cursorAccentType = ctp.mergeEnums ctp.types.accentOption (
lib.types.enum [
"dark"
"light"
]
);
in
{
options.catppuccin.pointerCursor =
ctp.mkCatppuccinOpt {
name = "pointer cursors";
# 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.mkBasicOpt "accent" cursorAccentType "cursors";
};
}: let
inherit (lib) rp mkIf;
cfg = config.rose-pine.pointerCursor;
flavor =
if (cfg.flavor == "dawn")
then "Dawn"
else "";
in {
options.rose-pine.pointerCursor = rp.mkRosePineOpt {
name = "pointer cursors";
# NOTE: we exclude this from the global `rose-pine.enable` as there is no
# `enable` option in the upstream module to guard it
enableDefault = false;
};
config.home.pointerCursor = mkIf cfg.enable {
name = "catppuccin-${cfg.flavor}-${cfg.accent}-cursors";
package = pkgs.catppuccin-cursors.${cfg.flavor + ctp.mkUpper cfg.accent};
name = "BreezeX-RosePine${flavor}-Linux";
package = pkgs.rose-pine-cursor;
};
}

View file

@ -1,16 +0,0 @@
{ config, lib, ... }:
let
inherit (config.catppuccin) sources;
cfg = config.programs.git.delta.catppuccin;
enable = cfg.enable && config.programs.git.delta.enable;
in
{
options.programs.git.delta.catppuccin = lib.ctp.mkCatppuccinOpt { name = "delta"; };
config = lib.mkIf enable {
programs.git = {
includes = [ { path = "${sources.delta}/catppuccin.gitconfig"; } ];
delta.options.features = "catppuccin-${cfg.flavor}";
};
};
}

View file

@ -1,26 +1,34 @@
{ config, lib, ... }:
let
inherit (config.catppuccin) sources;
cfg = config.services.dunst.catppuccin;
enable = cfg.enable && config.services.dunst.enable;
in
{
options.services.dunst.catppuccin = lib.ctp.mkCatppuccinOpt { name = "dunst"; } // {
prefix = lib.mkOption {
type = lib.types.str;
default = "00";
description = "Prefix to use for the dunst drop-in file";
config,
lib,
...
}: let
inherit (config.rose-pine) sources;
cfg = config.services.dunst.rose-pine;
enable = cfg.enable && config.services.dunst.enable;
themeName =
if (cfg.flavor == "main")
then "rose-pine"
else "rose-pine-${cfg.flavor}";
in {
options.services.dunst.rose-pine =
lib.rp.mkRosePineOpt {name = "dunst";}
// {
prefix = lib.mkOption {
type = lib.types.str;
default = "00";
description = "Prefix to use for the dunst drop-in file";
};
};
};
# Dunst currently has no "include" functionality, but has "drop-ins"
# Unfortunately, this may cause inconvenience as it overrides ~/.config/dunst/dunstrc
# but it can be overridden by another drop-in.
# Dunst currently has no "include" functionality, but has "drop-ins".
# Unfortunately, this may cause inconvenience as it overrides
# ~/.config/dunst/dunstrc but it can be overridden by another drop-in.
config.xdg.configFile = lib.mkIf enable {
# Using a prefix like this is necessary because drop-ins' precedence depends on lexical order
# such that later drop-ins override earlier ones
# This way, users have better control over precedence
"dunst/dunstrc.d/${cfg.prefix}-catppuccin.conf".source =
sources.dunst + "/themes/${cfg.flavor}.conf";
# Using a prefix like this is necessary because drop-ins' precedence depends
# on lexical order such that later drop-ins override earlier ones.
# This way, users have better control over precedence.
"dunst/dunstrc.d/${cfg.prefix}-rose-pine.conf".source =
sources.dunst + "/${themeName}.conf";
};
}

View file

@ -1,30 +1,38 @@
{ config, lib, ... }:
let
inherit (config.catppuccin) sources;
cfg = config.i18n.inputMethod.fcitx5.catppuccin;
enable = cfg.enable && config.i18n.inputMethod.enabled == "fcitx5";
in
{
options.i18n.inputMethod.fcitx5.catppuccin = lib.ctp.mkCatppuccinOpt { name = "Fcitx5"; } // {
apply = lib.mkOption {
type = lib.types.bool;
default = true;
description = ''
Applies the theme by overwriting `$XDG_CONFIG_HOME/fcitx5/conf/classicui.conf`.
If this is disabled, you must manually set the theme (e.g. by using `fcitx5-configtool`).
'';
config,
lib,
...
}: let
inherit (config.rose-pine) sources;
cfg = config.i18n.inputMethod.fcitx5.rose-pine;
enable = cfg.enable && config.i18n.inputMethod.enabled == "fcitx5";
themeName =
if (cfg.flavor == "main")
then "rose-pine"
else "rose-pine-${cfg.flavor}";
in {
options.i18n.inputMethod.fcitx5.rose-pine =
lib.rp.mkRosePineOpt {name = "Fcitx5";}
// {
apply = lib.mkOption {
type = lib.types.bool;
default = true;
description = ''
Applies the theme by overwriting `$XDG_CONFIG_HOME/fcitx5/conf/classicui.conf`.
If this is disabled, you must manually set the theme (e.g. by using `fcitx5-configtool`).
'';
};
};
};
config = lib.mkIf enable {
xdg.dataFile."fcitx5/themes/catppuccin-${cfg.flavor}" = {
source = "${sources.fcitx5}/src/catppuccin-${cfg.flavor}";
xdg.dataFile."fcitx5/themes/${themeName}" = {
source = "${sources.fcitx5}/${themeName}";
recursive = true;
};
xdg.configFile."fcitx5/conf/classicui.conf" = lib.mkIf cfg.apply {
text = lib.generators.toINIWithGlobalSection { } {
globalSection.Theme = "catppuccin-${cfg.flavor}";
text = lib.generators.toINIWithGlobalSection {} {
globalSection.Theme = themeName;
};
};
};

View file

@ -1,14 +1,19 @@
{ config, lib, ... }:
let
inherit (config.catppuccin) sources;
cfg = config.programs.fish.catppuccin;
{
config,
lib,
...
}: let
inherit (config.rose-pine) sources;
cfg = config.programs.fish.rose-pine;
enable = cfg.enable && config.programs.fish.enable;
themeName = "Catppuccin ${lib.ctp.mkUpper cfg.flavor}";
themeName =
if (cfg.flavor == "main")
then "Rosé Pine"
else "Rosé Pine ${lib.rp.mkUpper cfg.flavor}";
themePath = "/themes/${themeName}.theme";
in
{
options.programs.fish.catppuccin = lib.ctp.mkCatppuccinOpt { name = "fish"; };
in {
options.programs.fish.rose-pine = lib.rp.mkRosePineOpt {name = "fish";};
config = lib.mkIf enable {
xdg.configFile."fish${themePath}".source = "${sources.fish}${themePath}";