mirror of
https://github.com/status-im/nim-codex.git
synced 2025-02-08 00:44:53 +00:00
Using nimbus build system since the codex now uses version of Nim >2. Tested with nim versions(>2) in nixpkgs but none of them work thus the removal of USE_SYSTEM_NIM and its logic. Signed-off-by: markoburcul <marko@status.im>
59 lines
1.4 KiB
Markdown
59 lines
1.4 KiB
Markdown
# Usage
|
|
|
|
## Shell
|
|
|
|
A development shell can be started using:
|
|
```sh
|
|
nix develop '.?submodules=1#'
|
|
```
|
|
|
|
## Building
|
|
|
|
To build a Codex you can use:
|
|
```sh
|
|
nix build '.?submodules=1#default'
|
|
```
|
|
The `?submodules=1` part should eventually not be necessary.
|
|
For more details see:
|
|
https://github.com/NixOS/nix/issues/4423
|
|
|
|
It can be also done without even cloning the repo:
|
|
```sh
|
|
nix build 'git+https://github.com/codex-storage/nim-codex?submodules=1#'
|
|
```
|
|
|
|
## Running
|
|
|
|
```sh
|
|
nix run 'git+https://github.com/codex-storage/nim-codex?submodules=1#''
|
|
```
|
|
|
|
## Testing
|
|
|
|
```sh
|
|
nix flake check ".?submodules=1#"
|
|
```
|
|
|
|
## Running Nim-Codex as a service on NixOS
|
|
|
|
Include nim-codex flake in your flake inputs:
|
|
```nix
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
|
|
nim-codex-flake.url = "git+https://github.com/codex-storage/nim-codex?submodules=1#";
|
|
};
|
|
```
|
|
|
|
To configure the service, you can use the following example:
|
|
```nix
|
|
services.nim-codex = {
|
|
enable = true;
|
|
settings = {
|
|
data-dir = "/var/lib/codex-test";
|
|
};
|
|
};
|
|
```
|
|
The settings attribute set corresponds directly to the layout of the TOML configuration file
|
|
used by nim-codex. Each option follows the same naming convention as the CLI flags, but
|
|
with the -- prefix removed. For more details on the TOML file structure and options,
|
|
refer to the official documentation: [nim-codex configuration file](https://docs.codex.storage/learn/run#configuration-file). |