@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,77 +0,0 @@
1
- {{- $fishFuncsPattern := joinPath .chezmoi.sourceDir "dot_config/fish/functions/*.fish" -}}
2
- {{- $fishFuncs := glob $fishFuncsPattern -}}
3
- # Fish aliases — bridged from bash alias library (Generated by Chezmoi)
4
- # Edit .chezmoitemplates/aliases/ source files, not this file.
5
- #
6
- # Data flow: .chezmoitemplates/aliases/ -> 90/91-ux-aliases*.sh -> bash bridge -> cache
7
-
8
- if status is-interactive
9
- set -l _cache_dir "$HOME/.cache/fish"
10
- set -l _alias_cache "$_cache_dir/bash-aliases.fish"
11
- set -l _src_eager "$HOME/.config/shell/90-ux-aliases.sh"
12
- set -l _src_lazy "$HOME/.config/shell/91-ux-aliases-lazy.sh"
13
-
14
- # Native fish functions that must not be overridden by bash aliases
15
- set -l _skip{{ range $fishFuncs }} {{ trimSuffix ".fish" (base .) }}{{ end }}
16
-
17
- # Rebuild cache when alias sources change or cache is missing
18
- set -l _stale 0
19
- if not test -f "$_alias_cache"
20
- set _stale 1
21
- else if test -f "$_src_eager"; and test "$_src_eager" -nt "$_alias_cache"
22
- set _stale 1
23
- else if test -f "$_src_lazy"; and test "$_src_lazy" -nt "$_alias_cache"
24
- set _stale 1
25
- end
26
-
27
- if test "$_stale" = 1
28
- mkdir -p "$_cache_dir"
29
- # Source bash aliases, filter fish-incompatible syntax, write cache
30
- env -i HOME="$HOME" PATH="$PATH" bash --norc --noprofile -c '
31
- source "$HOME/.config/shell/90-ux-aliases.sh" 2>/dev/null
32
- source "$HOME/.config/shell/91-ux-aliases-lazy.sh" 2>/dev/null
33
- alias -p 2>/dev/null | while IFS= read -r line; do
34
- name="${line#alias }"
35
- name="${name#-- }"
36
- name="${name%%=*}"
37
- [[ "$name" =~ ^[a-zA-Z_][a-zA-Z0-9_.-]*$ ]] || continue
38
- val="${line#*=}"
39
- # Skip bash-specific syntax incompatible with fish
40
- case "$val" in
41
- *\$\{*) continue ;;
42
- *"; then "*) continue ;;
43
- *"[[ "*) continue ;;
44
- *\`*) continue ;;
45
- esac
46
- printf "alias %s=%s\n" "$name" "$val"
47
- done
48
- ' 2>/dev/null | while read -l _line
49
- set -l _parts (string match -r '^alias ([^=]+)=' -- "$_line")
50
- set -l _name
51
- if set -q _parts[2]
52
- set _name $_parts[2]
53
- end
54
- set -l _target (string replace -r '^alias [^=]+=["'\'']?([^ "'\'']+).*$' '$1' -- "$_line")
55
- if set -q _name[1]; and not contains -- "$_name" $_skip
56
- if string match -rq '^dot_[a-z0-9_]+$' -- "$_target"
57
- continue
58
- end
59
- echo "$_line"
60
- end
61
- end >"$_alias_cache.tmp"
62
- mv "$_alias_cache.tmp" "$_alias_cache"
63
- end
64
-
65
- # Source cached aliases
66
- if test -s "$_alias_cache"
67
- source "$_alias_cache"
68
- end
69
-
70
- # Remove stale alias wrappers that reference bash-only helper functions.
71
- if functions -q cat; and not functions -q dot_cat
72
- set -l _cat_def (functions cat)
73
- if string match -rq 'dot_cat \$argv' -- "$_cat_def"
74
- functions -e cat
75
- end
76
- end
77
- end
@@ -1,4 +0,0 @@
1
- # Shadow vendor `/opt/homebrew/share/fish/vendor_conf.d/direnv.fish`.
2
- # fish dedupes conf.d files by basename — user conf.d wins. Direnv is
3
- # loaded lazily by `_dotfiles_async_init` in init.fish via `_cached_eval
4
- # direnv hook fish`, avoiding the unconditional cost on every shell start.
@@ -1,48 +0,0 @@
1
- # 🅳🅾🆃🅵🅸🅻🅴🆂 (v{{ .dotfiles_version }}) — Environment, PATH, and tool defaults
2
- # Consolidated for startup performance (fewer conf.d files = less source overhead).
3
- # Values baked at chezmoi apply time where possible — no subshells at startup.
4
-
5
- # ── PATH Construction ────────────────────────────────────────────
6
- # Uses direct set -p (builtin) instead of fish_add_path for speed.
7
- # Lowest priority first, highest last (each set -p pushes to front).
8
- set -gx PIPX_HOME (set -q XDG_DATA_HOME; and echo "$XDG_DATA_HOME"; or echo "$HOME/.local/share")/pipx
9
- set -gx PIPX_BIN_DIR (set -q XDG_BIN_HOME; and echo "$XDG_BIN_HOME"; or echo "$HOME/.local/bin")
10
- set -gx BUN_INSTALL "$HOME/.bun"
11
-
12
- for p in \
13
- /usr/sbin /sbin /usr/bin /bin \
14
- /opt/homebrew/sbin /opt/homebrew/bin \
15
- /opt/homebrew/opt/ruby/bin \
16
- "$HOME/.gem/ruby/bin" \
17
- "$PIPX_BIN_DIR" \
18
- "$HOME/.cargo/bin" \
19
- "$HOME/go/bin" \
20
- "$BUN_INSTALL/bin" \
21
- "$HOME/.node_modules/bin" \
22
- "$HOME/.luarocks/bin" \
23
- {{- if eq .chezmoi.os "darwin" }}
24
- /Library/Apple/usr/bin \
25
- {{- end }}
26
- "$HOME/.local/bin" \
27
- "$HOME/.local/share/mise/shims" \
28
- "$HOME/bin"
29
- contains -- "$p" $PATH; or set -p PATH "$p"
30
- end
31
-
32
- # ── Build artifacts → /tmp (cleared on reboot) ─────────────────
33
- mkdir -p /tmp/builds
34
-
35
- # ── Direnv ──────────────────────────────────────────────────────
36
- set -gx DIRENV_LOG_FORMAT ""
37
-
38
- # ── Environment Variables ────────────────────────────────────────
39
- status is-interactive; or return
40
-
41
- set -gx HOSTNAME '{{ output "hostname" | trim }}'
42
-
43
- # ── FZF Defaults ─────────────────────────────────────────────────
44
- if test -f "$HOME/.config/shell/40-fzf-defaults.sh"
45
- set -gx FZF_DEFAULT_COMMAND 'fd --type f --strip-cwd-prefix --hidden --follow --exclude .git'
46
- set -gx FZF_CTRL_T_COMMAND "$FZF_DEFAULT_COMMAND"
47
- set -gx FZF_DEFAULT_OPTS "--color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8 --color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc --color=marker:#f5e0dc,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8 --multi --layout=reverse --border --height=40% --preview-window='right:60%:wrap' --preview 'if [ -d {} ]; then eza --tree --level 2 --icons {} | head -200; else bat --style=numbers --color=always --line-range :500 {} 2>/dev/null; or cat {} | head -500; end'"
48
- end
@@ -1,22 +0,0 @@
1
- {{- $root := . -}}
2
- {{- $groupsPath := joinPath $root.chezmoi.sourceDir ".chezmoitemplates/functions/groups.json" -}}
3
- {{- $groups := (fromJson (include $groupsPath)) -}}
4
- {{- $fishFuncsPattern := joinPath $root.chezmoi.sourceDir "dot_config/fish/functions/*.fish" -}}
5
- {{- $fishFuncs := glob $fishFuncsPattern -}}
6
- # Fish function wrappers (Generated by Chezmoi)
7
- # Delegates to bash function library in ~/.config/shell/50-logic-functions.sh
8
- # Edit .chezmoitemplates/functions/ source files, not this file.
9
-
10
- if status is-interactive
11
- {{- range $group, $files := $groups }}
12
- {{- range $files }}
13
- {{- $func := trimSuffix ".sh" (base .) }}
14
- {{- $nativePath := joinPath $root.chezmoi.sourceDir (printf "dot_config/fish/functions/%s.fish" $func) }}
15
- {{- if not (has $nativePath $fishFuncs) }}
16
- function {{ $func }} --description 'Dotfiles: {{ $func }}'
17
- bash -c 'source "$HOME/.config/shell/50-logic-functions.sh" 2>/dev/null; {{ $func }} "$@"' -- $argv
18
- end
19
- {{- end }}
20
- {{- end }}
21
- {{- end }}
22
- end
@@ -1,172 +0,0 @@
1
- # 🅳🅾🆃🅵🅸🅻🅴🆂 (v{{ .dotfiles_version }}) — Interactive initialization
2
- # Consolidated: init + keybindings + modern-core + carapace
3
- # Non-interactive shells skip this entire file.
4
-
5
- if not status is-interactive
6
- return
7
- end
8
-
9
- # ── Shell Cache ──────────────────────────────────────────────────
10
- set -g SHELL_CACHE "$XDG_CACHE_HOME"
11
- if test -z "$SHELL_CACHE"
12
- set SHELL_CACHE "$HOME/.cache"
13
- end
14
- set SHELL_CACHE "$SHELL_CACHE/fish"
15
- mkdir -p "$SHELL_CACHE"
16
-
17
- # ── Artifact Mode ────────────────────────────────────────────────
18
- if not set -q DOTFILES_ARTIFACT_MODE
19
- set -gx DOTFILES_ARTIFACT_MODE 0
20
- end
21
-
22
- if test "$DOTFILES_ARTIFACT_MODE" = "1"
23
- function fish_prompt
24
- set_color green
25
- echo -n "➜ "
26
- set_color normal
27
- end
28
- function fish_right_prompt; end
29
- set -g fish_greeting ""
30
- end
31
-
32
- # ── Starship (eager — must survive cache clears) ────────────────
33
- function _dotfiles_source_cached_init --argument-names tool file
34
- if test -n "$XDG_CACHE_HOME"
35
- set -l cache_root "$XDG_CACHE_HOME"
36
- else
37
- set -l cache_root "$HOME/.cache"
38
- end
39
-
40
- set -l cache_file "$cache_root/fish/$file"
41
- if test -s "$cache_file"
42
- source "$cache_file"
43
- return 0
44
- end
45
-
46
- if command -v $tool >/dev/null 2>&1
47
- _cached_eval $tool init fish
48
- return $status
49
- end
50
-
51
- return 1
52
- end
53
-
54
- if test "$DOTFILES_ARTIFACT_MODE" = "0"; and command -v starship >/dev/null
55
- if not _dotfiles_source_cached_init starship starship-init.fish
56
- starship init fish | source
57
- end
58
- # Transient Prompt: collapse past prompts to the [character] glyph
59
- # after Enter, reducing scrollback noise.
60
- if functions -q enable_transience
61
- enable_transience
62
- end
63
- end
64
-
65
- # ── Lazy Hydration (deferred to first prompt) ────────────────────
66
- function _dotfiles_async_init
67
- # Mise
68
- if command -v mise >/dev/null
69
- if not test -s "$SHELL_CACHE/mise-init.fish"
70
- _cached_eval mise activate fish
71
- else
72
- source "$SHELL_CACHE/mise-init.fish"
73
- end
74
- end
75
- # Atuin
76
- if command -v atuin >/dev/null
77
- if not test -s "$SHELL_CACHE/atuin-init.fish"
78
- _cached_eval atuin init fish
79
- else
80
- source "$SHELL_CACHE/atuin-init.fish"
81
- end
82
- end
83
- # Zoxide (--cmd=cd replaces cd with zoxide-aware version)
84
- if command -v zoxide >/dev/null
85
- if not test -s "$SHELL_CACHE/zoxide-init.fish"
86
- _cached_eval zoxide init --cmd=cd fish
87
- else
88
- source "$SHELL_CACHE/zoxide-init.fish"
89
- end
90
- end
91
- # FZF
92
- if command -v fzf >/dev/null
93
- if not test -s "$SHELL_CACHE/fzf-init.fish"
94
- _cached_eval fzf --fish
95
- else
96
- source "$SHELL_CACHE/fzf-init.fish"
97
- end
98
- end
99
- # Direnv
100
- if command -v direnv >/dev/null
101
- if not test -s "$SHELL_CACHE/direnv-init.fish"
102
- _cached_eval direnv hook fish
103
- else
104
- source "$SHELL_CACHE/direnv-init.fish"
105
- end
106
- end
107
- # Carapace completions (cached)
108
- if command -v carapace >/dev/null 2>&1
109
- set -l carapace_cache "$SHELL_CACHE/carapace-init.fish"
110
- if test -s "$carapace_cache"
111
- source "$carapace_cache"
112
- else
113
- set -l _carapace_tmp "$carapace_cache.tmp.$fish_pid"
114
- if carapace _carapace fish >"$_carapace_tmp" 2>/dev/null
115
- mv "$_carapace_tmp" "$carapace_cache"
116
- source "$carapace_cache"
117
- else
118
- rm -f "$_carapace_tmp"
119
- end
120
- end
121
- end
122
- # Pueue daemon (deferred here to avoid blocking shell startup)
123
- if command -v pueue >/dev/null; and not pueue status >/dev/null 2>&1
124
- if command -v pueued >/dev/null
125
- pueued -d >/dev/null 2>&1
126
- end
127
- end
128
- end
129
-
130
- function _dotfiles_trigger_hydration --on-event fish_prompt
131
- functions -e _dotfiles_trigger_hydration
132
- functions -e _dotfiles_trigger_hydration_on_missing
133
- _dotfiles_async_init
134
- if test "$DOTFILES_ARTIFACT_MODE" = "1"
135
- begin
136
- bash "$HOME/.dotfiles/scripts/dot/lib/bento.sh" </dev/null
137
- kill -WINCH $fish_pid
138
- end &
139
- end
140
- end
141
-
142
- # Belt-and-braces: if the user types an unknown command BEFORE the
143
- # first prompt fires (e.g. `fish -ic 'foo'` from a script that
144
- # doesn't render a prompt), trigger the same lazy-layer load via
145
- # fish_command_not_found. The hydration function may already have
146
- # fired and removed itself — guard against double-load. (Closes
147
- # AC#2 of #880; fish's analogue to zsh's function_not_found.)
148
- function _dotfiles_trigger_hydration_on_missing --on-event fish_command_not_found
149
- functions -e _dotfiles_trigger_hydration_on_missing
150
- functions -e _dotfiles_trigger_hydration
151
- _dotfiles_async_init
152
- # After hydration, the command may now resolve; let fish's default
153
- # not-found handler print the standard message for whatever the
154
- # user typed.
155
- end
156
-
157
- # ── Keybindings (Fish 4.x enhanced) ─────────────────────────────
158
- bind ctrl-backspace backward-kill-word
159
- bind alt-enter 'commandline -f accept-autosuggestion; commandline -f execute'
160
- bind ctrl-z undo
161
- bind ctrl-shift-z redo
162
- bind alt-up 'prevd; commandline -f repaint'
163
- bind alt-down 'nextd; commandline -f repaint'
164
- bind ctrl-left backward-word
165
- bind ctrl-right forward-word
166
- bind alt-l 'echo; ls; commandline -f repaint'
167
- bind alt-. history-token-search-backward
168
- bind ctrl-g 'echo; git status --short 2>/dev/null || echo "Not a git repo"; commandline -f repaint'
169
- bind alt-e edit_command_buffer
170
- if command -q fzf
171
- bind ctrl-t 'set -l result (fzf --height 40% --reverse 2>/dev/null); and commandline -it -- $result; commandline -f repaint'
172
- end
@@ -1,5 +0,0 @@
1
- # Shadow vendor `/opt/homebrew/share/fish/vendor_conf.d/mise-activate.fish`.
2
- # fish dedupes conf.d files by basename — user conf.d wins. Mise is loaded
3
- # lazily by `_dotfiles_async_init` in init.fish via `_cached_eval mise
4
- # activate fish`, which is ~10× faster than the vendor's eager hook-env
5
- # call on every shell start (saves ~140ms in fish startup).
@@ -1,44 +0,0 @@
1
- # 🅳🅾🆃🅵🅸🅻🅴🆂 (v{{ .dotfiles_version }}) - <https://dotfiles.io>
2
- # Made With ❤️ in London, United Kingdom
3
- # Designed by
4
- # Copyright (c) 2015-2026. All rights reserved.
5
- # License: MIT
6
-
7
- # Performance optimization - skip if not interactive
8
- status is-interactive; or return
9
-
10
- # Only source once
11
- if set -q FISH_CONFIG_SOURCED
12
- return
13
- end
14
- set -g FISH_CONFIG_SOURCED 1
15
-
16
- {{- /* Input Validation: Ensure crucial variables are set */ -}}
17
- {{- if not .chezmoi.homeDir -}}
18
- {{- fail "Critical Error: .chezmoi.homeDir is not set!" -}}
19
- {{- end -}}
20
-
21
- # Load local customizations if they exist
22
- if test -f "$HOME/.config/fish/config.fish.local"
23
- source "$HOME/.config/fish/config.fish.local"
24
- end
25
-
26
- # Ensure LS_COLORS is set for fish (bridged from bash dircolors setup)
27
- if not set -q LS_COLORS
28
- set -l _dircolors_cache "$HOME/.cache/shell/dircolors.sh"
29
- if test -f "$_dircolors_cache"
30
- # Extract LS_COLORS value from cached dircolors output
31
- set -l _val (string match -r "LS_COLORS='([^']+)'" < "$_dircolors_cache")
32
- if set -q _val[2]
33
- set -gx LS_COLORS "$_val[2]"
34
- end
35
- else if command -q dircolors
36
- set -gx LS_COLORS (dircolors -c 2>/dev/null | string match -r "LS_COLORS='([^']+)'" | tail -1)
37
- else if test (uname -s) = "Darwin"
38
- set -gx CLICOLOR 1
39
- set -gx LSCOLORS "ExFxCxDxBxegedabagacad"
40
- end
41
- end
42
-
43
- # Welcome message
44
- set -g fish_greeting ""
@@ -1 +0,0 @@
1
- jorgebucaran/fisher
@@ -1,3 +0,0 @@
1
- function _ --description 'Run command with sudo'
2
- sudo $argv
3
- end
@@ -1,131 +0,0 @@
1
- # _cached_eval — Cache tool init output with binary mtime invalidation.
2
- # Mirrors the bash/zsh _cached_eval pattern for Fish.
3
- #
4
- # Usage: _cached_eval <tool_binary> <init_args...>
5
- # Example: _cached_eval starship init fish
6
- # _cached_eval zoxide init fish
7
- #
8
- # Cache files stored in $XDG_CACHE_HOME/fish/ (or ~/.cache/fish/)
9
- # Cache invalidated when binary mtime, realpath, or any file-path arg
10
- # changes (e.g. after upgrade or PATH-shadow swap).
11
- #
12
- # Env knobs:
13
- # EVALCACHE_DISABLE=true bypass cache read AND write (debug aid)
14
- # EVALCACHE_TIMING=1 log per-call timing for `dot perf --by-tool`
15
-
16
- function _cached_eval_log_timing --description 'Append a timing event for dot perf --by-tool'
17
- set -l label $argv[1]
18
- set -l t0 $argv[2]
19
- set -l t1 $argv[3]
20
- set -l rc $argv[4]
21
- set -l shell fish
22
- if test (count $argv) -ge 5
23
- set shell $argv[5]
24
- end
25
- set -l log_dir (set -q XDG_STATE_HOME; and echo $XDG_STATE_HOME; or echo "$HOME/.local/state")/dotfiles
26
- mkdir -p "$log_dir" 2>/dev/null; or return 0
27
- set -l logfile "$log_dir/eval-timings.jsonl"
28
- test -f "$logfile"; or touch "$logfile" 2>/dev/null; or return 0
29
- # nanoseconds -> milliseconds
30
- set -l ms 0
31
- if test -n "$t0"; and test -n "$t1"
32
- set ms (math --scale=0 "($t1 - $t0) / 1000000") 2>/dev/null; or set ms 0
33
- end
34
- set -l ts (date -u +%Y-%m-%dT%H:%M:%SZ)
35
- printf '{"ts":"%s","shell":"%s","label":"%s","ms":%s,"rc":%s}\n' \
36
- "$ts" "$shell" "$label" "$ms" "$rc" \
37
- >>"$logfile" 2>/dev/null; or true
38
- end
39
-
40
- function _cached_eval_impl
41
- set -l tool_name $argv[1]
42
- if test -z "$tool_name"
43
- echo "_cached_eval: usage: _cached_eval <tool> <init args...>" >&2
44
- return 1
45
- end
46
-
47
- # Resolve binary path
48
- set -l tool_path (command -v $tool_name 2>/dev/null)
49
- if test -z "$tool_path"
50
- return 1
51
- end
52
-
53
- # Debug bypass: skip cache read AND write entirely.
54
- if test "$EVALCACHE_DISABLE" = true
55
- command $argv 2>/dev/null | source
56
- return $status
57
- end
58
-
59
- set -l cache_dir (set -q XDG_CACHE_HOME; and echo $XDG_CACHE_HOME; or echo "$HOME/.cache")/fish
60
- set -l cache_file "$cache_dir/$tool_name-init.fish"
61
- set -l pin_file "$cache_dir/$tool_name-init.bin"
62
-
63
- mkdir -p "$cache_dir"
64
-
65
- set -l real_bin (realpath -- "$tool_path" 2>/dev/null; or echo "$tool_path")
66
-
67
- # Cache valid when: present non-empty, binary not newer, recorded realpath
68
- # still matches, and no file-path argument modified since cache write.
69
- set -l stale 0
70
- if not test -s "$cache_file"
71
- set stale 1
72
- else if test "$tool_path" -nt "$cache_file"
73
- set stale 1
74
- else if test -f "$pin_file"
75
- set -l pinned (cat "$pin_file" 2>/dev/null)
76
- if test -n "$pinned"; and test "$pinned" != "$real_bin"
77
- set stale 1
78
- end
79
- end
80
- if test "$stale" = 0
81
- for arg in $argv[2..]
82
- if test -f "$arg"; and test "$arg" -nt "$cache_file"
83
- set stale 1
84
- break
85
- end
86
- end
87
- end
88
-
89
- # Regenerate cache if stale
90
- if test "$stale" = 1
91
- set -l init_output (command $argv 2>/dev/null)
92
- set -l rc $status
93
- if test "$rc" -ne 0
94
- echo "[WARN] $tool_name init exited $rc; not caching" >&2
95
- return $rc
96
- end
97
- # Reject suspicious patterns indicating malicious payloads
98
- if string match -rq 'curl\s.*\|\s*(ba)?sh|wget\s.*\|\s*(ba)?sh|nc\s+-e|/dev/tcp/|base64\s+-d\s*\|' -- "$init_output"
99
- echo "[WARN] Suspicious output from $tool_name init, skipping" >&2
100
- return 1
101
- end
102
- set -l tmp_cache "$cache_file.tmp.$fish_pid"
103
- printf '%s\n' $init_output >"$tmp_cache"
104
- mv "$tmp_cache" "$cache_file" # atomic rename
105
- set -l tmp_pin "$pin_file.tmp.$fish_pid"
106
- printf '%s\n' "$real_bin" >"$tmp_pin"
107
- mv "$tmp_pin" "$pin_file"
108
- end
109
-
110
- # Source cached output
111
- if test -s "$cache_file"
112
- source "$cache_file"
113
- end
114
- end
115
-
116
- function _cached_eval --description 'Cache and source tool init output'
117
- if test "$EVALCACHE_TIMING" != 1
118
- _cached_eval_impl $argv
119
- return $status
120
- end
121
- set -l _ce_t0 (date +%s%N 2>/dev/null; or echo 0)
122
- _cached_eval_impl $argv
123
- set -l _ce_rc $status
124
- set -l _ce_t1 (date +%s%N 2>/dev/null; or echo 0)
125
- set -l label unknown
126
- if test (count $argv) -ge 1
127
- set label $argv[1]
128
- end
129
- _cached_eval_log_timing "$label" "$_ce_t0" "$_ce_t1" "$_ce_rc" fish
130
- return $_ce_rc
131
- end
@@ -1,17 +0,0 @@
1
- # _cached_eval_clear — Remove cache files written by _cached_eval.
2
- # Safe: only removes *-init.fish and *-init.bin in $XDG_CACHE_HOME/fish.
3
-
4
- function _cached_eval_clear --description 'Clear caches written by _cached_eval'
5
- set -l cache_dir (set -q XDG_CACHE_HOME; and echo $XDG_CACHE_HOME; or echo "$HOME/.cache")/fish
6
- if not test -d "$cache_dir"
7
- printf 'Cleared 0 cached eval file(s) from %s\n' "$cache_dir"
8
- return 0
9
- end
10
- set -l count 0
11
- for f in $cache_dir/*-init.fish $cache_dir/*-init.bin
12
- if test -f "$f"
13
- rm -f -- "$f"; and set count (math $count + 1)
14
- end
15
- end
16
- printf 'Cleared %d cached eval file(s) from %s\n' $count "$cache_dir"
17
- end
@@ -1,46 +0,0 @@
1
- function als --description 'Instant-Load High-Fidelity Command Explorer'
2
- set -l data_file "$HOME/.config/shell/als_data.txt"
3
-
4
- if not test -f "$data_file"
5
- echo "Error: Command data not found. Please run 'chezmoi apply'."
6
- return 1
7
- end
8
-
9
- # Find gum cmd robustly
10
- set -l gum_cmd (command -v gum 2>/dev/null)
11
- if test -z "$gum_cmd"
12
- for f in $HOME/.local/share/mise/installs/aqua-charmbracelet-gum/*/gum*/gum
13
- if test -x "$f"; set gum_cmd "$f"; break; end
14
- end
15
- end
16
-
17
- if test -z "$gum_cmd"
18
- echo "Error: 'gum' not found. Please ensure mise tools are installed."
19
- return 1
20
- end
21
-
22
- # Search Interface (Near-Instant)
23
- set -l selected ("$gum_cmd" filter --placeholder "Search categories, aliases, or descriptions..." \
24
- --indicator "󰁔" --indicator.foreground 212 \
25
- --match.foreground 212 --text.foreground 255 --height 20 < "$data_file")
26
-
27
- if test -n "$selected"
28
- # Extract metadata from hidden fields
29
- set -l parts (string split "|SEP|" "$selected")
30
- set -l final_cmd $parts[2]
31
- set -l final_name $parts[3]
32
-
33
- # Clean the display string for the detail view (remove ANSI and SEP)
34
- set -l clean_display (echo "$selected" | sed 's/\x1b\[[0-9;]*m//g' | sed 's/|SEP|.*$//' | string trim)
35
-
36
- echo ""
37
- "$gum_cmd" style --foreground 212 --border rounded --border-foreground 212 --padding "1 2" \
38
- "󰄬 COMMAND INTELLIGENCE" \
39
- " Identity: $final_name" \
40
- " Exec: $final_cmd" \
41
- " Details: $clean_display"
42
-
43
- echo "$final_cmd" | cb >/dev/null 2>&1
44
- "$gum_cmd" style --foreground 240 " 󱉊 Copied to clipboard"
45
- end
46
- end
@@ -1,7 +0,0 @@
1
- function bg-upgrade --description 'Background upgrade of all package managers'
2
- echo "🚀 Starting background upgrades (Homebrew, Nix, Chezmoi)..."
3
- if command -v brew >/dev/null; silent-run "brew upgrade"; end
4
- if command -v nix >/dev/null; silent-run "nix flake update"; end
5
- silent-run "chezmoi update"
6
- echo "Check status with 'pueue status'"
7
- end
@@ -1,3 +0,0 @@
1
- function c --description 'Clear screen'
2
- clear $argv
3
- end
@@ -1,9 +0,0 @@
1
- function cat --description 'Print file contents with bat fallback'
2
- if command -v bat >/dev/null 2>&1
3
- bat $argv
4
- else if command -v batcat >/dev/null 2>&1
5
- batcat $argv
6
- else
7
- command cat $argv
8
- end
9
- end
@@ -1,7 +0,0 @@
1
- function d --description 'Run dot or docker'
2
- if command -v dot >/dev/null 2>&1
3
- dot $argv
4
- else if command -v docker >/dev/null 2>&1
5
- docker $argv
6
- end
7
- end
@@ -1,34 +0,0 @@
1
- function dot --description 'dotfiles manager'
2
- if test "$argv[1]" = "load"
3
- # Since fish doesn't have the same "lazy loading" mechanism as this zsh setup
4
- # we'll just indicate that we're ready.
5
- # But we'll still call the real dot if it exists.
6
- if test "$argv[2]" = "--status"
7
- echo "ready"
8
- return 0
9
- end
10
- end
11
-
12
- if test -x "$HOME/.local/bin/dot"
13
- "$HOME/.local/bin/dot" $argv
14
- else
15
- echo "dot command not found at $HOME/.local/bin/dot" >&2
16
- return 1
17
- end
18
- end
19
-
20
- function dm --description 'List dot agent modes'
21
- dot mode list
22
- end
23
-
24
- function da --description 'List dot agent profiles'
25
- dot agent list
26
- end
27
-
28
- function dmc --description 'Show MCP registry'
29
- dot mcp registry
30
- end
31
-
32
- function datt --description 'Emit workstation attestation JSON'
33
- dot attest --json
34
- end
@@ -1,3 +0,0 @@
1
- function h --description 'Show history'
2
- history $argv
3
- end
@@ -1,7 +0,0 @@
1
- function l --wraps=ls --description 'List contents of directory'
2
- if command -v eza >/dev/null 2>&1
3
- eza --sort Name --icons --group-directories-first $argv
4
- else
5
- ls $argv
6
- end
7
- end