name: Flake check
on:
  pull_request:
  push:
    branches: [main]
jobs:
  build:
    name: Check flake
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Check Nix flake inputs
        uses: DeterminateSystems/flake-checker-action@v4
      - name: Install Nix
        uses: DeterminateSystems/nix-installer-action@v3
      - uses: DeterminateSystems/magic-nix-cache-action@main
      - name: Check for dead code in .nix files
        run: git ls-files '*.nix' | nix run nixpkgs#deadnix
      - name: Check for lints in .nix files
        run: nix run nixpkgs#statix -- check
      - name: Check formatting in .nix files
        run: git ls-files '*.nix' | xargs nix run nixpkgs#nixpkgs-fmt -- --check
