Skip to content

feat(nix): Implement nix-fmt hook #19

@aRustyDev

Description

@aRustyDev

Description

Implement a pre-commit hook for formatting Nix files using nixpkgs-fmt or alejandra.

Requirements

  • Support multiple formatters (nixpkgs-fmt, alejandra, nixfmt)
  • Auto-install formatter if not available
  • Format files in-place
  • Support configuration for formatter choice
  • Check mode (verify formatting without changing files)

Implementation Details

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

Testing

  • Test with unformatted nix files
  • Test with already formatted files
  • Test formatter auto-installation
  • Test different formatter choices
  • Test check mode vs format mode

Configuration in .pre-commit-hooks.yaml

- id: nix-fmt
  name: Format Nix files
  description: Formats Nix files using nixpkgs-fmt or alejandra
  entry: hooks/nix/nix-fmt.sh
  language: script
  files: \.nix$
  args: [--formatter=nixpkgs-fmt]

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