path:
/CONTRIBUTING.md
1.43 KB | plain
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Contributing to Haumea
Unless explicitly stated, all contributions are licensed under
[MPL-2.0](http://mozilla.org/MPL/2.0), the license used by haumea.
## Making Changes to the API
This doesn't apply to bug fixes.
- Discuss before opening a pull request, so your work doesn't go to waste.
Anything from GitHub issues to Matrix discussions is fine.
- Update documentation accordingly. Everything in `haumea.lib` should be documented.
- Add [tests](https://github.com/nix-community/haumea/tree/main/tests) when necessary.
Test your changes with `nix flake check`. Make sure new files are added to git.
## Documentation
Documentation sits in the [docs](https://github.com/nix-community/haumea/tree/main/docs)
directory. You can get started with `nix develop ./docs`, which will start up
[mdbook](https://github.com/rust-lang/mdbook) and serve the documentation on localhost.
## Scope
Haumea only depends on [nixpkgs.lib](https://github.com/nix-community/nixpkgs.lib).
Features that depend on the rest of [nixpkgs] should not be added.
However, changes that are specific to, but don't depend on [nixpkgs] are allowed.
## Style
- Format all Nix files with [nixpkgs-fmt](https://github.com/nix-community/nixpkgs-fmt).
- `with` should be avoided unless absolutely necessary,
`let inherit` is preferred at almost all times.
- `rec` attribute sets should be avoided at most times, use `self` or `let-in` instead.
[nixpkgs]: https://github.com/nixos/nixpkgs