@sebastienrousseau/dotfiles 0.2.481 → 0.2.500
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 +122 -32
- package/LICENSE +1 -1
- package/README.md +211 -242
- package/docs/.vitepress/reports/localization-readability-audit.md +69 -0
- package/docs/AI.md +102 -0
- package/docs/COPYRIGHT +2 -2
- package/docs/NAMING_CONVENTIONS.md +95 -0
- package/docs/README.md +58 -249
- package/docs/adr/ADR-004-cli-architecture.md +2 -2
- package/docs/adr/ADR-006-shell-selection.md +2 -2
- package/docs/adr/ADR-007-multi-shell-parity.md +53 -0
- package/docs/adr/ADR-008-alias-system-architecture.md +85 -0
- package/docs/adr/README.md +2 -3
- package/docs/architecture/ARCHITECTURE.md +113 -0
- package/docs/architecture/INTEROP.md +36 -0
- package/docs/architecture/REPO_LAYOUT.md +237 -0
- package/docs/architecture/WALKTHROUGH.md +82 -0
- package/docs/architecture/fleet-deployment.md +73 -0
- package/docs/archive/EUXIS_2026_REVIEW.md +119 -0
- package/docs/archive/MILESTONE_v0.2.493.md +43 -0
- package/docs/{PLAN.md → archive/PLAN.md} +1 -1
- package/docs/guides/INSTALL.md +140 -0
- package/docs/{NEOVIM_IDE_GUIDE.md → guides/NEOVIM_IDE_GUIDE.md} +12 -12
- package/docs/guides/THEMING.md +222 -0
- package/docs/{TROUBLESHOOTING.md → guides/TROUBLESHOOTING.md} +36 -0
- package/docs/{WSL2_NIX_TROUBLESHOOTING.md → guides/WSL2_NIX_TROUBLESHOOTING.md} +8 -8
- package/docs/index.md +39 -0
- package/docs/interop/A2A.md +32 -0
- package/docs/manual/00-introduction.md +85 -0
- package/docs/manual/01-concepts/01-architecture.md +134 -0
- package/docs/manual/01-concepts/02-trust-model.md +178 -0
- package/docs/manual/01-concepts/03-theme-engine.md +182 -0
- package/docs/manual/01-concepts/04-fleet.md +142 -0
- package/docs/manual/01-concepts/05-self-healing.md +197 -0
- package/docs/manual/02-tutorials/01-first-install.md +192 -0
- package/docs/manual/02-tutorials/02-add-wallpaper.md +211 -0
- package/docs/manual/02-tutorials/03-create-profile.md +238 -0
- package/docs/manual/02-tutorials/04-encrypt-secret.md +275 -0
- package/docs/manual/02-tutorials/05-deploy-fleet.md +279 -0
- package/docs/manual/03-reference/01-dot-cli.md +413 -0
- package/docs/manual/03-reference/02-config-files.md +259 -0
- package/docs/manual/03-reference/03-environment.md +120 -0
- package/docs/manual/03-reference/04-templates.md +184 -0
- package/docs/manual/03-reference/05-feature-flags.md +118 -0
- package/docs/manual/04-cookbook/01-recipes.md +281 -0
- package/docs/manual/04-cookbook/02-troubleshooting.md +319 -0
- package/docs/manual/04-cookbook/03-faq.md +167 -0
- package/docs/manual/05-appendices/A-platform-matrix.md +97 -0
- package/docs/manual/05-appendices/B-security-checklist.md +78 -0
- package/docs/manual/05-appendices/C-glossary.md +36 -0
- package/docs/manual/05-appendices/D-bibliography.md +54 -0
- package/docs/manual/05-appendices/E-license.md +34 -0
- package/docs/manual/_toc.yml +58 -0
- package/docs/manual/command-index.md +58 -0
- package/docs/manual/concept-index.md +164 -0
- package/docs/operations/ATTESTATION.md +39 -0
- package/docs/operations/MAINTENANCE.md +59 -0
- package/docs/operations/MIGRATION.md +101 -0
- package/docs/operations/OPERATIONS.md +164 -0
- package/docs/operations/RELIABILITY.md +116 -0
- package/docs/{ROADMAP.md → operations/ROADMAP.md} +11 -11
- package/docs/operations/TESTING.md +195 -0
- package/docs/operations/TRACEABILITY.md +31 -0
- package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +61 -0
- package/docs/operations/VERSION_SYNC.md +344 -0
- package/docs/{ALIASES.md → reference/ALIASES.md} +2 -6
- package/docs/reference/ALIASES_CHEATSHEET.md +28 -0
- package/docs/reference/ALIASES_DEPRECATIONS.md +9 -0
- package/docs/reference/FEATURES.md +62 -0
- package/docs/reference/FONTS.md +108 -0
- package/docs/reference/PROFILES.md +65 -0
- package/docs/{SCREENSHOTS.md → reference/SCREENSHOTS.md} +26 -25
- package/docs/reference/SCRIPTS.md +67 -0
- package/docs/reference/SUPPORT_MATRIX.md +74 -0
- package/docs/reference/THEMES.md +113 -0
- package/docs/reference/TOOLS.md +105 -0
- package/docs/reference/UTILS.md +151 -0
- package/docs/security/AI_ACT_COMPLIANCE.md +90 -0
- package/docs/security/AUTOMATION_SECRETS.md +22 -0
- package/docs/security/COMPLIANCE.md +453 -0
- package/docs/security/ENCRYPTION.md +52 -0
- package/docs/security/FMEA.md +155 -0
- package/docs/security/INCIDENT_RESPONSE.md +575 -0
- package/docs/security/KEYS.md +45 -0
- package/docs/security/MCP_POLICY.md +69 -0
- package/docs/security/POLICY_RELEASES.md +33 -0
- package/docs/security/README.md +24 -0
- package/docs/security/SECRETS.md +146 -0
- package/docs/security/SECURITY.md +41 -0
- package/docs/security/SECURITY_CHECKLIST.md +44 -0
- package/docs/security/SOUP_REGISTER.md +32 -0
- package/docs/security/THREAT_MODEL.md +120 -0
- package/docs/security/VERIFICATION_VALIDATION.md +224 -0
- package/docs/themes/README.md +3 -17
- package/docs/themes/VISUAL_INTEGRITY_REPORT.md +26 -0
- package/docs/themes/hero-shot.svg +78 -0
- package/dot_config/.module-manifest.json +69 -0
- package/dot_config/ai/identity.md +20 -0
- package/dot_config/ai/patterns/architect.md +14 -0
- package/dot_config/ai/patterns/hardener.md +13 -0
- package/dot_config/ai/patterns/refactor.md +13 -0
- package/dot_config/aider/aider.conf.yml +1 -1
- package/dot_config/alacritty/alacritty.toml.tmpl +41 -469
- package/dot_config/atuin/config.toml +18 -1
- package/dot_config/bat/config +16 -1
- package/dot_config/claude/mcp_servers.json +3 -32
- package/dot_config/dotfiles/agent-card.json +29 -0
- package/dot_config/dotfiles/agent-profiles.json +92 -0
- package/dot_config/dotfiles/boot/README.md +1 -1
- package/dot_config/dotfiles/grub/README.md +1 -1
- package/dot_config/dotfiles/lock/README.md +1 -1
- package/dot_config/dotfiles/mcp-lock.json +33 -0
- package/dot_config/dotfiles/mcp-policy.json +52 -0
- package/dot_config/dotfiles/mcp-registry.json +47 -0
- package/dot_config/dotfiles/model-registry.json +20 -0
- package/dot_config/dotfiles/policy-bundles.json +38 -0
- package/dot_config/dotfiles/prompt-registry.json +16 -0
- package/dot_config/dotfiles/versions.env +18 -0
- package/dot_config/environment.d/50-ssh-agent.conf +2 -0
- package/dot_config/environment.d/90-wayland.conf +19 -0
- package/dot_config/firefox/user.js.tmpl +58 -0
- package/dot_config/fish/completions/dot-theme-sync.fish.tmpl +9 -0
- package/dot_config/fish/completions/dot.fish.tmpl +115 -0
- package/dot_config/fish/conf.d/000-perf-cache.fish +56 -0
- package/dot_config/fish/conf.d/aliases.fish.tmpl +77 -0
- package/dot_config/fish/conf.d/env.fish.tmpl +48 -0
- package/dot_config/fish/conf.d/functions.fish.tmpl +22 -0
- package/dot_config/fish/conf.d/init.fish.tmpl +151 -0
- package/dot_config/fish/config.fish.tmpl +44 -0
- package/dot_config/fish/fish_plugins +1 -0
- package/dot_config/fish/functions/_.fish +3 -0
- package/dot_config/fish/functions/_cached_eval.fish +58 -0
- package/dot_config/fish/functions/als.fish +46 -0
- package/dot_config/fish/functions/bg-upgrade.fish +7 -0
- package/dot_config/fish/functions/c.fish +3 -0
- package/dot_config/fish/functions/cat.fish +9 -0
- package/dot_config/fish/functions/d.fish +7 -0
- package/dot_config/fish/functions/dot.fish +34 -0
- package/dot_config/fish/functions/h.fish +3 -0
- package/dot_config/fish/functions/l.fish +7 -0
- package/dot_config/fish/functions/la.fish +7 -0
- package/dot_config/fish/functions/ll.fish +7 -0
- package/dot_config/fish/functions/log_error.fish +13 -0
- package/dot_config/fish/functions/log_info.fish +13 -0
- package/dot_config/fish/functions/lr.fish +7 -0
- package/dot_config/fish/functions/lra.fish +7 -0
- package/dot_config/fish/functions/ls.fish +7 -0
- package/dot_config/fish/functions/lt.fish +7 -0
- package/dot_config/fish/functions/lta.fish +7 -0
- package/dot_config/fish/functions/notify-run.fish +11 -0
- package/dot_config/fish/functions/q.fish +3 -0
- package/dot_config/fish/functions/silent-run.fish +7 -0
- package/dot_config/fish/functions/yy.fish +8 -0
- package/dot_config/fontconfig/fonts.conf.tmpl +13 -0
- package/dot_config/foot/foot.ini.tmpl +33 -0
- package/dot_config/fuzzel/fuzzel.ini.tmpl +18 -0
- package/dot_config/fzf/fzf.zsh +48 -0
- package/dot_config/ghostty/config.tmpl +69 -565
- package/dot_config/git/allowed_signers.tmpl +18 -0
- package/dot_config/git/commit-template +10 -0
- package/dot_config/gnupg/{gpg-agent.conf.tmpl → gpg-agent.conf} +3 -3
- package/dot_config/goose/config.yaml +2 -2
- package/dot_config/gtk-3.0/gtk.css.tmpl +59 -180
- package/dot_config/gtk-3.0/settings.ini.tmpl +5 -44
- package/dot_config/gtk-4.0/gtk.css.tmpl +79 -136
- package/dot_config/gtk-4.0/settings.ini.tmpl +5 -8
- package/dot_config/ipython/profile_default/ipython_config.py +19 -0
- package/dot_config/just/justfile +18 -0
- package/dot_config/kanshi/config.tmpl +22 -0
- package/dot_config/kitty/kitty.conf.tmpl +44 -508
- package/dot_config/lazygit/config.yml +18 -6
- package/dot_config/mako/config +47 -0
- package/dot_config/micro/settings.json +3 -0
- package/dot_config/mimeapps.list +77 -0
- package/dot_config/mise/config.toml +63 -5
- package/dot_config/mongosh/mongoshrc.js +1 -0
- package/dot_config/mpv/input.conf +47 -0
- package/dot_config/mpv/mpv.conf +47 -0
- package/dot_config/niri/config.kdl.tmpl +327 -0
- package/dot_config/nushell/aliases.nu +18 -0
- package/dot_config/nushell/completions.nu.tmpl +52 -0
- package/dot_config/nushell/config.nu.tmpl +86 -0
- package/dot_config/nushell/env.nu.tmpl +94 -0
- package/dot_config/nushell/functions.nu.tmpl +17 -0
- package/dot_config/nvim/init.lua +14 -0
- package/dot_config/nvim/lazy-lock.json +45 -14
- package/dot_config/nvim/lua/config/autocmds.lua +45 -1
- package/dot_config/nvim/lua/config/keymaps.lua +13 -8
- package/dot_config/nvim/lua/config/lazy.lua +22 -12
- package/dot_config/nvim/lua/config/options.lua +1 -0
- package/dot_config/nvim/lua/plugins/ai.lua +75 -0
- package/dot_config/nvim/lua/plugins/coding.lua +11 -29
- package/dot_config/nvim/lua/plugins/completion.lua +60 -0
- package/dot_config/nvim/lua/plugins/dap.lua +215 -4
- package/dot_config/nvim/lua/plugins/editor.lua +6 -10
- package/dot_config/nvim/lua/plugins/git.lua +1 -0
- package/dot_config/nvim/lua/plugins/lsp.lua +16 -81
- package/dot_config/nvim/lua/plugins/markdown.lua +1 -0
- package/dot_config/nvim/lua/plugins/rust.lua +1 -0
- package/dot_config/nvim/lua/plugins/sessions.lua +1 -0
- package/dot_config/nvim/lua/plugins/ui.lua +23 -51
- package/dot_config/paru/paru.conf +10 -0
- package/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl +81 -0
- package/dot_config/pueue/pueue.yml +34 -0
- package/dot_config/raycast/README.md +1 -1
- package/dot_config/ripgrep/ripgreprc +21 -0
- package/dot_config/shell/00-core-paths.sh.tmpl +62 -24
- package/dot_config/shell/05-core-safety.sh +47 -0
- package/dot_config/shell/10-secrets.sh +40 -0
- package/dot_config/shell/40-fzf-defaults.sh.tmpl +16 -0
- package/dot_config/shell/40-ls-colors.sh +48 -0
- package/dot_config/shell/50-logic-functions-core.sh.tmpl +10 -0
- package/dot_config/shell/51-logic-functions-extra.sh.tmpl +64 -0
- package/dot_config/shell/90-ux-aliases.sh.tmpl +90 -5
- package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +33 -2
- package/dot_config/shell/Brewfile.cli +8 -0
- package/dot_config/shell/README.md +9 -9
- package/dot_config/shell/als_data.txt.tmpl +65 -0
- package/dot_config/shell/custom/auto_ls.zsh +20 -0
- package/dot_config/shell/custom/context_suggest.zsh +50 -50
- package/dot_config/shell/custom/error_analysis.zsh +29 -29
- package/dot_config/starship.toml.tmpl +85 -7
- package/dot_config/swaylock/config +43 -0
- package/dot_config/systemd/user/dotfiles-maintenance.service +8 -0
- package/dot_config/systemd/user/dotfiles-maintenance.timer +11 -0
- package/dot_config/systemd/user/pueued.service +12 -0
- package/dot_config/systemd/user/ssh-agent.service +12 -0
- package/dot_config/tmux/tmux.conf.tmpl +80 -38
- package/dot_config/topgrade.toml.tmpl +54 -0
- package/dot_config/user-dirs.dirs +9 -0
- package/dot_config/vscode/settings.json.tmpl +9 -50
- package/dot_config/waybar/config.jsonc.tmpl +90 -0
- package/dot_config/waybar/style.css.tmpl +211 -0
- package/dot_config/wezterm/wezterm.lua.tmpl +31 -203
- package/dot_config/xdg-desktop-portal/niri-portals.conf +5 -0
- package/dot_config/yazi/keymap.toml +67 -0
- package/dot_config/yazi/theme.toml +102 -0
- package/dot_config/zathura/zathurarc +52 -0
- package/dot_config/zellij/{config.kdl → config.kdl.tmpl} +1 -1
- package/dot_config/zsh/dot_zprofile +1 -7
- package/dot_config/zsh/dot_zshenv +2 -3
- package/dot_config/zsh/dot_zshrc.tmpl +368 -69
- package/dot_config/zsh/rc.d/00-alias-shims.zsh +77 -0
- package/dot_config/zsh/rc.d/05-ssh-agent.zsh +17 -4
- package/dot_config/zsh/rc.d/10-env.zsh.tmpl +4 -4
- package/dot_config/zsh/rc.d/20-zinit.zsh +65 -0
- package/dot_config/zsh/rc.d/30-options.zsh.tmpl +101 -30
- package/dot_config/zsh/rc.d/99-alias-wrapper.zsh +32 -0
- package/dot_local/bin/__pycache__/executable_dot-load-benchmark-ptycpython-312.pyc +0 -0
- package/dot_local/bin/executable_ai-update +195 -0
- package/dot_local/bin/executable_ai_core +113 -91
- package/dot_local/bin/executable_antigravity +11 -0
- package/dot_local/bin/executable_b64 +61 -36
- package/dot_local/bin/executable_bm +77 -0
- package/dot_local/bin/executable_cb +39 -0
- package/dot_local/bin/executable_dot +543 -132
- package/dot_local/bin/executable_dot-ai +36 -0
- package/dot_local/bin/executable_dot-bootstrap +77 -0
- package/dot_local/bin/executable_dot-launch-or-focus +52 -0
- package/dot_local/bin/executable_dot-load-benchmark +31 -0
- package/dot_local/bin/executable_dot-load-benchmark-pty +77 -0
- package/dot_local/bin/executable_dot-theme-sync +952 -0
- package/dot_local/bin/executable_dot_completion +2 -0
- package/dot_local/bin/executable_dtags +28 -0
- package/dot_local/bin/executable_epoch +43 -38
- package/dot_local/bin/executable_extract +32 -99
- package/dot_local/bin/executable_gbd +52 -0
- package/dot_local/bin/executable_gd +42 -0
- package/dot_local/bin/executable_git-ai-commit +35 -20
- package/dot_local/bin/executable_git-ai-diff +33 -18
- package/dot_local/bin/executable_gl +101 -0
- package/dot_local/bin/executable_hash +56 -18
- package/dot_local/bin/executable_hashsum +160 -0
- package/dot_local/bin/executable_hex +44 -8
- package/dot_local/bin/executable_jsonv +34 -10
- package/dot_local/bin/executable_jwt +22 -6
- package/dot_local/bin/executable_kill-port +18 -2
- package/dot_local/bin/executable_lorem +21 -6
- package/dot_local/bin/executable_mkscript +35 -0
- package/dot_local/bin/executable_monitor +56 -0
- package/dot_local/bin/{executable_ip → executable_myip} +16 -2
- package/dot_local/bin/executable_notify +22 -0
- package/dot_local/bin/executable_open +36 -0
- package/dot_local/bin/executable_pw +27 -0
- package/dot_local/bin/executable_rec-start +46 -0
- package/dot_local/bin/executable_rec-stop +35 -0
- package/dot_local/bin/executable_regex +49 -13
- package/dot_local/bin/executable_start-niri +8 -0
- package/dot_local/bin/executable_tmux-sessionizer +276 -149
- package/dot_local/bin/executable_tour +112 -74
- package/dot_local/bin/executable_up +21 -0
- package/dot_local/bin/executable_update +45 -11
- package/dot_local/bin/executable_uuid +37 -7
- package/dot_local/bin/executable_win +32 -0
- package/dot_local/bin/executable_yamlv +25 -7
- package/dot_local/share/bash-completion/completions/dot +62 -44
- package/dot_local/share/icons/hicolor/128x128/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/16x16/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/24x24/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/256x256/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/32x32/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/48x48/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/512x512/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/64x64/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/96x96/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/scalable/apps/rousseau.png +0 -0
- package/dot_local/share/man/man1/dot.1 +149 -0
- package/dot_local/share/mise/plugins/kiro-cli/bin/executable_download +64 -0
- package/dot_local/share/mise/plugins/kiro-cli/bin/executable_install +18 -0
- package/dot_local/share/mise/plugins/kiro-cli/bin/executable_list-all +13 -0
- package/dot_local/share/wayland-sessions/niri.desktop.tmpl +6 -0
- package/dot_local/share/zsh/completions/_dot +283 -0
- package/install.sh +297 -210
- package/package.json +17 -5
- package/scripts/ci/check-copyright-headers.sh +96 -0
- package/scripts/ci/guard-gitleaks-checkout.sh +57 -0
- package/scripts/ci/install-chezmoi-verified.sh +64 -0
- package/scripts/ci/validate-ci-config.sh +41 -39
- package/scripts/demo/record.sh +3 -2
- package/scripts/diagnostics/a2a-conformance.sh +162 -0
- package/scripts/diagnostics/alias-governance.sh +137 -0
- package/scripts/diagnostics/aliases-cheatsheet.sh +73 -0
- package/scripts/diagnostics/aliases-manifest.sh +31 -0
- package/scripts/diagnostics/benchmark.sh +209 -29
- package/scripts/diagnostics/conflicts.sh +72 -0
- package/scripts/diagnostics/doctor-unified.sh +38 -0
- package/scripts/diagnostics/doctor.sh +491 -65
- package/scripts/diagnostics/drift-dashboard.sh +17 -6
- package/scripts/diagnostics/health.sh +351 -110
- package/scripts/diagnostics/history-analysis.sh +12 -4
- package/scripts/diagnostics/mcp-doctor.sh +575 -0
- package/scripts/diagnostics/perf.sh +225 -0
- package/scripts/diagnostics/scorecard.sh +118 -0
- package/scripts/diagnostics/secret-governance.sh +58 -0
- package/scripts/diagnostics/security-score.sh +139 -93
- package/scripts/diagnostics/smoke-test.sh +87 -0
- package/scripts/diagnostics/snapshot.sh +89 -0
- package/scripts/diagnostics/verify.sh +107 -0
- package/scripts/diagnostics/verify_state.sh +2 -2
- package/scripts/diagnostics/version-locks.sh +79 -0
- package/scripts/diagnostics/workstation-attestation.sh +181 -0
- package/scripts/docs/build-manual.sh +883 -0
- package/scripts/docs/check-manual.sh +213 -0
- package/scripts/dot/commands/agent.sh +465 -0
- package/scripts/dot/commands/ai.sh +416 -0
- package/scripts/dot/commands/aliases.sh +250 -0
- package/scripts/dot/commands/appearance.sh +21 -4
- package/scripts/dot/commands/core.sh +59 -4
- package/scripts/dot/commands/diagnostics.sh +132 -3
- package/scripts/dot/commands/fleet.sh +399 -0
- package/scripts/dot/commands/lint.sh +177 -0
- package/scripts/dot/commands/manual.sh +168 -0
- package/scripts/dot/commands/meta.sh +148 -17
- package/scripts/dot/commands/patterns.sh +54 -0
- package/scripts/dot/commands/restore.sh +57 -35
- package/scripts/dot/commands/secrets.sh +151 -9
- package/scripts/dot/commands/security.sh +3 -0
- package/scripts/dot/commands/tools.sh +268 -27
- package/scripts/dot/data/alias-deprecations.tsv +2 -0
- package/scripts/dot/lib/bento.sh +49 -0
- package/scripts/dot/lib/log.sh +194 -0
- package/scripts/dot/lib/platform.sh +98 -0
- package/scripts/dot/lib/ui.sh +507 -0
- package/scripts/dot/lib/utils.sh +318 -18
- package/scripts/fonts/install-nerd-fonts.sh +19 -10
- package/scripts/fonts/patch-fonts.sh +1 -0
- package/scripts/git-hooks/install.sh +11 -0
- package/scripts/git-hooks/pre-commit +12 -0
- package/scripts/git-hooks/pre-commit-audit.sh +145 -0
- package/scripts/git-hooks/pre-push +29 -0
- package/scripts/git-hooks/prepare-commit-msg +29 -0
- package/scripts/lib/secrets_provider.sh +158 -0
- package/scripts/maintenance/check-updates.sh +131 -0
- package/scripts/ops/ai-setup.sh +55 -0
- package/scripts/ops/bundle.sh +77 -0
- package/scripts/ops/chaos.sh +49 -0
- package/scripts/ops/chezmoi-apply.sh +245 -17
- package/scripts/ops/chezmoi-diff.sh +1 -0
- package/scripts/ops/chezmoi-remove.sh +2 -0
- package/scripts/ops/chezmoi-update.sh +34 -2
- package/scripts/ops/heal-chezmoi.sh +51 -0
- package/scripts/ops/heal-system.sh +128 -0
- package/scripts/ops/heal-tools.sh +340 -0
- package/scripts/ops/heal.sh +98 -342
- package/scripts/ops/post-apply-repair.sh +106 -0
- package/scripts/ops/prewarm.sh +127 -0
- package/scripts/ops/release.sh +252 -0
- package/scripts/ops/rollback.sh +86 -28
- package/scripts/ops/setup.sh +137 -0
- package/scripts/ops/teleport.sh +2 -1
- package/scripts/qa/coverage-baseline.sh +60 -0
- package/scripts/qa/docs-coverage.sh +111 -0
- package/scripts/qa/reliability-audit.sh +138 -0
- package/scripts/qa/traceability-coverage.sh +116 -0
- package/scripts/qa/validate-examples.sh +26 -0
- package/scripts/qa/wsl-contract.sh +11 -0
- package/scripts/release/package-policy-bundles.sh +125 -0
- package/scripts/secrets/age-init.sh +1 -0
- package/scripts/secrets/create-secrets-file.sh +1 -0
- package/scripts/secrets/encrypt-ssh-key.sh +1 -0
- package/scripts/security/backup.sh +44 -4
- package/scripts/security/dns-doh.sh +36 -14
- package/scripts/security/encryption-check.sh +27 -12
- package/scripts/security/enforce-policies.sh +11 -16
- package/scripts/security/firewall.sh +76 -20
- package/scripts/security/lock-configs.sh +2 -2
- package/scripts/security/lock-screen.sh +40 -18
- package/scripts/security/manage-secrets.sh +42 -29
- package/scripts/security/ssh-cert.sh +203 -0
- package/scripts/security/telemetry-kill.sh +40 -18
- package/scripts/security/usb-safety.sh +37 -15
- package/scripts/theme/apply-gnome-theme.sh +87 -56
- package/scripts/theme/extract-theme.py +677 -0
- package/scripts/theme/install-boot-logo.sh +1 -0
- package/scripts/theme/install-catppuccin-themes.sh +57 -33
- package/scripts/theme/install-cursors.sh +1 -0
- package/scripts/theme/install-file-icons.sh +1 -0
- package/scripts/theme/install-grub-theme.sh +11 -1
- package/scripts/theme/install-lock-icon.sh +1 -0
- package/scripts/theme/merge-wallpaper.sh +141 -0
- package/scripts/theme/rebuild-themes.sh +309 -0
- package/scripts/theme/switch.sh +308 -137
- package/scripts/theme/wallpaper-rotate.sh +66 -12
- package/scripts/theme/wallpaper-sync.sh +386 -31
- package/scripts/tools/cmatrix.sh +1 -0
- package/scripts/tools/detect-collisions.py +1 -1
- package/scripts/tools/emoji-picker.sh +4 -1
- package/scripts/tools/figlet-banner.sh +1 -0
- package/scripts/tools/log-rotate.sh +2 -1
- package/scripts/tools/lolcat-wrap.sh +1 -0
- package/scripts/tools/pipes.sh +1 -0
- package/scripts/tuning/linux.sh +23 -13
- package/scripts/tuning/macos.sh +13 -4
- package/scripts/uninstall.sh +85 -0
- package/scripts/version-sync.sh +487 -0
- package/templates/chezmoi-data/geekom-a9.toml.example +21 -0
- package/templates/chezmoi-data/mac-m1.toml.example +16 -0
- package/templates/chezmoi-data/mac-t2-linux.toml.example +21 -0
- package/templates/chezmoi-data/surface-pro-7p.toml.example +21 -0
- package/templates/projects/go/.github/workflows/ci.yml +31 -0
- package/templates/projects/go/README.md +1 -1
- package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +1 -0
- package/templates/projects/go/go.sum +0 -0
- package/templates/projects/molecule/README.md +1 -1
- package/templates/projects/node/.github/workflows/ci.yml +30 -0
- package/templates/projects/node/README.md +1 -1
- package/templates/projects/node/package-lock.json +12 -0
- package/templates/projects/node/src/index.js +1 -0
- package/templates/projects/packer/README.md +1 -1
- package/templates/projects/python/.github/workflows/ci.yml +34 -0
- package/templates/projects/python/README.md +1 -1
- package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +1 -0
- package/templates/projects/python/tests/test_basic.py +1 -0
- package/docs/ARCHITECTURE.md +0 -229
- package/docs/COMPLIANCE.md +0 -47
- package/docs/FEATURES.md +0 -166
- package/docs/FONTS.md +0 -147
- package/docs/INSTALL.md +0 -119
- package/docs/KEYS.md +0 -40
- package/docs/OPERATIONS.md +0 -130
- package/docs/PR_DESCRIPTION.md +0 -149
- package/docs/SECRETS.md +0 -76
- package/docs/SECURITY.md +0 -30
- package/docs/SECURITY_CHECKLIST.md +0 -25
- package/docs/TASK.md +0 -99
- package/docs/TESTING.md +0 -190
- package/docs/TOOLS.md +0 -146
- package/docs/UTILS.md +0 -105
- package/docs/WALKTHROUGH.md +0 -165
- package/dot_config/clippy.toml +0 -55
- package/dot_config/dotfiles/versions.env.tmpl +0 -19
- package/dot_config/firefox/user.js +0 -8
- package/dot_config/git/config.tmpl +0 -77
- package/dot_config/go/aliases.sh +0 -61
- package/dot_config/go/env.sh +0 -24
- package/dot_config/ice/README.md +0 -13
- package/dot_config/ipython/profile_default/ipython_config.py.tmpl +0 -5
- package/dot_config/lsd/config.yaml +0 -19
- package/dot_config/nvim/snippets/all.lua +0 -9
- package/dot_config/nvim/snippets/python.lua +0 -16
- package/dot_config/shell/00-container-detect.sh +0 -53
- package/dot_config/shell/05-core-safety.sh.tmpl +0 -13
- package/dot_config/shell/40-ls-colors.sh.tmpl +0 -31
- package/dot_config/shell/90-theme-switch.sh +0 -70
- package/dot_config/topgrade/topgrade.toml.tmpl +0 -42
- package/dot_config/waybar/style.css +0 -8
- package/dot_config/zsh/rc.d/20-zinit.zsh.tmpl +0 -22
- package/dot_local/bin/executable_zig-install +0 -89
- package/dot_local/bin/voice_ops +0 -7
- package/scripts/ops/health-check.sh +0 -380
- package/scripts/tests/README.md +0 -241
- package/scripts/tests/benchmark.sh +0 -91
- package/scripts/tests/framework/assertions.sh +0 -283
- package/scripts/tests/framework/mocks.sh +0 -201
- package/scripts/tests/framework/test_runner.sh +0 -189
- package/scripts/tests/integration/test_install.sh +0 -237
- package/scripts/tests/performance/benchmark_runner.sh +0 -156
- package/scripts/tests/performance/regression_check.sh +0 -73
- package/scripts/tests/performance/stress_test.sh +0 -65
- package/scripts/tests/test-aliases.sh +0 -25
- package/scripts/tests/test-docker.sh +0 -48
- package/scripts/tests/unit/test_ai_aliases.sh +0 -158
- package/scripts/tests/unit/test_ai_cli_checks.sh +0 -47
- package/scripts/tests/unit/test_backup.sh +0 -227
- package/scripts/tests/unit/test_case_functions.sh +0 -238
- package/scripts/tests/unit/test_cd_aliases.sh +0 -367
- package/scripts/tests/unit/test_dot_cli.sh +0 -217
- package/scripts/tests/unit/test_encode64.sh +0 -67
- package/scripts/tests/unit/test_environment.sh +0 -78
- package/scripts/tests/unit/test_extract.sh +0 -163
- package/scripts/tests/unit/test_framework_edge_cases.sh +0 -113
- package/scripts/tests/unit/test_genpass.sh +0 -298
- package/scripts/tests/unit/test_install_edge_cases.sh +0 -167
- package/scripts/tests/unit/test_installers.sh +0 -172
- package/scripts/tests/unit/test_keygen.sh +0 -68
- package/scripts/tests/unit/test_logging.sh +0 -96
- package/scripts/tests/unit/test_os_detection_comprehensive.sh +0 -388
- package/scripts/tests/unit/test_package_managers_comprehensive.sh +0 -321
- package/scripts/tests/unit/test_prependpath.sh +0 -66
- package/scripts/tests/unit/test_prependpath_refactored.sh +0 -89
- package/scripts/tests/unit/test_rd.sh +0 -230
- package/scripts/tests/unit/test_security_fixes.sh +0 -130
- package/scripts/tests/unit/test_security_scripts.sh +0 -87
- package/scripts/tests/unit/test_template_validation.sh +0 -238
- package/scripts/tests/unit/test_utility_functions.sh +0 -144
- package/scripts/tests/unit/test_wave1_alias_split.sh +0 -132
- package/scripts/tests/unit/test_wave1_ci_pinning.sh +0 -61
- package/scripts/tests/unit/test_wave1_gitleaks_config.sh +0 -52
- package/scripts/tests/unit/test_wave1_heal_fixes.sh +0 -97
- package/scripts/tests/unit/test_wave1_install_gpg.sh +0 -35
- package/scripts/tests/unit/test_wave1_zshenv_path.sh +0 -89
- package/scripts/tests/unit/test_wave1_zshrc_lazy_hook.sh +0 -115
- package/scripts/tests/unit/test_wave2_dot_new_guard.sh +0 -75
- package/scripts/tests/unit/test_zipf.sh +0 -76
- /package/docs/{LEGACY_ROADMAP.md → archive/LEGACY_ROADMAP.md} +0 -0
- /package/docs/{REPO_AUDIT.md → archive/REPO_AUDIT.md} +0 -0
- /package/docs/{KEY_ROTATION.md → security/KEY_ROTATION.md} +0 -0
- /package/dot_config/ansible/{ansible.cfg.tmpl → ansible.cfg} +0 -0
- /package/dot_config/docker/{config.json.tmpl → config.json} +0 -0
- /package/dot_config/k9s/{config.yaml.tmpl → config.yaml} +0 -0
- /package/dot_config/pypoetry/{config.toml.tmpl → config.toml} +0 -0
- /package/dot_config/{pyrightconfig.json.tmpl → pyrightconfig.json} +0 -0
- /package/dot_config/tflint/{tflint.hcl.tmpl → tflint.hcl} +0 -0
- /package/dot_config/yarn/{yarnrc.yml.tmpl → yarnrc.yml} +0 -0
- /package/dot_config/zsh/rc.d/{40-bell.zsh.tmpl → 40-bell.zsh} +0 -0
- /package/dot_config/zsh/rc.d/{50-login-fortune.zsh.tmpl → 50-login-fortune.zsh} +0 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Appendix D: Bibliography
|
|
2
|
+
|
|
3
|
+
Cited works and recommended reading.
|
|
4
|
+
|
|
5
|
+
## Algorithms
|
|
6
|
+
|
|
7
|
+
- **MacQueen, J. (1967).** *Some methods for classification and analysis of multivariate observations.* Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability. — The original K-Means paper.
|
|
8
|
+
- **Arthur, D. & Vassilvitskii, S. (2007).** *K-Means++: The advantages of careful seeding.* ACM-SIAM Symposium on Discrete Algorithms. <https://theory.stanford.edu/~sergei/papers/kMeansPP-soda.pdf>
|
|
9
|
+
- **Heckbert, P. (1982).** *Color image quantization for frame buffer display.* Computer Graphics 16(3). — Median cut algorithm, the alternative to K-Means.
|
|
10
|
+
|
|
11
|
+
## Color Science
|
|
12
|
+
|
|
13
|
+
- **CIE (1976).** *Recommendations on uniform color spaces, color-difference equations, psychometric color terms.* Supplement No. 2 to CIE Publication No. 15. — Defines CIELAB.
|
|
14
|
+
- **Lindbloom, B. J.** *RGB/XYZ matrices.* <http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html> — sRGB → XYZ conversion reference.
|
|
15
|
+
- **Fairchild, M. D. (2013).** *Color Appearance Models, 3rd Edition.* Wiley. — Comprehensive treatment of perceptual color spaces.
|
|
16
|
+
|
|
17
|
+
## Accessibility
|
|
18
|
+
|
|
19
|
+
- **W3C (2023).** *Web Content Accessibility Guidelines (WCAG) 2.2.* <https://www.w3.org/TR/WCAG22/> — Accessibility standards including contrast ratios.
|
|
20
|
+
- **W3C.** *Techniques for WCAG 2.2: G17 Using a contrast ratio of at least 7:1.* <https://www.w3.org/WAI/WCAG22/Techniques/general/G17>
|
|
21
|
+
|
|
22
|
+
## Cryptography
|
|
23
|
+
|
|
24
|
+
- **Valsorda, F. (2020).** *age: A simple, modern and secure encryption tool.* <https://age-encryption.org/>
|
|
25
|
+
- **Mozilla.** *SOPS: Secrets OPerationS.* <https://github.com/getsops/sops>
|
|
26
|
+
- **Barnes, R., et al. (2023).** *RFC 9420: The Messaging Layer Security (MLS) Protocol.* — Modern group-key agreement, relevant to multi-recipient encryption.
|
|
27
|
+
|
|
28
|
+
## Protocols
|
|
29
|
+
|
|
30
|
+
- **Anthropic.** *Model Context Protocol specification.* <https://modelcontextprotocol.io/>
|
|
31
|
+
- **OpenID Foundation.** *Model Context Protocol A2A (Agent-to-Agent).* — Referenced in `dot_config/dotfiles/agent-card.json`.
|
|
32
|
+
|
|
33
|
+
## Tools & Systems
|
|
34
|
+
|
|
35
|
+
- **Twpayne, T.** *chezmoi: Manage your dotfiles across multiple machines.* <https://chezmoi.io>
|
|
36
|
+
- **jdxcode.** *mise: Dev tools, env vars, task runner.* <https://mise.jdx.dev/>
|
|
37
|
+
- **NixOS.** *Nix Flakes.* <https://nixos.wiki/wiki/Flakes>
|
|
38
|
+
- **Microsoft / CycloneDX.** *CycloneDX SBOM specification.* <https://cyclonedx.org/>
|
|
39
|
+
- **Anchore.** *Syft + Grype.* <https://github.com/anchore/syft>, <https://github.com/anchore/grype>
|
|
40
|
+
|
|
41
|
+
## Shell Performance
|
|
42
|
+
|
|
43
|
+
- **Yoo, D.** *How to benchmark shell startup time.* <https://web.archive.org/web/2023/https://hermann.blog/benchmark-shell-startup-time>
|
|
44
|
+
- **Zsh manual.** *Startup files: zshenv, zprofile, zshrc.* <https://zsh.sourceforge.io/Doc/Release/Files.html>
|
|
45
|
+
|
|
46
|
+
## Documentation Systems
|
|
47
|
+
|
|
48
|
+
- **GNU Stow documentation.** <https://www.gnu.org/software/stow/manual/> — Inspiration for this manual's multi-format publishing model.
|
|
49
|
+
- **Pandoc.** *Universal document converter.* <https://pandoc.org/>
|
|
50
|
+
- **GNU Texinfo.** <https://www.gnu.org/software/texinfo/> — The original GNU documentation system.
|
|
51
|
+
|
|
52
|
+
## Author
|
|
53
|
+
|
|
54
|
+
- **Rousseau, S.** *Dotfiles v0.2.500.* <https://github.com/sebastienrousseau/dotfiles>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Appendix E: License
|
|
2
|
+
|
|
3
|
+
## MIT License
|
|
4
|
+
|
|
5
|
+
Copyright (c) 2015-2026 Sebastien Rousseau
|
|
6
|
+
|
|
7
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
8
|
+
|
|
9
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
10
|
+
|
|
11
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
12
|
+
|
|
13
|
+
## Third-Party Licenses
|
|
14
|
+
|
|
15
|
+
This repository references, configures, or wraps many third-party tools. Each tool retains its own license:
|
|
16
|
+
|
|
17
|
+
| Tool | License |
|
|
18
|
+
|:---|:---|
|
|
19
|
+
| Chezmoi | MIT |
|
|
20
|
+
| Mise | MIT |
|
|
21
|
+
| Nix | LGPL-2.1 |
|
|
22
|
+
| Age | BSD-3-Clause |
|
|
23
|
+
| SOPS | MPL-2.0 |
|
|
24
|
+
| Fish shell | GPL-2.0 |
|
|
25
|
+
| Zsh | Zsh License (MIT-like) |
|
|
26
|
+
| Neovim | Apache-2.0 |
|
|
27
|
+
| ImageMagick | ImageMagick License (Apache-2.0-like) |
|
|
28
|
+
| Pandoc | GPL-2.0+ |
|
|
29
|
+
|
|
30
|
+
Wallpapers referenced from `/System/Library/Desktop Pictures/` or `/usr/share/backgrounds/` retain their original vendors' licenses (Apple, Microsoft, distribution vendors). They are not redistributed by this repository — they are discovered and processed in place.
|
|
31
|
+
|
|
32
|
+
## Contributions
|
|
33
|
+
|
|
34
|
+
Contributions are accepted under the MIT License. By submitting a pull request, you assert that your contribution is your own work (or properly attributed) and that it may be relicensed under MIT.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Master ordering for build-manual.sh
|
|
2
|
+
# Determines concatenation order for single-page HTML/PDF/EPUB
|
|
3
|
+
title: "The .dotfiles Manual"
|
|
4
|
+
subtitle: "A Trusted Agent Workstation for macOS, Linux, and WSL"
|
|
5
|
+
version: "0.2.500"
|
|
6
|
+
|
|
7
|
+
sections:
|
|
8
|
+
- file: 00-introduction.md
|
|
9
|
+
title: "Introduction"
|
|
10
|
+
|
|
11
|
+
- group: "Concepts"
|
|
12
|
+
prefix: "01-concepts"
|
|
13
|
+
files:
|
|
14
|
+
- 01-architecture.md
|
|
15
|
+
- 02-trust-model.md
|
|
16
|
+
- 03-theme-engine.md
|
|
17
|
+
- 04-fleet.md
|
|
18
|
+
- 05-self-healing.md
|
|
19
|
+
|
|
20
|
+
- group: "Tutorials"
|
|
21
|
+
prefix: "02-tutorials"
|
|
22
|
+
files:
|
|
23
|
+
- 01-first-install.md
|
|
24
|
+
- 02-add-wallpaper.md
|
|
25
|
+
- 03-create-profile.md
|
|
26
|
+
- 04-encrypt-secret.md
|
|
27
|
+
- 05-deploy-fleet.md
|
|
28
|
+
|
|
29
|
+
- group: "Reference"
|
|
30
|
+
prefix: "03-reference"
|
|
31
|
+
files:
|
|
32
|
+
- 01-dot-cli.md
|
|
33
|
+
- 02-config-files.md
|
|
34
|
+
- 03-environment.md
|
|
35
|
+
- 04-templates.md
|
|
36
|
+
- 05-feature-flags.md
|
|
37
|
+
|
|
38
|
+
- group: "Cookbook"
|
|
39
|
+
prefix: "04-cookbook"
|
|
40
|
+
files:
|
|
41
|
+
- 01-recipes.md
|
|
42
|
+
- 02-troubleshooting.md
|
|
43
|
+
- 03-faq.md
|
|
44
|
+
|
|
45
|
+
- group: "Appendices"
|
|
46
|
+
prefix: "05-appendices"
|
|
47
|
+
files:
|
|
48
|
+
- A-platform-matrix.md
|
|
49
|
+
- B-security-checklist.md
|
|
50
|
+
- C-glossary.md
|
|
51
|
+
- D-bibliography.md
|
|
52
|
+
- E-license.md
|
|
53
|
+
|
|
54
|
+
- file: concept-index.md
|
|
55
|
+
title: "Concept Index"
|
|
56
|
+
|
|
57
|
+
- file: command-index.md
|
|
58
|
+
title: "Command Index"
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Command Index
|
|
2
|
+
|
|
3
|
+
Alphabetical list of `dot` subcommands referenced in the manual.
|
|
4
|
+
|
|
5
|
+
- `dot agent`
|
|
6
|
+
- `dot ai`
|
|
7
|
+
- `dot apply --dry-run`
|
|
8
|
+
- `dot apply`
|
|
9
|
+
- `dot attest`
|
|
10
|
+
- `dot benchmark --detailed`
|
|
11
|
+
- `dot benchmark`
|
|
12
|
+
- `dot bundle`
|
|
13
|
+
- `dot cache-refresh`
|
|
14
|
+
- `dot cd`
|
|
15
|
+
- `dot chaos`
|
|
16
|
+
- `dot clean-cache`
|
|
17
|
+
- `dot commit`
|
|
18
|
+
- `dot diff`
|
|
19
|
+
- `dot doctor --json`
|
|
20
|
+
- `dot doctor`
|
|
21
|
+
- `dot drift`
|
|
22
|
+
- `dot edit`
|
|
23
|
+
- `dot env`
|
|
24
|
+
- `dot fleet attest`
|
|
25
|
+
- `dot fleet diff`
|
|
26
|
+
- `dot fleet sync`
|
|
27
|
+
- `dot fleet`
|
|
28
|
+
- `dot heal`
|
|
29
|
+
- `dot help`
|
|
30
|
+
- `dot learn`
|
|
31
|
+
- `dot lint`
|
|
32
|
+
- `dot load-bench`
|
|
33
|
+
- `dot manual text`
|
|
34
|
+
- `dot manual`
|
|
35
|
+
- `dot mcp --strict`
|
|
36
|
+
- `dot mcp`
|
|
37
|
+
- `dot metrics`
|
|
38
|
+
- `dot mode`
|
|
39
|
+
- `dot packages`
|
|
40
|
+
- `dot perf`
|
|
41
|
+
- `dot prewarm`
|
|
42
|
+
- `dot profile`
|
|
43
|
+
- `dot rollback`
|
|
44
|
+
- `dot score`
|
|
45
|
+
- `dot secrets rotate`
|
|
46
|
+
- `dot secrets`
|
|
47
|
+
- `dot status`
|
|
48
|
+
- `dot sync`
|
|
49
|
+
- `dot theme list`
|
|
50
|
+
- `dot theme rebuild`
|
|
51
|
+
- `dot theme toggle`
|
|
52
|
+
- `dot theme`
|
|
53
|
+
- `dot tune`
|
|
54
|
+
- `dot update`
|
|
55
|
+
- `dot upgrade`
|
|
56
|
+
- `dot verify --security`
|
|
57
|
+
- `dot verify`
|
|
58
|
+
- `dot version`
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
# Concept Index
|
|
2
|
+
|
|
3
|
+
Alphabetical list of concepts covered in the manual.
|
|
4
|
+
|
|
5
|
+
- Accessibility
|
|
6
|
+
- Adding a New Flag
|
|
7
|
+
- Agent Policy Enforcement
|
|
8
|
+
- AI & Agents
|
|
9
|
+
- Algorithms
|
|
10
|
+
- Apply / Sync
|
|
11
|
+
- Attestation
|
|
12
|
+
- Author
|
|
13
|
+
- Auto-Populated
|
|
14
|
+
- Bibliography
|
|
15
|
+
- Build Artifacts
|
|
16
|
+
- Built-in Chezmoi Functions
|
|
17
|
+
- Built-in Chezmoi Variables
|
|
18
|
+
- Cache Files
|
|
19
|
+
- Caching
|
|
20
|
+
- Changing Presets on an Existing Host
|
|
21
|
+
- Checking Active Flags
|
|
22
|
+
- CI
|
|
23
|
+
- CI-Level Gates
|
|
24
|
+
- CI-Specific
|
|
25
|
+
- Color Science
|
|
26
|
+
- Configuration
|
|
27
|
+
- Contributions
|
|
28
|
+
- Cross-Host Trust
|
|
29
|
+
- Cryptography
|
|
30
|
+
- Daily Use
|
|
31
|
+
- Data Flow
|
|
32
|
+
- Design Principles
|
|
33
|
+
- Development
|
|
34
|
+
- Diagnostics
|
|
35
|
+
- Documentation Systems
|
|
36
|
+
- Drift Detection
|
|
37
|
+
- Dynamic HEIC (Apple Appearance Metadata)
|
|
38
|
+
- Environment Variables
|
|
39
|
+
- Example: Font Size by Preset
|
|
40
|
+
- Example: Platform × Preset
|
|
41
|
+
- Example: Using Theme in Ghostty Config
|
|
42
|
+
- Exit Codes
|
|
43
|
+
- Feature Matrix
|
|
44
|
+
- Flag Catalogue
|
|
45
|
+
- Flag Deprecation
|
|
46
|
+
- Fleet
|
|
47
|
+
- Fleet Attestation
|
|
48
|
+
- Fleet Deployment Workflow
|
|
49
|
+
- Fleet Operational Commands
|
|
50
|
+
- Fleet Trust Propagation
|
|
51
|
+
- From `.chezmoidata.toml`
|
|
52
|
+
- From `.chezmoidata/hardware.toml`
|
|
53
|
+
- From `.chezmoidata/themes.toml`
|
|
54
|
+
- From Feature Flags
|
|
55
|
+
- Gates Enforced by CI
|
|
56
|
+
- General
|
|
57
|
+
- Getting More Help
|
|
58
|
+
- Global Flags
|
|
59
|
+
- Global Flags (`.chezmoidata.toml`)
|
|
60
|
+
- Hardware Presets
|
|
61
|
+
- Helper Templates (in `.chezmoitemplates/`)
|
|
62
|
+
- Identity and Signing
|
|
63
|
+
- Incident Response
|
|
64
|
+
- Inspect & Repair
|
|
65
|
+
- Installation
|
|
66
|
+
- Installation & Update
|
|
67
|
+
- Invocation
|
|
68
|
+
- Limitations
|
|
69
|
+
- Listing Known Presets
|
|
70
|
+
- Log Files
|
|
71
|
+
- Machine-Scoped Secrets
|
|
72
|
+
- Manual
|
|
73
|
+
- MIT License
|
|
74
|
+
- Next
|
|
75
|
+
- Observability
|
|
76
|
+
- Ongoing (monthly)
|
|
77
|
+
- Ongoing (quarterly)
|
|
78
|
+
- Operational Rules
|
|
79
|
+
- Option A: Drop a Static Image
|
|
80
|
+
- Option B: Dynamic HEIC (Recommended)
|
|
81
|
+
- Option C: Golden Ratio Brightness (Advanced)
|
|
82
|
+
- Option D: Install System Wallpapers (Already-Available)
|
|
83
|
+
- Optional Binaries (installed by Mise on first apply)
|
|
84
|
+
- Per-Machine Profiles
|
|
85
|
+
- Per-Preset Overrides (`.chezmoidata/hardware.toml`)
|
|
86
|
+
- Performance
|
|
87
|
+
- Philosophy
|
|
88
|
+
- Post-Install
|
|
89
|
+
- Pre-Install
|
|
90
|
+
- Prerequisites
|
|
91
|
+
- Principles
|
|
92
|
+
- Protocols
|
|
93
|
+
- Read by Tools
|
|
94
|
+
- Recovery
|
|
95
|
+
- Reference
|
|
96
|
+
- Required Binaries
|
|
97
|
+
- Scenario
|
|
98
|
+
- Secret-Related
|
|
99
|
+
- Secrets
|
|
100
|
+
- See Also
|
|
101
|
+
- Shell Performance
|
|
102
|
+
- Single Source, Many Hosts
|
|
103
|
+
- Source Repository
|
|
104
|
+
- Start Here
|
|
105
|
+
- Startup Order
|
|
106
|
+
- Startup Performance Model
|
|
107
|
+
- Step 1: Choose or Create a Preset
|
|
108
|
+
- Step 1: Generate an Age Key (First Time Only)
|
|
109
|
+
- Step 1: Per-Host Install
|
|
110
|
+
- Step 1: Run the Installer
|
|
111
|
+
- Step 2: Choose Encryption Method
|
|
112
|
+
- Step 2: Exchange Signing Keys
|
|
113
|
+
- Step 2: Select the Preset for This Host
|
|
114
|
+
- Step 2: Verify
|
|
115
|
+
- Step 3: Reference the Preset in Templates
|
|
116
|
+
- Step 3: Share the Age Key (for Shared Secrets)
|
|
117
|
+
- Step 3: Take the Tour
|
|
118
|
+
- Step 3A: Chezmoi-Encrypted File
|
|
119
|
+
- Step 3B: SOPS-Encrypted YAML
|
|
120
|
+
- Step 4: Add a New Preset
|
|
121
|
+
- Step 4: Customize
|
|
122
|
+
- Step 4: Reference the Secret in a Template
|
|
123
|
+
- Step 4: Verify Fleet Alignment
|
|
124
|
+
- Step 5: Add Your Identity
|
|
125
|
+
- Step 5: Commit and Verify
|
|
126
|
+
- Step 5: Per-Host Customization
|
|
127
|
+
- Step 5: Per-Preset Feature Flags
|
|
128
|
+
- Step 6: First Theme Switch
|
|
129
|
+
- Step 6: Fleet-Wide Updates
|
|
130
|
+
- Step 6: Multi-Recipient (Fleet)
|
|
131
|
+
- Step 7: Rotate a Compromised Key
|
|
132
|
+
- Step 7: Secrets Rotation
|
|
133
|
+
- Step 8: Decommission a Host
|
|
134
|
+
- Summary
|
|
135
|
+
- Supported Architectures
|
|
136
|
+
- Supported Platforms
|
|
137
|
+
- Supported Shells
|
|
138
|
+
- Template Testing
|
|
139
|
+
- Tested CI Environments
|
|
140
|
+
- The Four Subsystems
|
|
141
|
+
- The Pipeline
|
|
142
|
+
- The Self-Healing Loop
|
|
143
|
+
- The Threat Model
|
|
144
|
+
- The Why
|
|
145
|
+
- Theme
|
|
146
|
+
- Theme Application
|
|
147
|
+
- Themes
|
|
148
|
+
- Third-Party Licenses
|
|
149
|
+
- Threat Model Summary
|
|
150
|
+
- Tools & Systems
|
|
151
|
+
- Troubleshooting
|
|
152
|
+
- Troubleshooting Community
|
|
153
|
+
- Trust Boundaries
|
|
154
|
+
- Unsetting
|
|
155
|
+
- User-Owned Configuration
|
|
156
|
+
- User-Settable
|
|
157
|
+
- Using a Flag in a Template
|
|
158
|
+
- Validation in CI
|
|
159
|
+
- Verified Files
|
|
160
|
+
- Verifying No Plaintext Leaks
|
|
161
|
+
- Verifying the Result
|
|
162
|
+
- Wallpaper Discovery
|
|
163
|
+
- What Got Installed
|
|
164
|
+
- When to Use a Profile
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Workstation Attestation
|
|
2
|
+
|
|
3
|
+
`dot attest` exports a machine-readable record of the current workstation state.
|
|
4
|
+
|
|
5
|
+
It captures:
|
|
6
|
+
- dotfiles version
|
|
7
|
+
- platform and architecture
|
|
8
|
+
- Git signing settings
|
|
9
|
+
- active agent profile
|
|
10
|
+
- MCP strict-mode audit status
|
|
11
|
+
- tracked agent card, profile, and registry data
|
|
12
|
+
- policy bundles
|
|
13
|
+
- model and prompt registries
|
|
14
|
+
|
|
15
|
+
Run:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
dot attest
|
|
19
|
+
dot attest --json
|
|
20
|
+
dot attest -j
|
|
21
|
+
dot attest --write ~/.local/state/dotfiles/attestations/workstation.json
|
|
22
|
+
dot attest -w ~/.local/state/dotfiles/attestations/workstation.json
|
|
23
|
+
dot attest --fleet-store /srv/dotfiles-fleet
|
|
24
|
+
dot attest -F /srv/dotfiles-fleet -I engineering
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
The default output path is `~/.local/state/dotfiles/attestations/workstation-attestation.json`.
|
|
28
|
+
|
|
29
|
+
Fleet export writes:
|
|
30
|
+
|
|
31
|
+
- `<fleet-store>/<fleet-id>/<hostname>/workstation-attestation.json`
|
|
32
|
+
- timestamped copies for retention
|
|
33
|
+
|
|
34
|
+
Governance evidence is embedded directly in the JSON output. That includes:
|
|
35
|
+
|
|
36
|
+
- policy bundle definitions
|
|
37
|
+
- model registry metadata
|
|
38
|
+
- prompt registry metadata
|
|
39
|
+
- tracked MCP policy and registry artifacts
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Dotfiles Maintenance Runbook
|
|
2
|
+
|
|
3
|
+
This runbook captures recovery and release maintenance operations for this repository.
|
|
4
|
+
|
|
5
|
+
## Signed History Recovery (February 19, 2026)
|
|
6
|
+
|
|
7
|
+
**Purpose:** Recover from strict signature enforcement failures caused by legacy/non-compliant commit history.
|
|
8
|
+
|
|
9
|
+
**When to use:**
|
|
10
|
+
|
|
11
|
+
- Pushes are blocked by signature policy on historical commits.
|
|
12
|
+
- Merge ancestry contains commits that can't be validated by the current principal/key policy.
|
|
13
|
+
|
|
14
|
+
**Procedure:**
|
|
15
|
+
|
|
16
|
+
1. Create a backup ref for current `master`.
|
|
17
|
+
2. Build a rewritten signed baseline commit from the current tree.
|
|
18
|
+
3. Push the rewritten branch to remote.
|
|
19
|
+
4. Temporarily allow force-push on `master` protections/rulesets.
|
|
20
|
+
5. Force-update `master` to the rewritten signed baseline.
|
|
21
|
+
6. Disable force-push again immediately.
|
|
22
|
+
7. Re-run CI and verify required checks are green.
|
|
23
|
+
8. Repoint the release tag/target as needed.
|
|
24
|
+
|
|
25
|
+
**Verification commands:**
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
git verify-commit HEAD
|
|
29
|
+
gh run list --workflow ci.yml --branch master --limit 1
|
|
30
|
+
gh release view v0.2.500 --json tagName,targetCommitish,url
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Release Closeout Checklist
|
|
34
|
+
|
|
35
|
+
For every release update:
|
|
36
|
+
|
|
37
|
+
1. `master` branch is clean and synced.
|
|
38
|
+
2. CI is green on the release commit.
|
|
39
|
+
3. Annotated release tag points to the intended commit.
|
|
40
|
+
4. GitHub release target is correct (`master` or explicit commit).
|
|
41
|
+
5. Branch protections/rulesets are restored to strict state.
|
|
42
|
+
6. Local apply has completed:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
CHEZMOI_SOURCE_DIR="$HOME/.dotfiles" ./dot_local/bin/executable_dot apply
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Security Scan Guardrails
|
|
49
|
+
|
|
50
|
+
We prevent gitleaks historical-scan regressions with:
|
|
51
|
+
|
|
52
|
+
- Shallow checkout (`fetch-depth: 1`, `fetch-tags: false`) in gitleaks jobs.
|
|
53
|
+
- A workflow-dispatch guard script: `scripts/ci/guard-gitleaks-checkout.sh`.
|
|
54
|
+
|
|
55
|
+
**Manual verification:**
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
bash scripts/ci/guard-gitleaks-checkout.sh
|
|
59
|
+
```
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# Migration and Upgrade Guide
|
|
2
|
+
|
|
3
|
+
## How to Upgrade
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
# 1. Pre-upgrade check
|
|
7
|
+
dot doctor
|
|
8
|
+
|
|
9
|
+
# 2. Pull latest changes
|
|
10
|
+
cd ~/.dotfiles && git pull
|
|
11
|
+
|
|
12
|
+
# 3. Apply with diagnostics
|
|
13
|
+
dot apply
|
|
14
|
+
|
|
15
|
+
# 4. Post-upgrade verification
|
|
16
|
+
dot doctor
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Version History
|
|
20
|
+
|
|
21
|
+
### v0.2.500 (Current)
|
|
22
|
+
- **Wallpaper-driven theme engine** — themes auto-generated from wallpapers via K-Means in CIELAB color space (no hand-crafted themes)
|
|
23
|
+
- **Dynamic HEIC support** — custom wallpapers ship as Apple-compatible single-file dynamic HEIC; macOS auto-switches dark/light
|
|
24
|
+
- **System wallpaper discovery** — pulls themes from `/System/Library/Desktop Pictures/` (macOS) and `/usr/share/backgrounds/` (Linux)
|
|
25
|
+
- **`dot theme rebuild`** — parallel K-Means generation (4 jobs), mtime-based caching, orphan cleanup
|
|
26
|
+
- **WCAG AAA enforcement** — all generated themes pass 7:1 contrast for fg/bg, accent_text/accent, c15/bg
|
|
27
|
+
- **macOS accent from wallpaper hue** — `dot-theme-sync` reads `macos_accent` from themes.toml and forces UI refresh
|
|
28
|
+
- **HEIC → PNG auto-conversion** on Linux for non-HEIC-aware desktops
|
|
29
|
+
- **Build artifact redirection** — Cargo, Go, pip, uv, Zig caches → `/tmp/builds/` (cleared on reboot)
|
|
30
|
+
- **CI dedup** — `ci-enforced.yml` reuses `reusable-shell-lint.yml` and `reusable-test-suite.yml`
|
|
31
|
+
|
|
32
|
+
### v0.2.499
|
|
33
|
+
- Added AI CLIs: Autohand Code, Mistral Vibe, Qwen Code, ZAI
|
|
34
|
+
- Removed Cline CLI (broken upstream dependency)
|
|
35
|
+
- Interactive mise installer for missing AI providers
|
|
36
|
+
- Mise-first provisioning for all AI tools
|
|
37
|
+
- User extension points: rc.d.local, modules.d, custom dot commands
|
|
38
|
+
- SSH config hardening template
|
|
39
|
+
- Ghostty and WezTerm terminal configs
|
|
40
|
+
- Modern CLI tools: delta, fd, dust, bottom, lazygit, lazydocker, tldr
|
|
41
|
+
- Auto-prewarm after dot apply
|
|
42
|
+
- Expanded Atuin history filters
|
|
43
|
+
|
|
44
|
+
### v0.2.498
|
|
45
|
+
- Theme system with Catppuccin integration
|
|
46
|
+
- Linux desktop parity (Niri, Waybar, Fuzzel)
|
|
47
|
+
- AI tooling expansion (Kiro, OpenCode)
|
|
48
|
+
- Coverage contracts and QA docs
|
|
49
|
+
|
|
50
|
+
### v0.2.497
|
|
51
|
+
- Verified chezmoi installer
|
|
52
|
+
- Shell startup optimization
|
|
53
|
+
- Property-based tests
|
|
54
|
+
|
|
55
|
+
## Breaking Changes
|
|
56
|
+
|
|
57
|
+
If you are upgrading from v0.2.499 or earlier, note these changes:
|
|
58
|
+
|
|
59
|
+
1. **`themes.toml` is now generated** — do not hand-edit. Run `dot theme rebuild` to regenerate from wallpapers
|
|
60
|
+
2. **Theme names changed** — old hand-crafted names (e.g. `catppuccin-mocha`, `macos-tahoe-dark` with hardcoded palettes) are replaced by wallpaper-derived names. The picker only shows paired wallpaper themes.
|
|
61
|
+
3. **Wallpaper format** — custom wallpapers should be dynamic HEIC (single file, both appearances). Use `bash scripts/theme/merge-wallpaper.sh` to merge separate dark/light pairs.
|
|
62
|
+
4. **Build caches relocated** — Cargo/Go/pip/uv/Zig now write to `/tmp/builds/`. Restart your shell after upgrade so `mise [env]` picks up the new paths.
|
|
63
|
+
|
|
64
|
+
If you are upgrading from v0.2.498 or earlier:
|
|
65
|
+
|
|
66
|
+
1. **Cline CLI removed** — if you used `dot cline`, switch to a different AI CLI
|
|
67
|
+
2. **AI tools now install through mise** — run `mise install` to set up AI providers
|
|
68
|
+
3. **SSH config hardening** — check `~/.ssh/config` after apply, as it may change your current settings
|
|
69
|
+
|
|
70
|
+
## Rollback
|
|
71
|
+
|
|
72
|
+
If something goes wrong after an upgrade:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# Quick rollback to previous state
|
|
76
|
+
dot rollback
|
|
77
|
+
|
|
78
|
+
# Rollback to specific backup
|
|
79
|
+
dot rollback status # List available backups
|
|
80
|
+
dot rollback rollback-to 3 # Restore backup #3
|
|
81
|
+
|
|
82
|
+
# Git-based rollback
|
|
83
|
+
cd ~/.dotfiles
|
|
84
|
+
git log --oneline -10 # Find last good commit
|
|
85
|
+
git reset --hard HEAD~1 # Reset to previous commit
|
|
86
|
+
dot apply # Re-apply
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Before You Upgrade
|
|
90
|
+
|
|
91
|
+
- [ ] Run `dot doctor` — make sure everything is healthy
|
|
92
|
+
- [ ] Run `dot diff` — review any pending changes
|
|
93
|
+
- [ ] Back up custom configs: `dot rollback backup`
|
|
94
|
+
- [ ] Read CHANGELOG.md for breaking changes
|
|
95
|
+
|
|
96
|
+
## After You Upgrade
|
|
97
|
+
|
|
98
|
+
- [ ] Run `dot doctor` — make sure the upgrade worked
|
|
99
|
+
- [ ] Run `dot prewarm` — rebuild shell caches
|
|
100
|
+
- [ ] Restart your shell: `exec zsh`
|
|
101
|
+
- [ ] Test AI tools: `dot ai`
|