thanks to unionfs. For instance, nix-env and nixos-rebuild work.
The tricky part was to build a Nix database (in the tmpfs/unionfs)
which is now necessary to prevent store paths on the CD from being
deleted right away because they otherwise wouldn't be valid.
* nixos-install: use the /etc/nixos/configuration.nix from the target
file system (don't copy it anymore). Since the user is supposed to
mount the target file system on /mnt anyway, we may as well require
that configuration.nix is placed in /mnt/etc/nixos. This also makes
upgrading / reinstalling much easier, since it will automatically
use the right configuration.nix.
svn path=/nixos/trunk/; revision=10399
Just set nix.distributedBuilds to true and nix.buildMachines
to a list of machines that can perform Nix builds via SSH,
and local builds will be forwarded appropriately. So now
any user can say something like
nix-build /etc/nixos/nixpkgs/ --arg system '"powerpc-linux"' -A libxml2
and the build for powerpc-linux will be forwarded to a machine
of that type.
svn path=/nixos/trunk/; revision=9696
for building parts of the system. E.g.
$ nix-build /etc/nixos/nixos -A upstartJobs.xserver
to build the Upstart job for the X server, or
$ nix-build /etc/nixos/nixos -A kernel
to build the NixOS kernel.
* /etc/profile.sh: if ~/.nix-defexpr doesn't exist yet, create it as a
directory and add links to root's channels, /etc/nixos/nixos and
/etc/nixos/install-source.nix (as "nixpkgs_sys").
* boot.useKernel -> boot.kernel.
svn path=/nixos/trunk/; revision=9334