[Nix-dev] reading nix profile derivation priorities from manifest.nix

Marc Weber marco-oweber at gmx.de
Sat May 3 13:06:09 CEST 2014


Excerpts from Rommel Martinez's message of Sat May 03 09:46:00 +0000 2014:
> Let's presume that I have run the command 'nix-env --set-flag priority ...'
> many times and I have lost track of what they were, how can I "reset"
> them to the default state?

Following profile links to store, cp -L (dereferencing) them to /tmp and
running diff -r shows:

diff -r 11/manifest.nix 22/manifest.nix
1c1
< [ { meta = { }; name = "nvi-1.79"; out = { outPath = "/nix/store/lcb2rbrhb183lbsxhk512d297ymv85j0-nvi-1.79"; }; outPath = "/nix/store/lcb2rbrhb183lbsxhk512d297ymv85j0-nvi-1.79"; outputs = [ "out" ]; type = "derivation"; } ]
\ No newline at end of file
---
> [ { meta = { priority = "20"; }; name = "nvi-1.79"; out = { outPath = "/nix/store/lcb2rbrhb183lbsxhk512d297ymv85j0-nvi-1.79"; }; outPath = "/nix/store/lcb2rbrhb183lbsxhk512d297ymv85j0-nvi-1.79"; outputs = [ "out" ]; system = "unknown"; type = "derivation"; } ]
\ No newline at end of file

Thus read ~/.nix-profile/manifest.nix
How to change/reset? Does'nt look like nix-env provides a command (I
might have missed it again).

>From buildenv.nix (nix distribution): (d.meta.priority or 5)
thus default priority is 5.

Now from nix-env:
       --meta
           Print all of the meta-attributes of the derivation. This option is only available with --xml.

Thus I'd suggest:

nix-env -q --xml --meta

and there it is:

  <?xml version='1.0' encoding='utf-8'?>    
  <items>
    <item attrPath="0" name="nvi-1.79" system="unknown">
      <meta name="priority" type="string" value="20" />
    </item>
  </items>

If you want to change something you at least have some pointers where/how to get started.

I've changed the subject hoping that its easier for google to find this
post in the future.

Marc Weber


More information about the nix-dev mailing list