92 lines
2.1 KiB
Nix
92 lines
2.1 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
config,
|
|
...
|
|
}:
|
|
with lib;
|
|
let
|
|
gui = with config.global.gpu; enable && session;
|
|
cfg = config.home.catppuccin;
|
|
in
|
|
{
|
|
options.home.catppuccin = {
|
|
enable = mkEnableOption "catppuccin colour scheme" // {
|
|
default = gui;
|
|
};
|
|
|
|
gtk = {
|
|
package = mkOption {
|
|
type = with types; package;
|
|
default =
|
|
(pkgs.catppuccin-gtk.overrideAttrs {
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "catppuccin";
|
|
repo = "gtk";
|
|
rev = "v1.0.3";
|
|
fetchSubmodules = true;
|
|
hash = "sha256-q5/VcFsm3vNEw55zq/vcM11eo456SYE5TQA3g2VQjGc=";
|
|
};
|
|
|
|
postUnpack = "";
|
|
}).override
|
|
{
|
|
accents = [ "pink" ];
|
|
size = "compact";
|
|
#tweaks = [ "rimless" "black" ];
|
|
variant = "mocha";
|
|
};
|
|
description = "catppuccin gtk theme package";
|
|
};
|
|
name = mkOption {
|
|
type = with types; str;
|
|
default = "catppuccin-mocha-pink-compact";
|
|
description = "name of catppuccin gtk theme";
|
|
};
|
|
};
|
|
|
|
cursor = {
|
|
package = mkOption {
|
|
type = with types; package;
|
|
default = pkgs.catppuccin-cursors.mochaDark;
|
|
description = "catppuccin cursor theme package";
|
|
};
|
|
name = mkOption {
|
|
type = with types; str;
|
|
default = "catppuccin-mocha-dark-cursors";
|
|
description = "name of catppuccin cursor theme";
|
|
};
|
|
};
|
|
};
|
|
|
|
config = {
|
|
users.homeModules = [
|
|
# this module passes catppuccin configuration to home-manager
|
|
{ passthrough.catppuccin = cfg; }
|
|
];
|
|
|
|
catppuccin.enable = cfg.enable;
|
|
|
|
# gtk and cursor themes
|
|
environment.systemPackages =
|
|
with cfg;
|
|
mkIf enable [
|
|
gtk.package
|
|
cursor.package
|
|
];
|
|
|
|
# override greetd theme
|
|
programs.regreet = mkIf cfg.enable {
|
|
theme = {
|
|
inherit (cfg.gtk) name package;
|
|
};
|
|
cursorTheme = {
|
|
inherit (cfg.cursor) name package;
|
|
};
|
|
settings = {
|
|
background.path = ./solid.png;
|
|
};
|
|
};
|
|
};
|
|
}
|