Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ubuntu 26.04 Developer Bootstrap

Idempotent developer bootstrap for Ubuntu 26.04 LTS on bare-metal/VM installations and WSL2. The installer detects WSL automatically; Windows integration is never configured on native Ubuntu.

One-liner install

git clone https://github.com/w0rldx/dotfiles.git ~/.dotfiles && bash ~/.dotfiles/bootstrap/install.sh

Platform-specific behavior

On native Ubuntu, the bootstrap uses the normal Linux PATH and optionally installs native VS Code. Under WSL it additionally:

  • removes conflicting Windows Node.js, pnpm, and PowerShell entries from PATH;
  • skips the native VS Code package and prints WSL extension guidance;
  • prints WSL-specific systemd guidance only when systemd is unavailable.

WSL2 systemd (optional)

Rootless Docker uses systemd user services when available. If systemd is not running, the bootstrap falls back to starting dockerd-rootless.sh in the user session and zsh auto-starts it on login. If running in WSL2 and you want systemd:

  1. Edit /etc/wsl.conf:
[boot]
systemd=true
  1. From Windows, run:
wsl.exe --shutdown
  1. Re-open your WSL distro and rerun the installer.

Microsoft Learn: https://learn.microsoft.com/windows/wsl/systemd

Docker (rootless)

  • Installed from Docker's official Ubuntu apt repo (docker-ce, docker-ce-rootless-extras, etc.).
  • DOCKER_HOST is set to unix://$XDG_RUNTIME_DIR/docker.sock with a fallback to ~/.docker/run when systemd is unavailable.
  • With systemd: user service docker.service is enabled and linger is turned on.
  • Without systemd: ~/.config/docker/rootless-session.sh starts dockerd-rootless.sh on login if it's not already running.

VS Code on WSL (recommended)

  • Install VS Code on Windows (not inside WSL).
  • During install, enable "Add to PATH".
  • Install the "Remote Development" extension pack (or at minimum the WSL extension).
  • From WSL, run: code . — this opens the folder in VS Code and installs the VS Code Server in WSL automatically.

VS Code on Ubuntu (optional)

Native Linux VS Code is opt-in. Set the environment variable to install via the official Microsoft apt repo:

INSTALL_VSCODE_LINUX=1 ./bootstrap/install.sh

Mise-managed developer toolchain

Language runtimes and user-level CLI tools are declared in mise/mise.toml and installed together by bootstrap/steps/30-mise.sh. Run mise outdated to inspect available updates and mise upgrade to update the toolchain.

Dotfiles with chezmoi

  • Source state lives in chezmoi/ (enabled via .chezmoiroot).
  • The installer runs chezmoi init --apply <repo> on first run, then chezmoi apply on subsequent runs.
  • Daily operations:
    • chezmoi diff
    • chezmoi apply
    • chezmoi update

Shell quality

  • Lint: ./scripts/lint-shell.sh
  • Format: ./scripts/format-shell.sh
  • Prereqs:
    • ShellCheck and shfmt are managed by mise; zsh is installed through apt.

What this installs

  • Apt packages: zsh, git, curl, ca-certificates, build-essential, unzip, rsync
  • System/custom sources: Docker Engine, Oh-My-Zsh, Powerlevel10k, zsh-autosuggestions, zsh-syntax-highlighting, mise, try, and optional native VS Code
  • Mise toolchain: Node.js LTS, pnpm, Go, Rust, .NET SDK, Bun, Python, uv, Codex, GitHub CLI, lazygit, lazydocker, chezmoi, fzf, ripgrep, fd, eza, fastfetch, ShellCheck, and shfmt

Usage

  • Run full bootstrap:

    ./bootstrap/install.sh
  • Run doctor checks only:

    ./bootstrap/steps/90-doctor.sh

Updating an existing install

  • Pull latest changes:
    cd ~/.dotfiles && git pull
  • Re-run bootstrap (safe/idempotent):
    ./bootstrap/install.sh
  • Targeted updates:
    • mise upgrade
    • chezmoi apply

If the installer is not executable, either run:

chmod +x ./bootstrap/install.sh

or execute it explicitly:

bash ./bootstrap/install.sh

Note: bootstrap/steps/90-doctor.sh re-execs via zsh -lc once so PATH updates from your zsh env are picked up.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages