Files
nix-config/modules/home/programs/hyprland/theme.nix
mjallen18 2bf51abad5 icons
2025-12-01 17:01:07 -06:00

76 lines
1.8 KiB
Nix

{
config,
lib,
pkgs,
...
}:
with lib;
let
cfg = config.mjallen.programs.hyprland;
# Pull from global theme options
themeSize = "standard"; # "standard" | "compact"
themeAccent = "default"; # "default" | ... | "all"
themeTweak = "normal"; # "normal" | "rimless" | "float" | "black"
themeColor = "dark"; # "light" | "dark"
iconThemeVariant = "default"; # "default" | ... | "all"
iconScheme = "nord"; # "default" | "nord" | "dracula" | ...
# GTK
gtkTheme = "Colloid-dark-standard";
gtkThemePkg = pkgs.colloid-gtk-theme.override {
sizeVariants = [ themeSize ];
colorVariants = [ themeColor ];
themeVariants = [ themeAccent ];
tweaks = [ themeTweak ];
};
# Icons
iconTheme = "Colloid-nord-dark";
iconThemePkg = pkgs.colloid-icon-theme.override {
schemeVariants = [ iconScheme ];
colorVariants = [ iconThemeVariant ];
};
in
{
config = mkIf cfg.enable {
# dconf = {
# enable = true;
# settings = {
# "org/gnome/desktop/interface".color-scheme = mkForce "prefer-dark";
# # "org/gnome/desktop/interface".cursor-theme = cursorTheme;
# "org/gnome/desktop/interface".gtk-theme = gtkTheme;
# "org/gnome/desktop/interface".icon-theme = iconTheme;
# };
# };
# gtk = {
# enable = true;
# cursorTheme = {
# name = cursorTheme;
# package = cursorThemePkg;
# };
# theme = {
# name = gtkTheme;
# package = gtkThemePkg;
# };
# iconTheme = {
# name = iconTheme;
# package = iconThemePkg;
# };
# gtk3.extraConfig = {
# gtk-application-prefer-dark-theme = true;
# };
# gtk4.extraConfig = {
# gtk-application-prefer-dark-theme = true;
# };
# };
};
}