Reference
Profiles and Machine Setup
Profile System
You can set up each machine differently using profiles and hardware presets.
Setting Your Profile
Edit ~/.config/chezmoi/chezmoi.toml:
[data]
profile = "laptop" # laptop | minimal | server
machine = "macbook-m3" # optional: machine identifier
Available Profiles
| Profile | Description | What's Included |
|---|---|---|
laptop | Full desktop setup (default) | All tools, AI CLIs, themes, completions |
minimal | Fast, lightweight | Core shell, git, basic aliases only |
server | Headless server | Shell, git, monitoring tools, no desktop |
Per-Machine Overrides
Create a ~/.config/chezmoi/chezmoi.toml file on each machine to override defaults:
[data]
profile = "laptop"
machine = "work-macbook"
default_shell = "zsh"
[data.features]
linux_desktop = false
zellij = true
Hardware Presets
The templates/chezmoi-data/ folder has ready-made configs for common hardware:
mac-m1.toml.example— Apple Silicon MacBookgeekom-a9.toml.example— AMD mini PC (Linux)surface-pro-7p.toml.example— Microsoft Surface (Linux)mac-t2-linux.toml.example— Intel Mac running Linux
Copy the one that matches your hardware:
Environment Variables
You can change behavior for a single session without editing any files:
| Variable | Default | Effect |
|---|---|---|
DOTFILES_FAST=1 | 0 | Skip heavy layers (zinit, completions) |
DOTFILES_ULTRA_FAST=1 | 0 | Bare minimum shell (aliases + prompt) |
DOTFILES_AI=1 | 0 | Enable AI helper scripts |
DOTFILES_PROFILE=custom | laptop | Override profile for session |