summaryrefslogtreecommitdiff
path: root/home/gtk/default.nix
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2025-07-08 11:02:35 -0400
committerFreya Murphy <freya@freyacat.org>2025-07-08 11:02:35 -0400
commit73530dc75e52849044fde94ac2b6324087e219c8 (patch)
treeb8d16f8becb2e1656e9cd1b36a6ddfefcc0216df /home/gtk/default.nix
parentmove nixpkgs settings inside base module (diff)
downloaddotfiles-nix-73530dc75e52849044fde94ac2b6324087e219c8.tar.gz
dotfiles-nix-73530dc75e52849044fde94ac2b6324087e219c8.tar.bz2
dotfiles-nix-73530dc75e52849044fde94ac2b6324087e219c8.zip
add gtk theming
Diffstat (limited to 'home/gtk/default.nix')
-rw-r--r--home/gtk/default.nix50
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;
+ };
+ };
+}