Cross-platform configuration for:
- Zsh on Linux and macOS
- PowerShell on Windows
- Development tools managed by mise
Setup has two steps:
- Install mise.
- Bootstrap this repository.
Run:
curl https://mise.run | shOpen a new shell, then verify the installation:
mise --versionOpen PowerShell as an administrator. Enable the required Windows features:
Enable-WindowsOptionalFeature `
-Online `
-FeatureName Microsoft-Windows-Subsystem-Linux,VirtualMachinePlatform `
-All `
-NoRestartRestart Windows. Then open PowerShell and install mise:
winget install --exact --id mise.runOpen a new PowerShell window, then verify the installation:
mise --versionThe first bootstrap clones this repository to a stable local path. It then applies the platform-specific packages, tools, and dotfiles.
Run:
mise bootstrap \
--from https://github.com/zenobi-us/dotfiles.git \
--from-dir "$HOME/.local/share/dotfiles" \
--yesOpen a new Zsh process after bootstrap changes the shell files:
exec zshThe managed .zshenv sets MISE_GLOBAL_CONFIG_ROOT to the repository root. Future bootstrap runs do not need --from or --from-dir:
mise bootstrap --yesRun in PowerShell:
mise bootstrap `
--from https://github.com/zenobi-us/dotfiles.git `
--from-dir "$HOME/.local/share/dotfiles" `
--yesSet the repository as the persistent mise global config root:
[Environment]::SetEnvironmentVariable(
"MISE_GLOBAL_CONFIG_ROOT",
"$HOME/.local/share/dotfiles",
"User"
)Open a new PowerShell window. Future bootstrap runs do not need --from or --from-dir:
mise bootstrap --yesApply the full machine setup:
mise bootstrap --yesApply selected bootstrap parts:
mise bootstrap --only dotfiles --yes
mise bootstrap --only tools --yes
mise bootstrap --only task --yesInspect state without changing the machine:
mise bootstrap status
mise bootstrap status --missing
mise bootstrap --dry-run
mise bootstrap planShow the mise version:
mise --versionShow the active config files:
mise config lsShow the combined bootstrap plan:
mise bootstrap planThe repository uses folder fragments under .mise/conf.d/. Each direct child is a self-contained mise bundle. The bundle contains its platform-specific mise.<env>.toml files and the files referenced by those configurations.
The mise bootstrap links files/devtools/omp/extensions to ~/.omp/agent/extensions. In OMP, type # to find files from the shared context associated with the current repository. Select an item to insert it as an @ attachment. OMP keeps its built-in @ file autocomplete.