From 67c087897a0e18bdd126ddae10e40b7345ebb5df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonardo=20Eug=C3=AAnio?= Date: Mon, 23 Jan 2023 23:27:23 -0300 Subject: [PATCH] Theme: set gtk settings declaratively --- overlays/sway.nix | 26 -------------------------- user/theme.nix | 14 +++++++++----- 2 files changed, 9 insertions(+), 31 deletions(-) diff --git a/overlays/sway.nix b/overlays/sway.nix index 27fdd9e..f240bd6 100644 --- a/overlays/sway.nix +++ b/overlays/sway.nix @@ -16,30 +16,4 @@ systemctl --user start pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr ''; }; - - # currently, there is some friction between sway and gtk: - # https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland - # the suggested way to set gtk settings is with gsettings - # for gsettings to work, we need to tell it where the schemas are - # using the XDG_DATA_DIR environment variable - # run at the end of sway config - configure-gtk = pkgs.writeTextFile { - name = "configure-gtk"; - destination = "/bin/configure-gtk"; - executable = true; - text = - let - schema = pkgs.gsettings-desktop-schemas; - datadir = "${schema}/share/gsettings-schemas/${schema.name}"; - in - '' - export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS - gnome_schema=org.gnome.desktop.interface - gsettings set $gnome_schema gtk-theme '${pkgs.uservars.gtk_theme}' - gsettings set $gnome_schema icon-theme '${pkgs.uservars.icon_theme}' - gsettings set $gnome_schema cursor-theme '${pkgs.uservars.cursor_theme}' - gsettings set $gnome_schema color-scheme prefer-${pkgs.uservars.color.type} - ''; - }; - }) diff --git a/user/theme.nix b/user/theme.nix index 4abde3f..5e85427 100644 --- a/user/theme.nix +++ b/user/theme.nix @@ -28,6 +28,15 @@ with pkgs.uservars; { # # style.name = "gtk2"; # }; + dconf.settings = { + "org/gnome/desktop/interface" = { + gtk-theme = pkgs.uservars.gtk_theme; + icon-theme = pkgs.uservars.icon_theme; + cursor-theme = pkgs.uservars.cursor_theme; + color-scheme = "prefer-${pkgs.uservars.color.type}"; + }; + }; + # fonts.fontconfig.enable = true; xdg.configFile = { "qt5ct/qt5ct.conf".text = '' @@ -72,9 +81,4 @@ with pkgs.uservars; { nerdfonts_fira_hack material-wifi-icons ]; - home.activation = { - update_gtk = lib.hm.dag.entryAfter [ "writeBoundary" ] '' - $DRY_RUN_CMD ${pkgs.configure-gtk}/bin/configure-gtk - ''; - }; }