diff --git a/.forgejo/workflows/eval.yml b/.forgejo/workflows/eval.yml new file mode 100644 index 0000000..71b54cb --- /dev/null +++ b/.forgejo/workflows/eval.yml @@ -0,0 +1,45 @@ +name: Evaluate configurations + +on: + push: + +jobs: + get-names: + name: Get machine names + runs-on: ubuntu-latest + + outputs: + machines: ${{ steps.machines.outputs.machines }} + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install Nix + uses: cachix/install-nix-action@v30 + + - name: Get machine names + id: machines + run: | + names=$(nix eval --json .#nixosConfigurations --apply 'builtins.attrNames') + echo "machines=$names" >> "$GITHUB_OUTPUT" + + eval: + name: Evaluate configuration + runs-on: ubuntu-latest + needs: get-names + + strategy: + matrix: + machine: ${{ fromJSON(needs.get-names.outputs.machines) }} + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install Nix + uses: cachix/install-nix-action@v30 + + - name: Eval config + run: | + nix eval --raw .#nixosConfigurations.${{ matrix.machine }}.config.system.build.toplevel