100 lines
2.2 KiB
Nix
100 lines
2.2 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" | ...
|
|
|
|
# Cursor
|
|
cursorTheme = "macOS";
|
|
cursorThemePkg = pkgs.apple-cursor;
|
|
cursorSize = 24;
|
|
|
|
# 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 ];
|
|
};
|
|
|
|
# Fonts
|
|
fontName = config.stylix.fonts.monospace.name;
|
|
fontPackage = config.stylix.fonts.monospace.package;
|
|
fontSize = 12;
|
|
in
|
|
{
|
|
config = mkIf cfg.enable {
|
|
home = {
|
|
pointerCursor = {
|
|
gtk.enable = true;
|
|
package = cursorThemePkg;
|
|
name = cursorTheme;
|
|
size = cursorSize;
|
|
};
|
|
};
|
|
|
|
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;
|
|
};
|
|
|
|
font = {
|
|
name = mkDefault fontName;
|
|
package = mkDefault fontPackage;
|
|
size = mkDefault fontSize;
|
|
};
|
|
};
|
|
};
|
|
}
|