Skip to content

Modules

When writing a module, you should follow these guidelines:

Use a tree-like structure for the head lambda args if and only if it is needed.

{
lib,
pkgs,
inputs,
...
}:
{
# omitted config
}

Every use of imports should make a good attempt not to use ../ (going up in the file structure). I would like to have a simple file structure and this helps achieve that.

When using lib you should ideally be as specific as possible. This may look like moving from lib.mkOption to lib.options.mkOption.