diff --git a/checkout-nixos.sh b/checkout-nixos.sh deleted file mode 100755 index 300deb196c6..00000000000 --- a/checkout-nixos.sh +++ /dev/null @@ -1,9 +0,0 @@ -#! /bin/sh -nix-channel --add http://nix.cs.uu.nl/dist/nix/channels-v3/nixpkgs-unstable -nix-channel --update -nix-env -i subversion -cd /etc/nixos -svn co https://svn.cs.uu.nl:12443/repos/trace/nixos/trunk nixos -svn co https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk nixpkgs -ln -sf ../nixpkgs/pkgs nixos/pkgs -ln -sf nixpkgs/pkgs/top-level/all-packages.nix install-source.nix diff --git a/installer/nixos-checkout.nix b/installer/nixos-checkout.nix new file mode 100644 index 00000000000..ce8038fffed --- /dev/null +++ b/installer/nixos-checkout.nix @@ -0,0 +1,8 @@ +{substituteAll}: + +substituteAll { + name = "nixos-checkout"; + src = ./nixos-checkout.sh; + dir = "bin"; + isExecutable = true; +} diff --git a/installer/nixos-checkout.sh b/installer/nixos-checkout.sh new file mode 100644 index 00000000000..8d1a13cafc2 --- /dev/null +++ b/installer/nixos-checkout.sh @@ -0,0 +1,28 @@ +#! @shell@ -e +set -x + +# Obtain Subversion. +nix-channel --add http://nix.cs.uu.nl/dist/nix/channels-v3/nixpkgs-unstable +nix-channel --update +nix-env -i subversion + +cd /etc/nixos + +# Move any old nixos or nixpkgs directories out of the way. +backupTimestamp=$(date "+%Y%m%d%H%M%S") + +if test -e nixos -a ! -e nixos/.svn; then + mv nixos nixos-$backupTimestamp +fi + +if test -e nixpkgs -a ! -e nixpkgs/.svn; then + mv nixpkgs nixpkgs-$backupTimestamp +fi + +# Check out the NixOS and Nixpkgs sources. +svn co https://svn.cs.uu.nl:12443/repos/trace/nixos/trunk nixos +svn co https://svn.cs.uu.nl:12443/repos/trace/nixpkgs/trunk nixpkgs + +# A few symlink. +ln -sfn ../nixpkgs/pkgs nixos/pkgs +ln -sfn nixpkgs/pkgs/top-level/all-packages.nix install-source.nix diff --git a/installer/nixos-rebuild.nix b/installer/nixos-rebuild.nix index 52cc939eabf..2c8371a597c 100644 --- a/installer/nixos-rebuild.nix +++ b/installer/nixos-rebuild.nix @@ -1,9 +1,8 @@ -{substituteAll, nix}: +{substituteAll}: substituteAll { name = "nixos-rebuild"; src = ./nixos-rebuild.sh; dir = "bin"; isExecutable = true; - inherit nix; } diff --git a/system/system.nix b/system/system.nix index 1b5069b014a..b3a888e6590 100644 --- a/system/system.nix +++ b/system/system.nix @@ -118,7 +118,10 @@ rec { nixosRebuild = import ../installer/nixos-rebuild.nix { inherit (pkgs) substituteAll; - inherit nix; + }; + + nixosCheckout = import ../installer/nixos-checkout.nix { + inherit (pkgs) substituteAll; }; @@ -192,6 +195,7 @@ rec { nix nixosInstall nixosRebuild + nixosCheckout setuidWrapper ];