You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+36Lines changed: 36 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -29,12 +29,48 @@ zig build test --summary all -- src/bip39/bip39.zig src/bip38/bip38.zig
29
29
30
30
#### Dev Environment
31
31
32
+
##### Devbox
33
+
32
34
You can directly use devbox to create a complete dev environment. Check devbox.json and [devbox](https://www.jetify.com/devbox) docs for more information.
33
35
34
36
```bash
35
37
devbox shell
36
38
```
37
39
40
+
##### Nix + devenv
41
+
42
+
In order to get a shell with all the tools you need to contribute to this project you can run
43
+
44
+
```bash
45
+
direnv allow
46
+
```
47
+
48
+
This will enable the `direnv` environment that will automatically makes you enter the development shell every time you enter the project directory (or any subdirectory). This uses [nix](https://nixos.org/download/) (with [flakes](https://nixos.wiki/wiki/Flakes)) and [direnv](https://direnv.net).
49
+
50
+
This command
51
+
52
+
```bash
53
+
nix flake check
54
+
```
55
+
56
+
will run regular checks of the flake, in particular it will run _git hooks_.
57
+
This runs in the GHA `flake-check` job.
58
+
59
+
###### Git hooks
60
+
61
+
The `nix` shell will install the git hooks automatically.
62
+
The pre-commit configuration `.pre-commit-config.yaml` is git-ignored because it will be a simple
63
+
link to the `/nix/store`: the semantic is not changing but the location can differ from different
64
+
machines/configuration.
65
+
66
+
You can manually trigger the hooks on all files:
67
+
68
+
```bash
69
+
pre-commit run -a
70
+
```
71
+
72
+
Check the `--help` for more usages.
73
+
38
74
#### Bitcoin Node
39
75
40
76
walle needs a bitcoin-core node. You can run one using the Dockerfile. The configuration is defined in node/bitcoin.conf and it is used to create a regtest network.
0 commit comments