Sorry for the late reply.

Yes that works, but I would very much prefer to be able to switch
between local tree/official tree by just changing NIX_PATH.
Changing arguments to nix-env and nixos-rebuild and friends is just
not as nice :)

But thanks for pointing out best-currently-possible option.

Mathijs

On Sun, Jul 8, 2012 at 8:58 PM, Sergey Mironov <[email protected]> wrote:
> But did you try Kirill Elagin's advice?
>
> NIX_PATH="foo=$HOME/code/nixos/nixpkgs"
> nix-env -f '<foo>' -qa '*'
>
> It works for me (without touching ~/.nix-defexp)
>
> 2012/7/7 Mathijs Kwik <[email protected]>:
>> Sergey Mironov <[email protected]> writes:
>>
>>> Hi. Please, also take a look also on the topic "nix-env ignores
>>> NIX_PATH" - it contains some answers on NIX_PATH theme.
>>>
>>> +1 for nix-env/nixos-rebuild -I unification. I think their cmdline
>>> interface is too complicated.
>>
>> I've read that topic, but no answer there, except for confirmation on
>> nix-env not looking at NIX_PATH.
>>
>> The only way I could get what I want was by adding a symlink to
>> ~/.nix-defexprs.
>>
>> But I would much prefer to be able to do this using only an environment
>> variable or adding an extra switch.
>>
>> for now, just swapping .nix-defexprs works ok
>>
>> Thanks
>>>
>>> 2012/7/6 Mathijs Kwik <[email protected]>:
>>>> On Thu, Jul 5, 2012 at 11:07 PM, Eelco Dolstra
>>>> <[email protected]> wrote:
>>>>> Hi,
>>>>>
>>>>> On 05/07/12 17:02, Mathijs Kwik wrote:
>>>>>
>>>>>>> And a question about NIX_PATH:
>>>>>>> by default it's
>>>>>>>
>>>>>> NIX_PATH='/nix/var/nix/profiles/per-user/root/channels/nixos:nixpkgs=/etc/nixos/nixpkgs:nixos=/etc/nixos/nixos:nixos-config=/etc/nixos/configuration.nix:services=/etc/nixos/services'
>>>>>>>
>>>>>>> I understand the name=value pairs give the <name> syntax, but how does 
>>>>>>> a plain
>>>>>> dirname (like the channels/nixos dir) get handled?
>>>>>
>>>>> See the description of NIX_PATH in nix-env(1).
>>>>
>>>> Nice, I should read the man pages more :)
>>>>
>>>>>
>>>>>>> I see it contains nixos and nixpkgs, but also a cryptic default.nix
>>>>>
>>>>> The default.nix just includes Nixpkgs so that nix-env can find the 
>>>>> Nixpkgs copy
>>>>> in the NixOS channel.
>>>>>
>>>>>>> My local /home/mathijs/nix-dev dir contains nixos and nixpkgs.
>>>>>>> If I want to switch to using those instead of the channel 
>>>>>>> (temporarily), can I
>>>>>> just point NIX_PATH there?
>>>>>
>>>>> Yes, or use -I (e.g. "nixos-rebuild switch -I ~mathijs/nix-dev").
>>>>
>>>> This works for nixos-rebuild, but not for nix-env.
>>>>
>>>> Now, I know I can fiddle with the synlinks below ~/.nix-defexpr, but I
>>>> would prefer not to.
>>>> Say I can normally upgrade a package by
>>>> nix-env -iA nixos.pkgs.xterm
>>>>
>>>> Now I want to do this again, but now using my local ~/nix-dev.
>>>>
>>>> I tried
>>>> nix-env -iA nixos.pkgs.xterm -I ~/nix-dev
>>>> nix-env -iA nixos.pkgs.xterm -f ~/nix-dev
>>>>
>>>> NIX_PATH="~/nix-dev" nix-env -iA nixos.pkgs.xterm
>>>> NIX_PATH="nixpkgs=~/nix-dev/nixpkgs:nixos=~/nix-dev/nixos" nix-env -iA
>>>> nixos.pkgs.xterm
>>>>
>>>> none of these worked.
>>>>
>>>>
>>>>>
>>>>> --
>>>>> Eelco Dolstra | LogicBlox, Inc. | http://nixos.org/~eelco/
>>>>> _______________________________________________
>>>>> nix-dev mailing list
>>>>> [email protected]
>>>>> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>>>> _______________________________________________
>>>> nix-dev mailing list
>>>> [email protected]
>>>> http://lists.science.uu.nl/mailman/listinfo/nix-dev
_______________________________________________
nix-dev mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-dev

Reply via email to