diff --git a/pkgs/desktops/gnome/update.nix b/pkgs/desktops/gnome/update.nix index f5db71174ad8..e945e005d48d 100644 --- a/pkgs/desktops/gnome/update.nix +++ b/pkgs/desktops/gnome/update.nix @@ -12,7 +12,13 @@ let minorAvailable = builtins.length versionComponents > 1 && builtins.match "[0-9]+" minorVersion != null; nextMinor = builtins.fromJSON minorVersion + 1; upperBound = "${lib.versions.major packageVersion}.${builtins.toString nextMinor}"; - in lib.optionals (freeze && minorAvailable) [ upperBound ]; + in + if builtins.isBool freeze then + lib.optionals (freeze && minorAvailable) [ upperBound ] + else if builtins.isString freeze then + [ freeze ] + else + throw "“freeze” argument needs to be either a boolean, or a version string."; updateScript = writeScript "gnome-update-script" '' #!${bash}/bin/bash set -o errexit