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


Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
nix-dev mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-dev

Reply via email to