nichts/modules/style/gtk.nix

44 lines
1 KiB
Nix

{
config,
lib,
pkgs,
...
}: let
inherit (lib.options) mkOption mkEnableOption;
inherit (lib.types) str package;
inherit (lib.modules) mkIf;
cfg = config.modules.theme.gtk;
in {
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;
};
};
};
config = mkIf cfg.enable {
# NOTE: we need this or gtk breaks
programs.dconf.enable = true;
};
}