extend contrib packages guix README
authorng0 <ng0@n0.is>
Thu, 4 Jan 2018 16:45:11 +0000 (16:45 +0000)
committerng0 <ng0@n0.is>
Thu, 4 Jan 2018 16:45:11 +0000 (16:45 +0000)
contrib/packages/guix/README

index 0b66e500a7d889f7e83481e1c6a26ed9f691bcf0..9062cdb687fae9af6d11a061bdc0ef77294449d9 100644 (file)
@@ -1,39 +1,64 @@
 package definitions for GNU Guix
 ---------------------------------
 
+About
+-----
+
+This directory contains various files to work with GNUnet using Guix:
+
+* A folder intended to be used with GUIX_PACKAGE_PATH ("packages")
+* gnunet-doc.scm: A file to ease the building of the docgen script output
+* gnunet.scm: A file to build gnunet with all tests
+* guix-env.scm
+
+The workflow has to be documented and will make its way into the GNUnet
+Documentation eventually. For now, all uses of guix environment, guix package,
+etc apply.
+Example invocation:
+  guix environment --ad-hoc --container --network --fallback -K -l contrib/packages/guix/gnunet.scm
+which is worth improving, but essentially takes you into an container environment
+with gnunet from HEAD, under the condition that it builds. This won't include an editor,
+so you want to run
+  guix environment --ad-hoc emacs --container --network --fallback -K -l contrib/packages/guix/gnunet.scm
+(untested). You get the idea that this folder is a historical mess and should be cleaned up
+and properly documented.
+
 Usage
 -----
 
-Just point Guix towards the root of this source tree:
+Just point Guix towards the root of this source tree.
+Assuming that your gnunet checkout is in $HOME/src/gnunet:
+
+  export GUIX_PACKAGE_PATH=$HOME/src/gnunet/contrib/packages/guix/packages
 
-export GUIX_PACKAGE_PATH=/path/to/packages
 or (if you are in the root of the gnunet git repository):
-guix package -L contrib/packages/guix/packages -i package-name
+
+  guix package -L contrib/packages/guix/packages -i package-name
 
 The packages in this repository will take precedence over those in the
 official distribution.
 
+
 To make use of the packages in your GuixSD config file:
 
 Be sure to have GUIX_PACKAGE_PATH for your shell exported,
-for bash this could be achieved like this:
+for Bash this could be achieved like this:
 
-export GUIX_PACKAGE_PATH="/full/path/to/gnunet/contrib/packages/guix/directory"
+  export GUIX_PACKAGE_PATH="/full/path/to/gnunet/contrib/packages/guix/directory"
 
-In the section of your systems "config.scm", you should find
-something like this:
+In the section of your systems "config.scm", you should find something like this:
 
-(use-modules (gnu) (gnu system nss))
+  (use-modules (gnu) (gnu system nss))
 
 Now to make use of "gnunetg" as an systemwide installed package we change this
 to:
 
-(use-modules (gnu) (gnu system nss)
-             (gnunet packages gnunet))
+  (use-modules (gnu) (gnu system nss)
+               (gnunet packages gnunet))
 
 and do the usual thing:
  - save
  - guix system build /etc/config.scm
  - sudo -E guix system reconfigure /etc/config.scm
 
-The "-E" in "sudo -E" is important!
+The "-E" in "sudo -E" is important to keep the environment variables (GUIX_PACKAGE_PATH).
\ No newline at end of file