Help finding store root like `temp:3862`

There’s a store path I’m trying to remove:

❯ nix store delete /nix/store/r3n40nbgq8x9kac2lg3b1daw9g8kxp4q-centrifuge-chain-2.0.0-2df8df-source
0 store paths deleted, 0.00 MiB freed
error: Cannot delete path '/nix/store/r3n40nbgq8x9kac2lg3b1daw9g8kxp4q-centrifuge-chain-2.0.0-2df8df-source' since it is still alive. To find out why, use: nix-store --query --roots

OK:

❯ nix-store --query --roots /nix/store/r3n40nbgq8x9kac2lg3b1daw9g8kxp4q-centrifuge-chain-2.0.0-2df8df-source
{temp:3862} -> /nix/store/mqvmj5rijym5nkj0p05nddb3jaf5s85k-centrifuge-chain-2.0.0-2df8df-vendor.tar.gz.drv
{temp:3862} -> /nix/store/r3n40nbgq8x9kac2lg3b1daw9g8kxp4q-centrifuge-chain-2.0.0-2df8df-source
{temp:3862} -> /nix/store/9qy3ksajzqkdm77nc3wkcc2kix3w7z83-centrifuge-chain-2.0.0-2df8df.drv
❯ ps aux | grep 3862
root        3862  0.5  0.3 2245156 78144 ?       Ssl  13:21   0:24 nix-daemon 3850

Is this saying that the nix-daemon is somehow referencing that path? And how can that be, when there are no builds running?

Is there a way to “force-delete” a store path?

1 Like

Found this commit, which led me to /nix/var/nix/temproots/3862. I removed that file, and now nix-store -q --roots $path returns empty, but the path still can’t be deleted.

(BTW, what are temporary roots?)