chore: installation using Nix

Signed-off-by: Awiteb <a@4rs.nl>
This commit is contained in:
Awiteb
2025-08-07 23:16:09 +00:00
parent 14ab9b38e2
commit 43ca689190
2 changed files with 71 additions and 7 deletions

View File

@@ -13,6 +13,10 @@ The primary goal of `n34` is to implement [NIP-34] (`git` stuff), but its
flexible design allows for additional use cases beyond Git workflows. For more flexible design allows for additional use cases beyond Git workflows. For more
details, see the following section. details, see the following section.
## Documentation
Check the documentation at [n34.dev]
## Features ## Features
- [X] Repository announcements - [X] Repository announcements
@@ -57,7 +61,7 @@ into a future-proof foundation for decentralized collaboration.
## Installation ## Installation
You can install n34 either by cloning the repository and building it with Cargo, You can install n34 either by cloning the repository and building it with Cargo,
or by using `cargo install`. or by using `cargo install` or Nix.
### Building from source ### Building from source
@@ -82,6 +86,31 @@ The binary will be installed to your Cargo binary directory (typically `~/.cargo
Make sure `~/.cargo/bin` is in your `PATH` environment variable to run the binary from anywhere. Make sure `~/.cargo/bin` is in your `PATH` environment variable to run the binary from anywhere.
### Using `nix build` (+v0.4)
- Clone the repository.
- Run the `nix build` command.
The binary will be available at `result/bin/n34`.
### Adding it to your [home-manager] (+v0.4)
- Add it as an input to your `flake.nix`:
```nix
inputs = {
# Specify the version you want to install, or remove `?ref` for the unreleased
# version. You can also use any mirror; it doesn't have to be `git.4rs.nl`.
n34.url = "git+https://git.4rs.nl/awiteb/n34.git?ref=refs/tags/vx.y.x";
};
```
- Add it to your packages (ensure your home-manager `extraSpecialArgs` includes the `inputs`):
```nix
packages = [ inputs.n34.packages."${pkgs.system}".default ];
```
## Contributing ## Contributing
Contributions to `n34` are welcome! You can help by opening issues (such as bug Contributions to `n34` are welcome! You can help by opening issues (such as bug
@@ -109,3 +138,5 @@ refer to the [LICENSE](LICENSE) file for more details.
[NIP-07]: https://github.com/nostr-protocol/nips/blob/master/07.md [NIP-07]: https://github.com/nostr-protocol/nips/blob/master/07.md
[nostr-protocol/nips#1966]: https://github.com/nostr-protocol/nips/pull/1966 [nostr-protocol/nips#1966]: https://github.com/nostr-protocol/nips/pull/1966
[nostr-browser-signer-proxy]: https://crates.io/crates/nostr-browser-signer-proxy [nostr-browser-signer-proxy]: https://crates.io/crates/nostr-browser-signer-proxy
[home-manager]: https://github.com/nix-community/home-manager
[n34.dev]: https://n34.dev

View File

@@ -211,18 +211,27 @@
border-radius: 8px; border-radius: 8px;
font-family: "Courier New", monospace; font-family: "Courier New", monospace;
font-size: 1rem; font-size: 1rem;
color: #00ff00;
border: 1px solid #333; border: 1px solid #333;
overflow-x: auto; overflow-x: auto;
margin: 15px 0; margin: 15px 0;
} }
.code-block p { .code-block p {
color: #777; color: #00ff00;
} }
.code-block::before { .code-block p::before {
content: "$ "; content: "$ ";
color: #888; color: #888;
} }
.code-block span::before {
content: "$ ";
color: #888;
}
.code-block span {
color: #777;
}
.code-block pre {
color: #00ff00;
}
.links { .links {
margin-top: 30px; margin-top: 30px;
} }
@@ -412,12 +421,36 @@
<div class="install-section"> <div class="install-section">
<h2>Quick Start</h2> <h2>Quick Start</h2>
<p style="text-align: center; margin-bottom: 20px; color: #cccccc;">Get started with n34 in seconds</p> <p style="text-align: center; margin-bottom: 20px; color: #cccccc;">Get started with n34 in seconds</p>
<div class="code-block">cargo install n34</div> <div class="code-block">
<p>cargo install n34</p>
<span># The execautable will be in ~/.cargo/bin/n34</span>
</div>
<p style="text-align: center; margin: 20px 0; color: #888;">or</p> <p style="text-align: center; margin: 20px 0; color: #888;">or</p>
<div class="code-block"> <div class="code-block">
git clone https://git.4rs.nl/awiteb/n34.git && cd n34 && cargo build --release <p>git clone https://git.4rs.nl/awiteb/n34.git</p>
<p>cd n34 && cargo build --release</p>
<span># The execautable will be in target/release/n34</span>
</div>
<p style="text-align: center; margin: 20px 0; color: #888;">NixOS (Version 0.4.0 or later)</p>
<div class="code-block">
<p>git clone https://git.4rs.nl/awiteb/n34.git</p>
<p>cd n34 && nix build</p>
<span># The execautable will be in result/bin/n34</span>
</div>
<p style="text-align: center; margin: 20px 0; color: #888;">home-manager</p>
<p style="text-align: center; margin-bottom: 20px; color: #cccccc;">Add this to your <code>flake.nix</code> inputs
<br> <br>
<p># The execautable will be in target/release/n34<p> Specify the version you want to install, or remove <code>?ref</code> for the unreleased version. You can also use any mirror; it doesn't have to be <code>git.4rs.nl</code>
</p>
<div class="code-block">
<pre>
inputs = {
n34.url = "git+https://git.4rs.nl/awiteb/n34.git?ref=refs/tags/vx.y.x";
};</pre>
</div>
<p style="text-align: center; margin-bottom: 20px; color: #cccccc;">And this in your home packages</p>
<div class="code-block">
<pre>packages = [ inputs.n34.packages."${pkgs.system}".default ];</pre>
</div> </div>
<p style="text-align: center; margin-top: 20px; color: #cccccc;">Once installed, run <code style="background: #333; padding: 2px 6px; border-radius: 4px;">n34 --help</code> to see available commands.</p> <p style="text-align: center; margin-top: 20px; color: #cccccc;">Once installed, run <code style="background: #333; padding: 2px 6px; border-radius: 4px;">n34 --help</code> to see available commands.</p>
</div> </div>