GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - JMR-dev/bootstrap_dev_env: Bootstrap tool for setting up dev/workstation environments for several different POSIX operating systems and workloads

BranchesTags
Open more actions menu

Latest commit

 

History

87 Commits
87 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
ci
ci
 
 
.gitignore
.gitignore
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 
batch_test.go
batch_test.go
 
 
check.go
check.go
 
 
compat.go
compat.go
 
 
coverage2_test.go
coverage2_test.go
 
 
coverage3_test.go
coverage3_test.go
 
 
coverage4_test.go
coverage4_test.go
 
 
coverage_test.go
coverage_test.go
 
 
custom.go
custom.go
 
 
custom_test.go
custom_test.go
 
 
detect.go
detect.go
 
 
detect_test.go
detect_test.go
 
 
exec.go
exec.go
 
 
exec_test.go
exec_test.go
 
 
flatpak.go
flatpak.go
 
 
flatpak_test.go
flatpak_test.go
 
 
go.mod
go.mod
 
 
go.sum
go.sum
 
 
helper_test.go
helper_test.go
 
 
issues.go
issues.go
 
 
issues_test.go
issues_test.go
 
 
macos.go
macos.go
 
 
macos_test.go
macos_test.go
 
 
main.go
main.go
 
 
main_test.go
main_test.go
 
 
net.go
net.go
 
 
net_test.go
net_test.go
 
 
packages.go
packages.go
 
 
parallel.go
parallel.go
 
 
parallel_test.go
parallel_test.go
 
 
pkgmgr.go
pkgmgr.go
 
 
pkgmgr_test.go
pkgmgr_test.go
 
 
post.go
post.go
 
 
post_test.go
post_test.go
 
 
progress_test.go
progress_test.go
 
 
repos.go
repos.go
 
 
repos_test.go
repos_test.go
 
 
system.go
system.go
 
 
system_test.go
system_test.go
 
 
taskctx.go
taskctx.go
 
 
testmain_test.go
testmain_test.go
 
 

Repository files navigation

bootstrap_dev_env

A Go-based bootstrap tool that provisions a development environment across macOS, Debian/Ubuntu, RHEL/Fedora, and Arch Linux on x86_64 and aarch64.

It installs:

  • System packages via dnf, apt-get, pacman, or brew (macOS)
  • Flatpak GUI apps from Flathub (Linux only, opt-in with --gui)
  • Custom third-party tools fetched and verified directly: Go, Neovim, Zig, Firecracker (Linux), NVM, pyenv, pip, oh-my-zsh, agy, claude, codex, copilot, playwright, and the gh-repo-bootstrap extension

Supported platforms

OS Architecture Package manager
Linux (Debian/Ubuntu) x86_64 apt-get
Linux (RHEL/Fedora) x86_64 dnf
Linux (Arch) x86_64 pacman
macOS arm64 brew

Note: Linux arm64 (aarch64) binaries are cross-compiled but not yet tested in CI.

CI

Workflow Trigger
Unit Tests — go test -v ./... + go vet ./... Pull requests to main / dev
Integration Tests — full run on Debian, Arch, Fedora, Ubuntu (Dagger) and macOS (native) Push + pull requests to main / dev

Install

Build from source:

git clone https://github.com/JMR-dev/bootstrap_dev_env.git
cd bootstrap_dev_env
make build           # builds ./bootstrap_environment for the host

Cross-compile all supported targets at once:

make build-all       # writes dist/bootstrap_environment-{linux,darwin}-{amd64,arm64,...}

Or download a pre-built binary from the Releases page.

Usage

# Linux (do NOT use sudo on macOS — Homebrew refuses to run as root)
sudo ./bootstrap_environment [flags]

# macOS
./bootstrap_environment [flags]

Flags

Flag Description
--only system|flatpak|custom Restrict to a single section
--gui Include GUI applications and the Flatpak section (default: headless — both skipped)
--no-vm macOS only: skip provisioning the Fedora-on-QEMU VM that backs the firecracker() zsh wrapper
--no-ai Skip AI/LLM CLI tools (agy, claude, codex, copilot)

Example

# Full headless install (typical CI / server)
sudo ./bootstrap_environment

# Desktop workstation — include GUI apps and Flatpaks
sudo ./bootstrap_environment --gui

# Install only system packages, skipping AI tools
sudo ./bootstrap_environment --only system --no-ai

# macOS, no VM provisioning
./bootstrap_environment --gui --no-vm

Configuration

Package lists live in packages.go. Edit the SystemPackages, FlatpakPackages, or customPackages() slices and rebuild.

Platform-specific name mappings (e.g. docker-ce-rootless-extras → skipped on Arch, ffmpeg-free → ffmpeg on apt-get) live in the packageOverrides map in pkgmgr.go. Third-party repository setup (Docker, GitHub CLI, Temurin, lazygit COPR, etc.) lives in repos.go.

Development

make test    # go test ./...
make vet     # go vet ./...
make fmt     # gofmt -w .
make build   # build host binary

About

Bootstrap tool for setting up dev/workstation environments for several different POSIX operating systems and workloads

Resources

Readme
Activity

Stars

0 stars

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.