@sebastienrousseau/dotfiles 0.2.501 → 0.2.503

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (420) hide show
  1. package/CHANGELOG.md +155 -4
  2. package/LICENSE +21 -1283
  3. package/README.md +40 -8
  4. package/docs/CONFIG_STRATEGY.md +124 -0
  5. package/docs/COPYRIGHT +1 -1
  6. package/docs/GOVERNANCE.md +98 -0
  7. package/docs/MAINTAINERS.md +41 -0
  8. package/docs/OPENCODE.md +127 -0
  9. package/docs/README.md +2 -0
  10. package/docs/STRUCTURE.md +102 -0
  11. package/docs/adr/ADR-011-nushell-tier3-keep.md +2 -2
  12. package/docs/architecture/AI_COST_OPTIMIZATION.md +143 -0
  13. package/docs/architecture/REPO_LAYOUT.md +8 -8
  14. package/docs/archive/MILESTONE_v0.2.493.md +1 -1
  15. package/docs/index.md +2 -2
  16. package/docs/interop/POWERSHELL.md +1 -1
  17. package/docs/manual/00-introduction.md +1 -1
  18. package/docs/manual/01-concepts/02-trust-model.md +1 -1
  19. package/docs/manual/03-reference/01-dot-cli.md +63 -45
  20. package/docs/manual/03-reference/02-config-files.md +2 -2
  21. package/docs/manual/03-reference/05-feature-flags.md +62 -3
  22. package/docs/manual/_toc.yml +1 -1
  23. package/docs/manual/command-index.md +72 -55
  24. package/docs/manual/index.md +66 -0
  25. package/docs/operations/CI_COMPOSITES.md +2 -2
  26. package/docs/operations/COMPLETIONS.md +2 -2
  27. package/docs/operations/COVERAGE.md +40 -6
  28. package/docs/operations/HARD_AUDIT_2026.md +631 -0
  29. package/docs/operations/MAINTENANCE.md +3 -3
  30. package/docs/operations/MANIFEST.md +127 -0
  31. package/docs/operations/REGISTRY.md +89 -0
  32. package/docs/operations/RELEASE_PIPELINE.md +130 -0
  33. package/docs/operations/RFC_v0_2_503_reorganization.md +280 -0
  34. package/docs/operations/ROADMAP_2026.md +665 -0
  35. package/docs/operations/ROADMAP_V0_2_503.md +134 -0
  36. package/docs/operations/TESTING.md +17 -0
  37. package/docs/operations/TRACEABILITY.md +9 -3
  38. package/docs/operations/VERSION_SYNC.md +4 -4
  39. package/docs/reference/POWERSHELL_PARITY.md +81 -0
  40. package/docs/registry.json +6 -0
  41. package/docs/schema/dot-env-v1.json +110 -0
  42. package/docs/security/CI_EGRESS_ALLOWLIST.md +1 -1
  43. package/docs/security/CI_PINNING.md +121 -0
  44. package/docs/security/COMMIT_SIGNING.md +138 -0
  45. package/docs/security/DEPS_DEV_EXCEPTIONS.md +2 -2
  46. package/docs/security/DISCLOSURE.md +130 -0
  47. package/docs/security/FUZZING.md +114 -0
  48. package/docs/security/INSTALL_VERIFICATION.md +2 -2
  49. package/docs/security/KEY_ROTATION.md +81 -1
  50. package/docs/security/POLICY_RELEASES.md +2 -2
  51. package/docs/security/SCORECARD.md +130 -15
  52. package/docs/security/SHELL_EXEMPTIONS.md +4 -4
  53. package/docs/security/VERIFY_RELEASE.md +201 -0
  54. package/docs/security/security-pubkey.asc +15 -0
  55. package/install.sh +67 -38
  56. package/package.json +1 -1
  57. package/scripts/README.md +123 -0
  58. package/scripts/ci/check-copyright-headers.sh +4 -93
  59. package/scripts/ci/check-shell-preamble.sh +4 -103
  60. package/scripts/ci/guard-gitleaks-checkout.sh +4 -54
  61. package/scripts/diagnostics/a2a-conformance.sh +4 -4
  62. package/scripts/diagnostics/alias-governance.sh +1 -1
  63. package/scripts/diagnostics/aliases-cheatsheet.sh +2 -2
  64. package/scripts/diagnostics/benchmark.sh +4 -4
  65. package/scripts/diagnostics/conflicts.sh +2 -2
  66. package/scripts/diagnostics/doctor-unified.sh +2 -2
  67. package/scripts/diagnostics/doctor.sh +45 -15
  68. package/scripts/diagnostics/drift-dashboard.sh +2 -2
  69. package/scripts/diagnostics/health.sh +4 -4
  70. package/scripts/diagnostics/history-analysis.sh +2 -2
  71. package/scripts/diagnostics/mcp-doctor.sh +10 -7
  72. package/scripts/diagnostics/perf.sh +4 -4
  73. package/scripts/diagnostics/scorecard.sh +4 -4
  74. package/scripts/diagnostics/security-score.sh +2 -2
  75. package/scripts/diagnostics/smoke-test.sh +2 -2
  76. package/scripts/diagnostics/snapshot.sh +2 -2
  77. package/scripts/diagnostics/verify.sh +4 -4
  78. package/scripts/diagnostics/version-locks.sh +2 -2
  79. package/scripts/diagnostics/workstation-attestation.sh +14 -14
  80. package/scripts/dot/commands/agent.sh +27 -22
  81. package/scripts/dot/commands/agents.sh +335 -0
  82. package/scripts/dot/commands/ai.sh +144 -25
  83. package/scripts/dot/commands/aliases.sh +10 -8
  84. package/scripts/dot/commands/appearance.sh +2 -2
  85. package/scripts/dot/commands/core.sh +12 -6
  86. package/scripts/dot/commands/diagnostics.sh +5 -5
  87. package/scripts/dot/commands/env-emit.sh +202 -0
  88. package/scripts/dot/commands/fleet.sh +290 -14
  89. package/scripts/dot/commands/init.sh +184 -0
  90. package/scripts/dot/commands/lint.sh +9 -4
  91. package/scripts/dot/commands/manual.sh +3 -3
  92. package/scripts/dot/commands/meta.sh +19 -10
  93. package/scripts/dot/commands/patterns.sh +2 -2
  94. package/scripts/dot/commands/registry.sh +263 -0
  95. package/scripts/dot/commands/restore.sh +4 -4
  96. package/scripts/dot/commands/secrets.sh +4 -3
  97. package/scripts/dot/commands/security.sh +2 -2
  98. package/scripts/dot/commands/tools.sh +62 -4
  99. package/scripts/dot/powershell/Dot.psm1 +199 -0
  100. package/scripts/fonts/install-nerd-fonts.sh +2 -2
  101. package/scripts/git-hooks/pre-commit-audit.sh +2 -2
  102. package/scripts/git-hooks/pre-push +13 -0
  103. package/scripts/lib/secrets_provider.sh +32 -6
  104. package/scripts/ops/ai-setup.sh +1 -1
  105. package/scripts/ops/bundle.sh +2 -2
  106. package/scripts/ops/chaos.sh +2 -2
  107. package/scripts/ops/chezmoi-apply.sh +4 -4
  108. package/scripts/ops/heal.sh +4 -4
  109. package/scripts/ops/post-apply-repair.sh +2 -2
  110. package/scripts/ops/prewarm.sh +2 -2
  111. package/scripts/ops/release.sh +4 -4
  112. package/scripts/ops/rollback.sh +18 -4
  113. package/scripts/ops/setup.sh +2 -2
  114. package/scripts/qa/check-version-consistency.sh +123 -0
  115. package/scripts/qa/coverage-baseline.sh +1 -1
  116. package/scripts/qa/docs-coverage.sh +2 -2
  117. package/scripts/qa/powershell-contract.ps1 +1 -1
  118. package/scripts/qa/scorecard-snapshot.sh +127 -0
  119. package/scripts/security/backup.sh +2 -2
  120. package/scripts/security/check-disclosure-key-expiry.sh +110 -0
  121. package/scripts/security/dns-doh.sh +4 -4
  122. package/scripts/security/encryption-check.sh +4 -4
  123. package/scripts/security/enforce-policies.sh +2 -2
  124. package/scripts/security/firewall.sh +4 -4
  125. package/scripts/security/lock-configs.sh +11 -2
  126. package/scripts/security/lock-screen.sh +4 -4
  127. package/scripts/security/manage-secrets.sh +2 -2
  128. package/scripts/security/ssh-cert.sh +2 -2
  129. package/scripts/security/telemetry-kill.sh +4 -4
  130. package/scripts/security/usb-safety.sh +4 -4
  131. package/scripts/theme/extract-heic-frames.sh +114 -0
  132. package/scripts/theme/rebuild-themes.sh +8 -1
  133. package/scripts/theme/switch.sh +13 -6
  134. package/scripts/theme/wallpaper-sync.sh +297 -93
  135. package/scripts/tuning/linux.sh +2 -2
  136. package/scripts/tuning/macos.sh +2 -2
  137. package/scripts/version-sync.sh +58 -7
  138. package/dot_config/.module-manifest.json +0 -69
  139. package/dot_config/ai/identity.md +0 -23
  140. package/dot_config/ai/patterns/architect.md +0 -16
  141. package/dot_config/ai/patterns/hardener.md +0 -15
  142. package/dot_config/ai/patterns/refactor.md +0 -15
  143. package/dot_config/aider/aider.conf.yml +0 -32
  144. package/dot_config/alacritty/alacritty.toml.tmpl +0 -55
  145. package/dot_config/ansible/ansible.cfg +0 -11
  146. package/dot_config/atuin/config.toml.tmpl +0 -47
  147. package/dot_config/bat/config +0 -23
  148. package/dot_config/brave-flags.conf.tmpl +0 -7
  149. package/dot_config/btop/btop.conf +0 -16
  150. package/dot_config/btop/themes/tokyonight.theme +0 -34
  151. package/dot_config/bun/bunfig.toml.tmpl +0 -33
  152. package/dot_config/claude/mcp_servers.json +0 -20
  153. package/dot_config/containers/containers.conf +0 -14
  154. package/dot_config/curl/dot_curlrc +0 -18
  155. package/dot_config/dlv/config.yml +0 -39
  156. package/dot_config/docker/config.json +0 -15
  157. package/dot_config/dotfiles/agent-card.json +0 -29
  158. package/dot_config/dotfiles/agent-profiles.json +0 -92
  159. package/dot_config/dotfiles/boot/README.md +0 -13
  160. package/dot_config/dotfiles/grub/README.md +0 -13
  161. package/dot_config/dotfiles/lock/README.md +0 -13
  162. package/dot_config/dotfiles/mcp-lock.json +0 -33
  163. package/dot_config/dotfiles/mcp-policy.json +0 -52
  164. package/dot_config/dotfiles/mcp-registry.json +0 -47
  165. package/dot_config/dotfiles/model-registry.json +0 -20
  166. package/dot_config/dotfiles/policy-bundles.json +0 -38
  167. package/dot_config/dotfiles/prompt-registry.json +0 -16
  168. package/dot_config/dotfiles/versions.env +0 -18
  169. package/dot_config/duf/duf.conf +0 -6
  170. package/dot_config/duti/defaults.duti +0 -5
  171. package/dot_config/emoji/emoji.txt +0 -34
  172. package/dot_config/environment.d/50-ssh-agent.conf +0 -2
  173. package/dot_config/environment.d/90-wayland.conf +0 -19
  174. package/dot_config/fastfetch/config.jsonc +0 -28
  175. package/dot_config/firefox/user.js.tmpl +0 -58
  176. package/dot_config/fish/completions/dot-theme-sync.fish.tmpl +0 -9
  177. package/dot_config/fish/completions/dot.fish.tmpl +0 -115
  178. package/dot_config/fish/conf.d/000-perf-cache.fish +0 -56
  179. package/dot_config/fish/conf.d/aliases.fish.tmpl +0 -77
  180. package/dot_config/fish/conf.d/env.fish.tmpl +0 -48
  181. package/dot_config/fish/conf.d/functions.fish.tmpl +0 -22
  182. package/dot_config/fish/conf.d/init.fish.tmpl +0 -172
  183. package/dot_config/fish/config.fish.tmpl +0 -44
  184. package/dot_config/fish/fish_plugins +0 -1
  185. package/dot_config/fish/functions/_.fish +0 -3
  186. package/dot_config/fish/functions/_cached_eval.fish +0 -131
  187. package/dot_config/fish/functions/_cached_eval_clear.fish +0 -17
  188. package/dot_config/fish/functions/als.fish +0 -46
  189. package/dot_config/fish/functions/bg-upgrade.fish +0 -7
  190. package/dot_config/fish/functions/c.fish +0 -3
  191. package/dot_config/fish/functions/cat.fish +0 -9
  192. package/dot_config/fish/functions/d.fish +0 -7
  193. package/dot_config/fish/functions/dot.fish +0 -34
  194. package/dot_config/fish/functions/h.fish +0 -3
  195. package/dot_config/fish/functions/l.fish +0 -7
  196. package/dot_config/fish/functions/la.fish +0 -7
  197. package/dot_config/fish/functions/ll.fish +0 -7
  198. package/dot_config/fish/functions/log_error.fish +0 -13
  199. package/dot_config/fish/functions/log_info.fish +0 -13
  200. package/dot_config/fish/functions/lr.fish +0 -7
  201. package/dot_config/fish/functions/lra.fish +0 -7
  202. package/dot_config/fish/functions/ls.fish +0 -7
  203. package/dot_config/fish/functions/lt.fish +0 -7
  204. package/dot_config/fish/functions/lta.fish +0 -7
  205. package/dot_config/fish/functions/notify-run.fish +0 -11
  206. package/dot_config/fish/functions/q.fish +0 -3
  207. package/dot_config/fish/functions/silent-run.fish +0 -7
  208. package/dot_config/fish/functions/yy.fish +0 -8
  209. package/dot_config/flatpak/flatpak.list +0 -4
  210. package/dot_config/fontconfig/fonts.conf.tmpl +0 -57
  211. package/dot_config/foot/foot.ini.tmpl +0 -33
  212. package/dot_config/fuzzel/fuzzel.ini.tmpl +0 -18
  213. package/dot_config/fzf/fzf.zsh +0 -48
  214. package/dot_config/gem/gemrc +0 -9
  215. package/dot_config/gh/config.yml +0 -12
  216. package/dot_config/ghostty/config.tmpl +0 -165
  217. package/dot_config/git/allowed_signers.tmpl +0 -18
  218. package/dot_config/git/attributes +0 -12
  219. package/dot_config/git/commit-template +0 -10
  220. package/dot_config/git/hooks/executable_commit-msg +0 -146
  221. package/dot_config/git/ignore +0 -27
  222. package/dot_config/gnupg/gpg-agent.conf +0 -11
  223. package/dot_config/go/golangci.yml +0 -118
  224. package/dot_config/go/gopls.json +0 -30
  225. package/dot_config/goose/config.yaml +0 -29
  226. package/dot_config/gtk-3.0/gtk.css.tmpl +0 -184
  227. package/dot_config/gtk-3.0/settings.ini.tmpl +0 -27
  228. package/dot_config/gtk-4.0/gtk.css.tmpl +0 -252
  229. package/dot_config/gtk-4.0/settings.ini.tmpl +0 -18
  230. package/dot_config/htop/htoprc +0 -20
  231. package/dot_config/inputrc +0 -2
  232. package/dot_config/ipython/profile_default/ipython_config.py +0 -19
  233. package/dot_config/just/justfile +0 -122
  234. package/dot_config/k9s/config.yaml +0 -65
  235. package/dot_config/k9s/skins/catppuccin-mocha.yaml +0 -116
  236. package/dot_config/kanshi/config.tmpl +0 -22
  237. package/dot_config/karabiner/karabiner.json +0 -14
  238. package/dot_config/kitty/kitty.conf.tmpl +0 -53
  239. package/dot_config/lazydocker/config.yml +0 -186
  240. package/dot_config/lazygit/config.yml +0 -35
  241. package/dot_config/mako/config +0 -47
  242. package/dot_config/mas/masapps.txt +0 -5
  243. package/dot_config/micro/settings.json +0 -3
  244. package/dot_config/mimeapps.list +0 -77
  245. package/dot_config/minikube/config.json +0 -13
  246. package/dot_config/mise/config.toml +0 -99
  247. package/dot_config/mongosh/mongoshrc.js +0 -68
  248. package/dot_config/mpv/input.conf +0 -47
  249. package/dot_config/mpv/mpv.conf +0 -47
  250. package/dot_config/mycli/myclirc +0 -67
  251. package/dot_config/nano/nanorc +0 -28
  252. package/dot_config/ncdu/config +0 -12
  253. package/dot_config/niri/config.kdl.tmpl +0 -327
  254. package/dot_config/nushell/aliases.nu +0 -18
  255. package/dot_config/nushell/cached_eval.nu +0 -80
  256. package/dot_config/nushell/completions.nu.tmpl +0 -52
  257. package/dot_config/nushell/config.nu.tmpl +0 -86
  258. package/dot_config/nushell/env.nu.tmpl +0 -102
  259. package/dot_config/nushell/functions.nu.tmpl +0 -17
  260. package/dot_config/nvim/init.lua +0 -18
  261. package/dot_config/nvim/lazy-lock.json +0 -58
  262. package/dot_config/nvim/lua/config/autocmds.lua +0 -107
  263. package/dot_config/nvim/lua/config/keymaps.lua +0 -92
  264. package/dot_config/nvim/lua/config/lazy.lua +0 -44
  265. package/dot_config/nvim/lua/config/options.lua +0 -49
  266. package/dot_config/nvim/lua/plugins/ai.lua +0 -75
  267. package/dot_config/nvim/lua/plugins/coding.lua +0 -216
  268. package/dot_config/nvim/lua/plugins/completion.lua +0 -60
  269. package/dot_config/nvim/lua/plugins/dap.lua +0 -412
  270. package/dot_config/nvim/lua/plugins/editor.lua +0 -55
  271. package/dot_config/nvim/lua/plugins/git.lua +0 -10
  272. package/dot_config/nvim/lua/plugins/lsp.lua +0 -156
  273. package/dot_config/nvim/lua/plugins/markdown.lua +0 -18
  274. package/dot_config/nvim/lua/plugins/rust.lua +0 -34
  275. package/dot_config/nvim/lua/plugins/sessions.lua +0 -33
  276. package/dot_config/nvim/lua/plugins/ui.lua +0 -509
  277. package/dot_config/paru/paru.conf +0 -10
  278. package/dot_config/pip/pip.conf.tmpl +0 -32
  279. package/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl +0 -81
  280. package/dot_config/pueue/pueue.yml +0 -34
  281. package/dot_config/pypoetry/config.toml +0 -6
  282. package/dot_config/pyrightconfig.json +0 -5
  283. package/dot_config/raycast/README.md +0 -13
  284. package/dot_config/redis/redisclirc +0 -41
  285. package/dot_config/ripgrep/ripgreprc +0 -21
  286. package/dot_config/shell/00-core-paths.sh.tmpl +0 -134
  287. package/dot_config/shell/05-core-safety.sh +0 -48
  288. package/dot_config/shell/10-secrets.sh +0 -41
  289. package/dot_config/shell/40-fzf-defaults.sh.tmpl +0 -17
  290. package/dot_config/shell/40-ls-colors.sh +0 -49
  291. package/dot_config/shell/50-logic-functions-core.sh.tmpl +0 -11
  292. package/dot_config/shell/50-logic-functions.sh.tmpl +0 -11
  293. package/dot_config/shell/51-logic-functions-extra.sh.tmpl +0 -65
  294. package/dot_config/shell/90-ux-aliases.sh.tmpl +0 -121
  295. package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +0 -55
  296. package/dot_config/shell/Brewfile +0 -207
  297. package/dot_config/shell/Brewfile.cask +0 -92
  298. package/dot_config/shell/Brewfile.cli +0 -127
  299. package/dot_config/shell/README.md +0 -284
  300. package/dot_config/shell/als_data.txt.tmpl +0 -65
  301. package/dot_config/shell/custom/auto_ls.zsh +0 -20
  302. package/dot_config/shell/custom/context_suggest.zsh +0 -68
  303. package/dot_config/shell/custom/error_analysis.zsh +0 -45
  304. package/dot_config/sops/dot_sops.yaml +0 -23
  305. package/dot_config/starship.toml.tmpl +0 -202
  306. package/dot_config/swaylock/config +0 -43
  307. package/dot_config/systemd/user/dotfiles-maintenance.service +0 -8
  308. package/dot_config/systemd/user/dotfiles-maintenance.timer +0 -11
  309. package/dot_config/systemd/user/pueued.service +0 -12
  310. package/dot_config/systemd/user/ssh-agent.service +0 -12
  311. package/dot_config/task/Taskfile.yml +0 -86
  312. package/dot_config/tflint/tflint.hcl +0 -9
  313. package/dot_config/tmux/tmux.conf.tmpl +0 -223
  314. package/dot_config/topgrade.toml.tmpl +0 -54
  315. package/dot_config/user-dirs.dirs +0 -10
  316. package/dot_config/vscode/extensions.txt +0 -11
  317. package/dot_config/vscode/settings.json.tmpl +0 -82
  318. package/dot_config/waybar/config.jsonc.tmpl +0 -90
  319. package/dot_config/waybar/style.css.tmpl +0 -211
  320. package/dot_config/wezterm/wezterm.lua.tmpl +0 -64
  321. package/dot_config/wget/wgetrc +0 -12
  322. package/dot_config/xdg-desktop-portal/niri-portals.conf +0 -5
  323. package/dot_config/yarn/yarnrc.yml +0 -36
  324. package/dot_config/yazi/keymap.toml +0 -67
  325. package/dot_config/yazi/theme.toml +0 -102
  326. package/dot_config/yazi/yazi.toml +0 -40
  327. package/dot_config/zathura/zathurarc +0 -52
  328. package/dot_config/zellij/config.kdl.tmpl +0 -79
  329. package/dot_config/zsh/dot_zprofile +0 -7
  330. package/dot_config/zsh/dot_zshenv +0 -5
  331. package/dot_config/zsh/dot_zshrc.tmpl +0 -635
  332. package/dot_config/zsh/rc.d/00-alias-shims.zsh +0 -99
  333. package/dot_config/zsh/rc.d/05-ssh-agent.zsh +0 -18
  334. package/dot_config/zsh/rc.d/10-env.zsh.tmpl +0 -28
  335. package/dot_config/zsh/rc.d/20-zinit.zsh +0 -65
  336. package/dot_config/zsh/rc.d/30-options.zsh.tmpl +0 -214
  337. package/dot_config/zsh/rc.d/40-bell.zsh +0 -20
  338. package/dot_config/zsh/rc.d/50-login-fortune.zsh +0 -9
  339. package/dot_config/zsh/rc.d/99-alias-wrapper.zsh +0 -32
  340. package/dot_local/bin/executable_ai-update +0 -195
  341. package/dot_local/bin/executable_ai_core +0 -152
  342. package/dot_local/bin/executable_antigravity +0 -11
  343. package/dot_local/bin/executable_b64 +0 -84
  344. package/dot_local/bin/executable_bm +0 -79
  345. package/dot_local/bin/executable_cb +0 -39
  346. package/dot_local/bin/executable_dot +0 -596
  347. package/dot_local/bin/executable_dot-ai +0 -36
  348. package/dot_local/bin/executable_dot-bootstrap +0 -77
  349. package/dot_local/bin/executable_dot-launch-or-focus +0 -52
  350. package/dot_local/bin/executable_dot-load-benchmark +0 -31
  351. package/dot_local/bin/executable_dot-load-benchmark-pty +0 -77
  352. package/dot_local/bin/executable_dot-theme-sync +0 -952
  353. package/dot_local/bin/executable_dot_completion +0 -57
  354. package/dot_local/bin/executable_dtags +0 -28
  355. package/dot_local/bin/executable_epoch +0 -67
  356. package/dot_local/bin/executable_extract +0 -41
  357. package/dot_local/bin/executable_gbd +0 -52
  358. package/dot_local/bin/executable_gd +0 -42
  359. package/dot_local/bin/executable_git-ai-commit +0 -175
  360. package/dot_local/bin/executable_git-ai-diff +0 -169
  361. package/dot_local/bin/executable_gl +0 -101
  362. package/dot_local/bin/executable_hash +0 -161
  363. package/dot_local/bin/executable_hashsum +0 -160
  364. package/dot_local/bin/executable_hex +0 -115
  365. package/dot_local/bin/executable_jsonv +0 -78
  366. package/dot_local/bin/executable_jwt +0 -94
  367. package/dot_local/bin/executable_kill-port +0 -75
  368. package/dot_local/bin/executable_lorem +0 -118
  369. package/dot_local/bin/executable_mkscript +0 -35
  370. package/dot_local/bin/executable_monitor +0 -56
  371. package/dot_local/bin/executable_myip +0 -51
  372. package/dot_local/bin/executable_notify +0 -24
  373. package/dot_local/bin/executable_open +0 -38
  374. package/dot_local/bin/executable_pw +0 -27
  375. package/dot_local/bin/executable_rec-start +0 -46
  376. package/dot_local/bin/executable_rec-stop +0 -35
  377. package/dot_local/bin/executable_regex +0 -132
  378. package/dot_local/bin/executable_start-niri +0 -8
  379. package/dot_local/bin/executable_tmux-sessionizer +0 -314
  380. package/dot_local/bin/executable_tour +0 -177
  381. package/dot_local/bin/executable_up +0 -23
  382. package/dot_local/bin/executable_update +0 -142
  383. package/dot_local/bin/executable_uuid +0 -87
  384. package/dot_local/bin/executable_win +0 -32
  385. package/dot_local/bin/executable_yamlv +0 -57
  386. package/dot_local/share/bash-completion/completions/dot +0 -72
  387. package/dot_local/share/icons/hicolor/128x128/apps/rousseau.png +0 -0
  388. package/dot_local/share/icons/hicolor/16x16/apps/rousseau.png +0 -0
  389. package/dot_local/share/icons/hicolor/24x24/apps/rousseau.png +0 -0
  390. package/dot_local/share/icons/hicolor/256x256/apps/rousseau.png +0 -0
  391. package/dot_local/share/icons/hicolor/32x32/apps/rousseau.png +0 -0
  392. package/dot_local/share/icons/hicolor/48x48/apps/rousseau.png +0 -0
  393. package/dot_local/share/icons/hicolor/512x512/apps/rousseau.png +0 -0
  394. package/dot_local/share/icons/hicolor/64x64/apps/rousseau.png +0 -0
  395. package/dot_local/share/icons/hicolor/96x96/apps/rousseau.png +0 -0
  396. package/dot_local/share/icons/hicolor/scalable/apps/rousseau.png +0 -0
  397. package/dot_local/share/man/man1/dot.1 +0 -149
  398. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_download +0 -64
  399. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_install +0 -18
  400. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_list-all +0 -13
  401. package/dot_local/share/wayland-sessions/niri.desktop.tmpl +0 -6
  402. package/dot_local/share/zsh/completions/.keep +0 -0
  403. package/dot_local/share/zsh/completions/_dot +0 -283
  404. package/scripts/ci/check-dangerous-chmod.sh +0 -19
  405. package/scripts/ci/check-deps-dev.sh +0 -236
  406. package/scripts/ci/check-insecure-tls.sh +0 -61
  407. package/scripts/ci/check-regression-traceability.sh +0 -67
  408. package/scripts/ci/install-chezmoi-verified.sh +0 -64
  409. package/scripts/ci/run-coverage.sh +0 -362
  410. package/scripts/ci/validate-chezmoidata.sh +0 -25
  411. package/scripts/ci/validate-ci-config.sh +0 -224
  412. package/scripts/docs/build-manual.sh +0 -883
  413. package/scripts/docs/check-manual.sh +0 -213
  414. package/scripts/dot/lib/bento.sh +0 -50
  415. package/scripts/dot/lib/log.sh +0 -200
  416. package/scripts/dot/lib/platform.sh +0 -99
  417. package/scripts/dot/lib/ui.sh +0 -518
  418. package/scripts/dot/lib/utils.sh +0 -377
  419. package/scripts/maintenance/check-updates.sh +0 -131
  420. package/scripts/release/package-policy-bundles.sh +0 -125
