@sebastienrousseau/dotfiles 0.2.502 → 0.2.504

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 +109 -9
  2. package/LICENSE +21 -1283
  3. package/README.md +6 -4
  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 +118 -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 +5 -5
  56. package/scripts/diagnostics/conflicts.sh +2 -2
  57. package/scripts/diagnostics/doctor-unified.sh +3 -3
  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 +5 -5
  64. package/scripts/diagnostics/scorecard.sh +4 -4
  65. package/scripts/diagnostics/security-score.sh +25 -6
  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 +13 -3
  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 +156 -37
  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 +22 -16
  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 +3 -3
  92. package/scripts/git-hooks/pre-push +13 -0
  93. package/scripts/ops/ai-setup.sh +1 -1
  94. package/scripts/ops/bundle.sh +3 -3
  95. package/scripts/ops/chaos.sh +2 -2
  96. package/scripts/ops/chezmoi-apply.sh +12 -6
  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 +31 -2
  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 +74 -10
  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,99 +0,0 @@
1
- # shellcheck shell=bash
2
- # Cognitive Shell Enhancements
3
- #
4
- # Carapace is deferred to first `preexec` (closes #862). The eager
5
- # `_cached_eval carapace ...` call previously cost ~15ms on every
6
- # interactive shell start even with the cache warm — that work is
7
- # only needed when the user invokes tab-completion, which happens
8
- # after the first command at the earliest. Opt out by setting
9
- # `DOTFILES_DEFER_CARAPACE=0` (rarely useful).
10
- if [[ -o interactive ]]; then
11
- : ${DOTFILES_DEFER_CARAPACE:=1}
12
-
13
- _dotfiles_carapace_init() {
14
- if command -v carapace >/dev/null 2>&1; then
15
- if typeset -f _cached_eval >/dev/null 2>&1; then
16
- _cached_eval carapace carapace _carapace zsh
17
- else
18
- source <(carapace _zsh)
19
- fi
20
- fi
21
- }
22
-
23
- if [[ "${DOTFILES_DEFER_CARAPACE}" == "1" ]] && typeset -f _dotfiles_add_preexec >/dev/null 2>&1; then
24
- _dotfiles_carapace_deferred() {
25
- _dotfiles_del_preexec _dotfiles_carapace_deferred
26
- _dotfiles_carapace_init
27
- }
28
- _dotfiles_add_preexec _dotfiles_carapace_deferred
29
- else
30
- # Fallback to eager init when preexec helpers aren't available
31
- # (e.g., DOTFILES_FAST=1 paths that skip the zshrc helper block).
32
- _dotfiles_carapace_init
33
- fi
34
-
35
- # thefuck — lazy-loaded to avoid ~200ms startup penalty
36
- if command -v thefuck >/dev/null 2>&1; then
37
- _lazy_load_thefuck() {
38
- unset -f fuck _lazy_load_thefuck 2>/dev/null
39
- _cached_eval "thefuck-alias" thefuck --alias
40
- }
41
- fuck() { _lazy_load_thefuck; fuck "$@"; }
42
- alias fix='fuck'
43
- fi
44
- fi
45
-
46
- # Fallback command shims for environments with aliases disabled.
47
- # These are lightweight functions to ensure core shortcuts still work.
48
-
49
- # Opt-out with: export DOTFILES_ALIAS_SHIMS=0
50
- if [[ "${DOTFILES_ALIAS_SHIMS:-1}" != "1" ]]; then
51
- return 0
52
- fi
53
-
54
- # Avoid redefining if already present.
55
- if ! typeset -f c >/dev/null 2>&1; then
56
- c() { clear; }
57
- fi
58
- if ! typeset -f q >/dev/null 2>&1; then
59
- q() { exit; }
60
- fi
61
- if ! typeset -f e >/dev/null 2>&1; then
62
- e() { "${EDITOR:-nano}" "$@"; }
63
- fi
64
- if ! typeset -f h >/dev/null 2>&1; then
65
- h() { history; }
66
- fi
67
- if ! typeset -f l >/dev/null 2>&1; then
68
- l() { command -v eza >/dev/null 2>&1 && eza --sort Name --icons --group-directories-first "$@" || command ls "$@"; }
69
- fi
70
- if ! typeset -f ll >/dev/null 2>&1; then
71
- ll() { command -v eza >/dev/null 2>&1 && eza -alF --sort Name --icons --group-directories-first "$@" || command ls -lA "$@"; }
72
- fi
73
- if ! typeset -f la >/dev/null 2>&1; then
74
- la() { command -v eza >/dev/null 2>&1 && eza -a --sort Name --icons --group-directories-first "$@" || command ls -a "$@"; }
75
- fi
76
- if ! typeset -f lt >/dev/null 2>&1; then
77
- lt() { command -v eza >/dev/null 2>&1 && eza -aT --sort Name --icons --group-directories-first "$@" || command ls -R "$@"; }
78
- fi
79
- if ! typeset -f lr >/dev/null 2>&1; then
80
- lr() { command -v eza >/dev/null 2>&1 && eza -alF --recurse --sort Name --icons --group-directories-first "$@" || command ls -lAR "$@"; }
81
- fi
82
- if ! typeset -f lra >/dev/null 2>&1; then
83
- lra() { command -v eza >/dev/null 2>&1 && eza -alF --recurse --all --sort Name --icons --group-directories-first "$@" || command ls -lAR "$@"; }
84
- fi
85
- if ! typeset -f lta >/dev/null 2>&1; then
86
- lta() { command -v eza >/dev/null 2>&1 && eza -aT --all --sort Name --icons --group-directories-first "$@" || command ls -aR "$@"; }
87
- fi
88
- if ! typeset -f d >/dev/null 2>&1; then
89
- d() { command -v dot >/dev/null 2>&1 && dot "$@" || command -v docker >/dev/null 2>&1 && docker "$@"; }
90
- fi
91
- if ! typeset -f i >/dev/null 2>&1; then
92
- i() { command -v epoch >/dev/null 2>&1 && epoch "$@"; }
93
- fi
94
- if ! typeset -f a >/dev/null 2>&1; then
95
- a() { command -v ai_core >/dev/null 2>&1 && ai_core query "$@"; }
96
- fi
97
- if ! typeset -f _ >/dev/null 2>&1; then
98
- _() { sudo "$@"; }
99
- fi
@@ -1,18 +0,0 @@
1
- # YubiKey FIDO2/U2F security key helper
2
- if [[ -x /usr/lib/ssh/ssh-sk-helper ]]; then
3
- export SSH_SK_HELPER=/usr/lib/ssh/ssh-sk-helper
4
- fi
5
-
6
- # SSH agent: auto-start if no agent is running (interactive only)
7
- if [[ -o interactive ]] && [[ -z "$SSH_AUTH_SOCK" ]]; then
8
- eval "$(ssh-agent -s)" >/dev/null 2>&1
9
-
10
- # Add default key with timeout guard (2s max) to prevent startup hangs
11
- if [[ -f ~/.ssh/id_ed25519 ]]; then
12
- if [[ "$OSTYPE" == darwin* ]]; then
13
- timeout 2 ssh-add --apple-use-keychain ~/.ssh/id_ed25519 2>/dev/null || true
14
- else
15
- timeout 2 ssh-add ~/.ssh/id_ed25519 2>/dev/null || true
16
- fi
17
- fi
18
- fi
@@ -1,28 +0,0 @@
1
- # Environment and core variables
2
- export HOSTNAME="${HOST}"
3
- export INPUTRC="${HOME}/.inputrc"
4
- export OS_ARCH='{{ output "uname" "-m" | trim }}'
5
- export OS_NAME='{{ output "uname" | trim }}'
6
- export OS_VERSION='{{ output "uname" "-r" | trim }}'
7
- export USER_LANGUAGE="en_GB.UTF-8"
8
- export ARCHFLAGS="-arch ${OS_ARCH}"
9
- export DOTFILES_VERSION='{{ .dotfiles_version }}'
10
- export DOTFILES="${HOME}/.dotfiles/lib"
11
- export LANG="${USER_LANGUAGE}"
12
- export LANGUAGE="${USER_LANGUAGE}"
13
- export LC_ALL="${USER_LANGUAGE}"
14
- export LC_CTYPE="${USER_LANGUAGE}"
15
- export TERM="xterm-256color"
16
-
17
- # fnm multishell path for environments without /run/user/... access
18
- if [[ -z "${XDG_RUNTIME_DIR:-}" ]]; then
19
- export XDG_RUNTIME_DIR="${XDG_STATE_HOME:-$HOME/.local/state}/run"
20
- fi
21
- if [[ ! -d "${XDG_RUNTIME_DIR}" ]]; then
22
- mkdir -p "${XDG_RUNTIME_DIR}" 2>/dev/null || true
23
- fi
24
-
25
- export FNM_MULTISHELL_PATH="${FNM_MULTISHELL_PATH:-${XDG_RUNTIME_DIR}/fnm_multishells}"
26
- if [[ ! -d "${FNM_MULTISHELL_PATH}" ]]; then
27
- mkdir -p "${FNM_MULTISHELL_PATH}" 2>/dev/null || true
28
- fi
@@ -1,65 +0,0 @@
1
- # Zinit plugin manager
2
- [[ "${DOTFILES_FAST:-0}" == "1" ]] && return 0
3
- [[ "${DOTFILES_ULTRA_FAST:-0}" == "1" ]] && return 0
4
-
5
- ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git"
6
-
7
- _dotfiles_zinit_git_policy() {
8
- [[ -d "$ZINIT_HOME/.git" ]] || return 0
9
- command git -C "$ZINIT_HOME" config --local merge.verifySignatures false >/dev/null 2>&1 || true
10
- }
11
-
12
- _dotfiles_zinit_init() {
13
- if [[ ! -f "$ZINIT_HOME/zinit.zsh" ]]; then
14
- print -P "%F{33}▓▒░ %F{220}Installing %F{33}ZDHARMA-CONTINUUM%F{220} Initiative Plugin Manager (%F{33}zdharma-continuum/zinit%F{220})…%f"
15
- command mkdir -p "$(dirname "$ZINIT_HOME")" && command chmod g-rwX "$(dirname "$ZINIT_HOME")"
16
- command git clone https://github.com/zdharma-continuum/zinit "$ZINIT_HOME" && \
17
- print -P "%F{33}▓▒░ %F{34}Installation successful.%f%b" || \
18
- print -P "%F{160}▓▒░ The clone has failed.%f%b"
19
- fi
20
-
21
- _dotfiles_zinit_git_policy
22
-
23
- source "$ZINIT_HOME/zinit.zsh"
24
- autoload -Uz _zinit
25
- (( ${+_comps} )) && _comps[zinit]=_zinit
26
-
27
- # Load Zsh Plugins (Turbo mode - deferred loading, pinned to stable releases)
28
- zinit ice wait lucid ver"0.8.0"
29
- zinit light zsh-users/zsh-syntax-highlighting
30
- zinit ice wait lucid ver"v0.7.1" atload"_zsh_autosuggest_start"
31
- zinit light zsh-users/zsh-autosuggestions
32
- zinit ice wait lucid ver"0.35.0" blockf atpull"zinit creinstall -q ."
33
- zinit light zsh-users/zsh-completions
34
- }
35
-
36
- # Defer Zinit init for faster first prompt (opt-out by setting DOTFILES_DEFER_ZINIT=0)
37
- : ${DOTFILES_DEFER_ZINIT:=1}
38
- : ${DOTFILES_DEFER_ZINIT_MODE:=preexec}
39
-
40
- if [[ "${DOTFILES_DEFER_ZINIT}" == "1" ]]; then
41
- # Stub to auto-load zinit on first call (e.g. by topgrade)
42
- zinit() {
43
- unfunction zinit
44
- _dotfiles_zinit_init
45
- zinit "$@"
46
- }
47
-
48
- _dotfiles_zinit_deferred() {
49
- if [[ "${DOTFILES_DEFER_ZINIT_MODE}" == "preexec" ]]; then
50
- _dotfiles_del_preexec _dotfiles_zinit_deferred
51
- else
52
- _dotfiles_del_precmd _dotfiles_zinit_deferred
53
- fi
54
- # If zinit was already loaded via the stub, this is a no-op
55
- (( ${+functions[zinit]} )) && [[ "$(whence -w zinit)" == "zinit: function" ]] || _dotfiles_zinit_init
56
- }
57
-
58
- if [[ "${DOTFILES_DEFER_ZINIT_MODE}" == "preexec" ]]; then
59
- _dotfiles_add_preexec _dotfiles_zinit_deferred
60
- else
61
- _dotfiles_add_precmd _dotfiles_zinit_deferred
62
- fi
63
- else
64
- _dotfiles_zinit_init
65
- fi
@@ -1,214 +0,0 @@
1
- # Zsh history and options
2
- HISTFILE="${HOME}/.zsh_history"
3
- HISTSIZE=10000
4
- SAVEHIST=10000
5
- setopt HIST_IGNORE_ALL_DUPS
6
- setopt HIST_SAVE_NO_DUPS
7
- setopt HIST_EXPIRE_DUPS_FIRST
8
- setopt HIST_FIND_NO_DUPS
9
- setopt HIST_IGNORE_SPACE
10
- setopt HIST_REDUCE_BLANKS
11
- setopt EXTENDED_HISTORY
12
- setopt SHARE_HISTORY
13
- setopt APPEND_HISTORY
14
- setopt HIST_SAVE_BY_COPY
15
- setopt INTERACTIVE_COMMENTS
16
-
17
- setopt AUTO_CD
18
- setopt AUTO_PUSHD
19
- setopt PUSHD_IGNORE_DUPS
20
- setopt PUSHD_SILENT
21
- setopt NO_BEEP
22
-
23
- bindkey -v
24
-
25
- # Fix: prevent auto-indent when pasting multi-line content (vi mode)
26
- autoload -Uz bracketed-paste-magic
27
- zle -N bracketed-paste bracketed-paste-magic
28
-
29
- autoload -Uz up-line-or-beginning-search down-line-or-beginning-search
30
- zle -N up-line-or-beginning-search
31
- zle -N down-line-or-beginning-search
32
- bindkey -M viins "^[[A" up-line-or-beginning-search
33
- bindkey -M viins "^[[B" down-line-or-beginning-search
34
- bindkey -M viins "^P" up-line-or-beginning-search
35
- bindkey -M viins "^N" down-line-or-beginning-search
36
-
37
- ZSH_COMPLETIONS_DIR="${XDG_DATA_HOME:-${HOME}/.local/share}/zsh/completions"
38
- if [[ ! -d "${ZSH_COMPLETIONS_DIR}" ]]; then
39
- command mkdir -p "${ZSH_COMPLETIONS_DIR}"
40
- fi
41
- if [[ -z ${fpath[(r)${ZSH_COMPLETIONS_DIR}]} ]]; then
42
- fpath=("${ZSH_COMPLETIONS_DIR}" "${fpath[@]}")
43
- fi
44
- {{- /* Node.js version manager: configured via .chezmoidata.toml tools.node_manager */ -}}
45
- {{- $node_mgr := default "mise" .tools.node_manager -}}
46
- {{- if eq $node_mgr "fnm" }}
47
- # fnm (Fast Node Manager)
48
- # Initialize early so Node + corepack use the expected version.
49
- if [[ "${DOTFILES_FAST:-0}" != "1" ]] && [[ "${DOTFILES_ULTRA_FAST:-0}" != "1" ]] && command -v fnm >/dev/null; then
50
- if [[ ! -f "${ZSH_COMPLETIONS_DIR}/_fnm" ]]; then
51
- command fnm completions --shell zsh >| "${ZSH_COMPLETIONS_DIR}/_fnm"
52
- fi
53
- _lazy_load_fnm() {
54
- unfunction node npm npx pnpm pnpx fnm _lazy_load_fnm 2>/dev/null
55
- eval "$(command fnm env --use-on-cd --shell zsh --log-level quiet)"
56
- }
57
- fnm() { _lazy_load_fnm; command fnm "$@"; }
58
- node() { _lazy_load_fnm; command node "$@"; }
59
- npm() { _lazy_load_fnm; command npm "$@"; }
60
- npx() { _lazy_load_fnm; command npx "$@"; }
61
- pnpm() { _lazy_load_fnm; command pnpm "$@"; }
62
- pnpx() { _lazy_load_fnm; command pnpx "$@"; }
63
- fi
64
- {{- end }}
65
- {{- /* When node_manager = "mise", Node.js is handled by mise activate in dot_zshrc.tmpl */}}
66
-
67
- # Completions: generated on-demand on first interactive shell and cached
68
- if [[ "${DOTFILES_FAST:-0}" != "1" ]] && [[ "${DOTFILES_ULTRA_FAST:-0}" != "1" ]]; then
69
- [[ ! -f "${ZSH_COMPLETIONS_DIR}/_gh" ]] && command -v gh >/dev/null &&
70
- command gh completion -s zsh >| "${ZSH_COMPLETIONS_DIR}/_gh"
71
- [[ ! -f "${ZSH_COMPLETIONS_DIR}/_just" ]] && command -v just >/dev/null &&
72
- command just --completions zsh >| "${ZSH_COMPLETIONS_DIR}/_just"
73
- [[ ! -f "${ZSH_COMPLETIONS_DIR}/_chezmoi" ]] && command -v chezmoi >/dev/null &&
74
- command chezmoi completion zsh >| "${ZSH_COMPLETIONS_DIR}/_chezmoi"
75
- [[ ! -f "${ZSH_COMPLETIONS_DIR}/_kubectl" ]] && command -v kubectl >/dev/null &&
76
- command kubectl completion zsh >| "${ZSH_COMPLETIONS_DIR}/_kubectl"
77
- [[ ! -f "${ZSH_COMPLETIONS_DIR}/_atuin" ]] && command -v atuin >/dev/null &&
78
- command atuin gen-completions --shell zsh --out-dir "${ZSH_COMPLETIONS_DIR}" 2>/dev/null
79
- [[ ! -f "${ZSH_COMPLETIONS_DIR}/_mise" ]] && command -v mise >/dev/null &&
80
- command mise completions zsh >| "${ZSH_COMPLETIONS_DIR}/_mise" 2>/dev/null
81
- fi
82
-
83
- {{- if eq $node_mgr "nvm" }}
84
- # Lazy-load NVM
85
- export NVM_DIR="${NVM_DIR:-$HOME/.nvm}"
86
- if [[ "${DOTFILES_FAST:-0}" != "1" ]] && [[ "${DOTFILES_ULTRA_FAST:-0}" != "1" ]]; then
87
- if [[ -s "${NVM_DIR}/nvm.sh" ]]; then
88
- _lazy_load_nvm() {
89
- unfunction node npm npx nvm _lazy_load_nvm 2>/dev/null
90
- # shellcheck disable=SC1090
91
- . "${NVM_DIR}/nvm.sh"
92
- if [[ -s "${NVM_DIR}/bash_completion" ]]; then
93
- # shellcheck disable=SC1090
94
- . "${NVM_DIR}/bash_completion"
95
- fi
96
- }
97
- nvm() { _lazy_load_nvm; nvm "$@"; }
98
- node() { _lazy_load_nvm; command node "$@"; }
99
- npm() { _lazy_load_nvm; command npm "$@"; }
100
- npx() { _lazy_load_nvm; command npx "$@"; }
101
- fi
102
- fi
103
- {{- end }}
104
-
105
- # Lazy-load SDKMAN
106
- export SDKMAN_DIR="${SDKMAN_DIR:-$HOME/.sdkman}"
107
- if [[ "${DOTFILES_FAST:-0}" != "1" ]] && [[ "${DOTFILES_ULTRA_FAST:-0}" != "1" ]] && [[ -s "${SDKMAN_DIR}/bin/sdkman-init.sh" && -z "${functions[sdk]:-}" ]]; then
108
- _lazy_load_sdkman() {
109
- unfunction sdk _lazy_load_sdkman 2>/dev/null
110
- # shellcheck disable=SC1090
111
- . "${SDKMAN_DIR}/bin/sdkman-init.sh"
112
- }
113
- sdk() { _lazy_load_sdkman; sdk "$@"; }
114
- fi
115
- # Defer compinit to first prompt — opt-in for max performance.
116
- #
117
- # Cache lifecycle (closes #864):
118
- # * dump path lives at $XDG_CACHE_HOME/zsh/zcompdump-$ZSH_VERSION so
119
- # the user-state directory is clean (and zsh's own search picks up
120
- # `.zwc` siblings automatically — non-laptop profiles get the
121
- # benefit even without re-running compinit).
122
- # * `compinit -C` (skip security-check, use the cached dump) is used
123
- # when the dump is fresh (< 24 h); full `compinit` rebuilds when
124
- # the dump is older.
125
- # * The dump is `zcompile`d in the background after each rebuild so
126
- # subsequent shells load the bytecode form directly.
127
- # * The fpath corpus itself is precompiled at chezmoi-apply time by
128
- # `run_onchange_after_zcompile-completions.sh.tmpl` — that runs
129
- # once per fpath change, not per shell start.
130
- : ${DOTFILES_ENABLE_COMPINIT:=0}
131
- : ${DOTFILES_DEFER_COMPINIT:=1}
132
-
133
- _DOTFILES_ZCOMPDUMP="${XDG_CACHE_HOME:-${HOME}/.cache}/zsh/zcompdump-${ZSH_VERSION:-${ZSH_NAME:-unknown}}"
134
-
135
- if [[ "${DOTFILES_ENABLE_COMPINIT}" == "1" ]] && [[ "${DOTFILES_FAST:-0}" != "1" ]] && [[ "${DOTFILES_ULTRA_FAST:-0}" != "1" ]]; then
136
- autoload -Uz compinit
137
- [[ -d "${_DOTFILES_ZCOMPDUMP:h}" ]] || mkdir -p "${_DOTFILES_ZCOMPDUMP:h}"
138
-
139
- _deferred_compinit() {
140
- if [[ "${DOTFILES_DEFER_COMPINIT}" == "1" ]]; then
141
- _dotfiles_del_preexec _deferred_compinit
142
- else
143
- _dotfiles_del_precmd _deferred_compinit
144
- fi
145
- # Fresh dump (< 24 h) → use cached fast path; otherwise rebuild.
146
- if [[ -n ${_DOTFILES_ZCOMPDUMP}(#qN.mh+24) ]]; then
147
- compinit -d "${_DOTFILES_ZCOMPDUMP}"
148
- else
149
- compinit -C -d "${_DOTFILES_ZCOMPDUMP}"
150
- fi
151
- # Compile to bytecode in background for faster subsequent loads
152
- { [[ ! -f "${_DOTFILES_ZCOMPDUMP}.zwc" || "${_DOTFILES_ZCOMPDUMP}" -nt "${_DOTFILES_ZCOMPDUMP}.zwc" ]] && zcompile "${_DOTFILES_ZCOMPDUMP}" } &!
153
- }
154
- if [[ "${DOTFILES_DEFER_COMPINIT}" == "1" ]]; then
155
- _dotfiles_add_preexec _deferred_compinit
156
- else
157
- _dotfiles_add_precmd _deferred_compinit
158
- fi
159
-
160
- zstyle ':completion:*' menu select
161
- zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
162
- zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
163
- zstyle ':completion:*' special-dirs true
164
- zstyle ':completion:*' verbose yes
165
- fi
166
-
167
- # Colors (opt-in; enables $fg/$bg variables)
168
- : ${DOTFILES_ENABLE_COLORS:=0}
169
- if [[ "${DOTFILES_ENABLE_COLORS}" == "1" ]]; then
170
- : ${DOTFILES_DEFER_COLORS:=1}
171
- if [[ "${DOTFILES_DEFER_COLORS}" == "1" ]]; then
172
- _dotfiles_colors_zle_init() {
173
- zle -D zle-line-init
174
- # Skip when running -c (no prompt)
175
- [[ -n "${ZSH_EXECUTION_STRING:-}" ]] && return 0
176
- autoload -Uz colors && colors
177
- }
178
- zle -N zle-line-init _dotfiles_colors_zle_init
179
- else
180
- autoload -Uz colors && colors
181
- fi
182
- fi
183
- unsetopt correct_all
184
-
185
- # fzf integration
186
- if [[ "${DOTFILES_FAST:-0}" != "1" ]] && [[ "${DOTFILES_ULTRA_FAST:-0}" != "1" ]]; then
187
- if [[ -f "${HOME}/.config/fzf/fzf.zsh" ]]; then
188
- source "${HOME}/.config/fzf/fzf.zsh"
189
- elif [[ -f "${HOME}/.fzf.zsh" ]]; then
190
- source "${HOME}/.fzf.zsh"
191
- fi
192
- fi
193
-
194
- # Explicit fzf bindings (fallback if not already set by fzf)
195
- if [[ "${DOTFILES_FAST:-0}" != "1" ]] && [[ "${DOTFILES_ULTRA_FAST:-0}" != "1" ]] && command -v fzf >/dev/null; then
196
- bindkey -M viins -s '^T' 'fzf^M'
197
- bindkey -M viins -s '^R' 'fzf^M'
198
- fi
199
-
200
- # direnv (directory environments)
201
- if [[ "${DOTFILES_FAST:-0}" != "1" ]] && [[ "${DOTFILES_ULTRA_FAST:-0}" != "1" ]] && command -v direnv >/dev/null; then
202
- # Custom quiet hook: suppress direnv status chatter on every prompt/chdir.
203
- _dotfiles_direnv_hook() {
204
- # Fast path: skip direnv in dotfiles unless flake mode is explicitly enabled.
205
- if [[ "${PWD:A}" == "${HOME}/.dotfiles"* ]] && [[ "${DOTFILES_USE_FLAKE:-0}" != "1" ]] && [[ "${CI:-0}" != "1" ]]; then
206
- return 0
207
- fi
208
- trap -- '' SIGINT
209
- eval "$(direnv export zsh 2>/dev/null)"
210
- trap - SIGINT
211
- }
212
- autoload -Uz add-zsh-hook
213
- add-zsh-hook chpwd _dotfiles_direnv_hook
214
- fi
@@ -1,20 +0,0 @@
1
- # Terminal bell (sound + visual)
2
-
3
- : ${DOTFILES_BELL_SOUND:=1}
4
- : ${DOTFILES_BELL_VISUAL:=1}
5
-
6
- if [[ "$DOTFILES_BELL_SOUND" == "1" ]]; then
7
- unsetopt NO_BEEP
8
- setopt BEEP
9
- else
10
- setopt NO_BEEP
11
- fi
12
-
13
- # Some zsh builds don't include visualbell; guard to avoid startup errors.
14
- if (( $+options[visualbell] )); then
15
- if [[ "$DOTFILES_BELL_VISUAL" == "1" ]]; then
16
- setopt VISUALBELL
17
- else
18
- unsetopt VISUALBELL
19
- fi
20
- fi
@@ -1,9 +0,0 @@
1
- # Login fortune (cowsay)
2
-
3
- : ${DOTFILES_LOGIN_FORTUNE:=1}
4
-
5
- if [[ -o login ]] && [[ "$DOTFILES_LOGIN_FORTUNE" == "1" ]]; then
6
- if command -v fortune >/dev/null && command -v cowsay >/dev/null; then
7
- fortune | cowsay
8
- fi
9
- fi
@@ -1,32 +0,0 @@
1
- # Smart Alias Function (High-Fidelity TUI)
2
- alias_wrapper() {
3
- if [[ $# -eq 0 ]]; then
4
- # Find gum cmd dynamically if needed
5
- local gum_cmd
6
- gum_cmd=$(command -v gum 2>/dev/null || (command -v mise >/dev/null && mise which "aqua:charmbracelet/gum" 2>/dev/null))
7
-
8
- if [[ -n "$gum_cmd" ]]; then
9
- # Use printf to get a literal tab
10
- local tab=$'\t'
11
-
12
- # Extract aliases, format as Tab separated, ensure only 2 columns, and pipe to gum table
13
- builtin alias | sed -E "s/^([^=]+)='?([^']*)'?$/\1${tab}\2/" |
14
- while IFS=$tab read -r alias_name cmd_body; do
15
- if [[ -n "$alias_name" && -n "$cmd_body" ]]; then
16
- # Ensure no extra tabs in body and exactly one tab total
17
- local clean_cmd="${cmd_body//$tab/ }"
18
- printf "%s\t%s\n" "$alias_name" "$clean_cmd"
19
- fi
20
- done |
21
- "$gum_cmd" table --separator "${tab}" --print --columns "Alias,Command" --widths 15,60 \
22
- --border rounded --border.foreground 212 --header.foreground 212
23
- elif command -v bat >/dev/null 2>&1; then
24
- builtin alias | bat -l sh --style=plain
25
- else
26
- builtin alias
27
- fi
28
- else
29
- builtin alias "$@"
30
- fi
31
- }
32
- alias alias=alias_wrapper