Contributing to Haumea
Unless explicitly stated, all contributions are licensed under 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 when necessary.
Test your changes with
nix flake check
. Make sure new files are added to git.
Documentation
Documentation sits in the docs
directory. You can get started with nix develop ./docs
, which will start up
mdbook and serve the documentation on localhost.
Scope
Haumea only depends on 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.
with
should be avoided unless absolutely necessary,let inherit
is preferred at almost all times.rec
attribute sets should be avoided at most times, useself
orlet-in
instead.