summaryrefslogtreecommitdiff
path: root/HACKING
diff options
context:
space:
mode:
authorEkaitz Zarraga <ekaitz@elenq.tech>2023-09-28 20:23:41 +0200
committerEkaitz Zarraga <ekaitz@elenq.tech>2023-09-28 22:00:19 +0200
commit99368091dfa733e0e7823072e79c7d4f03c2b700 (patch)
tree4c3928320fa5d5d6e9919c512fd2b4f82d13b6b0 /HACKING
parent0edd01b5538c10703f4b32751b5189bc8ac504d3 (diff)
Use hall for project management
Diffstat (limited to 'HACKING')
-rw-r--r--HACKING47
1 files changed, 47 insertions, 0 deletions
diff --git a/HACKING b/HACKING
new file mode 100644
index 0000000..bf84f41
--- /dev/null
+++ b/HACKING
@@ -0,0 +1,47 @@
+# -*- mode: org; coding: utf-8; -*-
+
+#+TITLE: Hacking neocities
+
+* Contributing
+
+By far the easiest way to hack on neocities is to develop using Guix:
+
+#+BEGIN_SRC bash
+ # Obtain the source code
+ cd /path/to/source-code
+ guix environment -l guix.scm
+ # In the new shell, run:
+ hall dist --execute && autoreconf -vif && ./configure && make check
+#+END_SRC
+
+You can now hack this project's files to your heart's content, whilst
+testing them from your `guix environment' shell.
+
+To try out any scripts in the project you can now use
+
+#+BEGIN_SRC bash
+ ./pre-inst-env scripts/${script-name}
+#+END_SRC
+
+If you'd like to tidy the project again, but retain the ability to test the
+project from the commandline, simply run:
+
+#+BEGIN_SRC bash
+ ./hall clean --skip "scripts/${script-name},pre-inst-env" --execute
+#+END_SRC
+
+** Manual Installation
+
+If you do not yet use Guix, you will have to install this project's
+dependencies manually:
+ - autoconf
+ - automake
+ - pkg-config
+ - texinfo
+ - guile-hall
+
+Once those dependencies are installed you can run:
+
+#+BEGIN_SRC bash
+ hall dist -x && autoreconf -vif && ./configure && make check
+#+END_SRC