fix(#2264): boot.tmp.useTmpfs = false — disk-backed /tmp for agents
Agent containers currently mount /tmp as a 3.2 GB tmpfs (RAM-backed). Large scratch writes (nix-develop shells, cargo build dirs) eat container RAM unnecessarily and can exhaust the tmpfs, losing in-flight work. Set boot.tmp.useTmpfs = false so /tmp is disk-backed instead. boot.tmp.cleanOnBoot (default true) preserves the ephemeral-per-boot semantics — /tmp is cleared on container start, same as before. Closes #2264. Supersedes PR #2299 (TMPDIR redirect + state/tmp).
This commit is contained in:
parent
ccc5e631e2
commit
6da7835ad9
1 changed files with 13 additions and 0 deletions
|
|
@ -1442,6 +1442,19 @@ in
|
||||||
|
|
||||||
boot.isNspawnContainer = true;
|
boot.isNspawnContainer = true;
|
||||||
|
|
||||||
|
# Use a disk-backed /tmp instead of the default tmpfs so large scratch
|
||||||
|
# writes (nix-develop shells, cargo build dirs, multi-GB downloads) land
|
||||||
|
# on disk rather than eating container RAM. The tmpfs default mounts
|
||||||
|
# ~3.2 GB of RAM per container; disk-backed /tmp is effectively unlimited
|
||||||
|
# and cheaper for agents that do heavy build work.
|
||||||
|
#
|
||||||
|
# cleanOnBoot defaults to false in nixpkgs — set it explicitly so /tmp is
|
||||||
|
# cleared on each container start (D! tmpfiles rule), preserving the same
|
||||||
|
# ephemeral-per-boot semantics agents already expect from the old tmpfs,
|
||||||
|
# just without the RAM cost.
|
||||||
|
boot.tmp.useTmpfs = false;
|
||||||
|
boot.tmp.cleanOnBoot = true;
|
||||||
|
|
||||||
# Every agent gets flakes + the modern `nix` CLI out of the box.
|
# Every agent gets flakes + the modern `nix` CLI out of the box.
|
||||||
# Equivalent to passing `--extra-experimental-features 'nix-command
|
# Equivalent to passing `--extra-experimental-features 'nix-command
|
||||||
# flakes'` on every invocation. Agents shell out to `nix build` /
|
# flakes'` on every invocation. Agents shell out to `nix build` /
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue