Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion nix/sets/ai-code.nix
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@
# Uses tryEval with meta.license check to handle both missing and unfree packages.
{ pkgs }:
let
# claude-code is installed separately via npm (latest version, smaller footprint)
# — the nixpkgs package bundles sharp/libvips (~500MB) and lags behind releases.
wanted = [
"claude-code"
"codex"
"opencode"
"aider-chat"
Expand Down
8 changes: 8 additions & 0 deletions src/runtime/incus.rs
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,14 @@ impl Runtime for IncusRuntime {

run_ok("incus", &launch_args).await?;

// Expand the root disk to 20GB (Incus default is 10GB, too small for
// NixOS with dev tools). Must be done after launch, before provisioning.
let _ = run_ok(
"incus",
&["config", "device", "override", &vm, "root", "size=20GiB"],
)
.await;

// Wait for the VM agent to be ready before provisioning.
// The guest agent takes time to start after boot.
println!("Waiting for VM agent to be ready...");
Expand Down
1 change: 1 addition & 0 deletions src/runtime/lima.rs
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ vmOpts:

cpus: {cpu}
memory: "{memory}"
disk: "20GiB"

mounts:
{mounts_yaml}
Expand Down
2 changes: 1 addition & 1 deletion src/sandbox/provision.rs
Original file line number Diff line number Diff line change
Expand Up @@ -149,8 +149,8 @@ fn nix_packages_for_set(set: &str) -> Vec<&'static str> {
"trippy",
"doggo",
],
// claude-code is installed separately via npm (latest version, smaller footprint)
"ai-code" => vec![
"claude-code",
"codex",
"opencode",
"aider-chat",
Expand Down
Loading