Add Linux bootstrap and harden Windows installer#4
Merged
AojdevStudio merged 7 commits intomainfrom May 2, 2026
Merged
Conversation
Mirrors the Windows / macOS / WSL siblings: idempotent, official-source
installs, no GUI assumptions. Targets a Proxmox VM golden template that
hosts personal AI agents (boop and future workloads).
Adds:
- linux/bootstrap.sh: apt + GitHub apt repos (gh, tailscale, cloudflared)
+ native installers (fnm, bun, uv) + npm globals (codex) + claude.ai
installer + yazi GitHub release binary + fdfind/batcat symlinks +
bash/zsh PATH+fnm activation snippet.
- linux/README.md: install one-liner, tool inventory, troubleshooting.
- linux/zshrc.snippet.sh: standalone shell snippet (parallel to macos/).
- scripts/check-structure.{sh,ps1}: include linux/ paths in repo health.
Tailscale, cloudflared, Claude Code, and Codex CLI are installed but
NOT authenticated — auth is a per-clone step after VM template is built.
sudo -v wants a TTY even when NOPASSWD is configured, so it fails when the script is invoked over a non-interactive ssh chain (e.g. provisioner running it via 'sudo -u ossie -H bash bootstrap.sh' over ssh). sudo -n true is a true non-interactive check that succeeds silently when NOPASSWD is set and fails cleanly otherwise.
Ubuntu 24.04 noble does not package lazygit (only lazycore-dev — the shared library — is in universe). The handoff spec assumed it was in universe, but apt-cache shows otherwise. Switching to the GitHub release binary, matching the pattern already used for yazi.
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
irm | iex, and surfacing WinGet failures clearly.Docker.DockerDesktopwhen WSL is enabled, while printing manual Docker setup steps for-SkipWSLor reboot-deferred runs.@openai/codex@latest; document the installer decisions with agent/domain docs and an ADR.Testing
git diff --check origin/main..HEADpwsh -NoProfile -Command '$ErrorActionPreference="Stop"; $tokens=$null; $errors=$null; [System.Management.Automation.Language.Parser]::ParseFile("bootstrap.ps1", [ref]$tokens, [ref]$errors) > $null; if ($errors.Count) { $errors | Format-List | Out-String; exit 1 } else { "PowerShell parse OK" }'pwsh -File ./scripts/check-structure.ps1bash ./scripts/check-structure.sh