On Fri, Aug 21, 2020 at 10:51:29PM +0200, HiPhish wrote: > OK, I'll try that. My main concern was with packages I actually want to run. > For example, last time I wanted to update the Neovim version, so I changed > the > definition and installed Neovim in order to try it out a bit. But doing so > replaced my previous Neovim installation. I know the old one was still in the > store, but if I had borked the update I would have had the problem that my > text editor, which is what I use to edit Guile scripts, was messed up. > > It's not a major problem, but still an annoyance. Perhaps instead of > `install` > I should have done `environment --ad-hoc`.
If your text editor was broken, you could use `guix package --roll-back` to go back to the working version. If you needed to go back a few times, you could use `guix package --list-generations` and `guix package --switch-generation=N`. If you knew the editor was broken, but wanted to update everything else, you could do `guix package --upgrade=. --do-not-upgrade=neovim`. Since those arguments accept regular expressions, the dot "." means "everything". I do agree that `guix environment --ad-hoc` is often more convenient while experimenting. In general, it's a goal of Guix that broken updates should be easy to recover from. I hope that helps!