@sebastienrousseau/dotfiles 0.2.469 → 0.2.481

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 (490) hide show
  1. package/CHANGELOG.md +285 -0
  2. package/README.md +236 -319
  3. package/docs/ALIASES.md +128 -0
  4. package/docs/ARCHITECTURE.md +229 -0
  5. package/docs/COMPLIANCE.md +47 -0
  6. package/docs/COPYRIGHT +7 -0
  7. package/docs/FEATURES.md +166 -0
  8. package/docs/FONTS.md +147 -0
  9. package/docs/INSTALL.md +119 -0
  10. package/docs/KEYS.md +40 -0
  11. package/docs/KEY_ROTATION.md +219 -0
  12. package/docs/LEGACY_ROADMAP.md +142 -0
  13. package/docs/NEOVIM_IDE_GUIDE.md +52 -0
  14. package/docs/OPERATIONS.md +130 -0
  15. package/docs/PLAN.md +161 -0
  16. package/docs/PR_DESCRIPTION.md +149 -0
  17. package/docs/README.md +269 -0
  18. package/docs/REPO_AUDIT.md +23 -0
  19. package/docs/ROADMAP.md +148 -0
  20. package/docs/SCREENSHOTS.md +116 -0
  21. package/docs/SECRETS.md +76 -0
  22. package/docs/SECURITY.md +30 -0
  23. package/docs/SECURITY_CHECKLIST.md +25 -0
  24. package/docs/TASK.md +99 -0
  25. package/docs/TESTING.md +190 -0
  26. package/docs/TOOLS.md +146 -0
  27. package/docs/TROUBLESHOOTING.md +112 -0
  28. package/docs/UTILS.md +105 -0
  29. package/docs/WALKTHROUGH.md +165 -0
  30. package/docs/WSL2_NIX_TROUBLESHOOTING.md +723 -0
  31. package/docs/adr/ADR-001-ci-cd-pipeline.md +101 -0
  32. package/docs/adr/ADR-002-shell-performance.md +121 -0
  33. package/docs/adr/ADR-003-security-first.md +140 -0
  34. package/docs/adr/ADR-004-cli-architecture.md +157 -0
  35. package/docs/adr/ADR-005-chezmoi-choice.md +89 -0
  36. package/docs/adr/ADR-006-shell-selection.md +115 -0
  37. package/docs/adr/README.md +33 -0
  38. package/docs/themes/README.md +20 -0
  39. package/dot_config/aider/aider.conf.yml +32 -0
  40. package/dot_config/alacritty/alacritty.toml.tmpl +483 -0
  41. package/dot_config/ansible/ansible.cfg.tmpl +11 -0
  42. package/dot_config/atuin/config.toml +23 -0
  43. package/dot_config/bat/config +8 -0
  44. package/dot_config/brave-flags.conf.tmpl +7 -0
  45. package/dot_config/btop/btop.conf +16 -0
  46. package/dot_config/btop/themes/tokyonight.theme +34 -0
  47. package/dot_config/bun/bunfig.toml.tmpl +33 -0
  48. package/dot_config/claude/mcp_servers.json +49 -0
  49. package/dot_config/clippy.toml +55 -0
  50. package/dot_config/containers/containers.conf +14 -0
  51. package/dot_config/curl/dot_curlrc +18 -0
  52. package/dot_config/dlv/config.yml +39 -0
  53. package/dot_config/docker/config.json.tmpl +15 -0
  54. package/dot_config/dotfiles/boot/README.md +11 -0
  55. package/dot_config/dotfiles/grub/README.md +11 -0
  56. package/dot_config/dotfiles/lock/README.md +11 -0
  57. package/dot_config/dotfiles/versions.env.tmpl +19 -0
  58. package/dot_config/duf/duf.conf +6 -0
  59. package/dot_config/duti/defaults.duti +5 -0
  60. package/dot_config/emoji/emoji.txt +34 -0
  61. package/dot_config/fastfetch/config.jsonc +28 -0
  62. package/dot_config/firefox/user.js +8 -0
  63. package/dot_config/flatpak/flatpak.list +4 -0
  64. package/dot_config/fontconfig/fonts.conf.tmpl +44 -0
  65. package/dot_config/gh/config.yml +12 -0
  66. package/dot_config/ghostty/config.tmpl +661 -0
  67. package/dot_config/git/attributes +12 -0
  68. package/dot_config/git/config.tmpl +77 -0
  69. package/dot_config/git/ignore +27 -0
  70. package/dot_config/gnupg/gpg-agent.conf.tmpl +11 -0
  71. package/dot_config/go/aliases.sh +61 -0
  72. package/dot_config/go/env.sh +24 -0
  73. package/dot_config/go/golangci.yml +118 -0
  74. package/dot_config/go/gopls.json +30 -0
  75. package/dot_config/goose/config.yaml +29 -0
  76. package/dot_config/gtk-3.0/gtk.css.tmpl +305 -0
  77. package/dot_config/gtk-3.0/settings.ini.tmpl +66 -0
  78. package/dot_config/gtk-4.0/gtk.css.tmpl +309 -0
  79. package/dot_config/gtk-4.0/settings.ini.tmpl +21 -0
  80. package/dot_config/htop/htoprc +20 -0
  81. package/dot_config/ice/README.md +13 -0
  82. package/dot_config/inputrc +2 -0
  83. package/dot_config/ipython/profile_default/ipython_config.py.tmpl +5 -0
  84. package/dot_config/just/justfile +104 -0
  85. package/dot_config/k9s/config.yaml.tmpl +65 -0
  86. package/dot_config/k9s/skins/catppuccin-mocha.yaml +116 -0
  87. package/dot_config/karabiner/karabiner.json +14 -0
  88. package/dot_config/kitty/kitty.conf.tmpl +517 -0
  89. package/dot_config/lazydocker/config.yml +186 -0
  90. package/dot_config/lazygit/config.yml +23 -0
  91. package/dot_config/lsd/config.yaml +19 -0
  92. package/dot_config/mas/masapps.txt +5 -0
  93. package/dot_config/minikube/config.json +13 -0
  94. package/dot_config/mise/config.toml +41 -0
  95. package/dot_config/mongosh/mongoshrc.js +67 -0
  96. package/dot_config/mycli/myclirc +67 -0
  97. package/dot_config/nano/nanorc +28 -0
  98. package/dot_config/ncdu/config +12 -0
  99. package/dot_config/nvim/init.lua +4 -0
  100. package/dot_config/nvim/lazy-lock.json +27 -0
  101. package/dot_config/nvim/lua/config/autocmds.lua +63 -0
  102. package/dot_config/nvim/lua/config/keymaps.lua +87 -0
  103. package/dot_config/nvim/lua/config/lazy.lua +34 -0
  104. package/dot_config/nvim/lua/config/options.lua +48 -0
  105. package/dot_config/nvim/lua/plugins/coding.lua +234 -0
  106. package/dot_config/nvim/lua/plugins/dap.lua +201 -0
  107. package/dot_config/nvim/lua/plugins/editor.lua +59 -0
  108. package/dot_config/nvim/lua/plugins/git.lua +9 -0
  109. package/dot_config/nvim/lua/plugins/lsp.lua +221 -0
  110. package/dot_config/nvim/lua/plugins/markdown.lua +17 -0
  111. package/dot_config/nvim/lua/plugins/rust.lua +33 -0
  112. package/dot_config/nvim/lua/plugins/sessions.lua +32 -0
  113. package/dot_config/nvim/lua/plugins/ui.lua +537 -0
  114. package/dot_config/nvim/snippets/all.lua +9 -0
  115. package/dot_config/nvim/snippets/python.lua +16 -0
  116. package/dot_config/pip/pip.conf.tmpl +32 -0
  117. package/dot_config/pypoetry/config.toml.tmpl +6 -0
  118. package/dot_config/pyrightconfig.json.tmpl +5 -0
  119. package/dot_config/raycast/README.md +13 -0
  120. package/dot_config/redis/redisclirc +41 -0
  121. package/dot_config/shell/00-container-detect.sh +53 -0
  122. package/dot_config/shell/00-core-paths.sh.tmpl +95 -0
  123. package/dot_config/shell/05-core-safety.sh.tmpl +13 -0
  124. package/dot_config/shell/40-ls-colors.sh.tmpl +31 -0
  125. package/dot_config/shell/50-logic-functions.sh.tmpl +10 -0
  126. package/dot_config/shell/90-theme-switch.sh +70 -0
  127. package/dot_config/shell/90-ux-aliases.sh.tmpl +35 -0
  128. package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +23 -0
  129. package/dot_config/shell/Brewfile +207 -0
  130. package/dot_config/shell/Brewfile.cask +92 -0
  131. package/dot_config/shell/Brewfile.cli +119 -0
  132. package/dot_config/shell/README.md +267 -0
  133. package/dot_config/shell/custom/context_suggest.zsh +68 -0
  134. package/dot_config/shell/custom/error_analysis.zsh +45 -0
  135. package/dot_config/sops/dot_sops.yaml +23 -0
  136. package/dot_config/starship.toml.tmpl +124 -0
  137. package/dot_config/task/Taskfile.yml +86 -0
  138. package/dot_config/tflint/tflint.hcl.tmpl +9 -0
  139. package/dot_config/tmux/tmux.conf.tmpl +181 -0
  140. package/dot_config/topgrade/topgrade.toml.tmpl +42 -0
  141. package/dot_config/vscode/extensions.txt +11 -0
  142. package/dot_config/vscode/settings.json.tmpl +123 -0
  143. package/dot_config/waybar/style.css +8 -0
  144. package/dot_config/wezterm/wezterm.lua.tmpl +236 -0
  145. package/dot_config/wget/wgetrc +12 -0
  146. package/dot_config/yarn/yarnrc.yml.tmpl +36 -0
  147. package/dot_config/yazi/yazi.toml +40 -0
  148. package/dot_config/zellij/config.kdl +79 -0
  149. package/dot_config/zsh/dot_zprofile +13 -0
  150. package/dot_config/zsh/dot_zshenv +6 -0
  151. package/dot_config/zsh/dot_zshrc.tmpl +199 -0
  152. package/dot_config/zsh/rc.d/05-ssh-agent.zsh +5 -0
  153. package/dot_config/zsh/rc.d/10-env.zsh.tmpl +28 -0
  154. package/dot_config/zsh/rc.d/20-zinit.zsh.tmpl +22 -0
  155. package/dot_config/zsh/rc.d/30-options.zsh.tmpl +123 -0
  156. package/dot_config/zsh/rc.d/40-bell.zsh.tmpl +20 -0
  157. package/dot_config/zsh/rc.d/50-login-fortune.zsh.tmpl +9 -0
  158. package/dot_local/bin/executable_ai_core +130 -0
  159. package/dot_local/bin/executable_b64 +59 -0
  160. package/dot_local/bin/executable_dot +178 -0
  161. package/dot_local/bin/executable_dot_completion +55 -0
  162. package/dot_local/bin/executable_epoch +62 -0
  163. package/dot_local/bin/executable_extract +108 -0
  164. package/dot_local/bin/executable_git-ai-commit +160 -0
  165. package/dot_local/bin/executable_git-ai-diff +154 -0
  166. package/dot_local/bin/executable_hash +123 -0
  167. package/dot_local/bin/executable_hex +79 -0
  168. package/dot_local/bin/executable_ip +37 -0
  169. package/dot_local/bin/executable_jsonv +54 -0
  170. package/dot_local/bin/executable_jwt +78 -0
  171. package/dot_local/bin/executable_kill-port +59 -0
  172. package/dot_local/bin/executable_lorem +103 -0
  173. package/dot_local/bin/executable_regex +96 -0
  174. package/dot_local/bin/executable_tmux-sessionizer +187 -0
  175. package/dot_local/bin/executable_tour +137 -0
  176. package/dot_local/bin/executable_update +108 -0
  177. package/dot_local/bin/executable_uuid +57 -0
  178. package/dot_local/bin/executable_yamlv +39 -0
  179. package/dot_local/bin/executable_zig-install +89 -0
  180. package/dot_local/bin/voice_ops +7 -0
  181. package/dot_local/share/bash-completion/completions/dot +54 -0
  182. package/dot_local/share/zsh/completions/.keep +0 -0
  183. package/install.sh +255 -0
  184. package/package.json +52 -76
  185. package/scripts/ci/validate-ci-config.sh +222 -0
  186. package/scripts/demo/record.sh +41 -0
  187. package/scripts/diagnostics/benchmark.sh +201 -0
  188. package/scripts/diagnostics/doctor.sh +115 -0
  189. package/scripts/diagnostics/drift-dashboard.sh +26 -0
  190. package/scripts/diagnostics/health.sh +356 -0
  191. package/scripts/diagnostics/history-analysis.sh +77 -0
  192. package/scripts/diagnostics/security-score.sh +392 -0
  193. package/scripts/diagnostics/verify_state.sh +60 -0
  194. package/scripts/dot/commands/appearance.sh +63 -0
  195. package/scripts/dot/commands/core.sh +130 -0
  196. package/scripts/dot/commands/diagnostics.sh +100 -0
  197. package/scripts/dot/commands/meta.sh +117 -0
  198. package/scripts/dot/commands/restore.sh +209 -0
  199. package/scripts/dot/commands/secrets.sh +81 -0
  200. package/scripts/dot/commands/security.sh +73 -0
  201. package/scripts/dot/commands/tools.sh +228 -0
  202. package/scripts/dot/lib/utils.sh +72 -0
  203. package/scripts/fonts/install-nerd-fonts.sh +59 -0
  204. package/scripts/fonts/patch-fonts.sh +34 -0
  205. package/scripts/ops/chezmoi-apply.sh +42 -0
  206. package/scripts/ops/chezmoi-diff.sh +14 -0
  207. package/scripts/ops/chezmoi-remove.sh +43 -0
  208. package/scripts/ops/chezmoi-update.sh +16 -0
  209. package/scripts/ops/heal.sh +466 -0
  210. package/scripts/ops/health-check.sh +380 -0
  211. package/scripts/ops/rollback.sh +531 -0
  212. package/scripts/ops/teleport.sh +32 -0
  213. package/scripts/secrets/age-init.sh +69 -0
  214. package/scripts/secrets/create-secrets-file.sh +44 -0
  215. package/scripts/secrets/encrypt-ssh-key.sh +42 -0
  216. package/scripts/security/backup.sh +17 -0
  217. package/scripts/security/dns-doh.sh +29 -0
  218. package/scripts/security/encryption-check.sh +39 -0
  219. package/scripts/security/enforce-policies.sh +339 -0
  220. package/scripts/security/firewall.sh +34 -0
  221. package/scripts/security/lock-configs.sh +57 -0
  222. package/scripts/security/lock-screen.sh +33 -0
  223. package/scripts/security/manage-secrets.sh +415 -0
  224. package/scripts/security/telemetry-kill.sh +28 -0
  225. package/scripts/security/usb-safety.sh +29 -0
  226. package/scripts/tests/README.md +241 -0
  227. package/scripts/tests/benchmark.sh +91 -0
  228. package/scripts/tests/framework/assertions.sh +283 -0
  229. package/scripts/tests/framework/mocks.sh +201 -0
  230. package/scripts/tests/framework/test_runner.sh +189 -0
  231. package/scripts/tests/integration/test_install.sh +237 -0
  232. package/scripts/tests/performance/benchmark_runner.sh +156 -0
  233. package/scripts/tests/performance/regression_check.sh +73 -0
  234. package/scripts/tests/performance/stress_test.sh +65 -0
  235. package/scripts/tests/test-aliases.sh +25 -0
  236. package/scripts/tests/test-docker.sh +48 -0
  237. package/scripts/tests/unit/test_ai_aliases.sh +158 -0
  238. package/scripts/tests/unit/test_ai_cli_checks.sh +47 -0
  239. package/scripts/tests/unit/test_backup.sh +227 -0
  240. package/scripts/tests/unit/test_case_functions.sh +238 -0
  241. package/scripts/tests/unit/test_cd_aliases.sh +367 -0
  242. package/scripts/tests/unit/test_dot_cli.sh +217 -0
  243. package/scripts/tests/unit/test_encode64.sh +67 -0
  244. package/scripts/tests/unit/test_environment.sh +78 -0
  245. package/scripts/tests/unit/test_extract.sh +163 -0
  246. package/scripts/tests/unit/test_framework_edge_cases.sh +113 -0
  247. package/scripts/tests/unit/test_genpass.sh +298 -0
  248. package/scripts/tests/unit/test_install_edge_cases.sh +167 -0
  249. package/scripts/tests/unit/test_installers.sh +172 -0
  250. package/scripts/tests/unit/test_keygen.sh +68 -0
  251. package/scripts/tests/unit/test_logging.sh +96 -0
  252. package/scripts/tests/unit/test_os_detection_comprehensive.sh +388 -0
  253. package/scripts/tests/unit/test_package_managers_comprehensive.sh +321 -0
  254. package/scripts/tests/unit/test_prependpath.sh +66 -0
  255. package/scripts/tests/unit/test_prependpath_refactored.sh +89 -0
  256. package/scripts/tests/unit/test_rd.sh +230 -0
  257. package/scripts/tests/unit/test_security_fixes.sh +130 -0
  258. package/scripts/tests/unit/test_security_scripts.sh +87 -0
  259. package/scripts/tests/unit/test_template_validation.sh +238 -0
  260. package/scripts/tests/unit/test_utility_functions.sh +144 -0
  261. package/scripts/tests/unit/test_wave1_alias_split.sh +132 -0
  262. package/scripts/tests/unit/test_wave1_ci_pinning.sh +61 -0
  263. package/scripts/tests/unit/test_wave1_gitleaks_config.sh +52 -0
  264. package/scripts/tests/unit/test_wave1_heal_fixes.sh +97 -0
  265. package/scripts/tests/unit/test_wave1_install_gpg.sh +35 -0
  266. package/scripts/tests/unit/test_wave1_zshenv_path.sh +89 -0
  267. package/scripts/tests/unit/test_wave1_zshrc_lazy_hook.sh +115 -0
  268. package/scripts/tests/unit/test_wave2_dot_new_guard.sh +75 -0
  269. package/scripts/tests/unit/test_zipf.sh +76 -0
  270. package/scripts/theme/apply-gnome-theme.sh +297 -0
  271. package/scripts/theme/install-boot-logo.sh +61 -0
  272. package/scripts/theme/install-catppuccin-themes.sh +346 -0
  273. package/scripts/theme/install-cursors.sh +24 -0
  274. package/scripts/theme/install-file-icons.sh +25 -0
  275. package/scripts/theme/install-grub-theme.sh +51 -0
  276. package/scripts/theme/install-lock-icon.sh +29 -0
  277. package/scripts/theme/switch.sh +250 -0
  278. package/scripts/theme/wallpaper-rotate.sh +82 -0
  279. package/scripts/theme/wallpaper-sync.sh +42 -0
  280. package/scripts/tools/cmatrix.sh +20 -0
  281. package/scripts/tools/detect-collisions.py +84 -0
  282. package/scripts/tools/emoji-picker.sh +45 -0
  283. package/scripts/tools/figlet-banner.sh +17 -0
  284. package/scripts/tools/log-rotate.sh +29 -0
  285. package/scripts/tools/lolcat-wrap.sh +18 -0
  286. package/scripts/tools/pipes.sh +47 -0
  287. package/scripts/tuning/linux.sh +175 -0
  288. package/scripts/tuning/macos.sh +46 -0
  289. package/templates/projects/go/README.md +7 -0
  290. package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +7 -0
  291. package/templates/projects/go/go.mod +3 -0
  292. package/templates/projects/molecule/README.md +7 -0
  293. package/templates/projects/molecule/converge.yml +7 -0
  294. package/templates/projects/molecule/molecule.yml +16 -0
  295. package/templates/projects/node/README.md +7 -0
  296. package/templates/projects/node/package.json +10 -0
  297. package/templates/projects/node/src/index.js +2 -0
  298. package/templates/projects/packer/README.md +15 -0
  299. package/templates/projects/packer/main.pkr.hcl +15 -0
  300. package/templates/projects/python/README.md +7 -0
  301. package/templates/projects/python/pyproject.toml +25 -0
  302. package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +1 -0
  303. package/templates/projects/python/tests/test_basic.py +2 -0
  304. package/dist/Makefile +0 -140
  305. package/dist/bin/backup.d.ts +0 -3
  306. package/dist/bin/backup.d.ts.map +0 -1
  307. package/dist/bin/backup.js +0 -4
  308. package/dist/bin/backup.js.map +0 -1
  309. package/dist/bin/constants.d.ts +0 -7
  310. package/dist/bin/constants.d.ts.map +0 -1
  311. package/dist/bin/constants.js +0 -2
  312. package/dist/bin/constants.js.map +0 -1
  313. package/dist/bin/copy.d.ts +0 -3
  314. package/dist/bin/copy.d.ts.map +0 -1
  315. package/dist/bin/copy.js +0 -3
  316. package/dist/bin/copy.js.map +0 -1
  317. package/dist/bin/dotfiles.d.ts +0 -3
  318. package/dist/bin/dotfiles.d.ts.map +0 -1
  319. package/dist/bin/dotfiles.js +0 -2
  320. package/dist/bin/dotfiles.js.map +0 -1
  321. package/dist/bin/download.d.ts +0 -3
  322. package/dist/bin/download.d.ts.map +0 -1
  323. package/dist/bin/download.js +0 -2
  324. package/dist/bin/download.js.map +0 -1
  325. package/dist/bin/index.d.ts +0 -2
  326. package/dist/bin/index.d.ts.map +0 -1
  327. package/dist/bin/index.js +0 -1
  328. package/dist/bin/index.js.map +0 -1
  329. package/dist/bin/transfer.d.ts +0 -3
  330. package/dist/bin/transfer.d.ts.map +0 -1
  331. package/dist/bin/transfer.js +0 -4
  332. package/dist/bin/transfer.js.map +0 -1
  333. package/dist/bin/unpack.d.ts +0 -3
  334. package/dist/bin/unpack.d.ts.map +0 -1
  335. package/dist/bin/unpack.js +0 -3
  336. package/dist/bin/unpack.js.map +0 -1
  337. package/dist/filesizes.txt +0 -382
  338. package/dist/lib/README.md +0 -86
  339. package/dist/lib/aliases/README.md +0 -57
  340. package/dist/lib/aliases/archives/README.md +0 -145
  341. package/dist/lib/aliases/archives/archives.aliases.sh +0 -114
  342. package/dist/lib/aliases/cd/README.md +0 -146
  343. package/dist/lib/aliases/cd/cd.aliases.sh +0 -51
  344. package/dist/lib/aliases/chmod/README.md +0 -160
  345. package/dist/lib/aliases/chmod/chmod.aliases.sh +0 -107
  346. package/dist/lib/aliases/clear/README.md +0 -37
  347. package/dist/lib/aliases/clear/clear.aliases.sh +0 -71
  348. package/dist/lib/aliases/configuration/README.md +0 -39
  349. package/dist/lib/aliases/configuration/configuration.aliases.sh +0 -70
  350. package/dist/lib/aliases/default/README.md +0 -40
  351. package/dist/lib/aliases/default/default.aliases.sh +0 -139
  352. package/dist/lib/aliases/dig/README.md +0 -37
  353. package/dist/lib/aliases/dig/dig.aliases.sh +0 -43
  354. package/dist/lib/aliases/disk-usage/README.md +0 -36
  355. package/dist/lib/aliases/disk-usage/du.aliases.sh +0 -84
  356. package/dist/lib/aliases/editor/README.md +0 -53
  357. package/dist/lib/aliases/editor/editor.aliases.sh +0 -26
  358. package/dist/lib/aliases/find/README.md +0 -46
  359. package/dist/lib/aliases/find/find.aliases.sh +0 -60
  360. package/dist/lib/aliases/gcloud/README.md +0 -63
  361. package/dist/lib/aliases/gcloud/gcloud.aliases.sh +0 -335
  362. package/dist/lib/aliases/git/README.md +0 -153
  363. package/dist/lib/aliases/git/git.aliases.sh +0 -544
  364. package/dist/lib/aliases/gnu/README.md +0 -89
  365. package/dist/lib/aliases/gnu/gnucoreutils-aliases.sh +0 -150
  366. package/dist/lib/aliases/heroku/README.md +0 -430
  367. package/dist/lib/aliases/heroku/heroku.aliases.sh +0 -1053
  368. package/dist/lib/aliases/interactive/README.md +0 -55
  369. package/dist/lib/aliases/interactive/interactive.aliases.sh +0 -50
  370. package/dist/lib/aliases/list/README.md +0 -131
  371. package/dist/lib/aliases/list/list.aliases.sh +0 -132
  372. package/dist/lib/aliases/macOS/README.md +0 -42
  373. package/dist/lib/aliases/macOS/macos.aliases.sh +0 -65
  374. package/dist/lib/aliases/make/README.md +0 -32
  375. package/dist/lib/aliases/make/make.aliases.sh +0 -35
  376. package/dist/lib/aliases/mkdir/README.md +0 -30
  377. package/dist/lib/aliases/mkdir/mkdir.aliases.sh +0 -29
  378. package/dist/lib/aliases/npm/README.md +0 -41
  379. package/dist/lib/aliases/npm/npm.aliases.sh +0 -61
  380. package/dist/lib/aliases/permission/README.md +0 -47
  381. package/dist/lib/aliases/permission/permission.aliases.sh +0 -73
  382. package/dist/lib/aliases/pnpm/README.md +0 -53
  383. package/dist/lib/aliases/pnpm/pnpm.aliases.sh +0 -76
  384. package/dist/lib/aliases/ps/README.md +0 -29
  385. package/dist/lib/aliases/ps/ps.aliases.sh +0 -20
  386. package/dist/lib/aliases/python/python.aliases.sh +0 -141
  387. package/dist/lib/aliases/rsync/README.md +0 -25
  388. package/dist/lib/aliases/rsync/rsync.aliases.sh +0 -17
  389. package/dist/lib/aliases/rust/README.md +0 -182
  390. package/dist/lib/aliases/rust/rust.aliases.sh +0 -119
  391. package/dist/lib/aliases/subversion/README.md +0 -66
  392. package/dist/lib/aliases/subversion/subversion.aliases.sh +0 -47
  393. package/dist/lib/aliases/sudo/README.md +0 -27
  394. package/dist/lib/aliases/sudo/sudo.aliases.sh +0 -20
  395. package/dist/lib/aliases/tmux/README.md +0 -31
  396. package/dist/lib/aliases/tmux/tmux.aliases.sh +0 -36
  397. package/dist/lib/aliases/update/README.md +0 -38
  398. package/dist/lib/aliases/update/update.aliases.sh +0 -310
  399. package/dist/lib/aliases/uuid/README.md +0 -24
  400. package/dist/lib/aliases/uuid/uuid.aliases.sh +0 -19
  401. package/dist/lib/aliases/wget/README.md +0 -27
  402. package/dist/lib/aliases/wget/wget.aliases.sh +0 -22
  403. package/dist/lib/aliases.sh +0 -50
  404. package/dist/lib/configurations/README.md +0 -18
  405. package/dist/lib/configurations/bash/bashrc +0 -167
  406. package/dist/lib/configurations/curl/cacert.pem +0 -3460
  407. package/dist/lib/configurations/curl/curlrc +0 -53
  408. package/dist/lib/configurations/default/color.sh +0 -24
  409. package/dist/lib/configurations/default/constants.sh +0 -43
  410. package/dist/lib/configurations/default/editor.sh +0 -18
  411. package/dist/lib/configurations/default/prompt.sh +0 -48
  412. package/dist/lib/configurations/input/inputrc +0 -23
  413. package/dist/lib/configurations/jshint/jshintrc +0 -37
  414. package/dist/lib/configurations/nano/nanorc +0 -35
  415. package/dist/lib/configurations/profile/profile +0 -37
  416. package/dist/lib/configurations/prompt/prompt.sh +0 -81
  417. package/dist/lib/configurations/tmux/default +0 -18
  418. package/dist/lib/configurations/tmux/display +0 -30
  419. package/dist/lib/configurations/tmux/linux +0 -18
  420. package/dist/lib/configurations/tmux/navigation +0 -30
  421. package/dist/lib/configurations/tmux/panes +0 -10
  422. package/dist/lib/configurations/tmux/theme +0 -29
  423. package/dist/lib/configurations/tmux/tmux +0 -21
  424. package/dist/lib/configurations/vim/vimrc +0 -193
  425. package/dist/lib/configurations/wget/wgetrc +0 -40
  426. package/dist/lib/configurations/zsh/zshrc +0 -50
  427. package/dist/lib/configurations.sh +0 -45
  428. package/dist/lib/functions/README.md +0 -92
  429. package/dist/lib/functions/apihealth.sh +0 -277
  430. package/dist/lib/functions/apilatency.sh +0 -157
  431. package/dist/lib/functions/apiload.sh +0 -165
  432. package/dist/lib/functions/backup.sh +0 -143
  433. package/dist/lib/functions/cdls.sh +0 -60
  434. package/dist/lib/functions/curlheader.sh +0 -78
  435. package/dist/lib/functions/curlstatus.sh +0 -74
  436. package/dist/lib/functions/curltime.sh +0 -75
  437. package/dist/lib/functions/encode64.sh +0 -107
  438. package/dist/lib/functions/environment.sh +0 -78
  439. package/dist/lib/functions/extract.sh +0 -86
  440. package/dist/lib/functions/freespace.sh +0 -67
  441. package/dist/lib/functions/genpwd.sh +0 -105
  442. package/dist/lib/functions/goto.sh +0 -67
  443. package/dist/lib/functions/hexdump.sh +0 -96
  444. package/dist/lib/functions/hiddenfiles.sh +0 -77
  445. package/dist/lib/functions/hostinfo.sh +0 -98
  446. package/dist/lib/functions/hstats.sh +0 -75
  447. package/dist/lib/functions/httpdebug.sh +0 -113
  448. package/dist/lib/functions/kebabcase.sh +0 -61
  449. package/dist/lib/functions/keygen.sh +0 -194
  450. package/dist/lib/functions/last.sh +0 -112
  451. package/dist/lib/functions/logout.sh +0 -120
  452. package/dist/lib/functions/lowercase.sh +0 -61
  453. package/dist/lib/functions/matrix.sh +0 -216
  454. package/dist/lib/functions/mount_read_only.sh +0 -11
  455. package/dist/lib/functions/myproc.sh +0 -9
  456. package/dist/lib/functions/prependpath.sh +0 -21
  457. package/dist/lib/functions/ql.sh +0 -9
  458. package/dist/lib/functions/rd.sh +0 -17
  459. package/dist/lib/functions/remove_disk.sh +0 -11
  460. package/dist/lib/functions/ren.sh +0 -73
  461. package/dist/lib/functions/sentencecase.sh +0 -63
  462. package/dist/lib/functions/showhiddenfiles.sh +0 -14
  463. package/dist/lib/functions/size.sh +0 -16
  464. package/dist/lib/functions/snakecase.sh +0 -61
  465. package/dist/lib/functions/stopwatch.sh +0 -15
  466. package/dist/lib/functions/sysinfo.sh +0 -145
  467. package/dist/lib/functions/titlecase.sh +0 -65
  468. package/dist/lib/functions/uppercase.sh +0 -61
  469. package/dist/lib/functions/view-source.sh +0 -9
  470. package/dist/lib/functions/vscode.sh +0 -32
  471. package/dist/lib/functions/whoisport.sh +0 -14
  472. package/dist/lib/functions/zipf.sh +0 -16
  473. package/dist/lib/functions.sh +0 -46
  474. package/dist/lib/history.sh +0 -90
  475. package/dist/lib/paths/README.md +0 -52
  476. package/dist/lib/paths/custom.paths.sh +0 -40
  477. package/dist/lib/paths/default.paths.sh +0 -37
  478. package/dist/lib/paths.sh +0 -46
  479. package/dist/scripts/backup.sh +0 -95
  480. package/dist/scripts/banner.sh +0 -20
  481. package/dist/scripts/build.sh +0 -41
  482. package/dist/scripts/clean.sh +0 -31
  483. package/dist/scripts/compile.sh +0 -54
  484. package/dist/scripts/copy.sh +0 -108
  485. package/dist/scripts/dotfiles.sh +0 -63
  486. package/dist/scripts/download.sh +0 -35
  487. package/dist/scripts/help.sh +0 -57
  488. package/dist/scripts/ssh.sh +0 -55
  489. package/dist/scripts/unpack.sh +0 -28
  490. /package/{dist/lib/configurations → dot_config}/gem/gemrc +0 -0
