[Nix-dev] Stable NixOS releases

Vladimír Čunát vcunat at gmail.com
Wed May 15 21:35:20 CEST 2013


Hi.

On 05/14/2013 10:01 PM, Bryce L Nordgren wrote:
> Why not make a Nix friendly solution to NixOS stable?
>
> 1] Make a reference to a particular git branch/commit in the nix store.
> 2] Retrieve the reference;
> 3] Build the system off of the nix expressions in the reference.
>
> Currently, Nix lacks a way to uniquely reference the complete Nix
> expression from which the system is built. This would fix that. Rolling
> back just the binaries/derivations is good. To roll back the state of
> the system to the point where you can build new stuff on the old system,
> you also need to roll back the nix expression the system was built from.
>
> Also, the uniquely identified NixOS nix expression should be able to
> reference a particular nixpkgs nix expression.

Just using old revisions does not help! We also need new fixes there.

Perhaps we should have something like nix-env -B commit-ish -i firefox, 
where commit-ish is any git revision specifier (see man gitrevisions).

> Likewise, "nixpkgs" could be less monolithic if (when!) you start
> feeling growing pains. It would be possible to break out themes, like
> desktop environments (X/KDE/Gnome), into their own repository. Desktop
> apps, if similarly broken out, could reference particular expressions in
> the "core" as well as the "desktop env" repos.

No, I don't think so. The monolithic model is probably needed to capture 
inter-dependencies (via pkgs/top-level/*). Moreover, it's easy to get 
info only about some part, e.g. via git log pkgs/desktops/xfce.

> This is important to capture even now because package names evolve. So
> do the provided options. Already one needs to coordinate the NixOS
> expression with the Nixpkgs expression. Given a desired NixOS expression
> revision, nix should be able to figure out which commit of nixpkgs is
> compatible.  Don't use git branches to provide this coordination. Use
> the nix store.

In fact, I would prefer if nixos and nixpkgs were subdirectories in a 
common repository (as it was when on svn). Now the synchronization is by 
"commit time" which isn't very transparent. Perhaps creating a top-level 
repo with the nixpkgs and nixos as submodules could be a good 
compromise... I don't know.


Vlada


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3251 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.science.uu.nl/pipermail/nix-dev/attachments/20130515/008cab6d/attachment-0001.bin 


More information about the nix-dev mailing list