- Use binary caches (Cachix or NixOS `nix.settings.substituters`) to avoid redundant rebuilds — configure `trusted-public-keys` alongside each cache URL.
- Split large derivations into separate `build`, `configure`, and `check` phases to maximize incremental rebuilding — use `enableParallelBuilding = true` where the upstream build system supports it.
- Minimize the `src` derivation passed to packages using `lib.cleanSource` or `nix-filter` to exclude `.git`, test fixtures, and editor files from the build hash.
- Use `nix.settings.max-jobs` and `nix.settings.cores` to tune parallel evaluation and build concurrency on multi-core machines.