nixos-configs/nixosModules/desktop/home/theme/gtk.nix
matt1432 24aa4b9842
All checks were successful
Discord / discord commits (push) Has been skipped
refactor: make modules independant and exposed in the flake for outside use
2024-08-02 22:32:29 -04:00

69 lines
1.4 KiB
Nix

{
pkgs,
lib,
osConfig,
...
}: {
config = let
inherit (import ./gradience.nix {inherit pkgs lib;}) gradience;
cfg = osConfig.roles.desktop;
in {
home.packages = with pkgs; [
gnomeExtensions.user-themes
];
# Gtk settings
gtk = {
enable = true;
theme = {
name = "adw-gtk3";
package = pkgs.adw-gtk3;
};
iconTheme = {
name = "Flat-Remix-Violet-Dark";
package = pkgs.flat-remix-icon-theme;
};
font = {
name = "Sans Serif";
size = cfg.fontSize;
};
gtk3 = {
extraConfig = {
"gtk-application-prefer-dark-theme" = 1;
};
extraCss = "@import url(\"file://${gradience.build}/gtk-3.0/gtk.css\");";
};
gtk4 = {
extraConfig = {
"gtk-application-prefer-dark-theme" = 1;
};
extraCss = "@import url(\"file://${gradience.build}/gtk-4.0/gtk.css\");";
};
};
dconf.settings = {
"org/gnome/shell/extensions/user-theme" = {
name = gradience.shellTheme;
};
"org/gnome/shell" = {
enabled-extensions = [pkgs.gnomeExtensions.user-themes.extensionUuid];
};
};
xdg.dataFile.shellTheme = {
enable = true;
recursive = true;
source = "${gradience.build}/gradience-shell";
target = "themes/${gradience.shellTheme}";
};
};
# For accurate stack trace
_file = ./gtk.nix;
}