Below, --do-not-upgrade appears to be behaving like "--only-upgrade". I realised this comes about because I didn't use '='. guix upgrade takes all other arguments to be upgrade regex's, but it still seems. _wrong_. Some long arguments in guix require and = sign after them, and the cli help indicates as much, but --do-not-upgrade seems to break that pattern and takes all arguments after it to be regexes's to match and not upgrade. flags that have this behaviour of acting on all arguments after them should indicate clearly they do that. and indicated if the '=' is optional using some intuitive notation. The line: --do-not-upgrade[=REGEXP] do not upgrade any packages matching REGEXP suggest it must take either no argument or only '=something'. guix upgrade --help says that it is an alias for 'guix package -u .'. My understanding is that the meaning of alias is something that can be substituted and it will behave the same, like Bash aliases. We should change 'guix upgrade''s behaviour to be like 'guix package -u', taking all arguments after --do-not-upgrade as regex's to not upgrade. b@jiu ~/code/guix [env]$ guix upgrade --do-not-upgrade '^[a-n]' The following packages will be upgraded: audacity (dependencies or package changed) cool-retro-term (dependencies or package changed) deluge (dependencies or package changed) diffoscope 170 → 171 emacs (dependencies or package changed) eog (dependencies or package changed) evince (dependencies or package changed) ffmpeg (dependencies or package changed) git 2.31.0 → 2.31.1 git:send-email 2.31.0 → 2.31.1 gnome-font-viewer (dependencies or package changed) gnome-tweaks (dependencies or package changed) godot (dependencies or package changed) ibus (dependencies or package changed) ibus-anthy (dependencies or package changed) icecat (dependencies or package changed) keepassxc (dependencies or package changed) lm-sensors (dependencies or package changed) lollypop (dependencies or package changed) mpv (dependencies or package changed) mumble (dependencies or package changed) 62.6 MB will be downloaded ^C b@jiu ~/code/guix [env]$ guix package -u . --do-not-upgrade '^[a-n]' The following packages will be upgraded: obs (dependencies or package changed) piper (dependencies or package changed) playonlinux (dependencies or package changed) rhythmbox (dependencies or package changed) stellarium (dependencies or package changed) syncthing-gtk (dependencies or package changed) tinc (dependencies or package changed) transmission:gui (dependencies or package changed) ungoogled-chromium (dependencies or package changed) vlc (dependencies or package changed) youtube-dl (dependencies or package changed) zrythm (dependencies or package changed) The following derivation will be built: /gnu/store/6ldzv7ilcsg4ah8vyig9vyh9y79yz6m1-tinc-1.1pre17.drv