1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-12-09 18:41:06 +01:00
home-manager/tests/modules/misc/gtk/gtk-per-version-override.nix
Austin Horstman 18ff4e1e11 tests/gtk: expand testing for new customization
We can now customize a lot more in the gtk module. Test more scenarios
to ensure a user has more control over what gets generated.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-11 11:53:47 -05:00

60 lines
2.5 KiB
Nix

{
# Test that per-version settings override global defaults
gtk = {
enable = true;
# Global defaults
font.name = "Global Font";
theme.name = "Global-Theme";
iconTheme.name = "Global-Icons";
cursorTheme.name = "Global-Cursor";
# Per-version overrides
gtk2 = {
font.name = "GTK2-Font";
theme.name = "GTK2-Theme";
extraConfig = "gtk-can-change-accels = 1";
};
gtk3 = {
iconTheme.name = "GTK3-Icons";
cursorTheme.name = "GTK3-Cursor";
extraConfig = {
gtk-recent-files-limit = 10;
};
extraCss = "window { border: 1px solid red; }";
};
gtk4 = {
font.name = "GTK4-Font";
extraConfig = {
gtk-recent-files-limit = 20;
};
extraCss = "window { border: 2px solid blue; }";
};
};
nmt.script = ''
# GTK2 should use overridden font/theme, global icons/cursor
assertFileRegex home-files/.gtkrc-2.0 'gtk-font-name = "GTK2-Font 11"'
assertFileRegex home-files/.gtkrc-2.0 'gtk-theme-name = "GTK2-Theme"'
assertFileRegex home-files/.gtkrc-2.0 'gtk-icon-theme-name = "Global-Icons"'
assertFileRegex home-files/.gtkrc-2.0 'gtk-cursor-theme-name = "Global-Cursor"'
assertFileRegex home-files/.gtkrc-2.0 'gtk-can-change-accels = 1'
# GTK3 should use global font/theme, overridden icons/cursor
assertFileRegex home-files/.config/gtk-3.0/settings.ini 'gtk-font-name=Global Font 11'
assertFileRegex home-files/.config/gtk-3.0/settings.ini 'gtk-theme-name=Global-Theme'
assertFileRegex home-files/.config/gtk-3.0/settings.ini 'gtk-icon-theme-name=GTK3-Icons'
assertFileRegex home-files/.config/gtk-3.0/settings.ini 'gtk-cursor-theme-name=GTK3-Cursor'
assertFileRegex home-files/.config/gtk-3.0/settings.ini 'gtk-recent-files-limit=10'
assertFileRegex home-files/.config/gtk-3.0/gtk.css 'window { border: 1px solid red; }'
# GTK4 should use overridden font, global theme/icons/cursor
assertFileRegex home-files/.config/gtk-4.0/settings.ini 'gtk-font-name=GTK4-Font 11'
assertFileRegex home-files/.config/gtk-4.0/settings.ini 'gtk-theme-name=Global-Theme'
assertFileRegex home-files/.config/gtk-4.0/settings.ini 'gtk-icon-theme-name=Global-Icons'
assertFileRegex home-files/.config/gtk-4.0/settings.ini 'gtk-cursor-theme-name=Global-Cursor'
assertFileRegex home-files/.config/gtk-4.0/settings.ini 'gtk-recent-files-limit=20'
assertFileRegex home-files/.config/gtk-4.0/gtk.css 'window { border: 2px solid blue; }'
'';
}