A DEVELOPER WORKSTATION, AS CODE
A lean Ubuntu VM for Claude Code.
An Ansible project that turns a fresh Ubuntu Server ARM64 guest in Parallels Desktop into a keyboard-first developer workstation. It runs Hyprland instead of a full desktop environment, is Omarchy-inspired, and comes with Claude Code installed.
WHAT IT INSTALLS
Everything a coding agent needs. Nothing it doesn't.
Claude, ready to go
Claude Code and Claude Desktop, alongside VS Code, the GitHub CLI, mise and the 1Password desktop app and CLI.
A keyboard-first desktop
Hyprland with greetd, Ghostty, Waybar, fuzzel and mako, all set in JetBrains Mono. No dock, no desktop icons.
A modern shell
zsh, Starship, Neovim, tmux, lazygit and the usual modern CLI utilities.
Containers and browsers
Docker Engine with Buildx and Compose, Firefox from Mozilla's repository (not Snap), and Google Chrome for ARM64.
Lean Parallels integration
Clipboard and time sync stay on; broad home and disk sharing stay off. Only
~/Parallels/Sharedis shared, at/mnt/shared.Safe by default
SSH keys only, no password logins. The temporary passwordless sudo used during setup is removed as the playbook's last step.
Deliberately left out: GNOME or KDE, ubuntu-desktop, GDM or SDDM, NetworkManager, a dock and desktop icons.
GET STARTED
From ISO to workstation in one command.
On an Apple silicon Mac with Parallels Desktop Pro or Business, and an Ubuntu Server ARM64 ISO in ~/Downloads.
Install the tools on your Mac.
brew install ansible python xorrisoGet the project.
git clone https://github.com/reactive-org/dev-vm.gitcd dev-vmBuild the VM. It shows the full plan and asks you to confirm before it changes anything.
make bootstrap