@sebastienrousseau/dotfiles 0.2.501 → 0.2.503

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.
Files changed (420) hide show
  1. package/CHANGELOG.md +155 -4
  2. package/LICENSE +21 -1283
  3. package/README.md +40 -8
  4. package/docs/CONFIG_STRATEGY.md +124 -0
  5. package/docs/COPYRIGHT +1 -1
  6. package/docs/GOVERNANCE.md +98 -0
  7. package/docs/MAINTAINERS.md +41 -0
  8. package/docs/OPENCODE.md +127 -0
  9. package/docs/README.md +2 -0
  10. package/docs/STRUCTURE.md +102 -0
  11. package/docs/adr/ADR-011-nushell-tier3-keep.md +2 -2
  12. package/docs/architecture/AI_COST_OPTIMIZATION.md +143 -0
  13. package/docs/architecture/REPO_LAYOUT.md +8 -8
  14. package/docs/archive/MILESTONE_v0.2.493.md +1 -1
  15. package/docs/index.md +2 -2
  16. package/docs/interop/POWERSHELL.md +1 -1
  17. package/docs/manual/00-introduction.md +1 -1
  18. package/docs/manual/01-concepts/02-trust-model.md +1 -1
  19. package/docs/manual/03-reference/01-dot-cli.md +63 -45
  20. package/docs/manual/03-reference/02-config-files.md +2 -2
  21. package/docs/manual/03-reference/05-feature-flags.md +62 -3
  22. package/docs/manual/_toc.yml +1 -1
  23. package/docs/manual/command-index.md +72 -55
  24. package/docs/manual/index.md +66 -0
  25. package/docs/operations/CI_COMPOSITES.md +2 -2
  26. package/docs/operations/COMPLETIONS.md +2 -2
  27. package/docs/operations/COVERAGE.md +40 -6
  28. package/docs/operations/HARD_AUDIT_2026.md +631 -0
  29. package/docs/operations/MAINTENANCE.md +3 -3
  30. package/docs/operations/MANIFEST.md +127 -0
  31. package/docs/operations/REGISTRY.md +89 -0
  32. package/docs/operations/RELEASE_PIPELINE.md +130 -0
  33. package/docs/operations/RFC_v0_2_503_reorganization.md +280 -0
  34. package/docs/operations/ROADMAP_2026.md +665 -0
  35. package/docs/operations/ROADMAP_V0_2_503.md +134 -0
  36. package/docs/operations/TESTING.md +17 -0
  37. package/docs/operations/TRACEABILITY.md +9 -3
  38. package/docs/operations/VERSION_SYNC.md +4 -4
  39. package/docs/reference/POWERSHELL_PARITY.md +81 -0
  40. package/docs/registry.json +6 -0
  41. package/docs/schema/dot-env-v1.json +110 -0
  42. package/docs/security/CI_EGRESS_ALLOWLIST.md +1 -1
  43. package/docs/security/CI_PINNING.md +121 -0
  44. package/docs/security/COMMIT_SIGNING.md +138 -0
  45. package/docs/security/DEPS_DEV_EXCEPTIONS.md +2 -2
  46. package/docs/security/DISCLOSURE.md +130 -0
  47. package/docs/security/FUZZING.md +114 -0
  48. package/docs/security/INSTALL_VERIFICATION.md +2 -2
  49. package/docs/security/KEY_ROTATION.md +81 -1
  50. package/docs/security/POLICY_RELEASES.md +2 -2
  51. package/docs/security/SCORECARD.md +130 -15
  52. package/docs/security/SHELL_EXEMPTIONS.md +4 -4
  53. package/docs/security/VERIFY_RELEASE.md +201 -0
  54. package/docs/security/security-pubkey.asc +15 -0
  55. package/install.sh +67 -38
  56. package/package.json +1 -1
  57. package/scripts/README.md +123 -0
  58. package/scripts/ci/check-copyright-headers.sh +4 -93
  59. package/scripts/ci/check-shell-preamble.sh +4 -103
  60. package/scripts/ci/guard-gitleaks-checkout.sh +4 -54
  61. package/scripts/diagnostics/a2a-conformance.sh +4 -4
  62. package/scripts/diagnostics/alias-governance.sh +1 -1
  63. package/scripts/diagnostics/aliases-cheatsheet.sh +2 -2
  64. package/scripts/diagnostics/benchmark.sh +4 -4
  65. package/scripts/diagnostics/conflicts.sh +2 -2
  66. package/scripts/diagnostics/doctor-unified.sh +2 -2
  67. package/scripts/diagnostics/doctor.sh +45 -15
  68. package/scripts/diagnostics/drift-dashboard.sh +2 -2
  69. package/scripts/diagnostics/health.sh +4 -4
  70. package/scripts/diagnostics/history-analysis.sh +2 -2
  71. package/scripts/diagnostics/mcp-doctor.sh +10 -7
  72. package/scripts/diagnostics/perf.sh +4 -4
  73. package/scripts/diagnostics/scorecard.sh +4 -4
  74. package/scripts/diagnostics/security-score.sh +2 -2
  75. package/scripts/diagnostics/smoke-test.sh +2 -2
  76. package/scripts/diagnostics/snapshot.sh +2 -2
  77. package/scripts/diagnostics/verify.sh +4 -4
  78. package/scripts/diagnostics/version-locks.sh +2 -2
  79. package/scripts/diagnostics/workstation-attestation.sh +14 -14
  80. package/scripts/dot/commands/agent.sh +27 -22
  81. package/scripts/dot/commands/agents.sh +335 -0
  82. package/scripts/dot/commands/ai.sh +144 -25
  83. package/scripts/dot/commands/aliases.sh +10 -8
  84. package/scripts/dot/commands/appearance.sh +2 -2
  85. package/scripts/dot/commands/core.sh +12 -6
  86. package/scripts/dot/commands/diagnostics.sh +5 -5
  87. package/scripts/dot/commands/env-emit.sh +202 -0
  88. package/scripts/dot/commands/fleet.sh +290 -14
  89. package/scripts/dot/commands/init.sh +184 -0
  90. package/scripts/dot/commands/lint.sh +9 -4
  91. package/scripts/dot/commands/manual.sh +3 -3
  92. package/scripts/dot/commands/meta.sh +19 -10
  93. package/scripts/dot/commands/patterns.sh +2 -2
  94. package/scripts/dot/commands/registry.sh +263 -0
  95. package/scripts/dot/commands/restore.sh +4 -4
  96. package/scripts/dot/commands/secrets.sh +4 -3
  97. package/scripts/dot/commands/security.sh +2 -2
  98. package/scripts/dot/commands/tools.sh +62 -4
  99. package/scripts/dot/powershell/Dot.psm1 +199 -0
  100. package/scripts/fonts/install-nerd-fonts.sh +2 -2
  101. package/scripts/git-hooks/pre-commit-audit.sh +2 -2
  102. package/scripts/git-hooks/pre-push +13 -0
  103. package/scripts/lib/secrets_provider.sh +32 -6
  104. package/scripts/ops/ai-setup.sh +1 -1
  105. package/scripts/ops/bundle.sh +2 -2
  106. package/scripts/ops/chaos.sh +2 -2
  107. package/scripts/ops/chezmoi-apply.sh +4 -4
  108. package/scripts/ops/heal.sh +4 -4
  109. package/scripts/ops/post-apply-repair.sh +2 -2
  110. package/scripts/ops/prewarm.sh +2 -2
  111. package/scripts/ops/release.sh +4 -4
  112. package/scripts/ops/rollback.sh +18 -4
  113. package/scripts/ops/setup.sh +2 -2
  114. package/scripts/qa/check-version-consistency.sh +123 -0
  115. package/scripts/qa/coverage-baseline.sh +1 -1
  116. package/scripts/qa/docs-coverage.sh +2 -2
  117. package/scripts/qa/powershell-contract.ps1 +1 -1
  118. package/scripts/qa/scorecard-snapshot.sh +127 -0
  119. package/scripts/security/backup.sh +2 -2
  120. package/scripts/security/check-disclosure-key-expiry.sh +110 -0
  121. package/scripts/security/dns-doh.sh +4 -4
  122. package/scripts/security/encryption-check.sh +4 -4
  123. package/scripts/security/enforce-policies.sh +2 -2
  124. package/scripts/security/firewall.sh +4 -4
  125. package/scripts/security/lock-configs.sh +11 -2
  126. package/scripts/security/lock-screen.sh +4 -4
  127. package/scripts/security/manage-secrets.sh +2 -2
  128. package/scripts/security/ssh-cert.sh +2 -2
  129. package/scripts/security/telemetry-kill.sh +4 -4
  130. package/scripts/security/usb-safety.sh +4 -4
  131. package/scripts/theme/extract-heic-frames.sh +114 -0
  132. package/scripts/theme/rebuild-themes.sh +8 -1
  133. package/scripts/theme/switch.sh +13 -6
  134. package/scripts/theme/wallpaper-sync.sh +297 -93
  135. package/scripts/tuning/linux.sh +2 -2
  136. package/scripts/tuning/macos.sh +2 -2
  137. package/scripts/version-sync.sh +58 -7
  138. package/dot_config/.module-manifest.json +0 -69
  139. package/dot_config/ai/identity.md +0 -23
  140. package/dot_config/ai/patterns/architect.md +0 -16
  141. package/dot_config/ai/patterns/hardener.md +0 -15
  142. package/dot_config/ai/patterns/refactor.md +0 -15
  143. package/dot_config/aider/aider.conf.yml +0 -32
  144. package/dot_config/alacritty/alacritty.toml.tmpl +0 -55
  145. package/dot_config/ansible/ansible.cfg +0 -11
  146. package/dot_config/atuin/config.toml.tmpl +0 -47
  147. package/dot_config/bat/config +0 -23
  148. package/dot_config/brave-flags.conf.tmpl +0 -7
  149. package/dot_config/btop/btop.conf +0 -16
  150. package/dot_config/btop/themes/tokyonight.theme +0 -34
  151. package/dot_config/bun/bunfig.toml.tmpl +0 -33
  152. package/dot_config/claude/mcp_servers.json +0 -20
  153. package/dot_config/containers/containers.conf +0 -14
  154. package/dot_config/curl/dot_curlrc +0 -18
  155. package/dot_config/dlv/config.yml +0 -39
  156. package/dot_config/docker/config.json +0 -15
  157. package/dot_config/dotfiles/agent-card.json +0 -29
  158. package/dot_config/dotfiles/agent-profiles.json +0 -92
  159. package/dot_config/dotfiles/boot/README.md +0 -13
  160. package/dot_config/dotfiles/grub/README.md +0 -13
  161. package/dot_config/dotfiles/lock/README.md +0 -13
  162. package/dot_config/dotfiles/mcp-lock.json +0 -33
  163. package/dot_config/dotfiles/mcp-policy.json +0 -52
  164. package/dot_config/dotfiles/mcp-registry.json +0 -47
  165. package/dot_config/dotfiles/model-registry.json +0 -20
  166. package/dot_config/dotfiles/policy-bundles.json +0 -38
  167. package/dot_config/dotfiles/prompt-registry.json +0 -16
  168. package/dot_config/dotfiles/versions.env +0 -18
  169. package/dot_config/duf/duf.conf +0 -6
  170. package/dot_config/duti/defaults.duti +0 -5
  171. package/dot_config/emoji/emoji.txt +0 -34
  172. package/dot_config/environment.d/50-ssh-agent.conf +0 -2
  173. package/dot_config/environment.d/90-wayland.conf +0 -19
  174. package/dot_config/fastfetch/config.jsonc +0 -28
  175. package/dot_config/firefox/user.js.tmpl +0 -58
  176. package/dot_config/fish/completions/dot-theme-sync.fish.tmpl +0 -9
  177. package/dot_config/fish/completions/dot.fish.tmpl +0 -115
  178. package/dot_config/fish/conf.d/000-perf-cache.fish +0 -56
  179. package/dot_config/fish/conf.d/aliases.fish.tmpl +0 -77
  180. package/dot_config/fish/conf.d/env.fish.tmpl +0 -48
  181. package/dot_config/fish/conf.d/functions.fish.tmpl +0 -22
  182. package/dot_config/fish/conf.d/init.fish.tmpl +0 -172
  183. package/dot_config/fish/config.fish.tmpl +0 -44
  184. package/dot_config/fish/fish_plugins +0 -1
  185. package/dot_config/fish/functions/_.fish +0 -3
  186. package/dot_config/fish/functions/_cached_eval.fish +0 -131
  187. package/dot_config/fish/functions/_cached_eval_clear.fish +0 -17
  188. package/dot_config/fish/functions/als.fish +0 -46
  189. package/dot_config/fish/functions/bg-upgrade.fish +0 -7
  190. package/dot_config/fish/functions/c.fish +0 -3
  191. package/dot_config/fish/functions/cat.fish +0 -9
  192. package/dot_config/fish/functions/d.fish +0 -7
  193. package/dot_config/fish/functions/dot.fish +0 -34
  194. package/dot_config/fish/functions/h.fish +0 -3
  195. package/dot_config/fish/functions/l.fish +0 -7
  196. package/dot_config/fish/functions/la.fish +0 -7
  197. package/dot_config/fish/functions/ll.fish +0 -7
  198. package/dot_config/fish/functions/log_error.fish +0 -13
  199. package/dot_config/fish/functions/log_info.fish +0 -13
  200. package/dot_config/fish/functions/lr.fish +0 -7
  201. package/dot_config/fish/functions/lra.fish +0 -7
  202. package/dot_config/fish/functions/ls.fish +0 -7
  203. package/dot_config/fish/functions/lt.fish +0 -7
  204. package/dot_config/fish/functions/lta.fish +0 -7
  205. package/dot_config/fish/functions/notify-run.fish +0 -11
  206. package/dot_config/fish/functions/q.fish +0 -3
  207. package/dot_config/fish/functions/silent-run.fish +0 -7
  208. package/dot_config/fish/functions/yy.fish +0 -8
  209. package/dot_config/flatpak/flatpak.list +0 -4
  210. package/dot_config/fontconfig/fonts.conf.tmpl +0 -57
  211. package/dot_config/foot/foot.ini.tmpl +0 -33
  212. package/dot_config/fuzzel/fuzzel.ini.tmpl +0 -18
  213. package/dot_config/fzf/fzf.zsh +0 -48
  214. package/dot_config/gem/gemrc +0 -9
  215. package/dot_config/gh/config.yml +0 -12
  216. package/dot_config/ghostty/config.tmpl +0 -165
  217. package/dot_config/git/allowed_signers.tmpl +0 -18
  218. package/dot_config/git/attributes +0 -12
  219. package/dot_config/git/commit-template +0 -10
  220. package/dot_config/git/hooks/executable_commit-msg +0 -146
  221. package/dot_config/git/ignore +0 -27
  222. package/dot_config/gnupg/gpg-agent.conf +0 -11
  223. package/dot_config/go/golangci.yml +0 -118
  224. package/dot_config/go/gopls.json +0 -30
  225. package/dot_config/goose/config.yaml +0 -29
  226. package/dot_config/gtk-3.0/gtk.css.tmpl +0 -184
  227. package/dot_config/gtk-3.0/settings.ini.tmpl +0 -27
  228. package/dot_config/gtk-4.0/gtk.css.tmpl +0 -252
  229. package/dot_config/gtk-4.0/settings.ini.tmpl +0 -18
  230. package/dot_config/htop/htoprc +0 -20
  231. package/dot_config/inputrc +0 -2
  232. package/dot_config/ipython/profile_default/ipython_config.py +0 -19
  233. package/dot_config/just/justfile +0 -122
  234. package/dot_config/k9s/config.yaml +0 -65
  235. package/dot_config/k9s/skins/catppuccin-mocha.yaml +0 -116
  236. package/dot_config/kanshi/config.tmpl +0 -22
  237. package/dot_config/karabiner/karabiner.json +0 -14
  238. package/dot_config/kitty/kitty.conf.tmpl +0 -53
  239. package/dot_config/lazydocker/config.yml +0 -186
  240. package/dot_config/lazygit/config.yml +0 -35
  241. package/dot_config/mako/config +0 -47
  242. package/dot_config/mas/masapps.txt +0 -5
  243. package/dot_config/micro/settings.json +0 -3
  244. package/dot_config/mimeapps.list +0 -77
  245. package/dot_config/minikube/config.json +0 -13
  246. package/dot_config/mise/config.toml +0 -99
  247. package/dot_config/mongosh/mongoshrc.js +0 -68
  248. package/dot_config/mpv/input.conf +0 -47
  249. package/dot_config/mpv/mpv.conf +0 -47
  250. package/dot_config/mycli/myclirc +0 -67
  251. package/dot_config/nano/nanorc +0 -28
  252. package/dot_config/ncdu/config +0 -12
  253. package/dot_config/niri/config.kdl.tmpl +0 -327
  254. package/dot_config/nushell/aliases.nu +0 -18
  255. package/dot_config/nushell/cached_eval.nu +0 -80
  256. package/dot_config/nushell/completions.nu.tmpl +0 -52
  257. package/dot_config/nushell/config.nu.tmpl +0 -86
  258. package/dot_config/nushell/env.nu.tmpl +0 -102
  259. package/dot_config/nushell/functions.nu.tmpl +0 -17
  260. package/dot_config/nvim/init.lua +0 -18
  261. package/dot_config/nvim/lazy-lock.json +0 -58
  262. package/dot_config/nvim/lua/config/autocmds.lua +0 -107
  263. package/dot_config/nvim/lua/config/keymaps.lua +0 -92
  264. package/dot_config/nvim/lua/config/lazy.lua +0 -44
  265. package/dot_config/nvim/lua/config/options.lua +0 -49
  266. package/dot_config/nvim/lua/plugins/ai.lua +0 -75
  267. package/dot_config/nvim/lua/plugins/coding.lua +0 -216
  268. package/dot_config/nvim/lua/plugins/completion.lua +0 -60
  269. package/dot_config/nvim/lua/plugins/dap.lua +0 -412
  270. package/dot_config/nvim/lua/plugins/editor.lua +0 -55
  271. package/dot_config/nvim/lua/plugins/git.lua +0 -10
  272. package/dot_config/nvim/lua/plugins/lsp.lua +0 -156
  273. package/dot_config/nvim/lua/plugins/markdown.lua +0 -18
  274. package/dot_config/nvim/lua/plugins/rust.lua +0 -34
  275. package/dot_config/nvim/lua/plugins/sessions.lua +0 -33
  276. package/dot_config/nvim/lua/plugins/ui.lua +0 -509
  277. package/dot_config/paru/paru.conf +0 -10
  278. package/dot_config/pip/pip.conf.tmpl +0 -32
  279. package/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl +0 -81
  280. package/dot_config/pueue/pueue.yml +0 -34
  281. package/dot_config/pypoetry/config.toml +0 -6
  282. package/dot_config/pyrightconfig.json +0 -5
  283. package/dot_config/raycast/README.md +0 -13
  284. package/dot_config/redis/redisclirc +0 -41
  285. package/dot_config/ripgrep/ripgreprc +0 -21
  286. package/dot_config/shell/00-core-paths.sh.tmpl +0 -134
  287. package/dot_config/shell/05-core-safety.sh +0 -48
  288. package/dot_config/shell/10-secrets.sh +0 -41
  289. package/dot_config/shell/40-fzf-defaults.sh.tmpl +0 -17
  290. package/dot_config/shell/40-ls-colors.sh +0 -49
  291. package/dot_config/shell/50-logic-functions-core.sh.tmpl +0 -11
  292. package/dot_config/shell/50-logic-functions.sh.tmpl +0 -11
  293. package/dot_config/shell/51-logic-functions-extra.sh.tmpl +0 -65
  294. package/dot_config/shell/90-ux-aliases.sh.tmpl +0 -121
  295. package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +0 -55
  296. package/dot_config/shell/Brewfile +0 -207
  297. package/dot_config/shell/Brewfile.cask +0 -92
  298. package/dot_config/shell/Brewfile.cli +0 -127
  299. package/dot_config/shell/README.md +0 -284
  300. package/dot_config/shell/als_data.txt.tmpl +0 -65
  301. package/dot_config/shell/custom/auto_ls.zsh +0 -20
  302. package/dot_config/shell/custom/context_suggest.zsh +0 -68
  303. package/dot_config/shell/custom/error_analysis.zsh +0 -45
  304. package/dot_config/sops/dot_sops.yaml +0 -23
  305. package/dot_config/starship.toml.tmpl +0 -202
  306. package/dot_config/swaylock/config +0 -43
  307. package/dot_config/systemd/user/dotfiles-maintenance.service +0 -8
  308. package/dot_config/systemd/user/dotfiles-maintenance.timer +0 -11
  309. package/dot_config/systemd/user/pueued.service +0 -12
  310. package/dot_config/systemd/user/ssh-agent.service +0 -12
  311. package/dot_config/task/Taskfile.yml +0 -86
  312. package/dot_config/tflint/tflint.hcl +0 -9
  313. package/dot_config/tmux/tmux.conf.tmpl +0 -223
  314. package/dot_config/topgrade.toml.tmpl +0 -54
  315. package/dot_config/user-dirs.dirs +0 -10
  316. package/dot_config/vscode/extensions.txt +0 -11
  317. package/dot_config/vscode/settings.json.tmpl +0 -82
  318. package/dot_config/waybar/config.jsonc.tmpl +0 -90
  319. package/dot_config/waybar/style.css.tmpl +0 -211
  320. package/dot_config/wezterm/wezterm.lua.tmpl +0 -64
  321. package/dot_config/wget/wgetrc +0 -12
  322. package/dot_config/xdg-desktop-portal/niri-portals.conf +0 -5
  323. package/dot_config/yarn/yarnrc.yml +0 -36
  324. package/dot_config/yazi/keymap.toml +0 -67
  325. package/dot_config/yazi/theme.toml +0 -102
  326. package/dot_config/yazi/yazi.toml +0 -40
  327. package/dot_config/zathura/zathurarc +0 -52
  328. package/dot_config/zellij/config.kdl.tmpl +0 -79
  329. package/dot_config/zsh/dot_zprofile +0 -7
  330. package/dot_config/zsh/dot_zshenv +0 -5
  331. package/dot_config/zsh/dot_zshrc.tmpl +0 -635
  332. package/dot_config/zsh/rc.d/00-alias-shims.zsh +0 -99
  333. package/dot_config/zsh/rc.d/05-ssh-agent.zsh +0 -18
  334. package/dot_config/zsh/rc.d/10-env.zsh.tmpl +0 -28
  335. package/dot_config/zsh/rc.d/20-zinit.zsh +0 -65
  336. package/dot_config/zsh/rc.d/30-options.zsh.tmpl +0 -214
  337. package/dot_config/zsh/rc.d/40-bell.zsh +0 -20
  338. package/dot_config/zsh/rc.d/50-login-fortune.zsh +0 -9
  339. package/dot_config/zsh/rc.d/99-alias-wrapper.zsh +0 -32
  340. package/dot_local/bin/executable_ai-update +0 -195
  341. package/dot_local/bin/executable_ai_core +0 -152
  342. package/dot_local/bin/executable_antigravity +0 -11
  343. package/dot_local/bin/executable_b64 +0 -84
  344. package/dot_local/bin/executable_bm +0 -79
  345. package/dot_local/bin/executable_cb +0 -39
  346. package/dot_local/bin/executable_dot +0 -596
  347. package/dot_local/bin/executable_dot-ai +0 -36
  348. package/dot_local/bin/executable_dot-bootstrap +0 -77
  349. package/dot_local/bin/executable_dot-launch-or-focus +0 -52
  350. package/dot_local/bin/executable_dot-load-benchmark +0 -31
  351. package/dot_local/bin/executable_dot-load-benchmark-pty +0 -77
  352. package/dot_local/bin/executable_dot-theme-sync +0 -952
  353. package/dot_local/bin/executable_dot_completion +0 -57
  354. package/dot_local/bin/executable_dtags +0 -28
  355. package/dot_local/bin/executable_epoch +0 -67
  356. package/dot_local/bin/executable_extract +0 -41
  357. package/dot_local/bin/executable_gbd +0 -52
  358. package/dot_local/bin/executable_gd +0 -42
  359. package/dot_local/bin/executable_git-ai-commit +0 -175
  360. package/dot_local/bin/executable_git-ai-diff +0 -169
  361. package/dot_local/bin/executable_gl +0 -101
  362. package/dot_local/bin/executable_hash +0 -161
  363. package/dot_local/bin/executable_hashsum +0 -160
  364. package/dot_local/bin/executable_hex +0 -115
  365. package/dot_local/bin/executable_jsonv +0 -78
  366. package/dot_local/bin/executable_jwt +0 -94
  367. package/dot_local/bin/executable_kill-port +0 -75
  368. package/dot_local/bin/executable_lorem +0 -118
  369. package/dot_local/bin/executable_mkscript +0 -35
  370. package/dot_local/bin/executable_monitor +0 -56
  371. package/dot_local/bin/executable_myip +0 -51
  372. package/dot_local/bin/executable_notify +0 -24
  373. package/dot_local/bin/executable_open +0 -38
  374. package/dot_local/bin/executable_pw +0 -27
  375. package/dot_local/bin/executable_rec-start +0 -46
  376. package/dot_local/bin/executable_rec-stop +0 -35
  377. package/dot_local/bin/executable_regex +0 -132
  378. package/dot_local/bin/executable_start-niri +0 -8
  379. package/dot_local/bin/executable_tmux-sessionizer +0 -314
  380. package/dot_local/bin/executable_tour +0 -177
  381. package/dot_local/bin/executable_up +0 -23
  382. package/dot_local/bin/executable_update +0 -142
  383. package/dot_local/bin/executable_uuid +0 -87
  384. package/dot_local/bin/executable_win +0 -32
  385. package/dot_local/bin/executable_yamlv +0 -57
  386. package/dot_local/share/bash-completion/completions/dot +0 -72
  387. package/dot_local/share/icons/hicolor/128x128/apps/rousseau.png +0 -0
  388. package/dot_local/share/icons/hicolor/16x16/apps/rousseau.png +0 -0
  389. package/dot_local/share/icons/hicolor/24x24/apps/rousseau.png +0 -0
  390. package/dot_local/share/icons/hicolor/256x256/apps/rousseau.png +0 -0
  391. package/dot_local/share/icons/hicolor/32x32/apps/rousseau.png +0 -0
  392. package/dot_local/share/icons/hicolor/48x48/apps/rousseau.png +0 -0
  393. package/dot_local/share/icons/hicolor/512x512/apps/rousseau.png +0 -0
  394. package/dot_local/share/icons/hicolor/64x64/apps/rousseau.png +0 -0
  395. package/dot_local/share/icons/hicolor/96x96/apps/rousseau.png +0 -0
  396. package/dot_local/share/icons/hicolor/scalable/apps/rousseau.png +0 -0
  397. package/dot_local/share/man/man1/dot.1 +0 -149
  398. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_download +0 -64
  399. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_install +0 -18
  400. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_list-all +0 -13
  401. package/dot_local/share/wayland-sessions/niri.desktop.tmpl +0 -6
  402. package/dot_local/share/zsh/completions/.keep +0 -0
  403. package/dot_local/share/zsh/completions/_dot +0 -283
  404. package/scripts/ci/check-dangerous-chmod.sh +0 -19
  405. package/scripts/ci/check-deps-dev.sh +0 -236
  406. package/scripts/ci/check-insecure-tls.sh +0 -61
  407. package/scripts/ci/check-regression-traceability.sh +0 -67
  408. package/scripts/ci/install-chezmoi-verified.sh +0 -64
  409. package/scripts/ci/run-coverage.sh +0 -362
  410. package/scripts/ci/validate-chezmoidata.sh +0 -25
  411. package/scripts/ci/validate-ci-config.sh +0 -224
  412. package/scripts/docs/build-manual.sh +0 -883
  413. package/scripts/docs/check-manual.sh +0 -213
  414. package/scripts/dot/lib/bento.sh +0 -50
  415. package/scripts/dot/lib/log.sh +0 -200
  416. package/scripts/dot/lib/platform.sh +0 -99
  417. package/scripts/dot/lib/ui.sh +0 -518
  418. package/scripts/dot/lib/utils.sh +0 -377
  419. package/scripts/maintenance/check-updates.sh +0 -131
  420. package/scripts/release/package-policy-bundles.sh +0 -125
