Remove stale `./ci` path from the pikaci source fileset
Intent: The `./ci` directory was deleted from the repository in a prior change, but `flake.nix` still referenced it inside the `lib.fileset.unions` list that assembles sources for the pikaci Nix derivation. Nix evaluates all fileset entries eagerly, so referencing a non-existent path causes the build to fail. This step removes the dangling reference to restore a valid fileset.
Affected files: flake.nix
@@ -182,7 +182,6 @@
fileset = lib.fileset.unions [
./Cargo.toml
./Cargo.lock
- ./ci
./flake.nix
./flake.lock
./cli
Problem
The flake.nix file declares a fileset via lib.fileset.unions (line 182) that enumerates every directory and file to include in the Nix store path used to build pikaci. One of those entries was ./ci:
fileset = lib.fileset.unions [
./Cargo.toml
./Cargo.lock
./ci # <-- deleted from the repo, but still referenced
./flake.nix
...
];
Because the ./ci directory no longer exists on disk, Nix fails during evaluation with a "path does not exist" error, blocking all builds and deployments.
Fix
The fix is a single-line deletion at flake.nix:185 — remove the ./ci entry from the unions list. No replacement is needed because the directory itself has already been removed.
fileset = lib.fileset.unions [
./Cargo.toml
./Cargo.lock
./flake.nix
./flake.lock
./cli
...
];
Why this matters
lib.fileset.unions is strict: every path must resolve to an existing file or directory at evaluation time. Unlike filterSource or optional path helpers, there is no implicit "skip if missing" behavior. When the ./ci tree was deleted without a corresponding update to flake.nix, the entire Nix flake became unevaluable, which means nix build, nix develop, and any CI/CD pipelines relying on the flake would fail immediately.
Verification
After applying this change, run:
nix flake check
nix build .#pikaci
Both commands should complete without path-resolution errors.