name: Perform checks

on:
  push:
  pull_request:
  workflow_dispatch:

jobs:
  formatting:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install nix
        uses: https://github.com/DeterminateSystems/nix-installer-action@main
      - name: Check Nix flake inputs
        uses: https://github.com/DeterminateSystems/flake-checker-action@v4 # This action
      - name: Run nix fmt
        run: nix fmt -- --check .

  nix_flake_check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install nix
        uses: https://github.com/DeterminateSystems/nix-installer-action@main
      - name: Check Nix flake inputs
        uses: https://github.com/DeterminateSystems/flake-checker-action@v4 # This action
      - name: Run nix flake check
        run: nix flake check

  nix_build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install nix
        uses: https://github.com/DeterminateSystems/nix-installer-action@main
      - name: Check Nix flake inputs
        uses: https://github.com/DeterminateSystems/flake-checker-action@v4 # This action
      - name: Build nvim
        run: nix build .\#default