@@ -1,284 +0,0 @@
1
- # Dotfiles
2
-
3
- Welcome to your universally compatible, high-performance dotfiles configuration, managed by [chezmoi](https://www.chezmoi.io/).
4
-
5
- ## Discover
6
-
7
- - **Universal Support**: Works seamlessly on macOS, Linux (Ubuntu/Debian), and Windows (WSL).
8
- - **Fast Startup**: Optimized with `zcompile` and lazy-loading. Benchmarks vary by machine; use `DOTFILES_FAST=1` for the quickest first prompt.
9
- - **Modern Core**: Replaces legacy Unix tools with Rust-based alternatives:
10
- - `eza` (ls)
11
- - `bat` (cat)
12
- - `ripgrep` (grep)
13
- - `zoxide` (cd)
14
- - `atuin` (history)
15
- - `yazi` (files)
16
- - `zellij` (multiplexer)
17
- - **Starship Prompt**: A fast, customizable, cross-shell prompt.
18
- - **Optimized Vim**: Vim settings are kept minimal and fast by default.
19
- - **Modular Design**: Configuration is split into small, manageable templates.
20
-
21
- ---
22
-
23
- ## Get started
24
-
25
- ### Install
26
-
27
- To install these dotfiles on a new machine, run:
28
-
29
- ```bash
30
- sh -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.501/install.sh)"
31
- ```
32
-
33
- This command will:
34
-
35
- 1. Install `chezmoi`.
36
- 2. Clone this repository.
37
- 3. Install required packages (Homebrew/Apt).
38
- 4. Apply the configurations to your home directory.
39
-
40
- ---
41
-
42
- ## Keep it current
43
-
44
- ### macOS
45
-
46
- Updates are handled via [Homebrew](https://brew.sh/).
47
-
48
- 1. Edit `~/.dotfiles/dot_config/shell/Brewfile.cli` and `~/.dotfiles/dot_config/shell/Brewfile.cask`.
49
- 2. Run `chezmoi apply`.
50
- - This triggers `run_onchange_darwin_install-packages.sh.tmpl`, which runs `brew bundle` for CLI and GUI packages.
51
- - Optional: `mas` installs App Store apps from `~/.config/mas/masapps.txt`.
52
- - Optional: `duti` applies default app bindings from `~/.config/duti/defaults.duti`.
53
-
54
- ### VS Code extensions
55
-
56
- 1. Edit `~/.config/vscode/extensions.txt`.
57
- 2. Run `chezmoi apply` to install missing extensions (if `code` is available).
58
-
59
- ### Linux and WSL
60
-
61
- Updates are handled via `apt-get` (Ubuntu/Debian).
62
-
63
- 1. Run `chezmoi apply`.
64
- - This checks for package updates defined in `run_onchange_linux_install-packages.sh.tmpl`.
65
- - Optional Flatpak list is read from `~/.config/flatpak/flatpak.list`.
66
-
67
- ### Vim plugins
68
-
69
- 1. Edit `~/.dotfiles/dot_vimrc`.
70
- 2. Run `chezmoi apply`.
71
- - This automatically runs `vim +PlugInstall +PlugClean +qa`.
72
-
73
- ---
74
-
75
- ## Migrate
76
-
77
- If you are migrating from an old `~/.dotfiles` setup:
78
-
79
- 1. **Backup**:
80
-
81
- ```bash
82
- mv ~/.dotfiles ~/.dotfiles.legacy
83
- cp ~/.zshrc ~/.zshrc.bak
84
- ```
85
-
86
- 2. **Initialize Chezmoi**:
87
-
88
- ```bash
89
- git clone https://github.com/sebastienrousseau/dotfiles.git ~/.dotfiles
90
- chezmoi apply
91
- ```
92
-
93
- 3. **Verify**:
94
- - Restart your shell.
95
- - Check that `~/.config/shell` exists (this is where the *generated* scripts live).
96
- - Check that `~/.dotfiles` exists (this is the *source*).
97
-
98
- 4. **Clean Up**:
99
- - Once verified, you can safely delete `~/.dotfiles.legacy` and `.zshrc.bak`.
100
-
101
- ---
102
-
103
- ## Structure
104
-
105
- The configuration is managed in `~/.dotfiles`.
106
-
107
- ```text
108
- ~/.dotfiles/
109
- ├── dot_zshrc.tmpl # Main Zsh configuration (template)
110
- ├── dot_vimrc # Vim configuration
111
- ├── dot_tmux.conf # Tmux configuration
112
- ├── run_onchange_...sh.tmpl # Package installation scripts
113
- ├── dot_config/
114
- │ ├── shell/ # Main Config Directory
115
- │ │ ├── aliases.sh.tmpl # Generates aliases.sh (Modular)
116
- │ │ ├── paths.sh.tmpl # Generates paths.sh (Monolithic)
117
- │ │ └── functions.sh.tmpl # Generates functions.sh
118
- │ └── starship.toml.tmpl # Starship configuration
119
- └── .chezmoitemplates/ # Reusable Logic
120
- ├── aliases/ # Alias definitions (grouped by tool)
121
- ├── functions/ # Shell functions
122
- └── paths/ # (Legacy) Path definitions
123
- ```
124
-
125
- ## Use it
126
-
127
- ### Apply changes
128
-
129
- After editing any file in `~/.dotfiles`, apply the changes to your home directory:
130
-
131
- ```bash
132
- chezmoi apply
133
- ```
134
-
135
- To see what will change before applying:
136
-
137
- ```bash
138
- chezmoi diff
139
- ```
140
-
141
- ### Dot CLI
142
-
143
- ```bash
144
- dot apply # Apply dotfiles (chezmoi apply)
145
- dot sync # Alias of apply
146
- dot update # Pull latest changes and apply
147
- dot diff # Show diff (excludes scripts/install/tests)
148
- dot remove # Safely remove a managed file
149
- dot drift # Drift dashboard (chezmoi status)
150
- dot history # Shell history analysis
151
- dot tools # Show dot utils
152
- dot keys # Show keybindings
153
- dot tune # Apply OS tuning (opt-in)
154
- dot secrets # Edit encrypted secrets (age)
155
- dot upgrade # Update flake, plugins, and dotfiles
156
- dot new # Scaffold a project template (python/go/node)
157
- dot log-rotate # Rotate ~/.local/share/dotfiles.log
158
- dot doctor
159
- dot sandbox
160
- dot benchmark
161
- dot theme
162
- dot wallpaper
163
- dot ssh-key
164
- dot secrets-create
165
- dot fonts
166
- dot firewall
167
- dot telemetry
168
- dot dns-doh
169
- dot encrypt-check
170
- dot backup
171
- dot lock-screen
172
- dot usb-safety
173
- dot secrets-init
174
- dot edit
175
- dot docs
176
- dot learn # Interactive tour (requires gum)
177
- dot help
178
- ```
179
-
180
- ### Nix
181
-
182
- ```bash
183
- cd ~/.dotfiles
184
- nix develop
185
- ```
186
-
187
- ### Secrets
188
-
189
- ```bash
190
- dot secrets-init
191
- dot secrets
192
- ```
193
-
194
- ### Git identity
195
-
196
- Set your Git identity in the local `chezmoi` config (not committed):
197
-
198
- ```bash
199
- chezmoi init --apply --promptDefaults
200
- ```
201
-
202
- Or edit directly:
203
-
204
- ```bash
205
- ${EDITOR:-nano} ~/.config/chezmoi/chezmoi.toml
206
- ```
207
-
208
- Fields:
209
-
210
- - `git_name`
211
- - `git_email`
212
- - `git_signingkey`
213
- - `git_signingformat`
214
-
215
- ### Make it yours
216
-
217
- Set the theme in `.chezmoidata.toml`:
218
-
219
- ```toml
220
- theme = "tokyonight-night"
221
- terminal_font_family = "JetBrains Mono"
222
- terminal_font_size = 12
223
- ```
224
-
225
- Available themes:
226
-
227
- - `tokyonight-night` (best dark default)
228
- - `tokyonight-day` (best light default)
229
- - `tokyonight-storm`
230
- - `tokyonight-moon`
231
- - `catppuccin-mocha`
232
- - `dracula`
233
- - `gruvbox-dark`
234
- - `gruvbox-light`
235
- - `nord`
236
- - `onedark`
237
- - `onelight`
238
- - `solarized-dark`
239
- - `solarized-light`
240
- - `catppuccin-mocha`
241
- - `catppuccin-latte`
242
- - `rose-pine`
243
- - `rose-pine-moon`
244
- - `rose-pine-dawn`
245
- - `everforest-dark`
246
- - `everforest-light`
247
- - `kanagawa-wave`
248
- - `kanagawa-dragon`
249
- - `kanagawa-lotus`
250
-
251
- ### DevContainer and Codespaces
252
-
253
- ```text
254
- .devcontainer/devcontainer.json
255
- ```
256
-
257
- ### Add aliases
258
-
259
- 1. Navigate to `~/.dotfiles/.chezmoitemplates/aliases/`.
260
- 2. Create a new file (e.g., `mytool/mytool.aliases.sh`) or edit an existing one.
261
- 3. Add your aliases.
262
- 4. Run `chezmoi apply`.
263
-
264
- **Note:** Files in `macOS/` are only included on macOS systems.
265
-
266
- ### Add functions
267
-
268
- 1. Navigate to `~/.dotfiles/.chezmoitemplates/functions/`.
269
- 2. Create a new `.sh` file.
270
- 3. Define your function with a usage comment.
271
- 4. Run `chezmoi apply`.
272
-
273
- ## Performance
274
-
275
- - **Lazy Loading**: Heavy tools (like `nvm`, `rbenv`) are lazy-loaded. They only initialize when you type the command.
276
- - **Zcompile**: Your `.zshrc` and generated config files are automatically compiled to `.zwc` bytecode for faster parsing.
277
- - **Fast Mode**: Set `DOTFILES_FAST=1` to skip heavy startup work (plugins, completions, prompt tooling, AI helpers) for the quickest possible first prompt.
278
- - **Ultra-Fast Mode**: Set `DOTFILES_ULTRA_FAST=1` for minimal init (no rc.d, plugins, completions, or prompt tooling).
279
- - **Perf Mode**: `dot perf --precmd` measures first-prompt work (precmd hooks).
280
- - **Deferred Hooks**: Use `DOTFILES_DEFER_COMPINIT=1`, `DOTFILES_DEFER_TOOLS=1`, and `DOTFILES_DEFER_ZINIT_MODE=preexec` to move work after the first command.
281
-
282
- ## Test
283
-
284
- This repository includes GitHub Actions CI to test the configuration on macOS, Ubuntu, and Windows for every Pull Request.
@@ -1,65 +0,0 @@
1
- {{- /* Generate Instant-Load Command List for ALS */ -}}
2
- {{- $templateDir := .chezmoi.sourceDir -}}
3
- {{- $aliasFiles := glob (joinPath $templateDir ".chezmoitemplates/aliases/**/*.aliases.sh") -}}
4
- {{- $db := list -}}
5
-
6
- {{- range $aliasFiles -}}
7
- {{- $category := base (dir .) -}}
8
- {{- if eq $category "aliases" }}{{ $category = base . | replace ".aliases.sh" "" }}{{ end -}}
9
- {{- $category = title $category -}}
10
-
11
- {{- $fileContent := include . -}}
12
- {{- $lastComment := "" -}}
13
-
14
- {{- range (splitList "\n" $fileContent) -}}
15
- {{- $line := trim . -}}
16
-
17
- {{- if (hasPrefix "#" $line) -}}
18
- {{- $comment := $line | trimPrefix "#" | trim -}}
19
- {{- if and (not (contains "shellcheck" $comment)) (not (contains "Copyright" $comment)) -}}
20
- {{- $lastComment = $comment -}}
21
- {{- end -}}
22
- {{- else if (hasPrefix "alias " $line) -}}
23
- {{- $working := $line | replace "alias " "" -}}
24
- {{- $parts := splitList "=" $working -}}
25
-
26
- {{- if (ge (len $parts) 2) -}}
27
- {{- $name := index $parts 0 | trim -}}
28
- {{- $rest := slice $parts 1 | join "=" -}}
29
-
30
- {{- $cmdDesc := splitList "#" $rest -}}
31
- {{- $cmd := index $cmdDesc 0 | trim | trimPrefix "'" | trimSuffix "'" | trimPrefix "\"" | trimSuffix "\"" | trim -}}
32
-
33
- {{- $desc := "" -}}
34
- {{- if (ge (len $cmdDesc) 2) -}}
35
- {{- $desc = slice $cmdDesc 1 | join "#" | trim -}}
36
- {{- else -}}
37
- {{- $desc = $lastComment -}}
38
- {{- end -}}
39
-
40
- {{- if eq $desc "" }}{{ $desc = "Shell command" }}{{ end -}}
41
-
42
- {{- if and (ne $name "") (ne $cmd "") -}}
43
- {{- $entry := printf "%s|%s|%s|%s" $category $name $cmd $desc -}}
44
- {{- $db = append $db $entry -}}
45
- {{- end -}}
46
- {{- end -}}
47
- {{- end -}}
48
- {{- end -}}
49
- {{- end -}}
50
-
51
- {{- /* ANSI Escape Codes (Real Bytes) */ -}}
52
- {{- $esc := "\x1b" -}}
53
- {{- $magenta := printf "%s[35m" $esc -}}
54
- {{- $cyan := printf "%s[36m" $esc -}}
55
- {{- $dim := printf "%s[90m" $esc -}}
56
- {{- $reset := printf "%s[0m" $esc -}}
57
-
58
- {{- range (sortAlpha $db) -}}
59
- {{- $p := splitList "|" . -}}
60
- {{- $cat := index $p 0 -}}
61
- {{- $name := index $p 1 -}}
62
- {{- $cmd := index $p 2 -}}
63
- {{- $desc := index $p 3 -}}
64
- {{- printf "%s[%s]%s %s%s%s: %s %s— %s%s |SEP|%s|SEP|%s\n" $magenta $cat $reset $cyan $name $reset $cmd $dim $desc $reset $cmd $name -}}
65
- {{- end -}}
@@ -1,20 +0,0 @@
1
- # Auto-list directory contents on cd (zsh only)
2
- # Uses eza when available, otherwise falls back to ls.
3
-
4
- autoload -Uz add-zsh-hook
5
-
6
- dot_auto_ls() {
7
- [[ -o interactive ]] || return
8
- [[ -t 1 ]] || return
9
- [[ "${DOTFILES_AUTO_LS:-1}" == "1" ]] || return
10
- [[ "${PWD}" == "${_DOTFILES_AUTO_LS_LAST:-}" ]] && return
11
- _DOTFILES_AUTO_LS_LAST="${PWD}"
12
-
13
- if command -v eza >/dev/null 2>&1; then
14
- eza -alF --sort Name --icons --group-directories-first
15
- else
16
- command ls -alF
17
- fi
18
- }
19
-
20
- add-zsh-hook chpwd dot_auto_ls
@@ -1,68 +0,0 @@
1
- # shellcheck shell=bash
2
- # zsh_context_suggest.zsh
3
- #
4
- # Context Autosuggest for Predictive Shell
5
- # Detects project type and suggests commands.
6
- #
7
-
8
- suggest_context_commands() {
9
- local suggestions=()
10
-
11
- # 1. Node.js / Javascript / TypeScript
12
- if [[ -f "package.json" ]]; then
13
- suggestions+=("npm start" "npm test" "npm run build")
14
- # Check for yarn
15
- if [[ -f "yarn.lock" ]]; then
16
- suggestions+=("yarn start" "yarn test" "yarn build")
17
- fi
18
- # Check for pnpm
19
- if [[ -f "pnpm-lock.yaml" ]]; then
20
- suggestions+=("pnpm start" "pnpm test")
21
- fi
22
- fi
23
-
24
- # 2. Rust
25
- if [[ -f "Cargo.toml" ]]; then
26
- suggestions+=("cargo run" "cargo test" "cargo build" "cargo check")
27
- fi
28
-
29
- # 3. Go
30
- if [[ -f "go.mod" ]]; then
31
- suggestions+=("go run ." "go test ./..." "go build")
32
- fi
33
-
34
- # 4. Python
35
- if [[ -f "pyproject.toml" ]] || [[ -f "requirements.txt" ]]; then
36
- suggestions+=("python -m venv .venv" "source .venv/bin/activate")
37
- if [[ -f "main.py" ]]; then
38
- suggestions+=("python main.py")
39
- fi
40
- if [[ -f "app.py" ]]; then
41
- suggestions+=("python app.py")
42
- fi
43
- fi
44
-
45
- # 5. Docker
46
- if [[ -f "Dockerfile" ]]; then
47
- suggestions+=("docker build -t . ." "docker run -it <image>")
48
- fi
49
- if [[ -f "docker-compose.yml" ]] || [[ -f "compose.yaml" ]]; then
50
- suggestions+=("docker compose up -d" "docker compose down")
51
- fi
52
-
53
- # Display suggestions
54
- if [[ ${#suggestions[@]} -gt 0 ]]; then
55
- print -P "%F{cyan} Context Suggestions:%f"
56
- for cmd in "${suggestions[@]}"; do
57
- print -P " %F{green}%f $cmd"
58
- done
59
- else
60
- echo "No context-specific suggestions found for this directory."
61
- fi
62
- }
63
-
64
- # Alias for manual invocation
65
- alias suggest="suggest_context_commands"
66
-
67
- # Optional: Hook into chpwd to show suggestions on cd (commented out by default to avoid noise)
68
- # add-zsh-hook chpwd suggest_context_commands
@@ -1,45 +0,0 @@
1
- # shellcheck shell=bash
2
- # error_analysis.zsh
3
- #
4
- # Error Analysis for Predictive Shell
5
- # Uses Local LLM to analyze the last failed command.
6
- #
7
-
8
- analyze_last_error() {
9
- # local exit_code="$?" <-- unused
10
- local hist_entry
11
-
12
- # Get the last history entry (command that just ran)
13
- # fc -ln -1 returns the commands from the last 1 event
14
- hist_entry=$(fc -ln -1)
15
-
16
- if [[ -z "$hist_entry" ]]; then
17
- echo "No history found to analyze."
18
- return 1
19
- fi
20
-
21
- echo " Analyzing failure: '$hist_entry'"
22
-
23
- local prompt="I ran the command: '$hist_entry' and it failed. Please explain why this might have happened and suggest a fix. Be concise."
24
-
25
- # Call the ai_core wrapper
26
- # We call it directly from the path or rely on PATH if configured
27
- if [[ -f "${HOME}/.local/bin/ai_core" ]]; then
28
- "${HOME}/.local/bin/ai_core" query "$prompt"
29
- else
30
- local source_dir="${CHEZMOI_SOURCE_DIR:-${HOME}/.dotfiles}"
31
- if [[ ! -d "$source_dir" && -d "${HOME}/.local/share/chezmoi" ]]; then
32
- source_dir="${HOME}/.local/share/chezmoi"
33
- fi
34
-
35
- if [[ -f "${source_dir}/dot_local/bin/ai_core" ]]; then
36
- # Fallback for dev/testing location before chezmoi apply
37
- "${source_dir}/dot_local/bin/ai_core" query "$prompt"
38
- else
39
- echo "Error: ai_core wrapper not found."
40
- fi
41
- fi
42
- }
43
-
44
- # Alias '??' to analyze data
45
- alias '??'='analyze_last_error'
@@ -1,23 +0,0 @@
1
- # SOPS configuration for encrypted secrets
2
- # https://github.com/getsops/sops
3
-
4
- creation_rules:
5
- # Environment files
6
- - path_regex: \.env\.encrypted$
7
- age: >-
8
- # Add your age public key here after running: age-keygen
9
- # age1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
10
-
11
- # API keys and tokens
12
- - path_regex: secrets/.*\.yaml$
13
- age: >-
14
- # age1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
15
-
16
- # SSH keys (use chezmoi's native encryption instead for these)
17
- # - path_regex: ssh/.*$
18
- # age: >-
19
- # age1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
20
-
21
- # Store age keys in standard location
22
- # Keys should be at: ~/.config/sops/age/keys.txt
23
- # Generate with: age-keygen -o ~/.config/sops/age/keys.txt
@@ -1,202 +0,0 @@
1
- # Starship Configuration
2
- # https://starship.rs/config/
3
-
4
- # Some toolchains (notably Node via mise on macOS) can exceed 2s on cold start.
5
- # Raise timeout to avoid spurious prompt warnings.
6
- command_timeout = 5000
7
- add_newline = true
8
- {{- $t := index .themes (default "big-sur-dark" .theme) -}}
9
- {{- if not $t -}}{{- $t = index .themes "big-sur-dark" -}}{{- end }}
10
- # Palette driven by starship_palette in .chezmoidata/themes.toml
11
- palette = "{{ $t.app.starship_palette }}"
12
-
13
- [character]
14
- success_symbol = "[➜](bold green)"
15
- error_symbol = "[➜](bold red)"
16
-
17
- [package]
18
- disabled = true
19
-
20
- [git_branch]
21
- symbol = "> "
22
- style = "bold yellow"
23
-
24
- [git_status]
25
- disabled = false
26
- style = "bold red"
27
-
28
- [hostname]
29
- ssh_only = false
30
- format = "[$hostname](bold blue) "
31
- disabled = false
32
-
33
- [username]
34
- style_user = "white bold"
35
- style_root = "black bold"
36
- format = "[$user]($style) "
37
- disabled = false
38
-
39
- [directory]
40
- truncation_length = 3
41
- truncation_symbol = "…/"
42
-
43
- [cmd_duration]
44
- min_time = 2000
45
- format = "took [$duration]($style) "
46
-
47
- # ---------- Language version indicators ---------- #
48
- [rust]
49
- format = "[$symbol($version)]($style) "
50
- symbol = "rs "
51
-
52
- [python]
53
- format = "[$symbol$pyenv_prefix($version)( \\($virtualenv\\))]($style) "
54
- symbol = "py "
55
-
56
- [nodejs]
57
- format = "[$symbol($version)]($style) "
58
- symbol = "node "
59
- detect_files = ["package.json", ".node-version"]
60
-
61
- [golang]
62
- format = "[$symbol($version)]($style) "
63
- symbol = "go "
64
-
65
- # ---------- Docker context ---------- #
66
- [docker_context]
67
- format = "[$symbol$context]($style) "
68
- symbol = "docker "
69
- only_with_files = true
70
- detect_files = ["docker-compose.yml", "docker-compose.yaml", "Dockerfile"]
71
-
72
- # ---------- Shell nesting level ---------- #
73
- [shlvl]
74
- disabled = false
75
- threshold = 2
76
- symbol = "↕ "
77
- format = "[$symbol$shlvl]($style) "
78
-
79
- # ---------- Exit status ---------- #
80
- [status]
81
- disabled = false
82
- format = "[$symbol$status]($style) "
83
- symbol = "✘ "
84
-
85
- # ---------- Kubernetes context ---------- #
86
- [kubernetes]
87
- disabled = false
88
- format = "[$symbol$context( \\($namespace\\))]($style) "
89
- symbol = "k8s "
90
- style = "bold cyan"
91
- detect_files = ["k8s", "kubernetes", "Tiltfile"]
92
- detect_folders = ["charts", "kustomize"]
93
- [kubernetes.context_aliases]
94
- "arn:aws:eks:.*:.*:cluster/(?P<name>.*)" = "$name"
95
-
96
- # ---------- Nix shell indicator ---------- #
97
- [nix_shell]
98
- disabled = false
99
- format = "[$symbol$state( \\($name\\))]($style) "
100
- symbol = "nix "
101
- style = "bold blue"
102
-
103
- # ---------- Direnv indicator ---------- #
104
- # Disabled: starship reads direnv state before the hook sets DIRENV_DIR,
105
- # causing "[WARN] unknown direnv state" on every prompt render.
106
- # Direnv itself still works — only the starship status indicator is hidden.
107
- [direnv]
108
- disabled = true
109
-
110
- # ---------- Pueue Tasks (Background daemon) ---------- #
111
- [custom.pueue]
112
- command = "n=$(pueue status -j 2>/dev/null | jq -r '[.tasks[] | select(.status == \"Running\" or .status == \"Queued\")] | length' 2>/dev/null) && [ \"$n\" != \"0\" ] && echo \"$n\""
113
- when = "command -v pueue >/dev/null && command -v jq >/dev/null"
114
- ignore_timeout = true
115
- symbol = "⚙ "
116
- style = "bold purple"
117
- format = "[$symbol$output]($style) "
118
-
119
- # ---------- Container-aware fallback ---------- #
120
- # When DOTFILES_CONTAINER=1, show a lightweight indicator so the user
121
- # knows they are inside a container. Uses only ASCII-safe characters
122
- # to avoid rendering issues with missing Nerd Fonts.
123
-
124
- [container]
125
- disabled = false
126
- symbol = "[ctr]"
127
- style = "bold dimmed blue"
128
- format = '[$symbol]($style) '
129
-
130
- [env_var.DOTFILES_CONTAINER]
131
- variable = "DOTFILES_CONTAINER"
132
- symbol = ""
133
- style = "bold dimmed cyan"
134
- format = '[container]($style) '
135
-
136
- [env_var.DOTFILES_CODESPACE]
137
- variable = "DOTFILES_CODESPACE"
138
- symbol = ""
139
- style = "bold dimmed green"
140
- format = '[codespace]($style) '
141
-
142
- [env_var.DOTFILES_LAYERS_LOAD_STATUS]
143
- variable = "DOTFILES_LAYERS_LOAD_STATUS"
144
- symbol = ""
145
- style = "bold dimmed yellow"
146
- format = '[•]($style) '
147
-
148
- [palettes.catppuccin_mocha]
149
- rosewater = "#f5e0dc"
150
- flamingo = "#f2cdcd"
151
- pink = "#f5c2e7"
152
- mauve = "#cba6f7"
153
- red = "#f38ba8"
154
- maroon = "#eba0ac"
155
- peach = "#fab387"
156
- yellow = "#f9e2af"
157
- green = "#a6e3a1"
158
- teal = "#94e2d5"
159
- sky = "#89dceb"
160
- sapphire = "#74c7ec"
161
- blue = "#89b4fa"
162
- lavender = "#b4befe"
163
- text = "#cdd6f4"
164
- subtext1 = "#bac2de"
165
- subtext0 = "#a6adc8"
166
- overlay2 = "#9399b2"
167
- overlay1 = "#7f849c"
168
- overlay0 = "#6c7086"
169
- surface2 = "#585b70"
170
- surface1 = "#45475a"
171
- surface0 = "#313244"
172
- base = "#1e1e2e"
173
- mantle = "#181825"
174
- crust = "#11111b"
175
-
176
- [palettes.catppuccin_latte]
177
- rosewater = "#dc8a78"
178
- flamingo = "#dd7878"
179
- pink = "#ea76cb"
180
- mauve = "#8839ef"
181
- red = "#d20f39"
182
- maroon = "#e64553"
183
- peach = "#fe640b"
184
- yellow = "#df8e1d"
185
- green = "#40a02b"
186
- teal = "#179299"
187
- sky = "#04a5e5"
188
- sapphire = "#209fb5"
189
- blue = "#1e66f5"
190
- lavender = "#7287fd"
191
- text = "#4c4f69"
192
- subtext1 = "#5c5f77"
193
- subtext0 = "#6c6f85"
194
- overlay2 = "#7c7f93"
195
- overlay1 = "#8c8fa1"
196
- overlay0 = "#9ca0b0"
197
- surface2 = "#acb0be"
198
- surface1 = "#bcc0cc"
199
- surface0 = "#ccd0da"
200
- base = "#eff1f5"
201
- mantle = "#e6e9ef"
202
- crust = "#dce0e8"