feat: explicit mount control with MountSpec pairs#15
Merged
Conversation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add extraMounts to VMConfig, VMCreateOptions, and LimaYamlOptions - Add guestMountPoint() helper to derive guest paths from host paths - Generate read-only mount entries in Lima YAML for extra mounts - Add Y/n prompt in wizard configure step for home directory mount - Pass extraMounts through create-vm and headless provisioning paths - Map InstanceConfig.mounts → VMConfig.extraMounts in configToVMConfig - Remove stale ~ mount from docs, update mounts section as wired up - Add tests for guestMountPoint, extra mount YAML, and config mapping Closes #13 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove guestMountPoint() and string[] mounts in favor of explicit
{ location, mountPoint, writable? } objects — no more implicit path
derivation, no namespace collisions, users control where things land.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Extra mounts were rendered at the wrong indent level (4 spaces instead of 2), causing Lima's YAML parser to reject them as non-map values. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace hand-crafted string templates with structured data serialized via the `yaml` npm package. Eliminates indentation bugs and makes the template easier to maintain. Tests now parse the output structurally instead of string-matching. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #13 — the home directory is not mounted by default. Users opt
in explicitly, and now have full control over what gets mounted where.
string[]mounts with explicitMountSpecobjects(
{ location, mountPoint, writable? }) — no magic path derivation,users specify exactly where things land in the guest
answering yes sets
{ location: "~", mountPoint: "/mnt/host" }yamlnpm package — buildsa data structure instead of string templates, eliminating indentation bugs
Before (string-based, magic derivation)
After (explicit pairs)
Test plan
bun test— all 249 tests passbun run lint && bun run format:check— clean~at/mnt/hostin YAML"mounts": [{ "location": "~", "mountPoint": "/mnt/host" }]→ mount appearsmountsfield → no extra mountsCloses #13
🤖 Generated with Claude Code