1
0
Fork 0
mirror of https://github.com/hercules-ci/flake-parts.git synced 2024-12-14 11:47:31 +00:00

Create CONTRIBUTING.md

This commit is contained in:
Robert Hensing 2023-05-06 21:09:28 +02:00 committed by GitHub
parent 86684881e1
commit dd87bb822c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

34
CONTRIBUTING.md Normal file
View file

@ -0,0 +1,34 @@
# 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.
```nix
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`