Skip to content

Repository files navigation

My Dotfiles

Cross-platform configuration for:

  • Zsh on Linux and macOS
  • PowerShell on Windows
  • Development tools managed by mise

Getting started

Setup has two steps:

  1. Install mise.
  2. Bootstrap this repository.

Install mise

Linux and macOS

Run:

curl https://mise.run | sh

Open a new shell, then verify the installation:

mise --version

Windows

Open PowerShell as an administrator. Enable the required Windows features:

Enable-WindowsOptionalFeature `
  -Online `
  -FeatureName Microsoft-Windows-Subsystem-Linux,VirtualMachinePlatform `
  -All `
  -NoRestart

Restart Windows. Then open PowerShell and install mise:

winget install --exact --id mise.run

Open a new PowerShell window, then verify the installation:

mise --version

Bootstrap the dotfiles

The first bootstrap clones this repository to a stable local path. It then applies the platform-specific packages, tools, and dotfiles.

Linux and macOS

Run:

mise bootstrap \
  --from https://github.com/zenobi-us/dotfiles.git \
  --from-dir "$HOME/.local/share/dotfiles" \
  --yes

Open a new Zsh process after bootstrap changes the shell files:

exec zsh

The managed .zshenv sets MISE_GLOBAL_CONFIG_ROOT to the repository root. Future bootstrap runs do not need --from or --from-dir:

mise bootstrap --yes

Windows

Run in PowerShell:

mise bootstrap `
  --from https://github.com/zenobi-us/dotfiles.git `
  --from-dir "$HOME/.local/share/dotfiles" `
  --yes

Set 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 --yes

Common commands

Apply the full machine setup:

mise bootstrap --yes

Apply selected bootstrap parts:

mise bootstrap --only dotfiles --yes
mise bootstrap --only tools --yes
mise bootstrap --only task --yes

Inspect state without changing the machine:

mise bootstrap status
mise bootstrap status --missing
mise bootstrap --dry-run
mise bootstrap plan

Debug bootstrap configuration

Show the mise version:

mise --version

Show the active config files:

mise config ls

Show the combined bootstrap plan:

mise bootstrap plan

The 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.

OMP shared-context autocomplete

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.

About

my workstation setup for linux, windows and mac

Topics

Resources

Stars

67 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages