@sebastienrousseau/dotfiles 0.2.502 → 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 (412) hide show
  1. package/CHANGELOG.md +83 -9
  2. package/LICENSE +21 -1283
  3. package/README.md +5 -3
  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/02-config-files.md +2 -2
  20. package/docs/manual/_toc.yml +1 -1
  21. package/docs/manual/command-index.md +72 -59
  22. package/docs/operations/CI_COMPOSITES.md +2 -2
  23. package/docs/operations/COMPLETIONS.md +2 -2
  24. package/docs/operations/COVERAGE.md +5 -5
  25. package/docs/operations/HARD_AUDIT_2026.md +11 -11
  26. package/docs/operations/MAINTENANCE.md +3 -3
  27. package/docs/operations/MANIFEST.md +127 -0
  28. package/docs/operations/RELEASE_PIPELINE.md +130 -0
  29. package/docs/operations/RFC_v0_2_503_reorganization.md +280 -0
  30. package/docs/operations/ROADMAP_2026.md +6 -6
  31. package/docs/operations/ROADMAP_V0_2_503.md +134 -0
  32. package/docs/operations/TESTING.md +17 -0
  33. package/docs/operations/TRACEABILITY.md +6 -3
  34. package/docs/operations/VERSION_SYNC.md +4 -4
  35. package/docs/reference/POWERSHELL_PARITY.md +8 -7
  36. package/docs/schema/dot-env-v1.json +110 -0
  37. package/docs/security/CI_EGRESS_ALLOWLIST.md +1 -1
  38. package/docs/security/CI_PINNING.md +17 -9
  39. package/docs/security/DEPS_DEV_EXCEPTIONS.md +2 -2
  40. package/docs/security/FUZZING.md +114 -0
  41. package/docs/security/INSTALL_VERIFICATION.md +2 -2
  42. package/docs/security/POLICY_RELEASES.md +2 -2
  43. package/docs/security/SCORECARD.md +58 -3
  44. package/docs/security/SHELL_EXEMPTIONS.md +4 -4
  45. package/docs/security/VERIFY_RELEASE.md +201 -0
  46. package/install.sh +27 -5
  47. package/package.json +1 -1
  48. package/scripts/README.md +123 -0
  49. package/scripts/ci/check-copyright-headers.sh +4 -93
  50. package/scripts/ci/check-shell-preamble.sh +4 -103
  51. package/scripts/ci/guard-gitleaks-checkout.sh +4 -54
  52. package/scripts/diagnostics/a2a-conformance.sh +4 -4
  53. package/scripts/diagnostics/alias-governance.sh +1 -1
  54. package/scripts/diagnostics/aliases-cheatsheet.sh +2 -2
  55. package/scripts/diagnostics/benchmark.sh +4 -4
  56. package/scripts/diagnostics/conflicts.sh +2 -2
  57. package/scripts/diagnostics/doctor-unified.sh +2 -2
  58. package/scripts/diagnostics/doctor.sh +10 -10
  59. package/scripts/diagnostics/drift-dashboard.sh +2 -2
  60. package/scripts/diagnostics/health.sh +4 -4
  61. package/scripts/diagnostics/history-analysis.sh +2 -2
  62. package/scripts/diagnostics/mcp-doctor.sh +10 -7
  63. package/scripts/diagnostics/perf.sh +4 -4
  64. package/scripts/diagnostics/scorecard.sh +4 -4
  65. package/scripts/diagnostics/security-score.sh +2 -2
  66. package/scripts/diagnostics/smoke-test.sh +2 -2
  67. package/scripts/diagnostics/snapshot.sh +2 -2
  68. package/scripts/diagnostics/verify.sh +4 -4
  69. package/scripts/diagnostics/version-locks.sh +2 -2
  70. package/scripts/diagnostics/workstation-attestation.sh +14 -14
  71. package/scripts/dot/commands/agent.sh +8 -0
  72. package/scripts/dot/commands/agents.sh +14 -4
  73. package/scripts/dot/commands/ai.sh +144 -25
  74. package/scripts/dot/commands/appearance.sh +2 -2
  75. package/scripts/dot/commands/core.sh +2 -2
  76. package/scripts/dot/commands/diagnostics.sh +5 -5
  77. package/scripts/dot/commands/env-emit.sh +202 -0
  78. package/scripts/dot/commands/fleet.sh +12 -11
  79. package/scripts/dot/commands/init.sh +4 -4
  80. package/scripts/dot/commands/lint.sh +9 -4
  81. package/scripts/dot/commands/manual.sh +3 -3
  82. package/scripts/dot/commands/meta.sh +12 -6
  83. package/scripts/dot/commands/patterns.sh +2 -2
  84. package/scripts/dot/commands/registry.sh +4 -4
  85. package/scripts/dot/commands/restore.sh +4 -4
  86. package/scripts/dot/commands/secrets.sh +4 -3
  87. package/scripts/dot/commands/security.sh +2 -2
  88. package/scripts/dot/commands/tools.sh +13 -3
  89. package/scripts/dot/powershell/Dot.psm1 +199 -0
  90. package/scripts/fonts/install-nerd-fonts.sh +2 -2
  91. package/scripts/git-hooks/pre-commit-audit.sh +2 -2
  92. package/scripts/git-hooks/pre-push +13 -0
  93. package/scripts/ops/ai-setup.sh +1 -1
  94. package/scripts/ops/bundle.sh +2 -2
  95. package/scripts/ops/chaos.sh +2 -2
  96. package/scripts/ops/chezmoi-apply.sh +4 -4
  97. package/scripts/ops/heal.sh +4 -4
  98. package/scripts/ops/post-apply-repair.sh +2 -2
  99. package/scripts/ops/prewarm.sh +2 -2
  100. package/scripts/ops/release.sh +4 -4
  101. package/scripts/ops/rollback.sh +4 -4
  102. package/scripts/ops/setup.sh +2 -2
  103. package/scripts/qa/check-version-consistency.sh +123 -0
  104. package/scripts/qa/coverage-baseline.sh +1 -1
  105. package/scripts/qa/docs-coverage.sh +2 -2
  106. package/scripts/qa/powershell-contract.ps1 +1 -1
  107. package/scripts/qa/scorecard-snapshot.sh +127 -0
  108. package/scripts/security/backup.sh +2 -2
  109. package/scripts/security/dns-doh.sh +4 -4
  110. package/scripts/security/encryption-check.sh +4 -4
  111. package/scripts/security/enforce-policies.sh +2 -2
  112. package/scripts/security/firewall.sh +4 -4
  113. package/scripts/security/lock-screen.sh +4 -4
  114. package/scripts/security/manage-secrets.sh +2 -2
  115. package/scripts/security/ssh-cert.sh +2 -2
  116. package/scripts/security/telemetry-kill.sh +4 -4
  117. package/scripts/security/usb-safety.sh +4 -4
  118. package/scripts/theme/extract-heic-frames.sh +114 -0
  119. package/scripts/theme/rebuild-themes.sh +8 -1
  120. package/scripts/theme/switch.sh +13 -6
  121. package/scripts/theme/wallpaper-sync.sh +297 -93
  122. package/scripts/tuning/linux.sh +2 -2
  123. package/scripts/tuning/macos.sh +2 -2
  124. package/scripts/version-sync.sh +55 -7
  125. package/dot_config/.module-manifest.json +0 -69
  126. package/dot_config/ai/identity.md +0 -23
  127. package/dot_config/ai/patterns/architect.md +0 -16
  128. package/dot_config/ai/patterns/hardener.md +0 -15
  129. package/dot_config/ai/patterns/refactor.md +0 -15
  130. package/dot_config/aider/aider.conf.yml +0 -32
  131. package/dot_config/alacritty/alacritty.toml.tmpl +0 -55
  132. package/dot_config/ansible/ansible.cfg +0 -11
  133. package/dot_config/atuin/config.toml.tmpl +0 -47
  134. package/dot_config/bat/config +0 -23
  135. package/dot_config/brave-flags.conf.tmpl +0 -7
  136. package/dot_config/btop/btop.conf +0 -16
  137. package/dot_config/btop/themes/tokyonight.theme +0 -34
  138. package/dot_config/bun/bunfig.toml.tmpl +0 -33
  139. package/dot_config/claude/mcp_servers.json +0 -20
  140. package/dot_config/containers/containers.conf +0 -14
  141. package/dot_config/curl/dot_curlrc +0 -18
  142. package/dot_config/dlv/config.yml +0 -39
  143. package/dot_config/docker/config.json +0 -15
  144. package/dot_config/dotfiles/agent-card.json +0 -29
  145. package/dot_config/dotfiles/agent-profiles.json +0 -92
  146. package/dot_config/dotfiles/boot/README.md +0 -13
  147. package/dot_config/dotfiles/grub/README.md +0 -13
  148. package/dot_config/dotfiles/lock/README.md +0 -13
  149. package/dot_config/dotfiles/mcp-lock.json +0 -33
  150. package/dot_config/dotfiles/mcp-policy.json +0 -52
  151. package/dot_config/dotfiles/mcp-registry.json +0 -47
  152. package/dot_config/dotfiles/model-registry.json +0 -20
  153. package/dot_config/dotfiles/policy-bundles.json +0 -38
  154. package/dot_config/dotfiles/prompt-registry.json +0 -16
  155. package/dot_config/dotfiles/versions.env +0 -18
  156. package/dot_config/duf/duf.conf +0 -6
  157. package/dot_config/duti/defaults.duti +0 -5
  158. package/dot_config/emoji/emoji.txt +0 -34
  159. package/dot_config/environment.d/50-ssh-agent.conf +0 -2
  160. package/dot_config/environment.d/90-wayland.conf +0 -19
  161. package/dot_config/fastfetch/config.jsonc +0 -28
  162. package/dot_config/firefox/user.js.tmpl +0 -58
  163. package/dot_config/fish/completions/dot-theme-sync.fish.tmpl +0 -9
  164. package/dot_config/fish/completions/dot.fish.tmpl +0 -115
  165. package/dot_config/fish/conf.d/000-perf-cache.fish +0 -56
  166. package/dot_config/fish/conf.d/aliases.fish.tmpl +0 -77
  167. package/dot_config/fish/conf.d/direnv.fish +0 -4
  168. package/dot_config/fish/conf.d/env.fish.tmpl +0 -48
  169. package/dot_config/fish/conf.d/functions.fish.tmpl +0 -22
  170. package/dot_config/fish/conf.d/init.fish.tmpl +0 -172
  171. package/dot_config/fish/conf.d/mise-activate.fish +0 -5
  172. package/dot_config/fish/config.fish.tmpl +0 -44
  173. package/dot_config/fish/fish_plugins +0 -1
  174. package/dot_config/fish/functions/_.fish +0 -3
  175. package/dot_config/fish/functions/_cached_eval.fish +0 -131
  176. package/dot_config/fish/functions/_cached_eval_clear.fish +0 -17
  177. package/dot_config/fish/functions/als.fish +0 -46
  178. package/dot_config/fish/functions/bg-upgrade.fish +0 -7
  179. package/dot_config/fish/functions/c.fish +0 -3
  180. package/dot_config/fish/functions/cat.fish +0 -9
  181. package/dot_config/fish/functions/d.fish +0 -7
  182. package/dot_config/fish/functions/dot.fish +0 -34
  183. package/dot_config/fish/functions/h.fish +0 -3
  184. package/dot_config/fish/functions/l.fish +0 -7
  185. package/dot_config/fish/functions/la.fish +0 -7
  186. package/dot_config/fish/functions/ll.fish +0 -7
  187. package/dot_config/fish/functions/log_error.fish +0 -13
  188. package/dot_config/fish/functions/log_info.fish +0 -13
  189. package/dot_config/fish/functions/lr.fish +0 -7
  190. package/dot_config/fish/functions/lra.fish +0 -7
  191. package/dot_config/fish/functions/ls.fish +0 -7
  192. package/dot_config/fish/functions/lt.fish +0 -7
  193. package/dot_config/fish/functions/lta.fish +0 -7
  194. package/dot_config/fish/functions/notify-run.fish +0 -11
  195. package/dot_config/fish/functions/q.fish +0 -3
  196. package/dot_config/fish/functions/silent-run.fish +0 -7
  197. package/dot_config/fish/functions/yy.fish +0 -8
  198. package/dot_config/flatpak/flatpak.list +0 -4
  199. package/dot_config/fontconfig/fonts.conf.tmpl +0 -57
  200. package/dot_config/foot/foot.ini.tmpl +0 -33
  201. package/dot_config/fuzzel/fuzzel.ini.tmpl +0 -18
  202. package/dot_config/fzf/fzf.zsh +0 -48
  203. package/dot_config/gem/gemrc +0 -9
  204. package/dot_config/gh/config.yml +0 -12
  205. package/dot_config/ghostty/config.tmpl +0 -165
  206. package/dot_config/git/allowed_signers.tmpl +0 -18
  207. package/dot_config/git/attributes +0 -12
  208. package/dot_config/git/commit-template +0 -10
  209. package/dot_config/git/hooks/executable_commit-msg +0 -146
  210. package/dot_config/git/ignore +0 -27
  211. package/dot_config/gnupg/gpg-agent.conf +0 -11
  212. package/dot_config/go/golangci.yml +0 -118
  213. package/dot_config/go/gopls.json +0 -30
  214. package/dot_config/goose/config.yaml +0 -29
  215. package/dot_config/gtk-3.0/gtk.css.tmpl +0 -184
  216. package/dot_config/gtk-3.0/settings.ini.tmpl +0 -27
  217. package/dot_config/gtk-4.0/gtk.css.tmpl +0 -252
  218. package/dot_config/gtk-4.0/settings.ini.tmpl +0 -18
  219. package/dot_config/htop/htoprc +0 -20
  220. package/dot_config/inputrc +0 -2
  221. package/dot_config/ipython/profile_default/ipython_config.py +0 -19
  222. package/dot_config/just/justfile +0 -122
  223. package/dot_config/k9s/config.yaml +0 -65
  224. package/dot_config/k9s/skins/catppuccin-mocha.yaml +0 -116
  225. package/dot_config/kanshi/config.tmpl +0 -22
  226. package/dot_config/karabiner/karabiner.json +0 -14
  227. package/dot_config/kitty/kitty.conf.tmpl +0 -53
  228. package/dot_config/lazydocker/config.yml +0 -186
  229. package/dot_config/lazygit/config.yml +0 -35
  230. package/dot_config/mako/config +0 -47
  231. package/dot_config/mas/masapps.txt +0 -5
  232. package/dot_config/micro/settings.json +0 -3
  233. package/dot_config/mimeapps.list +0 -77
  234. package/dot_config/minikube/config.json +0 -13
  235. package/dot_config/mise/config.toml +0 -99
  236. package/dot_config/mongosh/mongoshrc.js +0 -68
  237. package/dot_config/mpv/input.conf +0 -47
  238. package/dot_config/mpv/mpv.conf +0 -47
  239. package/dot_config/mycli/myclirc +0 -67
  240. package/dot_config/nano/nanorc +0 -28
  241. package/dot_config/ncdu/config +0 -12
  242. package/dot_config/niri/config.kdl.tmpl +0 -327
  243. package/dot_config/nushell/aliases.nu +0 -18
  244. package/dot_config/nushell/cached_eval.nu +0 -80
  245. package/dot_config/nushell/completions.nu.tmpl +0 -52
  246. package/dot_config/nushell/config.nu.tmpl +0 -86
  247. package/dot_config/nushell/env.nu.tmpl +0 -102
  248. package/dot_config/nushell/functions.nu.tmpl +0 -17
  249. package/dot_config/nvim/init.lua +0 -18
  250. package/dot_config/nvim/lazy-lock.json +0 -58
  251. package/dot_config/nvim/lua/config/autocmds.lua +0 -107
  252. package/dot_config/nvim/lua/config/keymaps.lua +0 -92
  253. package/dot_config/nvim/lua/config/lazy.lua +0 -44
  254. package/dot_config/nvim/lua/config/options.lua +0 -49
  255. package/dot_config/nvim/lua/plugins/ai.lua +0 -75
  256. package/dot_config/nvim/lua/plugins/coding.lua +0 -216
  257. package/dot_config/nvim/lua/plugins/completion.lua +0 -60
  258. package/dot_config/nvim/lua/plugins/dap.lua +0 -412
  259. package/dot_config/nvim/lua/plugins/editor.lua +0 -55
  260. package/dot_config/nvim/lua/plugins/git.lua +0 -10
  261. package/dot_config/nvim/lua/plugins/lsp.lua +0 -156
  262. package/dot_config/nvim/lua/plugins/markdown.lua +0 -18
  263. package/dot_config/nvim/lua/plugins/rust.lua +0 -34
  264. package/dot_config/nvim/lua/plugins/sessions.lua +0 -33
  265. package/dot_config/nvim/lua/plugins/ui.lua +0 -509
  266. package/dot_config/paru/paru.conf +0 -10
  267. package/dot_config/pip/pip.conf.tmpl +0 -32
  268. package/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl +0 -81
  269. package/dot_config/pueue/pueue.yml +0 -34
  270. package/dot_config/pypoetry/config.toml +0 -6
  271. package/dot_config/pyrightconfig.json +0 -5
  272. package/dot_config/raycast/README.md +0 -13
  273. package/dot_config/redis/redisclirc +0 -41
  274. package/dot_config/ripgrep/ripgreprc +0 -21
  275. package/dot_config/shell/00-core-paths.sh.tmpl +0 -141
  276. package/dot_config/shell/05-core-safety.sh +0 -48
  277. package/dot_config/shell/10-secrets.sh +0 -41
  278. package/dot_config/shell/40-fzf-defaults.sh.tmpl +0 -17
  279. package/dot_config/shell/40-ls-colors.sh +0 -49
  280. package/dot_config/shell/50-logic-functions-core.sh.tmpl +0 -11
  281. package/dot_config/shell/50-logic-functions.sh.tmpl +0 -11
  282. package/dot_config/shell/51-logic-functions-extra.sh.tmpl +0 -65
  283. package/dot_config/shell/90-ux-aliases.sh.tmpl +0 -121
  284. package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +0 -55
  285. package/dot_config/shell/Brewfile +0 -207
  286. package/dot_config/shell/Brewfile.cask +0 -92
  287. package/dot_config/shell/Brewfile.cli +0 -127
  288. package/dot_config/shell/README.md +0 -284
  289. package/dot_config/shell/als_data.txt.tmpl +0 -65
  290. package/dot_config/shell/custom/auto_ls.zsh +0 -20
  291. package/dot_config/shell/custom/context_suggest.zsh +0 -68
  292. package/dot_config/shell/custom/error_analysis.zsh +0 -45
  293. package/dot_config/sops/dot_sops.yaml +0 -23
  294. package/dot_config/starship.toml.tmpl +0 -202
  295. package/dot_config/swaylock/config +0 -43
  296. package/dot_config/systemd/user/dotfiles-maintenance.service +0 -8
  297. package/dot_config/systemd/user/dotfiles-maintenance.timer +0 -11
  298. package/dot_config/systemd/user/pueued.service +0 -12
  299. package/dot_config/systemd/user/ssh-agent.service +0 -12
  300. package/dot_config/task/Taskfile.yml +0 -86
  301. package/dot_config/tflint/tflint.hcl +0 -9
  302. package/dot_config/tmux/tmux.conf.tmpl +0 -223
  303. package/dot_config/topgrade.toml.tmpl +0 -54
  304. package/dot_config/user-dirs.dirs +0 -10
  305. package/dot_config/vscode/extensions.txt +0 -11
  306. package/dot_config/vscode/settings.json.tmpl +0 -82
  307. package/dot_config/waybar/config.jsonc.tmpl +0 -90
  308. package/dot_config/waybar/style.css.tmpl +0 -211
  309. package/dot_config/wezterm/wezterm.lua.tmpl +0 -64
  310. package/dot_config/wget/wgetrc +0 -12
  311. package/dot_config/xdg-desktop-portal/niri-portals.conf +0 -5
  312. package/dot_config/yarn/yarnrc.yml +0 -36
  313. package/dot_config/yazi/keymap.toml +0 -67
  314. package/dot_config/yazi/theme.toml +0 -102
  315. package/dot_config/yazi/yazi.toml +0 -40
  316. package/dot_config/zathura/zathurarc +0 -52
  317. package/dot_config/zellij/config.kdl.tmpl +0 -79
  318. package/dot_config/zsh/dot_zprofile +0 -7
  319. package/dot_config/zsh/dot_zshenv +0 -5
  320. package/dot_config/zsh/dot_zshrc.tmpl +0 -688
  321. package/dot_config/zsh/rc.d/00-alias-shims.zsh +0 -99
  322. package/dot_config/zsh/rc.d/05-ssh-agent.zsh +0 -18
  323. package/dot_config/zsh/rc.d/10-env.zsh.tmpl +0 -28
  324. package/dot_config/zsh/rc.d/20-zinit.zsh +0 -65
  325. package/dot_config/zsh/rc.d/30-options.zsh.tmpl +0 -214
  326. package/dot_config/zsh/rc.d/40-bell.zsh +0 -20
  327. package/dot_config/zsh/rc.d/50-login-fortune.zsh +0 -9
  328. package/dot_config/zsh/rc.d/99-alias-wrapper.zsh +0 -32
  329. package/dot_local/bin/executable_ai-update +0 -195
  330. package/dot_local/bin/executable_ai_core +0 -152
  331. package/dot_local/bin/executable_antigravity +0 -11
  332. package/dot_local/bin/executable_b64 +0 -84
  333. package/dot_local/bin/executable_bm +0 -79
  334. package/dot_local/bin/executable_cb +0 -39
  335. package/dot_local/bin/executable_dot +0 -636
  336. package/dot_local/bin/executable_dot-ai +0 -36
  337. package/dot_local/bin/executable_dot-bootstrap +0 -76
  338. package/dot_local/bin/executable_dot-launch-or-focus +0 -52
  339. package/dot_local/bin/executable_dot-load-benchmark +0 -31
  340. package/dot_local/bin/executable_dot-load-benchmark-pty +0 -77
  341. package/dot_local/bin/executable_dot-theme-sync +0 -952
  342. package/dot_local/bin/executable_dot_completion +0 -57
  343. package/dot_local/bin/executable_dtags +0 -28
  344. package/dot_local/bin/executable_epoch +0 -67
  345. package/dot_local/bin/executable_extract +0 -41
  346. package/dot_local/bin/executable_gbd +0 -52
  347. package/dot_local/bin/executable_gd +0 -42
  348. package/dot_local/bin/executable_git-ai-commit +0 -175
  349. package/dot_local/bin/executable_git-ai-diff +0 -169
  350. package/dot_local/bin/executable_gl +0 -101
  351. package/dot_local/bin/executable_hash +0 -161
  352. package/dot_local/bin/executable_hashsum +0 -160
  353. package/dot_local/bin/executable_hex +0 -115
  354. package/dot_local/bin/executable_jsonv +0 -78
  355. package/dot_local/bin/executable_jwt +0 -94
  356. package/dot_local/bin/executable_kill-port +0 -75
  357. package/dot_local/bin/executable_lorem +0 -118
  358. package/dot_local/bin/executable_mkscript +0 -35
  359. package/dot_local/bin/executable_monitor +0 -56
  360. package/dot_local/bin/executable_myip +0 -51
  361. package/dot_local/bin/executable_notify +0 -24
  362. package/dot_local/bin/executable_open +0 -38
  363. package/dot_local/bin/executable_pw +0 -27
  364. package/dot_local/bin/executable_rec-start +0 -46
  365. package/dot_local/bin/executable_rec-stop +0 -35
  366. package/dot_local/bin/executable_regex +0 -132
  367. package/dot_local/bin/executable_start-niri +0 -8
  368. package/dot_local/bin/executable_tmux-sessionizer +0 -314
  369. package/dot_local/bin/executable_tour +0 -177
  370. package/dot_local/bin/executable_up +0 -23
  371. package/dot_local/bin/executable_update +0 -142
  372. package/dot_local/bin/executable_uuid +0 -87
  373. package/dot_local/bin/executable_win +0 -32
  374. package/dot_local/bin/executable_yamlv +0 -57
  375. package/dot_local/share/bash-completion/completions/dot +0 -72
  376. package/dot_local/share/icons/hicolor/128x128/apps/rousseau.png +0 -0
  377. package/dot_local/share/icons/hicolor/16x16/apps/rousseau.png +0 -0
  378. package/dot_local/share/icons/hicolor/24x24/apps/rousseau.png +0 -0
  379. package/dot_local/share/icons/hicolor/256x256/apps/rousseau.png +0 -0
  380. package/dot_local/share/icons/hicolor/32x32/apps/rousseau.png +0 -0
  381. package/dot_local/share/icons/hicolor/48x48/apps/rousseau.png +0 -0
  382. package/dot_local/share/icons/hicolor/512x512/apps/rousseau.png +0 -0
  383. package/dot_local/share/icons/hicolor/64x64/apps/rousseau.png +0 -0
  384. package/dot_local/share/icons/hicolor/96x96/apps/rousseau.png +0 -0
  385. package/dot_local/share/icons/hicolor/scalable/apps/rousseau.png +0 -0
  386. package/dot_local/share/man/man1/dot.1 +0 -149
  387. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_download +0 -64
  388. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_install +0 -18
  389. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_list-all +0 -13
  390. package/dot_local/share/wayland-sessions/niri.desktop.tmpl +0 -6
  391. package/dot_local/share/zsh/completions/.keep +0 -0
  392. package/dot_local/share/zsh/completions/_dot +0 -287
  393. package/scripts/ci/check-dangerous-chmod.sh +0 -19
  394. package/scripts/ci/check-deps-dev.sh +0 -236
  395. package/scripts/ci/check-insecure-tls.sh +0 -61
  396. package/scripts/ci/check-regression-traceability.sh +0 -67
  397. package/scripts/ci/dot-cli-startup-bench.sh +0 -126
  398. package/scripts/ci/install-chezmoi-verified.sh +0 -67
  399. package/scripts/ci/lint-reusable-pins.sh +0 -78
  400. package/scripts/ci/run-coverage.sh +0 -451
  401. package/scripts/ci/validate-chezmoidata.sh +0 -25
  402. package/scripts/ci/validate-ci-config.sh +0 -224
  403. package/scripts/ci/windows-smoke-test.ps1 +0 -136
  404. package/scripts/docs/build-manual.sh +0 -883
  405. package/scripts/docs/check-manual.sh +0 -213
  406. package/scripts/dot/lib/bento.sh +0 -50
  407. package/scripts/dot/lib/log.sh +0 -200
  408. package/scripts/dot/lib/platform.sh +0 -112
  409. package/scripts/dot/lib/ui.sh +0 -650
  410. package/scripts/dot/lib/utils.sh +0 -377
  411. package/scripts/maintenance/check-updates.sh +0 -131
  412. 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.502/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"