@@ -1,60 +0,0 @@
1
- -- Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
- -- Completion engine: blink.cmp (replaces nvim-cmp + 6 plugins)
3
- -- https://github.com/Saghen/blink.cmp
4
-
5
- return {
6
- {
7
- "saghen/blink.cmp",
8
- version = "1.*",
9
- event = "InsertEnter",
10
- dependencies = {
11
- "rafamadriz/friendly-snippets",
12
- },
13
- opts = {
14
- keymap = {
15
- preset = "default",
16
- ["<C-space>"] = { "show", "show_documentation", "hide_documentation" },
17
- ["<C-e>"] = { "hide" },
18
- ["<CR>"] = { "accept", "fallback" },
19
- ["<Tab>"] = { "snippet_forward", "select_next", "fallback" },
20
- ["<S-Tab>"] = { "snippet_backward", "select_prev", "fallback" },
21
- ["<C-b>"] = { "scroll_documentation_up", "fallback" },
22
- ["<C-f>"] = { "scroll_documentation_down", "fallback" },
23
- ["<C-n>"] = { "select_next", "fallback" },
24
- ["<C-p>"] = { "select_prev", "fallback" },
25
- },
26
- appearance = {
27
- nerd_font_variant = "mono",
28
- },
29
- completion = {
30
- accept = { auto_brackets = { enabled = true } },
31
- documentation = {
32
- auto_show = true,
33
- auto_show_delay_ms = 200,
34
- window = { border = "rounded" },
35
- },
36
- menu = {
37
- border = "rounded",
38
- draw = {
39
- columns = {
40
- { "kind_icon" },
41
- { "label", "label_description", gap = 1 },
42
- },
43
- },
44
- },
45
- list = {
46
- selection = { preselect = true, auto_insert = false },
47
- },
48
- },
49
- sources = {
50
- default = { "lsp", "path", "snippets", "buffer" },
51
- },
52
- snippets = { preset = "default" },
53
- signature = {
54
- enabled = true,
55
- window = { border = "rounded" },
56
- },
57
- },
58
- opts_extend = { "sources.default" },
59
- },
60
- }
@@ -1,412 +0,0 @@
1
- -- Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
- -- @module nvim.plugins.dap
3
- -- Debug Adapter Protocol (DAP) Configuration.
4
- -- Provides in-editor debugging with nvim-dap and a VS Code-like UI via dap-ui.
5
- -- js-debug-adapter handles Node/Chrome/Edge; the dev server port defaults to
6
- -- 3000 but can be overridden via DAP_DEV_SERVER_PORT.
7
-
8
- -- Layout constants
9
- local SIDEBAR_WIDTH = 40
10
- local BOTTOM_PANEL_HEIGHT = 10
11
- local QUARTER_SIZE = 0.25
12
- local HALF_SIZE = 0.5
13
- local DEFAULT_DEV_SERVER_PORT = tonumber(vim.env.DAP_DEV_SERVER_PORT) or 3000
14
-
15
- return {
16
- -- DAP Core
17
- {
18
- "mfussenegger/nvim-dap",
19
- dependencies = {
20
- "williamboman/mason.nvim",
21
- "jay-babu/mason-nvim-dap.nvim",
22
- "rcarriga/nvim-dap-ui",
23
- "nvim-neotest/nvim-nio",
24
- },
25
- keys = {
26
- {
27
- "<leader>db",
28
- function()
29
- require("dap").toggle_breakpoint()
30
- end,
31
- desc = "Toggle Breakpoint",
32
- },
33
- {
34
- "<leader>dc",
35
- function()
36
- require("dap").continue()
37
- end,
38
- desc = "Continue",
39
- },
40
- {
41
- "<leader>di",
42
- function()
43
- require("dap").step_into()
44
- end,
45
- desc = "Step Into",
46
- },
47
- {
48
- "<leader>do",
49
- function()
50
- require("dap").step_over()
51
- end,
52
- desc = "Step Over",
53
- },
54
- {
55
- "<leader>dO",
56
- function()
57
- require("dap").step_out()
58
- end,
59
- desc = "Step Out",
60
- },
61
- {
62
- "<leader>dr",
63
- function()
64
- require("dap").repl.open()
65
- end,
66
- desc = "Open REPL",
67
- },
68
- {
69
- "<leader>dl",
70
- function()
71
- require("dap").run_last()
72
- end,
73
- desc = "Run Last",
74
- },
75
- {
76
- "<leader>dt",
77
- function()
78
- require("dap").terminate()
79
- end,
80
- desc = "Terminate",
81
- },
82
- {
83
- "<leader>du",
84
- function()
85
- require("dapui").toggle()
86
- end,
87
- desc = "Toggle DAP UI",
88
- },
89
- },
90
- config = function()
91
- local dap = require("dap")
92
-
93
- -- JavaScript/TypeScript debugging with js-debug-adapter
94
- -- Requires: MasonInstall js-debug-adapter
95
- local js_debug_path = vim.fn.stdpath("data") .. "/mason/packages/js-debug-adapter/js-debug/src/dapDebugServer.js"
96
-
97
- for _, adapter in ipairs({ "pwa-node", "pwa-chrome", "node-terminal" }) do
98
- dap.adapters[adapter] = {
99
- type = "server",
100
- host = "localhost",
101
- port = "${port}",
102
- executable = {
103
- command = "node",
104
- args = { js_debug_path, "${port}" },
105
- },
106
- }
107
- end
108
-
109
- -- JavaScript/TypeScript configurations
110
- for _, lang in ipairs({ "javascript", "typescript", "javascriptreact", "typescriptreact" }) do
111
- dap.configurations[lang] = {
112
- {
113
- type = "pwa-node",
114
- request = "launch",
115
- name = "Launch file",
116
- program = "${file}",
117
- cwd = "${workspaceFolder}",
118
- },
119
- {
120
- type = "pwa-node",
121
- request = "attach",
122
- name = "Attach to process",
123
- processId = require("dap.utils").pick_process,
124
- cwd = "${workspaceFolder}",
125
- },
126
- {
127
- type = "pwa-chrome",
128
- request = "launch",
129
- name = "Launch Chrome",
130
- url = "http://localhost:" .. DEFAULT_DEV_SERVER_PORT,
131
- webRoot = "${workspaceFolder}",
132
- },
133
- }
134
- end
135
-
136
- -- Python debugging with debugpy
137
- -- Requires: MasonInstall debugpy
138
- dap.adapters.python = function(cb, config)
139
- if config.request == "attach" then
140
- local port = (config.connect or config).port
141
- local host = (config.connect or config).host or "127.0.0.1"
142
- cb({ type = "server", port = assert(port, "port required for attach"), host = host })
143
- else
144
- cb({
145
- type = "executable",
146
- command = vim.fn.exepath("python3"),
147
- args = { "-m", "debugpy.adapter" },
148
- })
149
- end
150
- end
151
-
152
- dap.configurations.python = {
153
- {
154
- type = "python",
155
- request = "launch",
156
- name = "Launch file",
157
- program = "${file}",
158
- cwd = "${workspaceFolder}",
159
- pythonPath = function()
160
- -- Use venv if available, else system python
161
- local venv = os.getenv("VIRTUAL_ENV")
162
- if venv then
163
- return venv .. "/bin/python"
164
- end
165
- return vim.fn.exepath("python3") or "python3"
166
- end,
167
- },
168
- {
169
- type = "python",
170
- request = "launch",
171
- name = "Launch with arguments",
172
- program = "${file}",
173
- args = function()
174
- local args_str = vim.fn.input("Arguments: ")
175
- return vim.split(args_str, " +")
176
- end,
177
- cwd = "${workspaceFolder}",
178
- },
179
- {
180
- type = "python",
181
- request = "launch",
182
- name = "Launch module",
183
- module = function()
184
- return vim.fn.input("Module: ")
185
- end,
186
- cwd = "${workspaceFolder}",
187
- },
188
- {
189
- type = "python",
190
- request = "launch",
191
- name = "Django",
192
- program = "${workspaceFolder}/manage.py",
193
- args = { "runserver", "--noreload" },
194
- django = true,
195
- cwd = "${workspaceFolder}",
196
- },
197
- {
198
- type = "python",
199
- request = "launch",
200
- name = "FastAPI (uvicorn)",
201
- module = "uvicorn",
202
- args = function()
203
- local app = vim.fn.input("App module (e.g. main:app): ", "main:app")
204
- return { app, "--reload" }
205
- end,
206
- cwd = "${workspaceFolder}",
207
- },
208
- {
209
- type = "python",
210
- request = "launch",
211
- name = "pytest",
212
- module = "pytest",
213
- args = { "${file}", "-v", "--tb=short" },
214
- cwd = "${workspaceFolder}",
215
- },
216
- {
217
- type = "python",
218
- request = "attach",
219
- name = "Attach to remote",
220
- connect = function()
221
- local host = vim.fn.input("Host (127.0.0.1): ", "127.0.0.1")
222
- local port = tonumber(vim.fn.input("Port (5678): ", "5678"))
223
- return { host = host, port = port }
224
- end,
225
- },
226
- }
227
-
228
- -- Go debugging with delve
229
- -- Requires: MasonInstall delve
230
- dap.adapters.delve = {
231
- type = "server",
232
- port = "${port}",
233
- executable = {
234
- command = "dlv",
235
- args = { "dap", "-l", "127.0.0.1:${port}" },
236
- },
237
- }
238
-
239
- dap.configurations.go = {
240
- {
241
- type = "delve",
242
- name = "Launch file",
243
- request = "launch",
244
- program = "${file}",
245
- },
246
- {
247
- type = "delve",
248
- name = "Launch package",
249
- request = "launch",
250
- program = "${workspaceFolder}",
251
- },
252
- {
253
- type = "delve",
254
- name = "Launch test",
255
- request = "launch",
256
- mode = "test",
257
- program = "${file}",
258
- },
259
- {
260
- type = "delve",
261
- name = "Launch test (package)",
262
- request = "launch",
263
- mode = "test",
264
- program = "${workspaceFolder}",
265
- },
266
- {
267
- type = "delve",
268
- name = "Attach to process",
269
- request = "attach",
270
- mode = "local",
271
- processId = require("dap.utils").pick_process,
272
- },
273
- }
274
-
275
- -- Rust/C/C++ debugging with codelldb
276
- -- Requires: MasonInstall codelldb
277
- dap.adapters.codelldb = {
278
- type = "server",
279
- port = "${port}",
280
- executable = {
281
- command = vim.fn.stdpath("data") .. "/mason/bin/codelldb",
282
- args = { "--port", "${port}" },
283
- },
284
- }
285
-
286
- for _, lang in ipairs({ "rust", "c", "cpp" }) do
287
- dap.configurations[lang] = {
288
- {
289
- type = "codelldb",
290
- request = "launch",
291
- name = "Launch executable",
292
- program = function()
293
- return vim.fn.input("Executable: ", vim.fn.getcwd() .. "/target/debug/", "file")
294
- end,
295
- cwd = "${workspaceFolder}",
296
- stopOnEntry = false,
297
- },
298
- {
299
- type = "codelldb",
300
- request = "launch",
301
- name = "Launch with arguments",
302
- program = function()
303
- return vim.fn.input("Executable: ", vim.fn.getcwd() .. "/target/debug/", "file")
304
- end,
305
- args = function()
306
- return vim.split(vim.fn.input("Arguments: "), " +")
307
- end,
308
- cwd = "${workspaceFolder}",
309
- },
310
- }
311
- end
312
-
313
- -- Bash debugging with bash-debug-adapter
314
- -- Requires: MasonInstall bash-debug-adapter
315
- dap.adapters.bashdb = {
316
- type = "executable",
317
- command = vim.fn.stdpath("data") .. "/mason/packages/bash-debug-adapter/bash-debug-adapter",
318
- name = "bashdb",
319
- }
320
-
321
- dap.configurations.sh = {
322
- {
323
- type = "bashdb",
324
- request = "launch",
325
- name = "Launch script",
326
- showDebugOutput = true,
327
- pathBashdb = vim.fn.stdpath("data") .. "/mason/packages/bash-debug-adapter/extension/bashdb_dir/bashdb",
328
- pathBashdbLib = vim.fn.stdpath("data") .. "/mason/packages/bash-debug-adapter/extension/bashdb_dir",
329
- trace = true,
330
- file = "${file}",
331
- program = "${file}",
332
- cwd = "${workspaceFolder}",
333
- pathCat = "cat",
334
- pathBash = "/bin/bash",
335
- pathMkfifo = "mkfifo",
336
- pathPkill = "pkill",
337
- env = {},
338
- args = {},
339
- },
340
- }
341
- end,
342
- },
343
-
344
- -- Mason DAP integration
345
- {
346
- "jay-babu/mason-nvim-dap.nvim",
347
- dependencies = { "williamboman/mason.nvim", "mfussenegger/nvim-dap" },
348
- opts = {
349
- ensure_installed = { "js-debug-adapter", "debugpy", "delve", "codelldb", "bash-debug-adapter" },
350
- automatic_installation = true,
351
- handlers = {},
352
- },
353
- },
354
-
355
- -- DAP UI
356
- {
357
- "rcarriga/nvim-dap-ui",
358
- dependencies = { "mfussenegger/nvim-dap", "nvim-neotest/nvim-nio" },
359
- config = function()
360
- local dap = require("dap")
361
- local dapui = require("dapui")
362
-
363
- dapui.setup({
364
- icons = { expanded = "▾", collapsed = "▸", current_frame = "▸" },
365
- mappings = {
366
- expand = { "<CR>", "<2-LeftMouse>" },
367
- open = "o",
368
- remove = "d",
369
- edit = "e",
370
- repl = "r",
371
- toggle = "t",
372
- },
373
- layouts = {
374
- {
375
- elements = {
376
- { id = "scopes", size = QUARTER_SIZE },
377
- { id = "breakpoints", size = QUARTER_SIZE },
378
- { id = "stacks", size = QUARTER_SIZE },
379
- { id = "watches", size = QUARTER_SIZE },
380
- },
381
- size = SIDEBAR_WIDTH,
382
- position = "left",
383
- },
384
- {
385
- elements = {
386
- { id = "repl", size = HALF_SIZE },
387
- { id = "console", size = HALF_SIZE },
388
- },
389
- size = BOTTOM_PANEL_HEIGHT,
390
- position = "bottom",
391
- },
392
- },
393
- floating = {
394
- border = "rounded",
395
- mappings = { close = { "q", "<Esc>" } },
396
- },
397
- })
398
-
399
- -- Auto open/close DAP UI on debug session lifecycle
400
- local function open_dapui()
401
- dapui.open()
402
- end
403
- local function close_dapui()
404
- dapui.close()
405
- end
406
-
407
- dap.listeners.after.event_initialized["dapui_config"] = open_dapui
408
- dap.listeners.before.event_terminated["dapui_config"] = close_dapui
409
- dap.listeners.before.event_exited["dapui_config"] = close_dapui
410
- end,
411
- },
412
- }
@@ -1,55 +0,0 @@
1
- -- Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
- -- @module nvim.plugins.editor
3
- -- Editor enhancement plugins.
4
- -- toggleterm.nvim provides a floating terminal toggled with a single keymap,
5
- -- pinned to ^2 for API stability.
6
- return {
7
- "akinsho/toggleterm.nvim",
8
- version = "^2",
9
- config = function()
10
- require("toggleterm").setup({
11
- -- Automatically close the terminal when the process exits.
12
- close_on_exit = true,
13
-
14
- -- Terminal window open mode (options: "vertical", "horizontal", "tab", "float").
15
- direction = "float",
16
-
17
- -- Options for the floating terminal window.
18
- float_opts = {
19
- -- Border style for the floating window.
20
- border = "curved",
21
- -- Set the floating window width to 80% of the current Neovim window width.
22
- width = math.floor(vim.o.columns * 0.8),
23
- -- Set the floating window height to 80% of the current Neovim window height.
24
- height = math.floor(vim.o.lines * 0.8),
25
- },
26
-
27
- -- Hide line numbers in the terminal buffer.
28
- hide_numbers = true,
29
-
30
- -- Default key mapping to toggle the terminal.
31
- open_mapping = [[<C-\>]],
32
-
33
- -- Persist the terminal size across sessions.
34
- persist_size = true,
35
-
36
- -- List of filetypes where shading is disabled (empty table means no exclusions).
37
- shade_filetypes = {},
38
-
39
- -- Enable shading for the terminal window.
40
- shade_terminals = true,
41
-
42
- -- Shading factor for the terminal (the higher the value, the darker it becomes).
43
- shading_factor = 2,
44
-
45
- -- Start the terminal in insert mode.
46
- start_in_insert = true,
47
-
48
- -- Use the default shell as defined by Neovim.
49
- shell = vim.o.shell,
50
-
51
- -- Set the terminal size (this can also be a function returning a size).
52
- size = 20,
53
- })
54
- end,
55
- }
@@ -1,10 +0,0 @@
1
- -- Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
- return {
3
- {
4
- "ThePrimeagen/git-worktree.nvim",
5
- dependencies = { "nvim-lua/plenary.nvim" },
6
- config = function()
7
- require("git-worktree").setup({})
8
- end,
9
- },
10
- }
@@ -1,156 +0,0 @@
1
- -- Copyright (c) 2015-2026 Dotfiles. All rights reserved.
2
- -- @module nvim.plugins.lsp
3
- -- Language Server Protocol configuration.
4
- -- Mason manages external tool installation (LSP servers, formatters, linters).
5
- -- mason-lspconfig bridges Mason with nvim-lspconfig for automatic server setup.
6
- -- Servers: bashls, lua_ls, basedpyright, ruff, ts_ls — matching the project's
7
- -- primary languages (shell, Lua, Python, TypeScript).
8
- return {
9
- -- Mason (Manage External Tools)
10
- {
11
- "williamboman/mason.nvim",
12
- cmd = "Mason",
13
- build = ":MasonUpdate",
14
- config = function()
15
- require("mason").setup()
16
- end,
17
- },
18
-
19
- -- Mason LSP Config + Manual Server Setup
20
- {
21
- "neovim/nvim-lspconfig",
22
- dependencies = {
23
- "williamboman/mason.nvim",
24
- "williamboman/mason-lspconfig.nvim",
25
- "saghen/blink.cmp",
26
- },
27
- config = function()
28
- -- 1. Setup capabilities for LSP (blink.cmp provides these)
29
- local capabilities = require("blink.cmp").get_lsp_capabilities()
30
-
31
- -- 2. Setup mason-lspconfig with custom handlers per server
32
- require("mason-lspconfig").setup({
33
- ensure_installed = { "bashls", "lua_ls", "basedpyright", "ruff", "ts_ls" },
34
- automatic_installation = true,
35
- handlers = {
36
- -- Default handler for all servers
37
- function(server_name)
38
- require("lspconfig")[server_name].setup({
39
- capabilities = capabilities,
40
- })
41
- end,
42
-
43
- -- Custom handler for lua_ls
44
- ["lua_ls"] = function()
45
- require("lspconfig").lua_ls.setup({
46
- capabilities = capabilities,
47
- settings = {
48
- Lua = {
49
- diagnostics = { globals = { "vim" } },
50
- workspace = { checkThirdParty = false },
51
- telemetry = { enable = false },
52
- hint = { enable = true },
53
- },
54
- },
55
- })
56
- end,
57
-
58
- -- Custom handler for ts_ls (TypeScript)
59
- ["ts_ls"] = function()
60
- require("lspconfig").ts_ls.setup({
61
- capabilities = capabilities,
62
- settings = {
63
- typescript = {
64
- inlayHints = {
65
- includeInlayParameterNameHints = "all",
66
- includeInlayParameterNameHintsWhenArgumentMatchesName = false,
67
- includeInlayFunctionParameterTypeHints = true,
68
- includeInlayVariableTypeHints = true,
69
- includeInlayPropertyDeclarationTypeHints = true,
70
- includeInlayFunctionLikeReturnTypeHints = true,
71
- includeInlayEnumMemberValueHints = true,
72
- },
73
- },
74
- javascript = {
75
- inlayHints = {
76
- includeInlayParameterNameHints = "all",
77
- includeInlayParameterNameHintsWhenArgumentMatchesName = false,
78
- includeInlayFunctionParameterTypeHints = true,
79
- includeInlayVariableTypeHints = true,
80
- includeInlayPropertyDeclarationTypeHints = true,
81
- includeInlayFunctionLikeReturnTypeHints = true,
82
- includeInlayEnumMemberValueHints = true,
83
- },
84
- },
85
- },
86
- })
87
- end,
88
-
89
- -- Custom handler for basedpyright
90
- ["basedpyright"] = function()
91
- require("lspconfig").basedpyright.setup({
92
- capabilities = capabilities,
93
- settings = {
94
- basedpyright = {
95
- analysis = {
96
- typeCheckingMode = "basic",
97
- autoSearchPaths = true,
98
- useLibraryCodeForTypes = true,
99
- diagnosticMode = "openFilesOnly",
100
- inlayHints = {
101
- variableTypes = true,
102
- functionReturnTypes = true,
103
- },
104
- },
105
- },
106
- },
107
- })
108
- end,
109
- },
110
- })
111
-
112
- -- Diagnostic Configuration
113
- vim.diagnostic.config({
114
- underline = true,
115
- update_in_insert = false,
116
- virtual_text = {
117
- spacing = 4,
118
- source = "if_many",
119
- prefix = "●",
120
- },
121
- severity_sort = true,
122
- })
123
- end,
124
- },
125
-
126
- -- Formatting: Conform
127
- {
128
- "stevearc/conform.nvim",
129
- event = { "BufWritePre" },
130
- cmd = { "ConformInfo" },
131
- keys = {
132
- {
133
- "<leader>cf",
134
- function()
135
- require("conform").format({ async = true, lsp_fallback = true })
136
- end,
137
- mode = "",
138
- desc = "Format Buffer",
139
- },
140
- },
141
- opts = {
142
- formatters_by_ft = {
143
- lua = { "stylua" },
144
- python = { "ruff_format" },
145
- rust = { "rustfmt" },
146
- javascript = { "prettierd", "prettier", stop_after_first = true },
147
- typescript = { "prettierd", "prettier", stop_after_first = true },
148
- json = { "prettierd", "prettier", stop_after_first = true },
149
- yaml = { "prettierd", "prettier", stop_after_first = true },
150
- bash = { "shfmt" },
151
- sh = { "shfmt" },
152
- },
153
- format_on_save = { timeout_ms = 500, lsp_fallback = true },
154
- },
155
- },
156
- }