Compare commits

..

No commits in common. "bb7b08a6300bcd6fe4394db4682d2d7048d5569c" and "a9df91829114a7247ac3f3d2f51a63101af4318b" have entirely different histories.

View file

@ -1,6 +1,19 @@
{ config, pkgs, lib, flakeSelf, ... }: { config, pkgs, lib, flakeSelf, ... }:
let let
themeName = "Breeze";
gtk3and4settings = lib.generators.toINI {} {
Settings = {
gtk-theme-name = themeName;
gtk-cursor-theme-name = "breeze_cursors";
};
};
gtk2settings = ''
include "/run/current-system/sw/share/themes/${themeName}-Dark/gtk-2.0/gtkrc"
gtk-theme-name="${themeName}-Dark"
'';
# Set up the default kde options # Set up the default kde options
kdeglobals = lib.generators.toINI {} { kdeglobals = lib.generators.toINI {} {
KDE.LookAndFeelPackage = "org.kde.breezedarktint.desktop"; KDE.LookAndFeelPackage = "org.kde.breezedarktint.desktop";
@ -75,9 +88,41 @@ in
displayManager.defaultSession = "plasmawayland"; displayManager.defaultSession = "plasmawayland";
}; };
# GTK apps need dconf to grab the correct theme on Wayland # GTK apps need dconf to grab the correct theme on Wayland
programs.dconf.enable = true; programs.dconf.enable = true;
# The NixOS dconf module doesn't support creating databases
# (https://github.com/NixOS/nixpkgs/issues/54150), so I'm
# doing it manualy
# https://help.gnome.org/admin/system-admin-guide/stable/dconf-custom-defaults.html.en
environment.etc = {
"dconf/profile/user".text = "user-db:user\nsystem-db:local";
"dconf/db/local.d/00-defaultTheme".text = ''
[org/gnome/desktop/interface]
gtk-theme='${themeName}'
'';
};
system.activationScripts = {
dconf = {
text= ''
echo "updating system dconf database..."
${pkgs.dconf}/bin/dconf update
'';
deps = [ "etc" ];
};
};
# Set up GTK to use Breeze instead of adwaita by default
# Theese only seem to work on X11, not wayland
environment.etc = {
"xdg/gtk-4.0/settings.ini".text = gtk3and4settings;
"xdg/gtk-3.0/settings.ini".text = gtk3and4settings;
"gtk-2.0/gtkrc".text = gtk2settings;
};
/* /*
Install the patched Breeze color schemes and look and feel packages, Install the patched Breeze color schemes and look and feel packages,
as well as the plasma default configs as well as the plasma default configs
@ -87,15 +132,6 @@ in
# Plasma configs should be on all users # Plasma configs should be on all users
home-manager.sharedModules = [{ home-manager.sharedModules = [{
imports = [ flakeSelf.inputs.plasma-manager.homeManagerModules.plasma-manager ]; imports = [ flakeSelf.inputs.plasma-manager.homeManagerModules.plasma-manager ];
gtk = {
enable = true;
cursorTheme = { package = pkgs.breeze-icons; name = "breeze-cursors"; };
iconTheme = { package = pkgs.breeze-icons; name = "breeze-dark"; };
theme = { package = pkgs.breeze-gtk; name = "Breeze"; };
# Gtk2 doesn't have a dark mode, so I just tell gtk 3 and 4 to use the dark variant
gtk3.extraConfig.gtk-application-prefer-dark-theme = true;
gtk4.extraConfig.gtk-application-prefer-dark-theme = true;
};
programs.plasma = { programs.plasma = {
enable = true; enable = true;
workspace.clickItemTo = "select"; workspace.clickItemTo = "select";