name: Perform checks on: push: pull_request: workflow_dispatch: jobs: formatting: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install nix uses: DeterminateSystems/nix-installer-action@main - name: Restore and cache Nix store uses: nix-community/cache-nix-action@v5 with: # restore and save a cache using this key primary-key: nix-${{ runner.os }}-${{ hashFiles('**/*.nix') }} # if there's no cache hit, restore a cache by this prefix restore-prefixes-first-match: nix-${{ runner.os }}- # collect garbage until Nix store size (in bytes) is at most this number # before trying to save a new cache gc-max-store-size-linux: 1073741824 # do purge caches purge: true # purge all versions of the cache purge-prefixes: cache-${{ runner.os }}- # created more than this number of seconds ago relative to the start of the `Post Restore` phase purge-created: 0 # except the version with the `primary-key`, if it exists - uses: DeterminateSystems/magic-nix-cache-action@main - name: Check Nix flake inputs uses: 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: DeterminateSystems/nix-installer-action@main - name: Restore and cache Nix store uses: nix-community/cache-nix-action@v5 with: # restore and save a cache using this key primary-key: nix-${{ runner.os }}-${{ hashFiles('**/*.nix') }} # if there's no cache hit, restore a cache by this prefix restore-prefixes-first-match: nix-${{ runner.os }}- # collect garbage until Nix store size (in bytes) is at most this number # before trying to save a new cache gc-max-store-size-linux: 1073741824 # do purge caches purge: true # purge all versions of the cache purge-prefixes: cache-${{ runner.os }}- # created more than this number of seconds ago relative to the start of the `Post Restore` phase purge-created: 0 # except the version with the `primary-key`, if it exists - name: Check Nix flake inputs uses: 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: DeterminateSystems/nix-installer-action@main - name: Check Nix flake inputs uses: DeterminateSystems/flake-checker-action@v4 # This action - name: Build nvim run: nix build .\#default