Note These are a set of loose guidelines, that I am using as a reminder/general format for myself.
[location/scope]: [subject]
[body]
[footer]
The location in a commit message represents where the change affects.
- A host (
Infini-DESKTOP
, etc.) - A module (Just use the module name, not including
module
orfunctionality
as a prefix, to reduce length) - A profile
pkgs
overlays
- Etc.
If affecting multiple locations, separate with a comma.
If affecting all, use a *
, like hosts/*
.
If in a sub-location, separate with a slash, such as overlays/patches
.
A scope is an abstract type of location, such as:
flake
forflake.nix
or a flake-wide changebump
forflake.lock
updatesmeta
for changes relating to the repository-related files (readme.md
,ideas.md
,todo.md
,repository.md
)
- When packaging software, location is
pkgs/package
, subject isinit at [version]
or[version old] -> [version new]
for new packages and updates. Other changes use a normal subject - When renaming files, use the location above the original, and use
before -> after
for the subject