* nixos-checkout: add an argument to specify the directory where the

sources should be stored.  E.g. "nixos-checkout /home/eelco/srcs"
  will check out to /home/eelco/srcs/{nixos,nixpkgs}.  Probably the
  /etc/nixos default should be removed eventually because /etc is a
  pretty weird place to keep large source trees.

svn path=/nixos/trunk/; revision=34086
This commit is contained in:
Eelco Dolstra 2012-05-14 04:12:43 +00:00
parent 846cb81234
commit 29b05fb62a
2 changed files with 13 additions and 7 deletions

View File

@ -21,18 +21,19 @@ To modify NixOS, however, you should check out the latest sources from
Subversion. This is done using the following command:
<screen>
$ nixos-checkout
$ nixos-checkout <replaceable>/my/sources</replaceable>
</screen>
This will check out the latest NixOS sources to
<filename>/etc/nixos/nixos</filename> and the Nixpkgs sources to
<filename>/etc/nixos/nixpkgs</filename>. If you want to rebuild your
system using your (modified) sources, you need to tell
<command>nixos-rebuild</command> about them using the
<filename><replaceable>/my/sources</replaceable>/nixos</filename> and
the Nixpkgs sources to
<filename><replaceable>/my/sources</replaceable>/nixpkgs</filename>.
If you want to rebuild your system using your (modified) sources, you
need to tell <command>nixos-rebuild</command> about them using the
<option>-I</option> flag:
<screen>
$ nixos-rebuild -I /etc/nixos
$ nixos-rebuild switch -I <replaceable>/my/sources</replaceable>
</screen>
</para>

View File

@ -14,7 +14,12 @@ let
isExecutable = true;
src = pkgs.writeScript "nixos-checkout"
''
cd /etc/nixos
#! ${pkgs.stdenv.shell} -e
prefix="$1"
if [ -z "$prefix" ]; then prefix=/etc/nixos; fi
mkdir -p "$prefix"
cd "$prefix"
# Move any old nixos or nixpkgs directories out of the way.
backupTimestamp=$(date "+%Y%m%d%H%M%S")