about summary refs log tree commit diff stats
path: root/docs/developing.md
diff options
context:
space:
mode:
authorAlan Pearce2024-05-22 13:29:43 +0200
committerAlan Pearce2024-05-22 13:29:43 +0200
commit7fcc9653aaffcfc4c84acfbddc7b4d728daeb7eb (patch)
tree6dcc3961b319af53dc2df542aa0af309f05d1e88 /docs/developing.md
parent53a00f3ac15f1d32693a4db1b32c5af583b68f6b (diff)
downloadsearchix-7fcc9653aaffcfc4c84acfbddc7b4d728daeb7eb.tar.lz
searchix-7fcc9653aaffcfc4c84acfbddc7b4d728daeb7eb.tar.zst
searchix-7fcc9653aaffcfc4c84acfbddc7b4d728daeb7eb.zip
docs: expand readme, move dev docs to subfolder
Diffstat (limited to 'docs/developing.md')
-rw-r--r--docs/developing.md33
1 files changed, 33 insertions, 0 deletions
diff --git a/docs/developing.md b/docs/developing.md
new file mode 100644
index 0000000..e1d66a5
--- /dev/null
+++ b/docs/developing.md
@@ -0,0 +1,33 @@
+# Development
+
+### Pre-requisites
+
+-   [Nix (the package manager)](https://nixos.org/download/) with [flakes enabled](https://nixos.wiki/wiki/flakes#Enable_flakes_temporarily)
+-   Optional:
+    -   [cachix](https://docs.cachix.org/installation#installation)
+    -   [lorri](https://github.com/nix-community/lorri)
+    -   [direnv](https://direnv.net/)
+
+### Setup
+
+1. Optional: use cachix to avoid building some tools
+
+    ```shell-session
+    cachix use pre-commit-hooks
+    ```
+
+2. Start a nix shell (this will take some time)
+
+    ```shell-session
+    nix develop
+    ```
+
+3. Optional: install and set up lorri and use `lorri shell` instead of `nix develop`
+
+4. Optional: install direnv, integrate it with your shell and then run
+
+    ```shell-session
+    ln -s .envrc.sample .envrc
+    ```
+
+    Now `nix develop` or `lorri shell` will be run for you automatically when you `cd` into this directory.