This project codifies how I configure my development environment across Windows, Linux, and OSX, using Windows Terminal1, Powerlevel10k2, Neovim3, and more.
Run this in a Linux or macOS terminal:
curl -fsSL https://shell.jasonwohlgemuth.me/install.sh | bashTip
Install only selected packages by passing their names after bash -s --:
curl -fsSL https://shell.jasonwohlgemuth.me/install.sh | bash -s -- git neovim agentsSeparate arguments are recommended. A comma-separated list also works:
curl -fsSL https://shell.jasonwohlgemuth.me/install.sh | bash -s -- git,neovim,agentsPackage names must match directories listed under Install packages. With no names, the installer uses its default package set.
On Windows, run this in PowerShell:
irm https://shell.jasonwohlgemuth.me/install.ps1 | iexTo install only selected Windows packages, invoke the downloaded script with -Packages:
& ([scriptblock]::Create((irm https://shell.jasonwohlgemuth.me/install.ps1))) -Packages nushell,starshipThe Windows installer supports nushell, neovim, and starship; with no package names, it installs all three. Package names can be separate array values, comma-separated strings, or space-separated strings. The installer requires Git and clones the repository to $HOME\.dotfiles (or updates an existing clone). Set $env:GOLD_DOTFILES before running the command to use a different clone location.
Tip
For a given application configuration to be useful, the associated software must be installed
git clone https://github.com/jhwohlgemuth/my-shell-setup "${HOME}/.dotfiles"stow --dir "${HOME}/.dotfiles" --target "${HOME}" --stow git neovim ohmyposh powerlevel10k powershell| Package | Configuration |
|---|---|
Personal AI agent skills installed into ~/.agents โ skills/Waza development and test workflow โ README.md |
|
Leiningen user profile, aliases, dependencies, and plugins โ profiles.clj |
|
IEx configuration โ .iex.exs |
|
Configures Delta and adds some useful aliases โ .gitconfig |
|
| Collection of utility functions and installation scripts. See the Gold project for motivation and example usage. | |
Review configuration โ config.toml |
|
| Usage and plugin guide โ README.md Themes โ themes/Editor configuration โ init.vim and general/Plugin configuration โ plug-config/ |
|
Shell configuration โ config.nu and env.nuSetup and reusable modules โ setup.nu and modules/ |
|
utop configuration โ init.ml and .utoprc |
|
Theme โ .theme.omp.json |
|
Configuration โ .p10k.zsh |
|
Profile โ Microsoft.PowerShell_profile.ps1Settings โ settings.json |
|
Prompt configuration and default theme โ starship.toml and default.toml |
Install the agent skills into the home directory target used by the other packages. The package's .agents/ directory maps to ~/.agents:
stow --no-folding --dir "${HOME}/.dotfiles" --target "${HOME}" --stow agentsFrom the repository root, verify the Stow layout without changing your home directory, then use Waza for static checks, a credential-free mock test, or interactive development:
make agents-stow-check
make agents-check
make agents-test
make agents-devThe included blank-test skill is a canary for skill discovery. Ask an agent to run the blank test skill after installation; a successful invocation returns BLANK_TEST_SKILL_OK.
Pass AGENT_SKILL=<name> to the Waza Make targets to develop another skill. See the agent skills guide for Waza installation and scaffolding.
stow --delete <package names> --target <target>The gold/install_docker script now supports configuring Docker rootless mode for a non-root user.
ROOTLESS_USER: Target Linux user for rootless Docker setup. Defaults tononrootwhen omitted.ROOTLESS_ONLY: Defaults to1(rootless/client components only). Set to0to also install and start rootful Docker (docker.service).
Examples:
# Install rootless/client components only (default behavior)
ROOTLESS_USER=jason ./gold/install_docker
# Install rootful Docker and also configure rootless mode for user jason
ROOTLESS_USER=jason ROOTLESS_ONLY=0 ./gold/install_dockerAfter setup, use the rootless socket for that user session:
export DOCKER_HOST=unix:///run/user/$(id -u)/docker.sockcd "${HOME}/.dotfiles"
git pull origin main
stow --target <target> --restow <package>Add or improve some packages and/or try developing with containers!
Windows Terminal is an open source terminal for the modern developer. Combined with Powershell, anyone can easily enjoy a comfortable and truly robust developer experience on Windows.
#cantBelieveItsNotLinux
powerlevel10k is a theme for Zsh
Example Neovim configuration
