Skip to content

Add Linux bootstrap and harden Windows installer#4

Merged
AojdevStudio merged 7 commits intomainfrom
linux-server-bootstrap
May 2, 2026
Merged

Add Linux bootstrap and harden Windows installer#4
AojdevStudio merged 7 commits intomainfrom
linux-server-bootstrap

Conversation

@AojdevStudio
Copy link
Copy Markdown
Owner

Summary

  • Add the native Linux bootstrap path, docs, zsh profile snippet, and structure-check coverage.
  • Harden the Windows bootstrap for fresh machines by safely probing uv-managed Python, improving elevated relaunch from irm | iex, and surfacing WinGet failures clearly.
  • Install Docker Desktop via Docker.DockerDesktop when WSL is enabled, while printing manual Docker setup steps for -SkipWSL or reboot-deferred runs.
  • Switch Claude Code to Anthropic's auto-updating native installer and keep Codex CLI current with @openai/codex@latest; document the installer decisions with agent/domain docs and an ADR.

Testing

  • git diff --check origin/main..HEAD
  • pwsh -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.ps1
  • bash ./scripts/check-structure.sh

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.
@AojdevStudio AojdevStudio merged commit b0dd0c1 into main May 2, 2026
5 checks passed
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