Files
NixOS-Hyprland/modules/theme.nix
Don Williams 50bdcdc165 nix formatted with Alejandra
On branch main
 Your branch is up to date with 'origin/main'.

 Changes to be committed:
	modified:   flake.nix
	modified:   hosts/default/config.nix
	modified:   hosts/default/hardware.nix
	modified:   hosts/default/packages-fonts.nix
	modified:   hosts/default/users.nix
	modified:   hosts/default/variables.nix
	modified:   hosts/jak-hl/config.nix
	modified:   hosts/jak-hl/hardware.nix
	modified:   hosts/jak-hl/packages-fonts.nix
	modified:   hosts/jak-hl/users.nix
	modified:   hosts/jak-hl/variables.nix
	modified:   hosts/macbook/config.nix
	modified:   hosts/macbook/hardware.nix
	modified:   hosts/macbook/packages-fonts.nix
	modified:   hosts/macbook/users.nix
	modified:   hosts/macbook/variables.nix
	modified:   hosts/nixos-test/config.nix
	modified:   hosts/nixos-test/hardware.nix
	modified:   hosts/nixos-test/packages-fonts.nix
	modified:   hosts/nixos-test/users.nix
	modified:   hosts/nixos-test/variables.nix
	modified:   hosts/nixos/config.nix
	modified:   hosts/nixos/hardware.nix
	modified:   hosts/nixos/packages-fonts.nix
	modified:   hosts/nixos/users.nix
	modified:   hosts/nixos/variables.nix
	modified:   modules/amd-drivers.nix
	modified:   modules/fonts.nix
	modified:   modules/home/cli/bat.nix
	modified:   modules/home/cli/bottom.nix
	modified:   modules/home/cli/btop.nix
	modified:   modules/home/cli/eza.nix
	modified:   modules/home/cli/fzf.nix
	modified:   modules/home/cli/git.nix
	modified:   modules/home/cli/htop.nix
	modified:   modules/home/cli/tealdeer.nix
	modified:   modules/home/default.nix
	modified:   modules/home/editors/nixvim.nix
	modified:   modules/home/overview.nix
	modified:   modules/home/terminals/ghostty.nix
	modified:   modules/home/terminals/tmux.nix
	modified:   modules/intel-drivers.nix
	modified:   modules/local-hardware-clock.nix
	modified:   modules/ly.nix
	modified:   modules/nh.nix
	modified:   modules/nvidia-drivers.nix
	modified:   modules/nvidia-prime-drivers.nix
	modified:   modules/overlays.nix
	modified:   modules/packages.nix
	modified:   modules/portals.nix
	modified:   modules/quickshell.nix
	modified:   modules/theme.nix
	modified:   modules/vm-guest-services.nix
2025-12-14 07:26:20 -05:00

57 lines
1.6 KiB
Nix

{
pkgs,
lib,
config,
...
}: {
# Install themes/cursors that we reference
environment.systemPackages = with pkgs; [
adwaita-icon-theme
papirus-icon-theme
bibata-cursors
adwaita-qt
];
# Environment variables as a fallback for apps not honoring gsettings
# Avoid hard overrides so tools like nwg-look can preview/apply themes dynamically.
environment.variables = {
GTK2_RC_FILES = "${pkgs.gnome-themes-extra}/share/themes/Adwaita-dark/gtk-2.0/gtkrc"; # GTK2 fallback only
QT_QPA_PLATFORMTHEME = "gtk3"; # Qt apps follow GTK portal/theme
};
# Cursor defaults for XDG/Wayland sessions
environment.sessionVariables = {
XCURSOR_THEME = "Bibata-Modern-Classic";
XCURSOR_SIZE = "24";
};
# Set system dconf defaults so new users prefer dark by default.
# Users can still override per-user via gsettings.
environment.etc = {
"dconf/profile/user".text = ''
user-db:user
system-db:local
'';
"dconf/db/local.d/00_theme".text = ''
[org/gnome/desktop/interface]
color-scheme='prefer-dark'
gtk-theme='Adwaita-dark'
icon-theme='Papirus-Dark'
cursor-theme='Bibata-Modern-Classic'
'';
};
# Rebuild the dconf database at activation to apply system defaults
system.activationScripts.dconfUpdate = {
# Ensure /etc is populated (including /etc/dconf/...) before running dconf update
deps = ["etc"];
text = ''
if [ -x ${pkgs.dconf}/bin/dconf ]; then
if [ -d /etc/dconf/db ]; then
${pkgs.dconf}/bin/dconf update || true
fi
fi
'';
};
}