32 lines
678 B
Nix
32 lines
678 B
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
packages = with pkgs; [
|
|
# issue tracker (git.0x29a.ch)
|
|
tea
|
|
|
|
# nix tooling
|
|
nixfmt # official formatter (RFC 166 style)
|
|
statix # lints for nix anti-patterns
|
|
deadnix # finds unused bindings and arguments
|
|
nixd # language server
|
|
nvd # diff system generations
|
|
];
|
|
|
|
scripts = {
|
|
lint.exec = ''
|
|
set -e
|
|
statix check .
|
|
# hardware-configuration.nix is generated; statix skips it via statix.toml
|
|
deadnix --fail --exclude hosts/*/hardware-configuration.nix -- .
|
|
'';
|
|
fmt.exec = ''
|
|
nixfmt $(git ls-files '*.nix')
|
|
'';
|
|
};
|
|
|
|
enterShell = ''
|
|
echo "nixconfig devenv: tea, lint, fmt"
|
|
'';
|
|
}
|