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!