diff --git a/modules/misc/gtk/gtk4.nix b/modules/misc/gtk/gtk4.nix index 9d71f76e..98a7e818 100644 --- a/modules/misc/gtk/gtk4.nix +++ b/modules/misc/gtk/gtk4.nix @@ -45,8 +45,24 @@ in packageExample = "pkgs.gnome.gnome-themes-extra"; } ); - default = if lib.versionOlder config.home.stateVersion "26.05" then cfg.theme else null; - defaultText = literalExpression ''if lib.versionOlder config.home.stateVersion "26.05" then cfg.theme else null''; + inherit + (lib.hm.deprecations.mkStateVersionOptionDefault { + inherit (config.home) stateVersion; + since = "26.05"; + optionPath = [ + "gtk" + "gtk4" + "theme" + ]; + legacy = { + value = cfg.theme; + text = "config.gtk.theme"; + }; + current.value = null; + }) + default + defaultText + ; description = '' Theme for GTK 4 applications. diff --git a/tests/modules/misc/gtk/default.nix b/tests/modules/misc/gtk/default.nix index 69a77242..c206173e 100644 --- a/tests/modules/misc/gtk/default.nix +++ b/tests/modules/misc/gtk/default.nix @@ -15,6 +15,7 @@ # GTK4 gtk4-basic-settings = ./gtk4/gtk4-basic-settings.nix; + gtk4-stateversion-theme-inheritance = ./gtk4/gtk4-stateversion-theme-inheritance.nix; gtk4-theme-css-injection = ./gtk4/gtk4-theme-css-injection.nix; gtk4-no-theme-css-injection = ./gtk4/gtk4-no-theme-css-injection.nix; gtk4-stateversion-no-theme-inheritance = ./gtk4/gtk4-stateversion-no-theme-inheritance.nix; diff --git a/tests/modules/misc/gtk/gtk4/gtk4-stateversion-theme-inheritance.nix b/tests/modules/misc/gtk/gtk4/gtk4-stateversion-theme-inheritance.nix new file mode 100644 index 00000000..785d48bd --- /dev/null +++ b/tests/modules/misc/gtk/gtk4/gtk4-stateversion-theme-inheritance.nix @@ -0,0 +1,19 @@ +{ pkgs, ... }: +{ + home.stateVersion = "25.11"; + + gtk = { + enable = true; + theme = { + name = "Adwaita-dark"; + package = pkgs.gnome-themes-extra; + }; + }; + + nmt.script = '' + assertFileRegex home-files/.config/gtk-4.0/settings.ini \ + '^gtk-theme-name=Adwaita-dark$' + assertFileContains home-files/.config/gtk-4.0/gtk.css \ + 'share/themes/Adwaita-dark/gtk-4.0/gtk.css' + ''; +}