1.2 KiB
How do I contribute?
Flake-parts is designed to be extremely modular, so often, you don't have to.
Nonetheless, some changes can only be made here.
Step 1. Look for an open or closed issue. This may be the quickest path to a solution to your problem.
Step 2. If needed, open an issue. This way we can discuss the problem, and if necessary discuss changes, if any need to be made.
Step 3. If needed, create a PR. Make sure to run nix-shell
before comitting. It installs a pre-commit hook with nixpkgs-fmt
.
Style
This repository is written in a style similar to that of Nixpkgs, with some exceptions
-
File names may be in camelCase. This reduces the number of unique names in the project.
-
The "contains attribute" operator is spelled without spaces, just like the "select attribute" operator. I believe Nixpkgs is undecided on this.
if x?a then "has a" else "does not have a" # ^^^
Except for file names, the Nixpkgs casing rule is maintained here as well:
-
Package names are verbatim or in snake-case. Example:
flake-parts-lib
-
Functionality provided by flake-parts is in camelCase. Examples:
getSystem
mkFlake