diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2013-07-19T14·51+0200 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2013-07-19T14·51+0200 |
commit | 7b09e9f2c49aba7ced0e7fbac3994f6686b6a303 (patch) | |
tree | 6209444ab09b46a6b7f0b4ca26f9d075d8945ab9 | |
parent | 15e5ac80393f3b0a1be264e8cdaa8f048375b27d (diff) |
Add hacking notes plus a script for running nix-shell
-rwxr-xr-x | dev-shell | 12 | ||||
-rw-r--r-- | doc/manual/hacking.xml | 41 | ||||
-rw-r--r-- | doc/manual/manual.xml | 1 |
3 files changed, 54 insertions, 0 deletions
diff --git a/dev-shell b/dev-shell new file mode 100755 index 000000000000..8579939a7b54 --- /dev/null +++ b/dev-shell @@ -0,0 +1,12 @@ +#! /bin/sh +s=$(type -p nix-shell) +exec $s release.nix -A tarball --command " + export NIX_REMOTE=daemon + export NIX_PATH='$NIX_PATH' + export NIX_BUILD_SHELL=$(type -p bash) + export c=\$configureFlags + exec $s release.nix -A build.x86_64-linux --exclude tarball --command ' + configureFlags+=\" \$c --prefix=$(pwd)/inst --sysconfdir=$(pwd)/inst/etc\" + return + '" \ + "$@" diff --git a/doc/manual/hacking.xml b/doc/manual/hacking.xml new file mode 100644 index 000000000000..f8478c9093e6 --- /dev/null +++ b/doc/manual/hacking.xml @@ -0,0 +1,41 @@ +<appendix xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xml:id="chap-hacking"> + +<title>Hacking</title> + +<para>This section provides some notes on how to hack on Nix. To get +the latest version of Nix from GitHub: +<screen> +$ git clone git://github.com/NixOS/nix.git +$ cd hydra +</screen> +</para> + +<para>To build it and its dependencies: +<screen> +$ nix-build release.nix -A build.x86_64-linux +</screen> +</para> + +<para>To build all dependencies and start a shell in which all +environment variables are set up so that those dependencies can be +found: +<screen> +$ ./dev-shell +</screen> +To build Nix itself in this shell: +<screen> +[nix-shell]$ ./bootstrap +[nix-shell]$ configurePhase +[nix-shell]$ make +</screen> +To test it: +<screen> +[nix-shell]$ make install +[nix-shell]$ make installcheck +</screen> + +</para> + +</appendix> diff --git a/doc/manual/manual.xml b/doc/manual/manual.xml index 6abff02d9ef4..671ca9d65c1a 100644 --- a/doc/manual/manual.xml +++ b/doc/manual/manual.xml @@ -73,6 +73,7 @@ <xi:include href="troubleshooting.xml" /> <!-- <xi:include href="bugs.xml" /> --> <xi:include href="glossary.xml" /> + <xi:include href="hacking.xml" /> <appendix> <title>Nix Release Notes</title> |