Subject: [PATCH] Add a TLDR entry to the cookbook for building Guix from Git.

From: Pierre-Henry Fröhring <[email-masked]>
Date: Sun, 6 Feb 2022 22:33:46 +0100

---
 doc/guix-cookbook.texi | 68 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)

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