summary refs log tree commit diff
path: root/HACKING
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-01-21 21:35:03 +0100
committerLudovic Courtès <ludo@gnu.org>2013-01-22 00:17:42 +0100
commitc6dbd5059454c0221a145cec5a74613fd2bccea7 (patch)
treede2858708ac637dac1ff24172a871250c35b1536 /HACKING
parent4f028c8f95d621cf91b4d99acbf41a4e44775d21 (diff)
downloadguix-c6dbd5059454c0221a145cec5a74613fd2bccea7.tar.gz
doc: Add "The Perfect Setup" in 'HACKING'.
* HACKING (The Perfect Setup): New section.
Diffstat (limited to 'HACKING')
-rw-r--r--HACKING17
1 files changed, 17 insertions, 0 deletions
diff --git a/HACKING b/HACKING
index 1000a6e748..1e9f5cda81 100644
--- a/HACKING
+++ b/HACKING
@@ -23,6 +23,23 @@ Similarly, for a Guile session using the Guix modules:
 The ‘pre-inst-env’ script sets up all the environment variables
 necessary to support this.
 
+* The Perfect Setup
+
+The Perfect Setup to hack on Guix is basically the perfect setup used
+for Guile hacking (info "(guile) Using Guile in Emacs").  First, you
+need more than an editor, you need [[http://www.gnu.org/software/emacs][Emacs]], empowered by the wonderful
+[[http://nongnu.org/geiser/][Geiser]].
+
+Geiser allows for interactive and incremental development from within
+Emacs: code compilation and evaluation from within buffers, access to
+on-line documentation (docstrings), context-sensitive completion, M-. to
+jump to an object definition, a REPL to try out your code, and more.
+
+To actually edit the code, Emacs already has a neat Scheme mode.  But in
+addition to that, you must not miss [[http://www.emacswiki.org/emacs/ParEdit][Paredit]].  It provides facilities to
+directly operate on the syntax tree, such as raising an s-expression or
+wrapping it, swallowing or rejecting the following s-expression, etc.
+
 * Adding new packages
 
 Package recipes in Guix look like this: