dotfiles

My PC Dotfiles & Website

.github/workflows/check.yml (1600B)


 1name: "ci: Check Syntax"
 2on:
 3  workflow_dispatch:
 4  push:
 5    paths:
 6      - "**.lock"
 7      - "**.nix"
 8env:
 9  NIX_SHOW_STATS: 1
10jobs:
11  check:
12    runs-on: ubuntu-latest
13    steps:
14      - name: Clone Repo
15        uses: actions/checkout@v7
16        with:
17          token: ${{ secrets.GITHUB_TOKEN }}
18          fetch-depth: 0
19      - name: Install Nix
20        uses: cachix/install-nix-action@v31
21        with:
22          extra_nix_config: |
23            experimental-features = nix-command flakes
24            accept-flake-config = true
25            access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
26      - name: Check Syntax
27        run: |
28          set -euo pipefail
29          system="$(nix eval --raw --impure --expr builtins.currentSystem)"
30
31          for host in $(nix eval --raw '.#nixosConfigurations' \
32            --apply 'c: builtins.concatStringsSep " " (builtins.attrNames c)')
33          do
34            echo "::group::Evaluating configuration '${host}'"
35            nix eval --raw --show-trace \
36              ".#nixosConfigurations.${host}.config.system.build.toplevel.drvPath" > /dev/null
37            echo "::endgroup::"
38          done
39
40          for output in packages devShells
41          do
42            echo "::group::Evaluating '${output}'"
43            nix eval --show-trace ".#${output}.${system}" \
44              --apply 'builtins.mapAttrs (_: v: v.drvPath)' > /dev/null
45            echo "::endgroup::"
46          done
47
48          echo "::group::Evaluating 'formatter'"
49          nix eval --raw --show-trace ".#formatter.${system}.drvPath" > /dev/null
50          echo "::endgroup::"