Okay, I went digging a bit today, and found out this was because --gc-keep-derivations default value is yes, and the output path of the drv file is still present & gc rooted, so it can't be removed. This was clear from output produced by starting guix-daemon --debug.
Rutherther "Rutherther" <[email protected]> writes: > Hi, > > I have corrupted drvs on my drive and wanted to get rid of them, but > since I do not know what is keeping them alive, I went > transitively with --referrers, and came to grub.cfg.drv. This drv > doesn't have any referrers, is not busy and is not directly gc rooted. > Therefore I do not understand why I cannot gc it. What am I missing? > > --- >> stat $(guix gc --list-roots)| grep >> /gnu/store/g5v7rqy4il0z1wnxiqwij3wd08rfhy52-grub.cfg.drv > [ruther:~/.setup]└2 main(+114/-62,2)* 1 ± >> guix gc --list-busy | grep >> /gnu/store/g5v7rqy4il0z1wnxiqwij3wd08rfhy52-grub.cfg.drv > [ruther:~/.setup]└2 main(+114/-62,2)* 6s 1 ± >> guix gc --referrers /gnu/store/g5v7rqy4il0z1wnxiqwij3wd08rfhy52-grub.cfg.drv >> > [ruther:~/.setup]└2 main(+114/-62,2)* ± >> guix gc -D /gnu/store/g5v7rqy4il0z1wnxiqwij3wd08rfhy52-grub.cfg.drv > finding garbage collector roots... > guix gc: error: cannot delete path > `/gnu/store/g5v7rqy4il0z1wnxiqwij3wd08rfhy52-grub.cfg.drv' since it is still > alive > --- > > Rutherther
