diff options
Diffstat (limited to '')
-rw-r--r-- | home/gtk/default.nix | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/home/gtk/default.nix b/home/gtk/default.nix new file mode 100644 index 0000000..086f8d1 --- /dev/null +++ b/home/gtk/default.nix @@ -0,0 +1,50 @@ +{ + config, + lib, + pkgs, + ... +}: let + baseCss = '' + @define-color text #${config.theme.colors.text}; + @define-color subtext #${config.theme.colors.subtext}; + + @define-color base #${config.theme.colors.base}; + @define-color surface #${config.theme.colors.surface}; + @define-color overlay #${config.theme.colors.overlay}; + + @define-color primary #${config.theme.colors.primary}; + @define-color success #${config.theme.colors.success}; + @define-color warning #${config.theme.colors.warning}; + @define-color error #${config.theme.colors.error}; + + @define-color black #${config.theme.colors.bright.black}; + @define-color red #${config.theme.colors.bright.red}; + @define-color green #${config.theme.colors.bright.green}; + @define-color yellow #${config.theme.colors.bright.yellow}; + @define-color blue #${config.theme.colors.bright.blue}; + @define-color magenta #${config.theme.colors.bright.magenta}; + @define-color cyan #${config.theme.colors.bright.cyan}; + @define-color white #${config.theme.colors.bright.white}; + @define-color pink #${config.theme.colors.bright.pink}; + @define-color orange #${config.theme.colors.bright.orange}; + ''; + finalCss = pkgs.runCommandLocal "gtk.css" {} '' + echo ${lib.escapeShellArg baseCss} >>$out + cat ${./gtk.css} >>$out + ''; +in { + home-manager.users.${config.user} = { + gtk = { + enable = true; + theme = { + package = pkgs.adw-gtk3; + name = "adw-gtk3"; + }; + }; + + xdg.configFile = { + "gtk-3.0/gtk.css".source = finalCss; + "gtk-4.0/gtk.css".source = finalCss; + }; + }; +} |