X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/a784c3077e7cdae5d8492aa540b86b8d32c9a696..60da9fb1100787c49ed4910eacf50e83c6462dcc:/README diff --git a/README b/README index 09433586be..f05a4b5615 100644 --- a/README +++ b/README @@ -20,8 +20,13 @@ Guix is based on the [[http://nixos.org/nix/][Nix]] package manager. GNU Guix currently depends on the following packages: - - [[http://gnu.org/software/guile/][GNU Guile 2.0.x]] + - [[http://gnu.org/software/guile/][GNU Guile 2.0.x]], version 2.0.7 or later - [[http://gnupg.org/][GNU libgcrypt]] + - [[http://www.gnu.org/software/make/][GNU Make]] + - optionally [[http://savannah.nongnu.org/projects/guile-json/][Guile-JSON]], for the 'guix import pypi' command + - optionally [[http://www.gnutls.org][GnuTLS]] compiled with guile support enabled, for HTTPS support + in the 'guix download' command. Note that 'guix import pypi' requires + this functionality. Unless `--disable-daemon' was passed, the following packages are needed: @@ -33,29 +38,38 @@ When `--disable-daemon' was passed, you instead need the following: - [[http://nixos.org/nix/][Nix]] -Optionally, packages from Nixpkgs may be transparently reused from Guix. -For this to work, you need to have a checkout of the Nixpkgs repository; -the `--with-nixpkgs' option allows you to let `configure' know where the -Nixpkgs checkout is. +* Installation - - [[http://nixos.org/nixpkgs/][Nixpkgs]] +See the manual for the installation instructions, either by running -When building Guix from a checkout, the following packages are also -required: + info -f doc/guix.info "(guix) Installation" - - [[http://www.gnu.org/software/autoconf/][GNU Autoconf]] - - [[http://www.gnu.org/software/automake/][GNU Automake]] - - [[http://www.gnu.org/software/gettext/][GNU Gettext]] +or by checking the [[http://www.gnu.org/software/guix/manual/guix.html#Installation][web copy of the manual]]. -The "autoreconf -vi" command can be used to generate the build system -infrastructure; it reports an error if an inappropriate version of the -above packages is being used. +For information on installation from a Git checkout, please see the section +"Building from Git" in the manual. + +* Installing Guix from Guix + +You can re-build and re-install Guix using a system that already runs Guix. +To do so: + + - Start a shell with the development environment for Guix: + + guix environment guix + + - Re-run the 'configure' script passing it the option + '--localstatedir=/somewhere', where '/somewhere' is the 'localstatedir' + value of the currently installed Guix (failing to do that would lead the + new Guix to consider the store to be empty!). + + - Run "make", "make check", and "make install". * How It Works Guix does the high-level preparation of a /derivation/. A derivation is the promise of a build; it is stored as a text file under -=/nix/store/xxx.drv=. The (guix derivations) module provides the +=/gnu/store/xxx.drv=. The (guix derivations) module provides the `derivation' primitive, as well as higher-level wrappers such as `build-expression->derivation'.