Skip to content

Add XDG config file support for cargo install#14

Closed
ejc3 wants to merge 1 commit intomainfrom
fcvm-inception
Closed

Add XDG config file support for cargo install#14
ejc3 wants to merge 1 commit intomainfrom
fcvm-inception

Conversation

@ejc3
Copy link
Copy Markdown
Owner

@ejc3 ejc3 commented Dec 26, 2025

Summary

Makes rootfs config work for cargo install users by:

  • Embedding config in binary via include_str!()
  • Adding fcvm setup --generate-config to write config to XDG path
  • Config lookup chain: --config~/.config/fcvm//etc/fcvm/ → next-to-binary

User workflow

cargo install --git https://github.com/ejc3/fcvm
fcvm setup --generate-config   # Creates ~/.config/fcvm/rootfs-config.toml
fcvm setup                     # Downloads kernel, creates rootfs

Test plan

  • Config generation works
  • Config lookup finds generated file
  • Helpful error when no config exists

- Rename rootfs-plan.toml → rootfs-config.toml
- Add --generate-config flag to write embedded default to ~/.config/fcvm/
- Add --force flag to overwrite existing config
- Add --config flag for explicit path override
- Implement XDG lookup chain: --config → ~/.config/fcvm/ → /etc/fcvm/ → next-to-binary → error
- Add directories crate for cross-platform XDG paths
- Test runner auto-generates config once per process via ensure_config_exists()

User workflow after cargo install:
  fcvm setup --generate-config  # Creates ~/.config/fcvm/rootfs-config.toml
  vim ~/.config/fcvm/rootfs-config.toml  # Customize if needed
  fcvm setup  # Downloads kernel and creates rootfs
@ejc3
Copy link
Copy Markdown
Owner Author

ejc3 commented Dec 28, 2025

Already merged to main

@ejc3 ejc3 closed this Dec 28, 2025
@ejc3 ejc3 deleted the fcvm-inception branch December 31, 2025 17:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant