@sebastienrousseau/dotfiles
Version:
The Trusted Shell Platform — Universal dotfiles managed by Chezmoi. Features Bash & Zsh for macOS, Linux & WSL. Rust modern tooling & enterprise-grade security.
70 lines (49 loc) • 1.85 kB
Markdown
render_with_liquid: false
# 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`:
```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:
```toml
[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 MacBook
- `geekom-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:
```bash
cp templates/chezmoi-data/mac-m1.toml.example ~/.config/chezmoi/chezmoi.toml
chezmoi apply
```
### 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 |