2024-05-22 14:29:45 +02:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
lib,
|
2025-03-26 19:16:28 +01:00
|
|
|
pkgs,
|
2024-05-22 14:29:45 +02:00
|
|
|
...
|
2025-03-26 19:16:28 +01:00
|
|
|
}: let
|
|
|
|
inherit (lib.options) mkOption mkEnableOption;
|
|
|
|
inherit (lib.types) str package;
|
|
|
|
inherit (lib.modules) mkIf;
|
2025-04-06 14:03:41 +02:00
|
|
|
cfg = config.modules.theming.gtk;
|
2024-04-10 17:39:26 +02:00
|
|
|
in {
|
2025-04-06 14:03:41 +02:00
|
|
|
options.modules.theming.gtk = {
|
2025-03-26 19:16:28 +01:00
|
|
|
enable = mkEnableOption "Wether to enable GTK theming";
|
|
|
|
theme = {
|
|
|
|
name = mkOption {
|
|
|
|
description = "The GTK theme name";
|
|
|
|
default = "Gruvbox-Dark-BL";
|
|
|
|
type = str;
|
|
|
|
};
|
|
|
|
package = mkOption {
|
|
|
|
description = "The GTK theme package";
|
|
|
|
default = pkgs.gruvbox-gtk-theme;
|
|
|
|
type = package;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
iconTheme = {
|
|
|
|
description = "The GTK icon theme";
|
|
|
|
name = mkOption {
|
|
|
|
description = "The GTK icon theme name";
|
|
|
|
default = "Papirus-Dark";
|
|
|
|
type = str;
|
|
|
|
};
|
|
|
|
package = mkOption {
|
|
|
|
description = "The GTK icon theme package";
|
2025-04-06 14:03:41 +02:00
|
|
|
default = pkgs.papirus-icon-theme;
|
2025-03-26 19:16:28 +01:00
|
|
|
type = package;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2024-05-15 00:14:59 +02:00
|
|
|
config = mkIf cfg.enable {
|
2025-03-26 19:16:28 +01:00
|
|
|
# NOTE: we need this or gtk breaks
|
|
|
|
programs.dconf.enable = true;
|
2025-04-06 14:03:41 +02:00
|
|
|
|
|
|
|
environment = {
|
|
|
|
systemPackages = builtins.attrValues {
|
|
|
|
inherit
|
|
|
|
(pkgs)
|
|
|
|
gruvbox-gtk-theme
|
|
|
|
papirus-icon-theme
|
|
|
|
;
|
|
|
|
};
|
|
|
|
variables = let
|
|
|
|
cursorSize = 32;
|
|
|
|
in {
|
|
|
|
GTK_THEME = "Gruvbox-Dark";
|
|
|
|
XCURSOR_THEME = "BreezeX-RosePine-Linux";
|
|
|
|
XCURSOR_SIZE = cursorSize;
|
|
|
|
|
|
|
|
HYPRCURSOR_THEME = "BreezeX-RosePine-Linux";
|
|
|
|
HYPRCURSOR_SIZE = cursorSize;
|
|
|
|
};
|
|
|
|
};
|
2024-05-15 00:14:59 +02:00
|
|
|
};
|
2024-04-10 17:39:26 +02:00
|
|
|
}
|