Skip to content

Commit 693b2d5

Browse files
committed
docs: update project README
1 parent d9bf95c commit 693b2d5

File tree

1 file changed

+50
-28
lines changed

1 file changed

+50
-28
lines changed

README.md

Lines changed: 50 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,38 @@
11
<!-- markdownlint-disable no-inline-html -->
2-
<h1 align="center">nh</h1>
2+
<!-- markdownlint-disable first-line-heading -->
3+
<div align="center">
4+
<h1>nh</h1>
5+
<!-- markdownlint-disable line-length -->
6+
<h6>Because the name "yet-another-<u>n</u>ix-<u>h</u>elper" was too long to type...</h1>
7+
</div>
38

4-
<!-- markdownlint-disable line-length -->
5-
<h6 align="center">Because the name "yet-another-<u>n</u>ix-<u>h</u>elper" was too long to type...</h1>
9+
## What Does it Do?
610

7-
## What does it do?
11+
NH is a modern helper utility aims to consolidate and reimplement some of the
12+
commands from the NixOS ecosystem, including relevant 3rd party tools. Our goal
13+
is to provide a uniform interface with more features, and better ergonomics than
14+
existing commands.
815

9-
[nix-output-monitor]: https://github.com/maralorn/nix-output-monitor
10-
[nvd]: https://khumba.net/projects/nvd
16+
### Platform Specific Subcommands
1117

12-
Nh is a modern helper utility that is a take at reimplementing some commands
13-
from the NixOS ecosystem. We aim to provide more features and better ergonomics
14-
than the existing commands.
18+
- `nh os` - reimplements `nixos-rebuild`[^1] with the addition of
19+
- build-tree displays.
20+
- diff of changes.
21+
- confirmation.
22+
- `nh home` - reimplements `home-manager`.
23+
- `nh darwin` - which reimplements `darwin-rebuild`.
1524

16-
We provide several subcommands, such as:
17-
18-
- `os`, which reimplements `nixos-rebuild`, with a tree of builds, diff and
19-
confirmation.
20-
- `home`, which reimplements `home-manager`.
21-
- `darwin`, which reimplements `darwin-rebuild`
22-
- `search`, a super-fast package searching tool (powered by a ElasticSearch
23-
client).
24-
- `clean`, my own take at cleaning GC roots from a NixOS system.
25+
[^1]: `nh os` does not yet provide full feature parity with `nixos-rebuild`.
26+
While a large collection of subcommands have been implemented, you might be
27+
missing some features. Please visit
28+
[#254](https://github.com/nix-community/nh/issues/254) for a roadmap.
2529

26-
This wouldn't be possible without the programs that nh runs under the hood:
30+
### Global Subcommands
2731

28-
- Tree of builds with [nix-output-monitor].
29-
- Visualization of the upgrade diff with [nvd].
30-
- And of course, all the [crates](./Cargo.toml) we depend on.
32+
- `nh search` - a super-fast package searching tool (powered by a ElasticSearch
33+
client).
34+
- `nh clean` - a re-implementation of `nix-collect-garbage` that also collects
35+
gcroots.
3136

3237
<p align="center">
3338
<img
@@ -39,8 +44,8 @@ This wouldn't be possible without the programs that nh runs under the hood:
3944
4045
## Installation
4146

42-
The latest, tagged version will is available in Nixpkgs as Nh stable. This
43-
repository provides the latest development version of Nh, which you can get from
47+
The latest, tagged version will is available in Nixpkgs as NH stable. This
48+
repository provides the latest development version of NH, which you can get from
4449
the flake outputs.
4550

4651
```sh
@@ -117,12 +122,29 @@ The config would look like this:
117122
}
118123
```
119124

125+
## Hacking
126+
127+
Contributions are always welcome. Just clone the repository and run
128+
`nix develop.` We also provide a `.envrc` for Direnv users.
129+
130+
Once your changes are complete, remember to run [fix.sh](./fix.sh) to apply
131+
general formatter and linter rules that will be expected by the CI.
132+
133+
Lastly, update the [changelog](/CHANGELOG.md) and open your pull request.
134+
135+
## Attributions
136+
137+
[nix-output-monitor]: https://github.com/maralorn/nix-output-monitor
138+
[nvd]: https://khumba.net/projects/nvd
139+
140+
NH would not be posible without that nh runs under the hood:
141+
142+
- Tree of builds with [nix-output-monitor].
143+
- Visualization of the upgrade diff with [nvd].
144+
- And of course, all the [crates](./Cargo.toml) we depend on.
145+
120146
## Status
121147

122148
[![Dependency status](https://deps.rs/repo/github/nix-community/nh/status.svg)](https://deps.rs/repo/github/nix-community/nh)
123149

124150
[![Packaging status](https://repology.org/badge/vertical-allrepos/nh.svg)](https://repology.org/project/unit/versions)
125-
126-
## Hacking
127-
128-
Just clone and `nix develop`. We also provide a `.envrc` for Direnv.

0 commit comments

Comments
 (0)