@sebastienrousseau/dotfiles 0.2.520 → 0.2.522
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +52 -0
- package/LICENSE-APACHE +190 -0
- package/LICENSE-MIT +21 -0
- package/README.md +43 -37
- package/install.sh +76 -10
- package/package.json +7 -7
- package/tools/README.md +49 -0
- package/tools/ci/install-chezmoi-verified.sh +68 -0
- package/docs/.vitepress/reports/localization-readability-audit.md +0 -73
- package/docs/AI.md +0 -179
- package/docs/ARCHITECTURE.md +0 -117
- package/docs/CNAME +0 -1
- package/docs/CONFIG_STRATEGY.md +0 -124
- package/docs/COPYRIGHT +0 -7
- package/docs/ECOSYSTEM.md +0 -220
- package/docs/GOLD-STANDARD-AUDIT.md +0 -352
- package/docs/GOVERNANCE.md +0 -98
- package/docs/MAINTAINERS.md +0 -41
- package/docs/MINIMUM-TOOLCHAIN.md +0 -100
- package/docs/NAMING_CONVENTIONS.md +0 -102
- package/docs/OPENCODE.md +0 -127
- package/docs/README.md +0 -84
- package/docs/STRUCTURE.md +0 -102
- package/docs/adr/ADR-001-ci-cd-pipeline.md +0 -118
- package/docs/adr/ADR-002-shell-performance.md +0 -130
- package/docs/adr/ADR-003-security-first.md +0 -158
- package/docs/adr/ADR-004-cli-architecture.md +0 -171
- package/docs/adr/ADR-005-chezmoi-choice.md +0 -99
- package/docs/adr/ADR-006-shell-selection.md +0 -124
- package/docs/adr/ADR-007-multi-shell-parity.md +0 -62
- package/docs/adr/ADR-008-alias-system-architecture.md +0 -95
- package/docs/adr/ADR-009-wallpaper-driven-theming.md +0 -131
- package/docs/adr/ADR-010-starship-transient-prompt.md +0 -144
- package/docs/adr/ADR-011-nushell-tier3-keep.md +0 -144
- package/docs/adr/ADR-012-ai-fleet-local-proxy.md +0 -79
- package/docs/adr/README.md +0 -40
- package/docs/architecture/AI_COST_OPTIMIZATION.md +0 -144
- package/docs/architecture/ARCHITECTURE.md +0 -20
- package/docs/architecture/INTEROP.md +0 -44
- package/docs/architecture/REPO_LAYOUT.md +0 -241
- package/docs/architecture/WALKTHROUGH.md +0 -86
- package/docs/architecture/fleet-deployment.md +0 -77
- package/docs/archive/EUXIS_2026_REVIEW.md +0 -127
- package/docs/archive/LEGACY_ROADMAP.md +0 -6
- package/docs/archive/MILESTONE_v0.2.493.md +0 -47
- package/docs/archive/PLAN.md +0 -199
- package/docs/archive/REPO_AUDIT.md +0 -31
- package/docs/articles/.pages +0 -6
- package/docs/articles/2026-07-05-custom-mkdocs-material-dark-theme.md +0 -216
- package/docs/articles/2026-07-05-fish-startup-abbr.md +0 -153
- package/docs/articles/2026-07-05-master-to-main-rename-runbook.md +0 -128
- package/docs/articles/index.md +0 -36
- package/docs/guides/INSTALL.md +0 -144
- package/docs/guides/MACOS_ICLOUD_SYMLINKS.md +0 -121
- package/docs/guides/NEOVIM_IDE_GUIDE.md +0 -61
- package/docs/guides/THEMING.md +0 -230
- package/docs/guides/TROUBLESHOOTING.md +0 -176
- package/docs/guides/WSL2_NIX_TROUBLESHOOTING.md +0 -792
- package/docs/index.md +0 -132
- package/docs/interop/A2A.md +0 -39
- package/docs/interop/POWERSHELL.md +0 -102
- package/docs/manual/00-introduction.md +0 -89
- package/docs/manual/01-concepts/01-architecture.md +0 -138
- package/docs/manual/01-concepts/02-trust-model.md +0 -183
- package/docs/manual/01-concepts/03-theme-engine.md +0 -186
- package/docs/manual/01-concepts/04-fleet.md +0 -148
- package/docs/manual/01-concepts/05-self-healing.md +0 -204
- package/docs/manual/02-tutorials/01-first-install.md +0 -197
- package/docs/manual/02-tutorials/02-add-wallpaper.md +0 -216
- package/docs/manual/02-tutorials/03-create-profile.md +0 -244
- package/docs/manual/02-tutorials/04-encrypt-secret.md +0 -281
- package/docs/manual/02-tutorials/05-deploy-fleet.md +0 -283
- package/docs/manual/03-reference/01-dot-cli.md +0 -475
- package/docs/manual/03-reference/02-config-files.md +0 -265
- package/docs/manual/03-reference/03-environment.md +0 -124
- package/docs/manual/03-reference/04-templates.md +0 -190
- package/docs/manual/03-reference/05-feature-flags.md +0 -187
- package/docs/manual/04-cookbook/01-recipes.md +0 -285
- package/docs/manual/04-cookbook/02-troubleshooting.md +0 -351
- package/docs/manual/04-cookbook/03-faq.md +0 -175
- package/docs/manual/05-appendices/A-platform-matrix.md +0 -101
- package/docs/manual/05-appendices/B-security-checklist.md +0 -85
- package/docs/manual/05-appendices/C-glossary.md +0 -40
- package/docs/manual/05-appendices/D-bibliography.md +0 -58
- package/docs/manual/05-appendices/E-license.md +0 -38
- package/docs/manual/_toc.yml +0 -58
- package/docs/manual/command-index.md +0 -175
- package/docs/manual/concept-index.md +0 -170
- package/docs/manual/index.md +0 -66
- package/docs/migration/README.md +0 -81
- package/docs/migration/from-bare-git-repo.md +0 -156
- package/docs/migration/from-gnu-stow.md +0 -165
- package/docs/migration/from-plain-chezmoi.md +0 -148
- package/docs/migration/from-yadm.md +0 -187
- package/docs/operations/ARCHITECTURE_ROADMAP.md +0 -7
- package/docs/operations/ATTESTATION.md +0 -44
- package/docs/operations/CI_CADENCE.md +0 -107
- package/docs/operations/CI_COMPOSITES.md +0 -156
- package/docs/operations/COMPLETIONS.md +0 -123
- package/docs/operations/COVERAGE.md +0 -204
- package/docs/operations/DRIFT.md +0 -107
- package/docs/operations/HARD_AUDIT_2026.md +0 -631
- package/docs/operations/MAINTENANCE.md +0 -63
- package/docs/operations/MANIFEST.md +0 -127
- package/docs/operations/MIGRATION.md +0 -109
- package/docs/operations/OPERATIONS.md +0 -188
- package/docs/operations/PERFORMANCE.md +0 -133
- package/docs/operations/PERFORMANCE_BUDGETS.md +0 -196
- package/docs/operations/REGISTRY.md +0 -90
- package/docs/operations/RELEASE_PIPELINE.md +0 -128
- package/docs/operations/RELIABILITY.md +0 -122
- package/docs/operations/RFC_v0_2_503_reorganization.md +0 -280
- package/docs/operations/ROADMAP.md +0 -10
- package/docs/operations/ROADMAP_2026.md +0 -7
- package/docs/operations/ROADMAP_V0_2_503.md +0 -10
- package/docs/operations/TESTING.md +0 -216
- package/docs/operations/TRACEABILITY.md +0 -44
- package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +0 -65
- package/docs/operations/VERSION_SYNC.md +0 -393
- package/docs/packaging.md +0 -222
- package/docs/reference/ALIASES.md +0 -131
- package/docs/reference/ALIASES_CHEATSHEET.md +0 -32
- package/docs/reference/ALIASES_DEPRECATIONS.md +0 -13
- package/docs/reference/FEATURE-MATRIX.md +0 -646
- package/docs/reference/FEATURES.md +0 -66
- package/docs/reference/FONTS.md +0 -112
- package/docs/reference/POWERSHELL_PARITY.md +0 -82
- package/docs/reference/PROFILES.md +0 -69
- package/docs/reference/SCREENSHOTS.md +0 -121
- package/docs/reference/SCRIPTS.md +0 -71
- package/docs/reference/SUPPORT_MATRIX.md +0 -80
- package/docs/reference/THEMES.md +0 -117
- package/docs/reference/TOOLS.md +0 -110
- package/docs/reference/UTILS.md +0 -243
- package/docs/registry.json +0 -6
- package/docs/schema/dot-env-v1.json +0 -110
- package/docs/schema/dot-registry-v1.json +0 -33
- package/docs/security/AI_ACT_COMPLIANCE.md +0 -94
- package/docs/security/AUDIT_BYPASS.md +0 -103
- package/docs/security/AUTOMATION_SECRETS.md +0 -26
- package/docs/security/CI_EGRESS_ALLOWLIST.md +0 -127
- package/docs/security/CI_PINNING.md +0 -129
- package/docs/security/COMMIT_SIGNING.md +0 -138
- package/docs/security/COMPLIANCE.md +0 -458
- package/docs/security/DEPS_DEV_EXCEPTIONS.md +0 -86
- package/docs/security/DISCLOSURE.md +0 -130
- package/docs/security/ENCRYPTION.md +0 -57
- package/docs/security/FMEA.md +0 -159
- package/docs/security/FUZZING.md +0 -209
- package/docs/security/HISTORY_FILTERING.md +0 -132
- package/docs/security/INCIDENT_RESPONSE.md +0 -579
- package/docs/security/INSTALL_VERIFICATION.md +0 -122
- package/docs/security/KEYS.md +0 -49
- package/docs/security/KEY_ROTATION.md +0 -303
- package/docs/security/MCP_POLICY.md +0 -78
- package/docs/security/POLICY_RELEASES.md +0 -37
- package/docs/security/README.md +0 -28
- package/docs/security/SCORECARD.md +0 -195
- package/docs/security/SECRETS.md +0 -158
- package/docs/security/SECURITY.md +0 -45
- package/docs/security/SECURITY_CHECKLIST.md +0 -55
- package/docs/security/SHELL_EXEMPTIONS.md +0 -145
- package/docs/security/SOUP_REGISTER.md +0 -36
- package/docs/security/THREAT_MODEL.md +0 -130
- package/docs/security/VERIFICATION_VALIDATION.md +0 -228
- package/docs/security/VERIFY_RELEASE.md +0 -201
- package/docs/security/security-pubkey.asc +0 -15
- package/docs/stylesheets/extra.css +0 -444
- package/docs/themes/README.md +0 -10
- package/docs/themes/VISUAL_INTEGRITY_REPORT.md +0 -30
- package/docs/themes/hero-shot.svg +0 -78
- package/scripts/README.md +0 -123
- package/scripts/ci/check-copyright-headers.sh +0 -8
- package/scripts/ci/check-shell-preamble.sh +0 -8
- package/scripts/ci/guard-gitleaks-checkout.sh +0 -8
- package/scripts/demo/record.sh +0 -43
- package/scripts/diagnostics/a2a-conformance.sh +0 -163
- package/scripts/diagnostics/alias-governance.sh +0 -165
- package/scripts/diagnostics/aliases-cheatsheet.sh +0 -74
- package/scripts/diagnostics/aliases-manifest.sh +0 -77
- package/scripts/diagnostics/attest-verify.sh +0 -147
- package/scripts/diagnostics/benchmark.sh +0 -408
- package/scripts/diagnostics/conflicts.sh +0 -73
- package/scripts/diagnostics/doctor-unified.sh +0 -43
- package/scripts/diagnostics/doctor.sh +0 -797
- package/scripts/diagnostics/drift-dashboard.sh +0 -203
- package/scripts/diagnostics/health.sh +0 -656
- package/scripts/diagnostics/history-analysis.sh +0 -86
- package/scripts/diagnostics/mcp-doctor.sh +0 -582
- package/scripts/diagnostics/perf.sh +0 -453
- package/scripts/diagnostics/scorecard.sh +0 -120
- package/scripts/diagnostics/secret-governance.sh +0 -65
- package/scripts/diagnostics/security-score.sh +0 -467
- package/scripts/diagnostics/smoke-test.sh +0 -88
- package/scripts/diagnostics/snapshot.sh +0 -90
- package/scripts/diagnostics/verify.sh +0 -108
- package/scripts/diagnostics/verify_state.sh +0 -73
- package/scripts/diagnostics/version-locks.sh +0 -94
- package/scripts/diagnostics/workstation-attestation.sh +0 -212
- package/scripts/dot/commands/agent.sh +0 -535
- package/scripts/dot/commands/agents.sh +0 -352
- package/scripts/dot/commands/ai.sh +0 -600
- package/scripts/dot/commands/aliases.sh +0 -277
- package/scripts/dot/commands/appearance.sh +0 -110
- package/scripts/dot/commands/completion.sh +0 -171
- package/scripts/dot/commands/core.sh +0 -217
- package/scripts/dot/commands/diagnostics.sh +0 -265
- package/scripts/dot/commands/env-emit.sh +0 -203
- package/scripts/dot/commands/fleet.sh +0 -711
- package/scripts/dot/commands/init.sh +0 -185
- package/scripts/dot/commands/lint.sh +0 -208
- package/scripts/dot/commands/manual.sh +0 -169
- package/scripts/dot/commands/meta.sh +0 -438
- package/scripts/dot/commands/patterns.sh +0 -55
- package/scripts/dot/commands/registry.sh +0 -455
- package/scripts/dot/commands/restore.sh +0 -232
- package/scripts/dot/commands/secrets.sh +0 -296
- package/scripts/dot/commands/security.sh +0 -102
- package/scripts/dot/commands/tools.sh +0 -570
- package/scripts/dot/data/alias-deprecations.tsv +0 -2
- package/scripts/dot/powershell/Dot.psm1 +0 -319
- package/scripts/fonts/install-nerd-fonts.sh +0 -75
- package/scripts/fonts/patch-fonts.sh +0 -36
- package/scripts/git-hooks/install.sh +0 -12
- package/scripts/git-hooks/pre-commit +0 -12
- package/scripts/git-hooks/pre-commit-audit.sh +0 -146
- package/scripts/git-hooks/pre-push +0 -105
- package/scripts/git-hooks/prepare-commit-msg +0 -29
- package/scripts/lib/secrets_provider.sh +0 -200
- package/scripts/nvim/headless-upgrade.lua +0 -81
- package/scripts/ops/ai-setup.sh +0 -71
- package/scripts/ops/bundle.sh +0 -104
- package/scripts/ops/chaos.sh +0 -50
- package/scripts/ops/chezmoi-apply.sh +0 -333
- package/scripts/ops/chezmoi-diff.sh +0 -16
- package/scripts/ops/chezmoi-remove.sh +0 -46
- package/scripts/ops/chezmoi-update.sh +0 -67
- package/scripts/ops/heal-chezmoi.sh +0 -87
- package/scripts/ops/heal-system.sh +0 -129
- package/scripts/ops/heal-tools.sh +0 -297
- package/scripts/ops/heal.sh +0 -223
- package/scripts/ops/post-apply-repair.sh +0 -107
- package/scripts/ops/prewarm.sh +0 -128
- package/scripts/ops/release.sh +0 -262
- package/scripts/ops/rollback.sh +0 -613
- package/scripts/ops/setup.sh +0 -138
- package/scripts/ops/teleport.sh +0 -34
- package/scripts/qa/check-feature-matrix.sh +0 -296
- package/scripts/qa/check-version-consistency.sh +0 -12
- package/scripts/qa/coverage-baseline.sh +0 -61
- package/scripts/qa/docs-coverage.sh +0 -118
- package/scripts/qa/examples-coverage.sh +0 -94
- package/scripts/qa/powershell-contract.ps1 +0 -95
- package/scripts/qa/reliability-audit.sh +0 -139
- package/scripts/qa/scorecard-snapshot.sh +0 -128
- package/scripts/qa/traceability-coverage.sh +0 -124
- package/scripts/qa/validate-examples.sh +0 -90
- package/scripts/qa/wsl-contract.sh +0 -12
- package/scripts/secrets/age-init.sh +0 -82
- package/scripts/secrets/create-secrets-file.sh +0 -46
- package/scripts/secrets/encrypt-ssh-key.sh +0 -44
- package/scripts/security/backup.sh +0 -58
- package/scripts/security/check-disclosure-key-expiry.sh +0 -111
- package/scripts/security/dns-doh.sh +0 -52
- package/scripts/security/encryption-check.sh +0 -55
- package/scripts/security/enforce-policies.sh +0 -552
- package/scripts/security/firewall.sh +0 -91
- package/scripts/security/lock-configs.sh +0 -67
- package/scripts/security/lock-screen.sh +0 -56
- package/scripts/security/manage-secrets.sh +0 -429
- package/scripts/security/ssh-cert.sh +0 -204
- package/scripts/security/telemetry-kill.sh +0 -51
- package/scripts/security/usb-safety.sh +0 -52
- package/scripts/theme/apply-gnome-theme.sh +0 -333
- package/scripts/theme/extract-heic-frames.sh +0 -115
- package/scripts/theme/extract-theme.py +0 -1020
- package/scripts/theme/install-boot-logo.sh +0 -63
- package/scripts/theme/install-catppuccin-themes.sh +0 -371
- package/scripts/theme/install-cursors.sh +0 -26
- package/scripts/theme/install-file-icons.sh +0 -27
- package/scripts/theme/install-grub-theme.sh +0 -62
- package/scripts/theme/install-lock-icon.sh +0 -31
- package/scripts/theme/merge-wallpaper.sh +0 -146
- package/scripts/theme/rebuild-themes.sh +0 -603
- package/scripts/theme/switch.sh +0 -476
- package/scripts/theme/wallpaper-rotate.sh +0 -137
- package/scripts/theme/wallpaper-sync.sh +0 -690
- package/scripts/tools/cmatrix.sh +0 -22
- package/scripts/tools/detect-collisions.py +0 -103
- package/scripts/tools/emoji-picker.sh +0 -49
- package/scripts/tools/figlet-banner.sh +0 -19
- package/scripts/tools/log-rotate.sh +0 -31
- package/scripts/tools/lolcat-wrap.sh +0 -20
- package/scripts/tools/pipes.sh +0 -49
- package/scripts/tuning/linux.sh +0 -186
- package/scripts/tuning/macos.sh +0 -56
- package/scripts/uninstall.sh +0 -86
- package/scripts/verify-release-versions +0 -156
- package/scripts/version-sync.sh +0 -714
- package/templates/chezmoi-data/geekom-a9.toml.example +0 -21
- package/templates/chezmoi-data/mac-m1.toml.example +0 -16
- package/templates/chezmoi-data/mac-t2-linux.toml.example +0 -21
- package/templates/chezmoi-data/surface-pro-7p.toml.example +0 -21
- package/templates/projects/go/.github/workflows/ci.yml +0 -31
- package/templates/projects/go/README.md +0 -7
- package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +0 -8
- package/templates/projects/go/go.mod +0 -3
- package/templates/projects/go/go.sum +0 -0
- package/templates/projects/molecule/README.md +0 -7
- package/templates/projects/molecule/converge.yml +0 -7
- package/templates/projects/molecule/molecule.yml +0 -16
- package/templates/projects/node/.github/workflows/ci.yml +0 -30
- package/templates/projects/node/README.md +0 -7
- package/templates/projects/node/package-lock.json +0 -12
- package/templates/projects/node/package.json +0 -10
- package/templates/projects/node/src/index.js +0 -3
- package/templates/projects/packer/README.md +0 -15
- package/templates/projects/packer/main.pkr.hcl +0 -15
- package/templates/projects/python/.github/workflows/ci.yml +0 -34
- package/templates/projects/python/README.md +0 -7
- package/templates/projects/python/pyproject.toml +0 -25
- package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +0 -2
- package/templates/projects/python/tests/test_basic.py +0 -3
|
@@ -1,265 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
render_with_liquid: false
|
|
3
|
-
---
|
|
4
|
-
{% raw %}
|
|
5
|
-
|
|
6
|
-
# Reference: Configuration Files
|
|
7
|
-
|
|
8
|
-
Every config file read or written by `.dotfiles`, with its schema and purpose.
|
|
9
|
-
|
|
10
|
-
## Source Repository
|
|
11
|
-
|
|
12
|
-
| File | Purpose |
|
|
13
|
-
|:---|:---|
|
|
14
|
-
| `~/.dotfiles/.chezmoidata.toml` | Global defaults: theme, profile, version, features |
|
|
15
|
-
| `~/.dotfiles/.chezmoidata/hardware.toml` | Machine presets (MacBook T2, Surface Pro, etc.) |
|
|
16
|
-
| `~/.dotfiles/.chezmoidata/themes.toml` | **Generated** theme palettes — do not edit |
|
|
17
|
-
| `~/.dotfiles/.chezmoidata/keybinds.toml` | Modifier hierarchy matrix |
|
|
18
|
-
| `~/.dotfiles/mise.toml` | Pinned runtime versions for the dotfiles repo |
|
|
19
|
-
| `~/.dotfiles/.chezmoiignore` | Paths excluded from `chezmoi apply` |
|
|
20
|
-
| `~/.dotfiles/.chezmoitemplates/` | Reusable template partials |
|
|
21
|
-
|
|
22
|
-
## User-Owned Configuration
|
|
23
|
-
|
|
24
|
-
| File | Purpose | Git-tracked? |
|
|
25
|
-
|:---|:---|:---:|
|
|
26
|
-
| `~/.config/chezmoi/chezmoi.toml` | Per-host overrides (machine, theme, shell) | No |
|
|
27
|
-
| `~/.config/age/keys.txt` | Age private key for decryption | No |
|
|
28
|
-
| `~/.config/mise/config.toml` | User runtime preferences (managed by this repo) | Via chezmoi |
|
|
29
|
-
| `~/.config/dotfiles/fleet.toml` | Fleet host list (optional) | No |
|
|
30
|
-
| `~/.ssh/allowed_signers` | SSH public keys trusted for commit verification | Via chezmoi (template) |
|
|
31
|
-
|
|
32
|
-
## `.chezmoidata.toml` Schema
|
|
33
|
-
|
|
34
|
-
```toml
|
|
35
|
-
# Version — bumped by version-sync.sh at release time
|
|
36
|
-
dotfiles_version = "0.2.503"
|
|
37
|
-
|
|
38
|
-
# Machine preset — override in ~/.config/chezmoi/chezmoi.toml per host
|
|
39
|
-
machine = ""
|
|
40
|
-
|
|
41
|
-
# Active theme — see `dot theme list`
|
|
42
|
-
theme = "tahoe-dark"
|
|
43
|
-
|
|
44
|
-
# Terminal defaults
|
|
45
|
-
terminal_font_family = "JetBrainsMono Nerd Font"
|
|
46
|
-
terminal_font_size = 12
|
|
47
|
-
default_shell = "fish" # fish | zsh | nu
|
|
48
|
-
|
|
49
|
-
# Git identity (prompt-provided via chezmoi init)
|
|
50
|
-
name = ""
|
|
51
|
-
email = ""
|
|
52
|
-
|
|
53
|
-
# Active profile
|
|
54
|
-
profile = "laptop" # desktop | laptop | server | codespace
|
|
55
|
-
|
|
56
|
-
# Feature flags (see 05-feature-flags.md)
|
|
57
|
-
[features]
|
|
58
|
-
dms = false
|
|
59
|
-
linux_desktop = false
|
|
60
|
-
niri = false
|
|
61
|
-
waybar = false
|
|
62
|
-
|
|
63
|
-
# Profiles (named collections of overrides)
|
|
64
|
-
[profiles.desktop]
|
|
65
|
-
# ...
|
|
66
|
-
|
|
67
|
-
[profiles.laptop]
|
|
68
|
-
# ...
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
## `.chezmoidata/hardware.toml` Schema
|
|
72
|
-
|
|
73
|
-
```toml
|
|
74
|
-
[hardware.<preset-name>]
|
|
75
|
-
display_scale = 1.0 | 1.25 | 1.5 | 1.75 | 2.0
|
|
76
|
-
kbd_layout = "qwerty" | "colemak-dh" | "dvorak"
|
|
77
|
-
modifier_mode = "standard" | "left-cmd-control" | "fn-swap"
|
|
78
|
-
perf_profile = "desktop" | "laptop" | "low-power"
|
|
79
|
-
wm = "aerospace" | "niri" | "gnome" | "kde" | "none"
|
|
80
|
-
|
|
81
|
-
[hardware.<preset-name>.features]
|
|
82
|
-
# Per-preset feature overrides (merged on top of .chezmoidata.toml features)
|
|
83
|
-
<flag> = <bool>
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
## `.chezmoidata/themes.toml` Schema
|
|
87
|
-
|
|
88
|
-
**Generated by `dot theme rebuild` — do not edit manually.**
|
|
89
|
-
|
|
90
|
-
```toml
|
|
91
|
-
[themes.<name>]
|
|
92
|
-
mode = "dark" | "light"
|
|
93
|
-
family = "<family-name>"
|
|
94
|
-
macos_accent = -1 .. 6 # -1=Graphite, 0=Red, 1=Orange, 2=Yellow, 3=Green, 4=Blue, 5=Purple, 6=Pink
|
|
95
|
-
wallpaper = "/absolute/path/to/wallpaper.heic"
|
|
96
|
-
source = "custom" | "system"
|
|
97
|
-
|
|
98
|
-
[themes.<name>.term]
|
|
99
|
-
bg, fg, cursor, cursor_text, sel_bg, sel_fg # hex RGB
|
|
100
|
-
c0 .. c15 # 16 ANSI colors
|
|
101
|
-
|
|
102
|
-
[themes.<name>.ui]
|
|
103
|
-
accent, accent_text # WCAG AAA enforced (7:1)
|
|
104
|
-
error, warning, success, info
|
|
105
|
-
panel # 1.03-2.0 contrast vs bg
|
|
106
|
-
border # 1.08-3.5 contrast vs bg
|
|
107
|
-
|
|
108
|
-
[themes.<name>.app]
|
|
109
|
-
nvim, nvim_style, lualine
|
|
110
|
-
gtk_theme, gtk_icon, gnome_shell, gnome_gtk
|
|
111
|
-
vscode, vscode_dark, vscode_light
|
|
112
|
-
cat_wallpaper
|
|
113
|
-
starship_palette
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
See [Theme Engine concept](../01-concepts/03-theme-engine.md) for how values are derived.
|
|
117
|
-
|
|
118
|
-
## `~/.config/chezmoi/chezmoi.toml` (Per-Host)
|
|
119
|
-
|
|
120
|
-
```toml
|
|
121
|
-
sourceDir = "/Users/you/.dotfiles"
|
|
122
|
-
|
|
123
|
-
[data]
|
|
124
|
-
machine = "surface-pro" # selects preset from hardware.toml
|
|
125
|
-
theme = "monterey-dark" # overrides .chezmoidata.toml default
|
|
126
|
-
default_shell = "fish"
|
|
127
|
-
terminal_font_size = 11
|
|
128
|
-
email = "you@example.com"
|
|
129
|
-
name = "Your Name"
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
Fields here override same-named fields in `.chezmoidata.toml` at render time.
|
|
133
|
-
|
|
134
|
-
## `~/.dotfiles/mise.toml` (Pinned Versions)
|
|
135
|
-
|
|
136
|
-
Strict versions for testing the repo itself (separate from the user's own mise config):
|
|
137
|
-
|
|
138
|
-
```toml
|
|
139
|
-
[tools]
|
|
140
|
-
chezmoi = "2.47.1"
|
|
141
|
-
pandoc = "3.1.8"
|
|
142
|
-
shellcheck = "0.10.0"
|
|
143
|
-
shfmt = "3.8.0"
|
|
144
|
-
# ...
|
|
145
|
-
|
|
146
|
-
[env]
|
|
147
|
-
# Repo-level env vars
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
## `~/.config/mise/config.toml` (User)
|
|
151
|
-
|
|
152
|
-
Managed by this repo via chezmoi. Lists all CLI tools + language runtimes:
|
|
153
|
-
|
|
154
|
-
```toml
|
|
155
|
-
[settings]
|
|
156
|
-
auto_install = true
|
|
157
|
-
activate_aggressive = true
|
|
158
|
-
|
|
159
|
-
[tools]
|
|
160
|
-
node = ["lts", "24", "25"]
|
|
161
|
-
python = ["3.12", "3.11"]
|
|
162
|
-
go = "latest"
|
|
163
|
-
rust = "latest"
|
|
164
|
-
# ... 60+ tools
|
|
165
|
-
|
|
166
|
-
[env]
|
|
167
|
-
MISE_EXPERIMENTAL = "1"
|
|
168
|
-
GITHUB_TOKEN = "{{exec(command='gh auth token')}}"
|
|
169
|
-
GOCACHE = "/tmp/builds/go-cache"
|
|
170
|
-
PIP_CACHE_DIR = "/tmp/builds/pip-cache"
|
|
171
|
-
UV_CACHE_DIR = "/tmp/builds/uv-cache"
|
|
172
|
-
ZIG_LOCAL_CACHE_DIR = "/tmp/builds/zig-cache"
|
|
173
|
-
ZIG_GLOBAL_CACHE_DIR = "/tmp/builds/zig-global-cache"
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
## `~/.cargo/config.toml` (Managed)
|
|
177
|
-
|
|
178
|
-
```toml
|
|
179
|
-
[build]
|
|
180
|
-
jobs = -1
|
|
181
|
-
incremental = true
|
|
182
|
-
target-dir = "/tmp/builds/cargo"
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
## `~/.ssh/allowed_signers`
|
|
186
|
-
|
|
187
|
-
Template: `dot_ssh/allowed_signers.tmpl`
|
|
188
|
-
|
|
189
|
-
Lists SSH public keys authorized to sign commits in the repository:
|
|
190
|
-
|
|
191
|
-
```
|
|
192
|
-
you@example.com ssh-ed25519 AAAAC3N...
|
|
193
|
-
teammate@example.com ssh-ed25519 AAAAC3N...
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
## `dot_config/dotfiles/mcp.json`
|
|
197
|
-
|
|
198
|
-
MCP policy and registry. See [MCP Policy reference](../../security/MCP_POLICY.md).
|
|
199
|
-
|
|
200
|
-
```json
|
|
201
|
-
{
|
|
202
|
-
"policy_version": "2026-01",
|
|
203
|
-
"allowed_servers": ["fs", "shell", "github"],
|
|
204
|
-
"denied_tools": ["network.raw"],
|
|
205
|
-
"attestation_required": true,
|
|
206
|
-
"registry": {
|
|
207
|
-
"servers": [
|
|
208
|
-
{"name": "fs", "command": "...", "hash": "..."},
|
|
209
|
-
...
|
|
210
|
-
]
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
## `dot_config/dotfiles/agent-card.json`
|
|
216
|
-
|
|
217
|
-
Agent Card (MCP A2A spec):
|
|
218
|
-
|
|
219
|
-
```json
|
|
220
|
-
{
|
|
221
|
-
"name": "dotfiles-agent",
|
|
222
|
-
"version": "0.2.503",
|
|
223
|
-
"capabilities": ["chezmoi.apply", "theme.switch", "secrets.decrypt"],
|
|
224
|
-
"policy_hash": "0x7f2a..."
|
|
225
|
-
}
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
## Log Files
|
|
229
|
-
|
|
230
|
-
| Path | Content | Rotation |
|
|
231
|
-
|:---|:---|:---|
|
|
232
|
-
| `~/.local/state/dotfiles/install.log` | Installer output | Never rotated |
|
|
233
|
-
| `~/.local/state/dotfiles/heal.log` | Heal attempts | Append-only |
|
|
234
|
-
| `~/.local/state/dotfiles/metrics.jsonl` | Observability events | Rotated at 10MB |
|
|
235
|
-
| `~/.local/state/dotfiles/mcp-violations.log` | MCP policy violations | Rotated at 10MB |
|
|
236
|
-
| `~/.local/state/dotfiles/attestation/*.json` | Attestation snapshots | 90-day retention |
|
|
237
|
-
| `~/.local/state/dotfiles/snapshots/*` | Rollback snapshots | 30-day retention |
|
|
238
|
-
|
|
239
|
-
## Cache Files
|
|
240
|
-
|
|
241
|
-
| Path | Content | Invalidation |
|
|
242
|
-
|:---|:---|:---|
|
|
243
|
-
| `~/.cache/shell/*-init.sh` | Pre-generated shell init output | Binary mtime |
|
|
244
|
-
| `~/.cache/dotfiles/themes/*.toml` | Per-wallpaper theme cache | Wallpaper mtime |
|
|
245
|
-
| `~/.cache/dotfiles/manual/*` | Downloaded manual files | Version change |
|
|
246
|
-
| `~/.cache/gitstatus/*` | Starship gitstatus | Auto |
|
|
247
|
-
|
|
248
|
-
## Verified Files
|
|
249
|
-
|
|
250
|
-
Every commit on `main` modifies tracked files only. Untracked files in the source directory (e.g. editor swap files) are ignored via `.chezmoiignore`:
|
|
251
|
-
|
|
252
|
-
```
|
|
253
|
-
.DS_Store
|
|
254
|
-
.vscode/
|
|
255
|
-
*.swp
|
|
256
|
-
_build/
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
## See Also
|
|
260
|
-
|
|
261
|
-
- [Environment Reference](03-environment.md)
|
|
262
|
-
- [Template Variables](04-templates.md)
|
|
263
|
-
- [Feature Flags](05-feature-flags.md)
|
|
264
|
-
- [First Install Tutorial](../02-tutorials/01-first-install.md)
|
|
265
|
-
{% endraw %}
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
render_with_liquid: false
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Reference: Environment Variables
|
|
6
|
-
|
|
7
|
-
All environment variables that affect `.dotfiles` behaviour.
|
|
8
|
-
|
|
9
|
-
## User-Settable
|
|
10
|
-
|
|
11
|
-
Variables you can set in your shell to change behaviour.
|
|
12
|
-
|
|
13
|
-
| Variable | Default | Effect |
|
|
14
|
-
|:---|:---|:---|
|
|
15
|
-
| `DOTFILES_VERBOSE` | unset | Verbose output from `dot` commands |
|
|
16
|
-
| `DOTFILES_NONINTERACTIVE` | unset | Skip interactive prompts (for CI) |
|
|
17
|
-
| `DOTFILES_SILENT` | unset | Suppress non-error output |
|
|
18
|
-
| `DOTFILES_DEBUG` | unset | Print shell-init timing to stderr |
|
|
19
|
-
| `DOTFILES_SOURCE_DIR` | `~/.dotfiles` | Override the source directory |
|
|
20
|
-
| `DOTFILES_WALLPAPER_DIR` | `~/Pictures/Wallpapers` | Custom wallpaper directory |
|
|
21
|
-
| `DOTFILES_CACHE_DIR` | `~/.cache/dotfiles` | Override cache location |
|
|
22
|
-
| `DOTFILES_STATE_DIR` | `~/.local/state/dotfiles` | Override state directory |
|
|
23
|
-
| `DOTFILES_TUNING` | `0` | Enable OS tuning (`dot tune`) |
|
|
24
|
-
| `EDITOR` | `nvim` | Editor used by `dot edit` and `sops` |
|
|
25
|
-
| `PAGER` | `less` | Pager used by `dot manual text` |
|
|
26
|
-
|
|
27
|
-
## Auto-Populated
|
|
28
|
-
|
|
29
|
-
Variables the dotfiles set in your shell for tool consumption.
|
|
30
|
-
|
|
31
|
-
| Variable | Value | Source |
|
|
32
|
-
|:---|:---|:---|
|
|
33
|
-
| `XDG_CONFIG_HOME` | `~/.config` | `dot_zshenv` / `dot_config/fish/conf.d/env.fish.tmpl` |
|
|
34
|
-
| `XDG_CACHE_HOME` | `~/.cache` | ditto |
|
|
35
|
-
| `XDG_DATA_HOME` | `~/.local/share` | ditto |
|
|
36
|
-
| `XDG_STATE_HOME` | `~/.local/state` | ditto |
|
|
37
|
-
| `PATH` | managed order | `dot_config/shell/00-core-paths.sh.tmpl` |
|
|
38
|
-
| `BUN_INSTALL` | `~/.bun` | `env.fish.tmpl` |
|
|
39
|
-
| `PIPX_HOME` | `~/.local/share/pipx` | ditto |
|
|
40
|
-
| `PIPX_BIN_DIR` | `~/.local/bin` | ditto |
|
|
41
|
-
| `BUILDS_TMPDIR` | `/tmp/builds` | `dot_zshenv` (created on shell init) |
|
|
42
|
-
| `CARGO_TARGET_DIR` | (from `~/.cargo/config.toml`) | `target-dir = "/tmp/builds/cargo"` |
|
|
43
|
-
| `GOCACHE` | `/tmp/builds/go-cache` | `mise [env]` |
|
|
44
|
-
| `GOTMPDIR` | `/tmp/builds/go-tmp` | `mise [env]` |
|
|
45
|
-
| `PIP_CACHE_DIR` | `/tmp/builds/pip-cache` | `mise [env]` |
|
|
46
|
-
| `UV_CACHE_DIR` | `/tmp/builds/uv-cache` | `mise [env]` |
|
|
47
|
-
| `ZIG_LOCAL_CACHE_DIR` | `/tmp/builds/zig-cache` | `mise [env]` |
|
|
48
|
-
| `ZIG_GLOBAL_CACHE_DIR` | `/tmp/builds/zig-global-cache` | `mise [env]` |
|
|
49
|
-
| `HOMEBREW_PREFIX` | `/opt/homebrew` or `/usr/local` | `dot_zshenv` (macOS) |
|
|
50
|
-
| `MANPATH` | homebrew-adjusted | ditto |
|
|
51
|
-
| `MISE_EXPERIMENTAL` | `1` | `~/.config/mise/config.toml` |
|
|
52
|
-
| `GITHUB_TOKEN` | from `gh auth token` | `~/.config/mise/config.toml` |
|
|
53
|
-
|
|
54
|
-
## Read by Tools
|
|
55
|
-
|
|
56
|
-
Variables set by upstream tools and respected by `.dotfiles`.
|
|
57
|
-
|
|
58
|
-
| Variable | Used for |
|
|
59
|
-
|:---|:---|
|
|
60
|
-
| `SHELL` | Detect default shell |
|
|
61
|
-
| `TERM` | Terminal capabilities (e.g. `xterm-256color`) |
|
|
62
|
-
| `COLORTERM` | True-color detection (`truecolor`) |
|
|
63
|
-
| `LANG` / `LC_ALL` | Locale (must be UTF-8) |
|
|
64
|
-
| `HOME` | User home directory |
|
|
65
|
-
| `USER` | Username |
|
|
66
|
-
| `SSH_AUTH_SOCK` | ssh-agent socket |
|
|
67
|
-
| `GPG_TTY` | GPG pinentry TTY |
|
|
68
|
-
|
|
69
|
-
## CI-Specific
|
|
70
|
-
|
|
71
|
-
Variables relevant in GitHub Actions.
|
|
72
|
-
|
|
73
|
-
| Variable | Purpose |
|
|
74
|
-
|:---|:---|
|
|
75
|
-
| `CI` | Set to `true` in CI; disables prompts |
|
|
76
|
-
| `GITHUB_ACTIONS` | GHA-specific; enables step summary output |
|
|
77
|
-
| `CHEZMOI_VERSION` | Pinned chezmoi version for CI |
|
|
78
|
-
| `COVERAGE_THRESHOLD` | Executable module-mapping threshold (100 in enforced CI; not line coverage) |
|
|
79
|
-
| `DOTFILES_TEST_MODE` | Skip network-dependent tests |
|
|
80
|
-
|
|
81
|
-
## Secret-Related
|
|
82
|
-
|
|
83
|
-
| Variable | Purpose |
|
|
84
|
-
|:---|:---|
|
|
85
|
-
| `SOPS_AGE_KEY_FILE` | Override `~/.config/age/keys.txt` path |
|
|
86
|
-
| `SOPS_AGE_RECIPIENTS` | Override recipients for new encryption |
|
|
87
|
-
| `CHEZMOI_AGE_IDENTITY` | Override age identity for chezmoi decrypt |
|
|
88
|
-
|
|
89
|
-
> Warning: never set these to values stored in plaintext config. Use a password manager or ephemeral injection.
|
|
90
|
-
|
|
91
|
-
## Startup Order
|
|
92
|
-
|
|
93
|
-
Shell-loaded variables follow this precedence (later wins):
|
|
94
|
-
|
|
95
|
-
1. System defaults (`/etc/environment`, `/etc/profile`)
|
|
96
|
-
2. Homebrew shellenv (macOS)
|
|
97
|
-
3. `~/.zshenv` (earliest user-level file; sets XDG + PATH bootstrap)
|
|
98
|
-
4. `~/.zprofile` or `~/.config/fish/conf.d/*.fish`
|
|
99
|
-
5. `~/.zshrc` or `~/.config/fish/config.fish`
|
|
100
|
-
6. `mise activate` — injects tool-specific env
|
|
101
|
-
7. Per-project `.envrc` via direnv (opt-in)
|
|
102
|
-
|
|
103
|
-
To debug: `DOTFILES_DEBUG=1 zsh -i -c exit` prints timing for each stage.
|
|
104
|
-
|
|
105
|
-
## Unsetting
|
|
106
|
-
|
|
107
|
-
To clean up environment pollution:
|
|
108
|
-
|
|
109
|
-
```sh
|
|
110
|
-
# Show current dotfiles-set vars
|
|
111
|
-
env | grep -E '^(DOTFILES_|XDG_|BUILDS_)'
|
|
112
|
-
|
|
113
|
-
# Unset one
|
|
114
|
-
unset DOTFILES_DEBUG
|
|
115
|
-
|
|
116
|
-
# Reset to defaults (restart shell)
|
|
117
|
-
exec $SHELL -l
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
## See Also
|
|
121
|
-
|
|
122
|
-
- [Configuration Files](02-config-files.md)
|
|
123
|
-
- [Feature Flags](05-feature-flags.md)
|
|
124
|
-
- [First Install](../02-tutorials/01-first-install.md)
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
render_with_liquid: false
|
|
3
|
-
---
|
|
4
|
-
{% raw %}
|
|
5
|
-
|
|
6
|
-
# Reference: Template Variables
|
|
7
|
-
|
|
8
|
-
Every variable available to chezmoi templates (`.tmpl` files).
|
|
9
|
-
|
|
10
|
-
## From `.chezmoidata.toml`
|
|
11
|
-
|
|
12
|
-
Flat top-level keys:
|
|
13
|
-
|
|
14
|
-
| Variable | Type | Example |
|
|
15
|
-
|:---|:---|:---|
|
|
16
|
-
| `.dotfiles_version` | string | `"0.2.501"` |
|
|
17
|
-
| `.theme` | string | `"tahoe-dark"` |
|
|
18
|
-
| `.machine` | string | `"macbook-t2"` |
|
|
19
|
-
| `.profile` | string | `"laptop"` |
|
|
20
|
-
| `.default_shell` | string | `"fish"` |
|
|
21
|
-
| `.terminal_font_family` | string | `"JetBrainsMono Nerd Font"` |
|
|
22
|
-
| `.terminal_font_size` | int | `12` |
|
|
23
|
-
| `.name` | string | `"Your Name"` |
|
|
24
|
-
| `.email` | string | `"you@example.com"` |
|
|
25
|
-
|
|
26
|
-
## From `.chezmoidata/themes.toml`
|
|
27
|
-
|
|
28
|
-
```go
|
|
29
|
-
{{- $t := index .themes .theme }}
|
|
30
|
-
{{ $t.mode }} // "dark" or "light"
|
|
31
|
-
{{ $t.family }} // "tahoe"
|
|
32
|
-
{{ $t.macos_accent }} // 4 (integer)
|
|
33
|
-
{{ $t.term.bg }} // "#121430"
|
|
34
|
-
{{ $t.term.fg }} // "#d4d8ec"
|
|
35
|
-
{{ $t.term.c0 }} .. {{ $t.term.c15 }} // ANSI 0-15
|
|
36
|
-
{{ $t.ui.accent }} // "#3951b1"
|
|
37
|
-
{{ $t.ui.accent_text }} // "#ffffff"
|
|
38
|
-
{{ $t.ui.panel }}
|
|
39
|
-
{{ $t.ui.border }}
|
|
40
|
-
{{ $t.app.nvim }} // "catppuccin"
|
|
41
|
-
{{ $t.app.starship_palette }}
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## From `.chezmoidata/hardware.toml`
|
|
45
|
-
|
|
46
|
-
```go
|
|
47
|
-
{{- $hw := index .hardware .machine }}
|
|
48
|
-
{{ $hw.display_scale }} // 2.0
|
|
49
|
-
{{ $hw.kbd_layout }} // "qwerty"
|
|
50
|
-
{{ $hw.modifier_mode }} // "left-cmd-control"
|
|
51
|
-
{{ $hw.perf_profile }} // "laptop"
|
|
52
|
-
{{ $hw.wm }} // "aerospace"
|
|
53
|
-
{{ $hw.features.touchid }} // bool
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
## From Feature Flags
|
|
57
|
-
|
|
58
|
-
```go
|
|
59
|
-
{{- $f := mergeOverwrite .features $hw.features }}
|
|
60
|
-
{{ if $f.dms }}
|
|
61
|
-
# Dank Material Shell-specific config
|
|
62
|
-
{{ end }}
|
|
63
|
-
|
|
64
|
-
{{ if $f.niri }}
|
|
65
|
-
# Niri WM config
|
|
66
|
-
{{ end }}
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
## Built-in Chezmoi Variables
|
|
70
|
-
|
|
71
|
-
```go
|
|
72
|
-
{{ .chezmoi.os }} // "darwin" | "linux" | "windows"
|
|
73
|
-
{{ .chezmoi.arch }} // "amd64" | "arm64"
|
|
74
|
-
{{ .chezmoi.kernel }} // "Darwin" | "Linux"
|
|
75
|
-
{{ .chezmoi.kernel.ostype }} // "darwin24" etc
|
|
76
|
-
{{ .chezmoi.hostname }} // host machine hostname
|
|
77
|
-
{{ .chezmoi.username }} // current user
|
|
78
|
-
{{ .chezmoi.homeDir }} // $HOME
|
|
79
|
-
{{ .chezmoi.sourceDir }} // ~/.dotfiles
|
|
80
|
-
{{ .chezmoi.workingTree }} // git working tree root
|
|
81
|
-
{{ .chezmoi.executable }} // chezmoi binary path
|
|
82
|
-
{{ .chezmoi.osRelease }} // Linux /etc/os-release data
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
## Built-in Chezmoi Functions
|
|
86
|
-
|
|
87
|
-
```go
|
|
88
|
-
{{ exec "command" | trim }}
|
|
89
|
-
{{ output "hostname" }}
|
|
90
|
-
{{ include "path/to/file" }}
|
|
91
|
-
{{ decrypt "path/to/file.age" }}
|
|
92
|
-
{{ sopsDecrypt "path/to/file.sops.yaml" | fromYaml }}
|
|
93
|
-
{{ joinPath "a" "b" }}
|
|
94
|
-
{{ stat "/path" }}
|
|
95
|
-
{{ ioreg ".." ".." }} // macOS only
|
|
96
|
-
{{ lookPath "command" }} // returns path or empty
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
## Helper Templates (in `.chezmoitemplates/`)
|
|
100
|
-
|
|
101
|
-
Reusable partials included via:
|
|
102
|
-
|
|
103
|
-
```go
|
|
104
|
-
{{ template "paths/00-default.paths.sh" . }}
|
|
105
|
-
{{ template "aliases/cd.aliases.sh" . }}
|
|
106
|
-
{{ template "functions/cdls.sh" . }}
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
Available partials:
|
|
110
|
-
|
|
111
|
-
- `paths/00-default.paths.sh` — canonical PATH construction
|
|
112
|
-
- `paths/05-pipx.paths.sh` — pipx + ~/.local/bin
|
|
113
|
-
- `paths/99-custom.paths.sh` — user-appended paths
|
|
114
|
-
- `aliases/*.aliases.sh` — per-domain alias sets
|
|
115
|
-
- `functions/*.sh` — reusable shell functions
|
|
116
|
-
|
|
117
|
-
## Example: Using Theme in Ghostty Config
|
|
118
|
-
|
|
119
|
-
```go
|
|
120
|
-
{{- /* dot_config/ghostty/config.tmpl */ -}}
|
|
121
|
-
{{- $t := index .themes .theme -}}
|
|
122
|
-
|
|
123
|
-
font-family = "{{ .terminal_font_family }}"
|
|
124
|
-
font-size = {{ .terminal_font_size }}
|
|
125
|
-
|
|
126
|
-
background = {{ $t.term.bg }}
|
|
127
|
-
foreground = {{ $t.term.fg }}
|
|
128
|
-
cursor-color = {{ $t.term.cursor }}
|
|
129
|
-
|
|
130
|
-
palette = 0={{ $t.term.c0 }}
|
|
131
|
-
palette = 1={{ $t.term.c1 }}
|
|
132
|
-
palette = 2={{ $t.term.c2 }}
|
|
133
|
-
# ... through 15
|
|
134
|
-
|
|
135
|
-
{{- if eq .chezmoi.os "darwin" }}
|
|
136
|
-
macos-titlebar-style = transparent
|
|
137
|
-
{{- end }}
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
## Example: Platform × Preset
|
|
141
|
-
|
|
142
|
-
```go
|
|
143
|
-
{{- $hw := index .hardware .machine -}}
|
|
144
|
-
|
|
145
|
-
{{- if and (eq .chezmoi.os "darwin") (eq $hw.wm "aerospace") }}
|
|
146
|
-
# macOS AeroSpace config
|
|
147
|
-
include = ["aerospace-macos.toml"]
|
|
148
|
-
{{- else if and (eq .chezmoi.os "linux") (eq $hw.wm "niri") }}
|
|
149
|
-
# Linux Niri config
|
|
150
|
-
include = ["niri.kdl"]
|
|
151
|
-
{{- end }}
|
|
152
|
-
|
|
153
|
-
# DPI-aware sizing
|
|
154
|
-
font-size = {{ mul 8 $hw.display_scale | int }}
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
## Template Testing
|
|
158
|
-
|
|
159
|
-
Render a template without applying:
|
|
160
|
-
|
|
161
|
-
```sh
|
|
162
|
-
chezmoi execute-template < dot_config/ghostty/config.tmpl
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
Or test an expression:
|
|
166
|
-
|
|
167
|
-
```sh
|
|
168
|
-
chezmoi execute-template '{{ .chezmoi.os }}'
|
|
169
|
-
# darwin
|
|
170
|
-
|
|
171
|
-
chezmoi execute-template '{{- $t := index .themes .theme -}}{{ $t.term.bg }}'
|
|
172
|
-
# #121430
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
## Validation in CI
|
|
176
|
-
|
|
177
|
-
Every push to main runs:
|
|
178
|
-
|
|
179
|
-
```sh
|
|
180
|
-
chezmoi apply --dry-run
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
If any template fails to render, the build breaks before merge.
|
|
184
|
-
|
|
185
|
-
## See Also
|
|
186
|
-
|
|
187
|
-
- [Chezmoi template reference](https://www.chezmoi.io/reference/templates/)
|
|
188
|
-
- [Configuration Files](02-config-files.md)
|
|
189
|
-
- [Create a Profile tutorial](../02-tutorials/03-create-profile.md)
|
|
190
|
-
{% endraw %}
|