Recently, I set the “keep-outputs” option in /etc/nix/nix.conf to true. I was surprised to find that, even with this option set, the “dev” and “info” outputs of the version of Guile I have installed (guile-2.2.3) were considered “dead”. It appears that the deriver according to the binary substitute I got from cache.nixos.org does not match the derivation nix reports locally. Can anyone explain why this would be? Additionally, how would I go about getting the deriver in /nix/var/nix/db/db.sqlite to match the store derivation reported by nix-env?
$ nix-env --version
nix-env (Nix) 2.0.1
$ cat ~/.nix-defexpr/channels_root/nixos/svn-revision
.132192.ce0d9d638de
$ nix-env -qaA nixos.guile --out-path
guile-2.2.3 dev=/nix/store/v2y174yp164nbz1y2qnikhhakbi8q6ky-guile-2.2.3-dev;info=/nix/store/rcg371bbsqi8ylc71pvyzs49cp4idfir-guile-2.2.3-info;/nix/store/4kgcsv8d0dk77x6yj6vzq02347qq4cxi-guile-2.2.3
$ nix-env -qaA nixos.guile --drv-path
guile-2.2.3 /nix/store/gxdzbn1qbd06lk4py4wbsb9qglz06a5f-guile-2.2.3.drv
$ nix-store -q --deriver /nix/store/4kgcsv8d0dk77x6yj6vzq02347qq4cxi-guile-2.2.3
/nix/store/jlpba4hvilbd41igvhfswli227kgizaz-guile-2.2.3.drv
Please let me know if any additional information is required.