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;
|
|
|
|
cfg = config.modules.theme.gtk;
|
2024-04-10 17:39:26 +02:00
|
|
|
in {
|
2025-03-26 19:16:28 +01:00
|
|
|
options.modules.theme.gtk = {
|
|
|
|
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";
|
|
|
|
default = pkgs.catppuccin-papirus-folders;
|
|
|
|
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;
|
2024-05-15 00:14:59 +02:00
|
|
|
};
|
2024-04-10 17:39:26 +02:00
|
|
|
}
|