@@ -0,0 +1,48 @@
1
+ vim.g.mapleader = " "
2
+ vim.g.maplocalleader = " "
3
+
4
+ local opt = vim.opt
5
+
6
+ opt.autowrite = true -- Enable auto write
7
+ opt.clipboard = "unnamedplus" -- Sync with system clipboard
8
+ opt.completeopt = "menu,menuone,noselect"
9
+ opt.conceallevel = 2 -- Hide * markup for bold and italic
10
+ opt.confirm = true -- Confirm to save changes before exiting modified buffer
11
+ opt.cursorline = true -- Enable highlighting of the current line
12
+ opt.expandtab = true -- Use spaces instead of tabs
13
+ opt.formatoptions = "jcroqlnt" -- tcqj
14
+ opt.grepformat = "%f:%l:%c:%m"
15
+ opt.grepprg = "rg --vimgrep"
16
+ opt.ignorecase = true -- Ignore case
17
+ opt.inccommand = "nosplit" -- preview incremental substitute
18
+ opt.laststatus = 3 -- global statusline
19
+ opt.list = true -- Show some invisible characters (tabs...
20
+ opt.mouse = "a" -- Enable mouse mode
21
+ opt.number = true -- Print line number
22
+ opt.pumblend = 10 -- Popup blend
23
+ opt.pumheight = 10 -- Maximum number of entries in a popup
24
+ opt.relativenumber = true -- Relative line numbers
25
+ opt.scrolloff = 4 -- Lines of context
26
+ opt.sessionoptions = { "buffers", "curdir", "tabpages", "winsize", "help", "globals", "skiprtp", "folds" }
27
+ opt.shiftround = true -- Round indent
28
+ opt.shiftwidth = 2 -- Size of an indent
29
+ opt.shortmess:append({ W = true, I = true, c = true, C = true })
30
+ opt.showmode = false -- Dont show mode since we have a statusline
31
+ opt.sidescrolloff = 8 -- Columns of context
32
+ opt.signcolumn = "yes" -- Always show the signcolumn
33
+ opt.smartcase = true -- Don't ignore case with capitals
34
+ opt.smartindent = true -- Insert indents automatically
35
+ opt.spelllang = { "en" }
36
+ opt.splitbelow = true -- Put new windows below current
37
+ opt.splitkeep = "screen"
38
+ opt.splitright = true -- Put new windows right of current
39
+ opt.tabstop = 2 -- Number of spaces tabs count for
40
+ opt.termguicolors = true -- True color support
41
+ opt.timeoutlen = 300
42
+ opt.undofile = true
43
+ opt.undolevels = 10000
44
+ opt.updatetime = 200 -- Save swap file and trigger CursorHold
45
+ opt.virtualedit = "block" -- Allow cursor to move where there is no text in visual block mode
46
+ opt.wildmode = "longest:full,full" -- Command-line completion mode
47
+ opt.winminwidth = 5 -- Minimum window width
48
+ opt.wrap = false -- Disable line wrap
@@ -0,0 +1,234 @@
1
+ return {
2
+ -- Treesitter (Syntax Highlighting)
3
+ {
4
+ "nvim-treesitter/nvim-treesitter",
5
+ build = ":TSUpdate",
6
+ event = { "BufReadPost", "BufNewFile" },
7
+ config = function()
8
+ -- Use correct module path (configs)
9
+ local ok, ts_config = pcall(require, "nvim-treesitter.configs")
10
+ if not ok then
11
+ -- Treesitter not installed yet, skip configuration
12
+ return
13
+ end
14
+
15
+ ts_config.setup({
16
+ ensure_installed = {
17
+ "python",
18
+ "go",
19
+ "markdown",
20
+ "json",
21
+ "toml",
22
+ "yaml",
23
+ "bash",
24
+ "vim",
25
+ "regex",
26
+ "lua",
27
+ "rust",
28
+ "dockerfile",
29
+ },
30
+ highlight = { enable = true },
31
+ indent = { enable = true },
32
+ })
33
+ end,
34
+ },
35
+
36
+ -- Neotest (Testing)
37
+ {
38
+ "nvim-neotest/neotest",
39
+ dependencies = {
40
+ "nvim-neotest/nvim-nio",
41
+ "nvim-neotest/neotest-python",
42
+ "nvim-neotest/neotest-plenary",
43
+ "nvim-lua/plenary.nvim",
44
+ "antoinemadec/FixCursorHold.nvim",
45
+ "nvim-treesitter/nvim-treesitter",
46
+ },
47
+ config = function()
48
+ require("neotest").setup({
49
+ adapters = {
50
+ require("neotest-python")({
51
+ dap = { justMyCode = false },
52
+ runner = "pytest",
53
+ args = { "--cov", "--cov-report=term-missing", "-v" },
54
+ }),
55
+ require("neotest-plenary"),
56
+ },
57
+ })
58
+ -- Keymaps
59
+ vim.keymap.set("n", "<leader>tn", function()
60
+ require("neotest").run.run()
61
+ end, { desc = "Run nearest test" })
62
+ vim.keymap.set("n", "<leader>tf", function()
63
+ require("neotest").run.run(vim.fn.expand("%"))
64
+ end, { desc = "Run test file" })
65
+ vim.keymap.set("n", "<leader>ts", function()
66
+ require("neotest").summary.toggle()
67
+ end, { desc = "Toggle test summary" })
68
+ vim.keymap.set("n", "<leader>to", function()
69
+ require("neotest").output.open({ enter = true })
70
+ end, { desc = "Show test output" })
71
+ end,
72
+ },
73
+
74
+ -- Debugging (DAP + Python)
75
+ {
76
+ "mfussenegger/nvim-dap",
77
+ dependencies = {
78
+ "rcarriga/nvim-dap-ui",
79
+ "mfussenegger/nvim-dap-python",
80
+ "nvim-neotest/nvim-nio",
81
+ "theHamsta/nvim-dap-virtual-text",
82
+ "jbyuki/one-small-step-for-vimkind",
83
+ },
84
+ config = function()
85
+ local dap = require("dap")
86
+ local dapui = require("dapui")
87
+ local dap_python = require("dap-python")
88
+ local osv = require("osv")
89
+
90
+ -- Enhanced UI setup
91
+ dapui.setup()
92
+ require("nvim-dap-virtual-text").setup()
93
+
94
+ -- Python path resolution (Robust for Venv/System)
95
+ -- 1. Check for VIRTUAL_ENV env var
96
+ -- 2. Check for .venv directory
97
+ -- 3. Fallback to specific masonry path (if installed) or system python
98
+ local venv_path = os.getenv("VIRTUAL_ENV")
99
+ local python_path
100
+ if venv_path then
101
+ python_path = venv_path .. "/bin/python"
102
+ else
103
+ python_path = vim.fn.exepath("python3") or vim.fn.exepath("python")
104
+ end
105
+
106
+ dap_python.setup(python_path)
107
+ dap_python.test_runner = "pytest"
108
+
109
+ -- Auto-open UI
110
+ dap.listeners.after.event_initialized["dapui_config"] = function()
111
+ dapui.open()
112
+ end
113
+ dap.listeners.before.event_terminated["dapui_config"] = function()
114
+ dapui.close()
115
+ end
116
+ dap.listeners.before.event_exited["dapui_config"] = function()
117
+ dapui.close()
118
+ end
119
+
120
+ -- Local Lua debugger (OSV)
121
+ osv.setup({ port = 8086 })
122
+ dap.adapters.nlua = function(callback, config)
123
+ callback({ type = "server", host = config.host or "127.0.0.1", port = config.port or 8086 })
124
+ end
125
+ dap.configurations.lua = {
126
+ {
127
+ type = "nlua",
128
+ request = "attach",
129
+ name = "Attach to running Neovim instance",
130
+ },
131
+ }
132
+
133
+ -- Signs
134
+ vim.fn.sign_define("DapBreakpoint", { text = "B", texthl = "DapBreakpoint", linehl = "", numhl = "" })
135
+ vim.fn.sign_define(
136
+ "DapStopped",
137
+ { text = "S", texthl = "DapStopped", linehl = "DapStopped", numhl = "DapStopped" }
138
+ )
139
+ end,
140
+ },
141
+
142
+ -- Debugging (DAP + Go)
143
+ {
144
+ "leoluz/nvim-dap-go",
145
+ ft = { "go" },
146
+ dependencies = { "mfussenegger/nvim-dap" },
147
+ config = function()
148
+ require("dap-go").setup()
149
+ end,
150
+ },
151
+
152
+ -- Linting (Nvim-Lint)
153
+ {
154
+ "mfussenegger/nvim-lint",
155
+ event = { "BufReadPre", "BufNewFile" },
156
+ config = function()
157
+ local lint = require("lint")
158
+ lint.linters_by_ft = {
159
+ python = { "mypy", "codespell" },
160
+ markdown = { "codespell" },
161
+ dockerfile = { "hadolint" },
162
+ }
163
+
164
+ vim.api.nvim_create_autocmd({ "BufWritePost", "BufEnter", "InsertLeave" }, {
165
+ group = vim.api.nvim_create_augroup("lint", { clear = true }),
166
+ callback = function()
167
+ lint.try_lint()
168
+ end,
169
+ })
170
+ end,
171
+ },
172
+
173
+ -- Neogen (Docstrings)
174
+ {
175
+ "danymat/neogen",
176
+ dependencies = "nvim-treesitter/nvim-treesitter",
177
+ cmd = "Neogen",
178
+ keys = {
179
+ { "<leader>nd", ":Neogen<CR>", desc = "Generate Docstring" },
180
+ },
181
+ config = function()
182
+ require("neogen").setup({ snippet_engine = "luasnip" })
183
+ end,
184
+ },
185
+
186
+ -- Telescope (Fuzzy Finder)
187
+ {
188
+ "nvim-telescope/telescope.nvim",
189
+ dependencies = { "nvim-telescope/telescope-fzf-native.nvim", "ThePrimeagen/git-worktree.nvim" },
190
+ cmd = "Telescope",
191
+ config = function()
192
+ local telescope = require("telescope")
193
+ telescope.setup({
194
+ defaults = {
195
+ file_ignore_patterns = { ".git/", "node_modules", ".venv" },
196
+ layout_strategy = "horizontal",
197
+ layout_config = { prompt_position = "top" },
198
+ sorting_strategy = "ascending",
199
+ winblend = 0,
200
+ },
201
+ pickers = {
202
+ find_files = { hidden = true },
203
+ },
204
+ })
205
+ pcall(telescope.load_extension, "fzf")
206
+ pcall(telescope.load_extension, "git_worktree")
207
+ end,
208
+ },
209
+ { "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
210
+ {
211
+ "ThePrimeagen/git-worktree.nvim",
212
+ config = function()
213
+ require("git-worktree").setup()
214
+ end,
215
+ },
216
+
217
+ -- Venv Selector (Python Env Management)
218
+ {
219
+ "linux-cultist/venv-selector.nvim",
220
+ branch = "main", -- Explicitly switch back to main
221
+ dependencies = {
222
+ "neovim/nvim-lspconfig",
223
+ "nvim-telescope/telescope.nvim",
224
+ "mfussenegger/nvim-dap-python",
225
+ },
226
+ cmd = "VenvSelect",
227
+ keys = { { "<leader>cv", "<cmd>VenvSelect<cr>", desc = "Select VirtualEnv" } },
228
+ opts = {
229
+ name = { "venv", ".venv", "env", ".env" },
230
+ auto_refresh = false, -- Disable auto-scan to prevent home dir timeouts
231
+ dap_enabled = true,
232
+ },
233
+ },
234
+ }
@@ -0,0 +1,201 @@
1
+ -- Debug Adapter Protocol (DAP) Configuration
2
+
3
+ -- Layout constants
4
+ local SIDEBAR_WIDTH = 40
5
+ local BOTTOM_PANEL_HEIGHT = 10
6
+ local QUARTER_SIZE = 0.25
7
+ local HALF_SIZE = 0.5
8
+ local DEFAULT_DEV_SERVER_PORT = 3000
9
+
10
+ return {
11
+ -- DAP Core
12
+ {
13
+ "mfussenegger/nvim-dap",
14
+ dependencies = {
15
+ "williamboman/mason.nvim",
16
+ "jay-babu/mason-nvim-dap.nvim",
17
+ "rcarriga/nvim-dap-ui",
18
+ "nvim-neotest/nvim-nio",
19
+ },
20
+ keys = {
21
+ {
22
+ "<leader>db",
23
+ function()
24
+ require("dap").toggle_breakpoint()
25
+ end,
26
+ desc = "Toggle Breakpoint",
27
+ },
28
+ {
29
+ "<leader>dc",
30
+ function()
31
+ require("dap").continue()
32
+ end,
33
+ desc = "Continue",
34
+ },
35
+ {
36
+ "<leader>di",
37
+ function()
38
+ require("dap").step_into()
39
+ end,
40
+ desc = "Step Into",
41
+ },
42
+ {
43
+ "<leader>do",
44
+ function()
45
+ require("dap").step_over()
46
+ end,
47
+ desc = "Step Over",
48
+ },
49
+ {
50
+ "<leader>dO",
51
+ function()
52
+ require("dap").step_out()
53
+ end,
54
+ desc = "Step Out",
55
+ },
56
+ {
57
+ "<leader>dr",
58
+ function()
59
+ require("dap").repl.open()
60
+ end,
61
+ desc = "Open REPL",
62
+ },
63
+ {
64
+ "<leader>dl",
65
+ function()
66
+ require("dap").run_last()
67
+ end,
68
+ desc = "Run Last",
69
+ },
70
+ {
71
+ "<leader>dt",
72
+ function()
73
+ require("dap").terminate()
74
+ end,
75
+ desc = "Terminate",
76
+ },
77
+ {
78
+ "<leader>du",
79
+ function()
80
+ require("dapui").toggle()
81
+ end,
82
+ desc = "Toggle DAP UI",
83
+ },
84
+ },
85
+ config = function()
86
+ local dap = require("dap")
87
+
88
+ -- JavaScript/TypeScript debugging with js-debug-adapter
89
+ -- Requires: MasonInstall js-debug-adapter
90
+ local js_debug_path = vim.fn.stdpath("data") .. "/mason/packages/js-debug-adapter/js-debug/src/dapDebugServer.js"
91
+
92
+ for _, adapter in ipairs({ "pwa-node", "pwa-chrome", "node-terminal" }) do
93
+ dap.adapters[adapter] = {
94
+ type = "server",
95
+ host = "localhost",
96
+ port = "${port}",
97
+ executable = {
98
+ command = "node",
99
+ args = { js_debug_path, "${port}" },
100
+ },
101
+ }
102
+ end
103
+
104
+ -- JavaScript configurations
105
+ for _, lang in ipairs({ "javascript", "typescript", "javascriptreact", "typescriptreact" }) do
106
+ dap.configurations[lang] = {
107
+ {
108
+ type = "pwa-node",
109
+ request = "launch",
110
+ name = "Launch file",
111
+ program = "${file}",
112
+ cwd = "${workspaceFolder}",
113
+ },
114
+ {
115
+ type = "pwa-node",
116
+ request = "attach",
117
+ name = "Attach to process",
118
+ processId = require("dap.utils").pick_process,
119
+ cwd = "${workspaceFolder}",
120
+ },
121
+ {
122
+ type = "pwa-chrome",
123
+ request = "launch",
124
+ name = "Launch Chrome",
125
+ url = "http://localhost:" .. DEFAULT_DEV_SERVER_PORT,
126
+ webRoot = "${workspaceFolder}",
127
+ },
128
+ }
129
+ end
130
+ end,
131
+ },
132
+
133
+ -- Mason DAP integration
134
+ {
135
+ "jay-babu/mason-nvim-dap.nvim",
136
+ dependencies = { "williamboman/mason.nvim", "mfussenegger/nvim-dap" },
137
+ opts = {
138
+ ensure_installed = { "js-debug-adapter" },
139
+ automatic_installation = true,
140
+ handlers = {},
141
+ },
142
+ },
143
+
144
+ -- DAP UI
145
+ {
146
+ "rcarriga/nvim-dap-ui",
147
+ dependencies = { "mfussenegger/nvim-dap", "nvim-neotest/nvim-nio" },
148
+ config = function()
149
+ local dap = require("dap")
150
+ local dapui = require("dapui")
151
+
152
+ dapui.setup({
153
+ icons = { expanded = "▾", collapsed = "▸", current_frame = "▸" },
154
+ mappings = {
155
+ expand = { "<CR>", "<2-LeftMouse>" },
156
+ open = "o",
157
+ remove = "d",
158
+ edit = "e",
159
+ repl = "r",
160
+ toggle = "t",
161
+ },
162
+ layouts = {
163
+ {
164
+ elements = {
165
+ { id = "scopes", size = QUARTER_SIZE },
166
+ { id = "breakpoints", size = QUARTER_SIZE },
167
+ { id = "stacks", size = QUARTER_SIZE },
168
+ { id = "watches", size = QUARTER_SIZE },
169
+ },
170
+ size = SIDEBAR_WIDTH,
171
+ position = "left",
172
+ },
173
+ {
174
+ elements = {
175
+ { id = "repl", size = HALF_SIZE },
176
+ { id = "console", size = HALF_SIZE },
177
+ },
178
+ size = BOTTOM_PANEL_HEIGHT,
179
+ position = "bottom",
180
+ },
181
+ },
182
+ floating = {
183
+ border = "rounded",
184
+ mappings = { close = { "q", "<Esc>" } },
185
+ },
186
+ })
187
+
188
+ -- Auto open/close DAP UI on debug session lifecycle
189
+ local function open_dapui()
190
+ dapui.open()
191
+ end
192
+ local function close_dapui()
193
+ dapui.close()
194
+ end
195
+
196
+ dap.listeners.after.event_initialized["dapui_config"] = open_dapui
197
+ dap.listeners.before.event_terminated["dapui_config"] = close_dapui
198
+ dap.listeners.before.event_exited["dapui_config"] = close_dapui
199
+ end,
200
+ },
201
+ }
@@ -0,0 +1,59 @@
1
+ return {
2
+ "akinsho/toggleterm.nvim",
3
+ version = "*",
4
+ config = function()
5
+ require("toggleterm").setup({
6
+ -- Automatically close the terminal when the process exits.
7
+ close_on_exit = true,
8
+
9
+ -- Terminal window open mode (options: "vertical", "horizontal", "tab", "float").
10
+ direction = "float",
11
+
12
+ -- Options for the floating terminal window.
13
+ float_opts = {
14
+ -- Border style for the floating window.
15
+ border = "curved",
16
+ -- Set the floating window width to 80% of the current Neovim window width.
17
+ width = math.floor(vim.o.columns * 0.8),
18
+ -- Set the floating window height to 80% of the current Neovim window height.
19
+ height = math.floor(vim.o.lines * 0.8),
20
+ },
21
+
22
+ -- Hide line numbers in the terminal buffer.
23
+ hide_numbers = true,
24
+
25
+ -- Default key mapping to toggle the terminal.
26
+ open_mapping = [[<C-\>]],
27
+
28
+ -- Persist the terminal size across sessions.
29
+ persist_size = true,
30
+
31
+ -- List of filetypes where shading is disabled (empty table means no exclusions).
32
+ shade_filetypes = {},
33
+
34
+ -- Enable shading for the terminal window.
35
+ shade_terminals = true,
36
+
37
+ -- Shading factor for the terminal (the higher the value, the darker it becomes).
38
+ shading_factor = 2,
39
+
40
+ -- Start the terminal in insert mode.
41
+ start_in_insert = true,
42
+
43
+ -- Use the default shell as defined by Neovim.
44
+ shell = vim.o.shell,
45
+
46
+ -- Set the terminal size (this can also be a function returning a size).
47
+ size = 20,
48
+ })
49
+
50
+ -- Custom keybindings for toggling a floating terminal:
51
+ -- <leader>ft toggles the floating terminal.
52
+ vim.api.nvim_set_keymap(
53
+ "n", -- Mode: normal
54
+ "<leader>ft", -- Key combination
55
+ "<Cmd>ToggleTerm direction=float<CR>", -- Command to execute
56
+ { noremap = true, silent = true } -- Options: no recursive mapping, silent execution
57
+ )
58
+ end,
59
+ }
@@ -0,0 +1,9 @@
1
+ return {
2
+ {
3
+ "ThePrimeagen/git-worktree.nvim",
4
+ dependencies = { "nvim-lua/plenary.nvim" },
5
+ config = function()
6
+ require("git-worktree").setup({})
7
+ end,
8
+ },
9
+ }