Skip to content

feat(nix): Implement nix-lint hook #20

@aRustyDev

Description

@aRustyDev

Description

Implement a pre-commit hook for linting Nix files using statix and optionally deadnix.

Requirements

  • Use statix for common anti-pattern detection
  • Optional deadnix integration for dead code detection
  • Support custom lint rules/ignores
  • Auto-install linters if not available
  • Provide clear, actionable lint messages

Implementation Details

  • Location: hooks/nix/nix-lint.sh
  • Language: bash script
  • File pattern: *.nix

Testing

  • Test with files containing anti-patterns
  • Test with clean files
  • Test custom ignore patterns
  • Test linter auto-installation
  • Test combined statix + deadnix mode

Configuration in .pre-commit-hooks.yaml

- id: nix-lint
  name: Lint Nix files
  description: Lints Nix files using statix and optionally deadnix
  entry: hooks/nix/nix-lint.sh
  language: script
  files: \.nix$
  args: [--with-deadnix]

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions