Getting started
Install zc-workstation and the tools it drives on macOS, Linux or Windows, then plan and apply.
Install the tools it drives
zc-workstation runs your package manager, chezmoi and mise. Install the
ones your config uses. A missing one shows up in the plan as a MANUAL step,
so you can also start with plan and follow it.
-
macOS
-
Ubuntu and Debian
-
Fedora
-
Windows
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
$ brew install chezmoi mise mas
$ sudo apt-get install -y curl git
$ sh -c "$(curl -fsLS get.chezmoi.io)" -- -b ~/.local/bin
$ curl https://mise.run | sh
$ sudo dnf install -y chezmoi git
$ curl https://mise.run | sh
PS> winget install --id twpayne.chezmoi --exact
PS> winget install --id jdx.mise --exact
Install zc-workstation
The Homebrew cask, Linux packages and Windows zips come with each release.
Before the first one, install with Go, or run make install in a clone.
-
Homebrew
-
Linux packages
-
Windows
-
Go
$ brew tap zoolcoder/zc-workstation https://github.com/zoolcoder/zc-workstation
$ brew install --cask zc-workstation
Each release has .deb, .rpm and .apk packages.
$ sudo apt-get install ./zc-workstation_*_linux_amd64.deb
Download the windows_amd64 or windows_arm64 zip from the releases page and
put zc-workstation.exe on your PATH.
$ go install github.com/zoolcoder/zc-workstation/cmd/zc-workstation@latest
Needs Go 1.26 or later.
Write a config
Start from zc-workstation.example.yaml. It declares a target for each system
and points at the sample manifests in example/. Point it at your own dotfiles
repository instead. Writing a config lists every key.
$ mkdir -p ~/.config/zc-workstation
$ cp zc-workstation.example.yaml ~/.config/zc-workstation/zc-workstation.yaml
$ zc-workstation validate
/Users/me/.config/zc-workstation/zc-workstation.yaml: 6 target(s), valid
Plan, then apply
$ zc-workstation plan -out plan.json
CREATE brew brew:chezmoi install with brew
CREATE dotfiles .gitconfig add
MANUAL runtimes trust mise does not trust .../mise.toml; review it, then run mise trust .../mise.toml
1 of these cannot be automated and are yours to do.
$ zc-workstation apply plan.json
done CREATE brew brew:chezmoi
done CREATE dotfiles .gitconfig
applied and verified
Installs run attached to your terminal, so sudo, a license prompt or the App
Store sign-in can ask you directly.
Check the machine
$ zc-workstation doctor
ok binary /opt/homebrew/bin/zc-workstation
ok system macbook darwin/arm64
ok config /Users/me/.config/zc-workstation/zc-workstation.yaml, 6 target(s)
ok program brew /opt/homebrew/bin/brew
ok program chezmoi /opt/homebrew/bin/chezmoi
ok program mise /opt/homebrew/bin/mise
warn target brew 78 of 80 packages installed (brew)
ok target apt not for darwin, only linux
ok target dotfiles 2 of 2 dotfiles in place
ok target runtimes 7 of 7 tools installed
Then open the dashboard with zc-workstation ui.
Edit this page Last updated