Compare commits
5 commits
aa407e12b5
...
ac3a0ba204
Author | SHA1 | Date | |
---|---|---|---|
ac3a0ba204 | |||
9479745881 | |||
db4860d283 | |||
2841326f0a | |||
f0fb2cc974 |
7 changed files with 104 additions and 98 deletions
|
@ -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": {
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
./btop.nix
|
||||
./cava.nix
|
||||
./cursor.nix
|
||||
./delta.nix
|
||||
./dunst.nix
|
||||
./fcitx5.nix
|
||||
./fish.nix
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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}";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -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}";
|
||||
|
|
Loading…
Reference in a new issue