(address . guix-patches@gnu.org)(name . Pierre-Henry Fröhring)(address . contact@phfrohring.com)
---
doc/guix-cookbook.texi | 68 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 68 insertions(+)
Toggle diff (86 lines)
diff --git a/doc/guix-cookbook.texi b/doc/guix-cookbook.texi
index d2ce525998..2d004d7a6b 100644
--- a/doc/guix-cookbook.texi
+++ b/doc/guix-cookbook.texi
@@ -66,6 +66,7 @@ Weblate} (@pxref{Translating Guix,,, guix, GNU Guix reference manual}).
@menu
* Scheme tutorials:: Meet your new favorite language!
+* Building from Git:: Hack Guix itself
* Packaging:: Packaging tutorials
* System Configuration:: Customizing the GNU System
* Advanced package management:: Power to the users!
@@ -301,7 +302,73 @@ You'll find more books, tutorials and other resources at
@url{https://schemers.org/}.
+@c *********************************************************************
+@node Building from Git
+@chapter Building from Git
+
+Build Guix from Git and start hacking.
+
+@node Context
+@section Context
+
+@itemize
+@item
+Guix is installed using binary installation.
+@end itemize
+
+@node Source
+@section Source
+
+@example
+cd ~/src
+git clone https://git.savannah.gnu.org/git/guix.git
+@end example
+
+@node Authentication
+@section Authentication
+
+@example
+git fetch origin keyring:keyring
+guix git authenticate 9edb3f66fd807b096b48283debdcddccfea34bad \
+ "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"
+@end example
+
+@node Development environment
+@section Development environment
+
+@example
+guix environment guix --pure --ad-hoc fd
+./bootstrap
+guix_db_prefix=$(fd -p '.*/guix/db$' /)
+guix_db_prefix=$@{guix_db_prefix%/guix/db@}
+./configure --localstatedir="$guix_db_prefix"
+exit
+make authenticate
+@end example
+
+@node Compile
+@section Compile
+
+@example
+guix environment guix --pure
+make
+make check
+exit
+@end example
+
+@node Test
+@section Test
+
+@code{./pre-inst-env} let's you distinguish between this installation of
+Guix and any other.
+
+@example
+cd ~/src/guix
+guix environment guix --pure
+./pre-inst-env guix build hello
+@end example
+
+
@c *********************************************************************
@node Packaging
@chapter Packaging
--
2.34.0