diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 457476f0..b4be2293 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,7 +6,24 @@ on: branches: main jobs: + eval: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: cachix/install-nix-action@v31 + with: + github_access_token: ${{ secrets.GITHUB_TOKEN }} + - name: Check all configurations evaluate + run: | + for host in glyph spore zeta; do + echo "Evaluating $host..." + nix eval .#nixosConfigurations.$host.config.system.build.toplevel.drvPath + done + echo "Evaluating Rhizome..." + nix eval .#darwinConfigurations.Rhizome.system.drvPath + build: + needs: eval strategy: fail-fast: false matrix: diff --git a/CLAUDE.md b/CLAUDE.md index e1642775..448f646e 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -47,6 +47,12 @@ nixos-rebuild switch --flake .#hostname # Linux nixos-rebuild switch --flake .#spore --target-host root@spore --build-host localhost ``` +**Checking changes before committing:** +```bash +nix-flake eval nixosConfigurations.hostname.config.system.build.toplevel.drvPath +``` +Evaluates a host's configuration without building it. Catches option conflicts and type errors fast — run this after editing any NixOS module or host config. + **Flake management:** ```bash nix flake update --commit-lock-file diff --git a/hosts/spore/default.nix b/hosts/spore/default.nix index 38366096..2b3f57fd 100644 --- a/hosts/spore/default.nix +++ b/hosts/spore/default.nix @@ -52,8 +52,8 @@ # Stricter GC due to limited disk space (30 GB) nix.gc = { - dates = "daily"; - options = "--delete-older-than 7d"; + dates = lib.mkForce "daily"; + options = lib.mkForce "--delete-older-than 7d"; }; nix.settings = {