- Create cfg/claude.service for systemd auto-start of Claude Code
- Enable claude.service on container boot
- Update install.sh to automatically create workspace container
- Update aios.zsh to start workspace and connect when shell:true
- Add machinectl to sudoers NOPASSWD for ai user
- Workspace container starts on login, claude.service auto-runs inside
- Move MCP config to ~/.config/syui/ai/claude/ (bind-mounted)
- Create symlink ~/.config/claude -> ~/.config/syui/ai/claude
- Apply to both root and ai user
- Settings now shared across containers via bind mount
- No need to copy config files, they are automatically shared
- Create cfg/aios-ctl.zsh with machinectl control commands
- aios-start/stop/shell/login for basic operations
- aios-backup to save current state to aiosback
- aios-reset to restore from backup (preserves config files)
- aios-update to update packages in backup
- Create cfg/install.sh for automated installation
- Extracts tarball to /var/lib/machines/aios
- Creates systemd-nspawn configuration
- Automatically creates initial backup image (aiosback)
- Include aios-ctl.zsh in container at /opt/aios-ctl.zsh
- Include install.sh in tarball for easy deployment
- Config files in ~/.config/syui/ai are bind-mounted and preserved across resets
cfg/os-release was not being copied, causing NAME to remain 'Arch Linux'
instead of 'aios'.
Added os-release copy to both:
- build.zsh
- .github/workflows/release.yml
archiso now creates bootstrap with systemd-nspawn standard structure:
root.x86_64/var/lib/machines/arch/ instead of root.x86_64/
Changes:
- build.zsh: Updated all arch-chroot paths to root.x86_64/var/lib/machines/arch
- build.zsh: Updated file copy paths for .zshrc, mcp.json, config.toml
- .github/workflows/release.yml: Same path updates
- Added aigpt + Claude Code installation steps to GitHub Actions
This aligns with systemd-nspawn's standard container directory structure
(/var/lib/machines/).