Files
nix/users/configs/gtk/default.nix
Nikolaos Karaolidis 6809acf2ae Add ags launcher
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2024-07-02 16:43:50 +03:00

52 lines
1.3 KiB
Nix

{ user ? throw "user argument is required" }: { config, lib, pkgs, ... }:
let
hmConfig = config.home-manager.users."${user.name}";
in
{
home-manager.users."${user.name}" = {
gtk = {
enable = true;
theme = {
package = pkgs.adw-gtk3;
name = "adw-gtk3-dark";
};
gtk2.configLocation = "${hmConfig.xdg.configHome}/gtk-2.0/gtkrc";
gtk3.extraCss = "@import './theme.css';";
gtk4.extraCss = "@import './theme.css';";
};
home.packages = with pkgs; [ nixos-icons ];
programs.matugen.settings.templates = {
gtk3 = {
input_path = ./theme.css;
output_path = "${hmConfig.xdg.configHome}/gtk-3.0/theme.css";
};
gtk4 = {
input_path = ./theme.css;
output_path = "${hmConfig.xdg.configHome}/gtk-4.0/theme.css";
};
};
theme.extraConfig = "${lib.meta.getExe (pkgs.writeShellApplication {
name = "theme-gtk";
runtimeInputs = with pkgs; [ dconf ];
text = ''
MODE=$(cat "${hmConfig.theme.configDir}/mode")
if [ "$MODE" = "light" ]; then
GTK_THEME="adw-gtk3"
else
GTK_THEME="adw-gtk3-dark"
fi
dconf write /org/gnome/desktop/interface/gtk-theme "'$GTK_THEME'"
dconf write /org/gnome/desktop/interface/color-scheme "'prefer-$MODE'"
'';
})} &";
};
}