Hi, Indeed, the issue can be annoying.
--8<---------------cut here---------------start------------->8--- $ guix gc ---delete-generations=0d $ guix pull --roll-back fetching path `/gnu/store/…-module-import-compiled'... Downloading https://ci.guix.gnu.org/nar/lzip/…-module-import-compiled... module-import-compiled 107KiB 1.4MiB/s 00:00 ▕██████████████████▏ 100.0% fetching path `/gnu/store/…-libffi-3.4.4'... Downloading https://ci.guix.gnu.org/nar/lzip/…-libffi-3.4.4... libffi-3.4.4 56KiB 6.3MiB/s 00:00 ▕██████████████████▏ 100.0% fetching path `/gnu/store/…-libgc-8.2.2'... Downloading https://ci.guix.gnu.org/nar/zstd/…-libgc-8.2.2... libgc-8.2.2 228KiB 2.3MiB/s 00:00 ▕██████████████████▏ 100.0% fetching path `/gnu/store/…-libunistring-1.0'... Downloading https://ci.guix.gnu.org/nar/zstd/…-libunistring-1.0... libunistring-1.0 661KiB 2.7MiB/s 00:00 ▕██████████████████▏ 100.0% fetching path `/gnu/store/…-pkg-config-0.29.2'... Downloading https://ci.guix.gnu.org/nar/zstd/…-pkg-config-0.29.2... pkg-config-0.29.2 209KiB 2.3MiB/s 00:00 ▕██████████████████▏ 100.0% fetching path `/gnu/store/…-guile-3.0.9'... Downloading https://ci.guix.gnu.org/nar/zstd/…-guile-3.0.9... guile-3.0.9 8.1MiB 1.6MiB/s 00:05 ▕██████████████████▏ 100.0% building path(s) `/gnu/store/zm6cs3grf3l78mz1swakvfddn6k66l7m-profile' switched from generation 29 to 0 --8<---------------cut here---------------end--------------->8--- Aside the unexpected downloads, now Guix have disappeared… $ hash guix $ type -P guix /home/simon/.config/guix/profiles/emacs/emacs/bin/guix At best it finds nothing. Or worse, it could find an unexpected one installed in one of my profiles – here from the package ’guix’. And it hides the error “No such file or directory”; for instance, it outputs: $ guix describe Generation 8 Oct 25 2023 14:23:41 (current) guix 4dfdd82 repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: 4dfdd822102690b5687acf28365ab707b68d9476 And I do not know where that comes from. Another story. Well, the current profiles reads, --8<---------------cut here---------------start------------->8--- $ ls -1 /var/guix/profiles/per-user/simon/ | grep current current-guix current-guix-0-link current-guix-29-link --8<---------------cut here---------------end--------------->8--- And that profile numbered 0 newly created is empty: --8<---------------cut here---------------start------------->8--- $ tree /var/guix/profiles/per-user/simon/current-guix-0-link /var/guix/profiles/per-user/simon/current-guix-0-link ├── etc │ └── profile └── manifest 2 directories, 2 files --8<---------------cut here---------------end--------------->8--- On Wed, 05 Jul 2023 at 17:21, Blake Shaw <bl...@reproduciblemedia.com> wrote: > But like, should this happen? Should we ever be rolling back to an > empty "0" generation that doesn't even contain guix, and thus creates > a pickle for those who don't have prior knowledge of how to get out of > it? Should we limit gc --delete-generations to always keep a previous > generation at hand, perhaps unless forced by some other flag, so that > [in particular, new] users don't break their systems in the middle of > the day and then have something to solve that encumbers their plans & > work? IMHO, it is an bug with “guix pull --roll-back”. When the current generation is the older one, then it should not be possible to roll-back; or roll-back should do nothing in this corner case. It should not be possible to create an empty profile numbered 0. Cheers, simon