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
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ nix-dev mailing list [email protected] http://lists.science.uu.nl/mailman/listinfo/nix-dev
