@sebastienrousseau/dotfiles 0.2.468 → 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 (489) 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 -57
  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 -380
  338. package/dist/lib/README.md +0 -12
  339. package/dist/lib/aliases/README.md +0 -55
  340. package/dist/lib/aliases/archives/README.md +0 -59
  341. package/dist/lib/aliases/archives/archives.aliases.sh +0 -157
  342. package/dist/lib/aliases/cd/README.md +0 -65
  343. package/dist/lib/aliases/cd/cd.aliases.sh +0 -73
  344. package/dist/lib/aliases/chmod/README.md +0 -109
  345. package/dist/lib/aliases/chmod/chmod.aliases.sh +0 -91
  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 -73
  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/jekyll/README.md +0 -41
  371. package/dist/lib/aliases/jekyll/jekyll.aliases.sh +0 -54
  372. package/dist/lib/aliases/list/README.md +0 -42
  373. package/dist/lib/aliases/list/list.aliases.sh +0 -86
  374. package/dist/lib/aliases/macOS/README.md +0 -42
  375. package/dist/lib/aliases/macOS/macos.aliases.sh +0 -65
  376. package/dist/lib/aliases/make/README.md +0 -32
  377. package/dist/lib/aliases/make/make.aliases.sh +0 -35
  378. package/dist/lib/aliases/mkdir/README.md +0 -30
  379. package/dist/lib/aliases/mkdir/mkdir.aliases.sh +0 -29
  380. package/dist/lib/aliases/npm/README.md +0 -41
  381. package/dist/lib/aliases/npm/npm.aliases.sh +0 -61
  382. package/dist/lib/aliases/permission/README.md +0 -47
  383. package/dist/lib/aliases/permission/permission.aliases.sh +0 -73
  384. package/dist/lib/aliases/pnpm/README.md +0 -53
  385. package/dist/lib/aliases/pnpm/pnpm.aliases.sh +0 -76
  386. package/dist/lib/aliases/ps/README.md +0 -29
  387. package/dist/lib/aliases/ps/ps.aliases.sh +0 -20
  388. package/dist/lib/aliases/rsync/README.md +0 -25
  389. package/dist/lib/aliases/rsync/rsync.aliases.sh +0 -17
  390. package/dist/lib/aliases/rust/README.md +0 -61
  391. package/dist/lib/aliases/rust/rust.aliases.sh +0 -127
  392. package/dist/lib/aliases/subversion/README.md +0 -66
  393. package/dist/lib/aliases/subversion/subversion.aliases.sh +0 -47
  394. package/dist/lib/aliases/sudo/README.md +0 -27
  395. package/dist/lib/aliases/sudo/sudo.aliases.sh +0 -20
  396. package/dist/lib/aliases/tmux/README.md +0 -31
  397. package/dist/lib/aliases/tmux/tmux.aliases.sh +0 -36
  398. package/dist/lib/aliases/update/README.md +0 -38
  399. package/dist/lib/aliases/update/update.aliases.sh +0 -69
  400. package/dist/lib/aliases/uuid/README.md +0 -24
  401. package/dist/lib/aliases/uuid/uuid.aliases.sh +0 -19
  402. package/dist/lib/aliases/wget/README.md +0 -27
  403. package/dist/lib/aliases/wget/wget.aliases.sh +0 -22
  404. package/dist/lib/aliases.sh +0 -50
  405. package/dist/lib/configurations/README.md +0 -18
  406. package/dist/lib/configurations/bash/bashrc +0 -39
  407. package/dist/lib/configurations/curl/cacert.pem +0 -3460
  408. package/dist/lib/configurations/curl/curlrc +0 -56
  409. package/dist/lib/configurations/default/color.sh +0 -24
  410. package/dist/lib/configurations/default/constants.sh +0 -43
  411. package/dist/lib/configurations/default/editor.sh +0 -18
  412. package/dist/lib/configurations/default/prompt.sh +0 -39
  413. package/dist/lib/configurations/input/inputrc +0 -23
  414. package/dist/lib/configurations/jshint/jshintrc +0 -37
  415. package/dist/lib/configurations/nano/nanorc +0 -35
  416. package/dist/lib/configurations/profile/profile +0 -37
  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 -73
  425. package/dist/lib/configurations/wget/wgetrc +0 -40
  426. package/dist/lib/configurations/zsh/zshrc +0 -51
  427. package/dist/lib/configurations.sh +0 -33
  428. package/dist/lib/functions/README.md +0 -78
  429. package/dist/lib/functions/cdls.sh +0 -14
  430. package/dist/lib/functions/curlheader.sh +0 -22
  431. package/dist/lib/functions/curlstatus.sh +0 -17
  432. package/dist/lib/functions/curltime.sh +0 -33
  433. package/dist/lib/functions/encode64.sh +0 -27
  434. package/dist/lib/functions/environment.sh +0 -38
  435. package/dist/lib/functions/extract.sh +0 -34
  436. package/dist/lib/functions/filehead.sh +0 -4
  437. package/dist/lib/functions/freespace.sh +0 -21
  438. package/dist/lib/functions/genpwd.sh +0 -41
  439. package/dist/lib/functions/goto.sh +0 -16
  440. package/dist/lib/functions/hidehiddenfiles.sh +0 -14
  441. package/dist/lib/functions/hostinfo.sh +0 -27
  442. package/dist/lib/functions/hstats.sh +0 -11
  443. package/dist/lib/functions/httpdebug.sh +0 -9
  444. package/dist/lib/functions/keygen.sh +0 -31
  445. package/dist/lib/functions/last.sh +0 -11
  446. package/dist/lib/functions/logout.sh +0 -12
  447. package/dist/lib/functions/lowercase.sh +0 -29
  448. package/dist/lib/functions/matrix.sh +0 -41
  449. package/dist/lib/functions/mount_read_only.sh +0 -11
  450. package/dist/lib/functions/myproc.sh +0 -9
  451. package/dist/lib/functions/prependpath.sh +0 -21
  452. package/dist/lib/functions/ql.sh +0 -9
  453. package/dist/lib/functions/rd.sh +0 -17
  454. package/dist/lib/functions/remove_disk.sh +0 -11
  455. package/dist/lib/functions/ren.sh +0 -13
  456. package/dist/lib/functions/showhiddenfiles.sh +0 -14
  457. package/dist/lib/functions/size.sh +0 -15
  458. package/dist/lib/functions/stopwatch.sh +0 -15
  459. package/dist/lib/functions/uppercase.sh +0 -29
  460. package/dist/lib/functions/view-source.sh +0 -9
  461. package/dist/lib/functions/vscode.sh +0 -32
  462. package/dist/lib/functions/whoisport.sh +0 -14
  463. package/dist/lib/functions/zipf.sh +0 -16
  464. package/dist/lib/functions.sh +0 -32
  465. package/dist/lib/history.sh +0 -142
  466. package/dist/lib/paths/ant/ant.paths.sh +0 -15
  467. package/dist/lib/paths/default/default.paths.sh +0 -19
  468. package/dist/lib/paths/homebrew/homebrew.paths.sh +0 -27
  469. package/dist/lib/paths/java/java.paths.sh +0 -19
  470. package/dist/lib/paths/maven/maven.paths.sh +0 -18
  471. package/dist/lib/paths/node/node.paths.sh +0 -15
  472. package/dist/lib/paths/nvm/nvm.paths.sh +0 -23
  473. package/dist/lib/paths/pnpm/pnpm.paths.sh +0 -15
  474. package/dist/lib/paths/python/python.paths.sh +0 -36
  475. package/dist/lib/paths/ruby/ruby.paths.sh +0 -25
  476. package/dist/lib/paths/tmux/tmux.paths.sh +0 -12
  477. package/dist/lib/paths.sh +0 -33
  478. package/dist/scripts/backup.sh +0 -95
  479. package/dist/scripts/banner.sh +0 -20
  480. package/dist/scripts/build.sh +0 -41
  481. package/dist/scripts/clean.sh +0 -31
  482. package/dist/scripts/compile.sh +0 -54
  483. package/dist/scripts/copy.sh +0 -108
  484. package/dist/scripts/dotfiles.sh +0 -63
  485. package/dist/scripts/download.sh +0 -35
  486. package/dist/scripts/help.sh +0 -57
  487. package/dist/scripts/ssh.sh +0 -55
  488. package/dist/scripts/unpack.sh +0 -28
  489. /package/{dist/lib/configurations → dot_config}/gem/gemrc +0 -0
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ # 00-container-detect.sh: Detect container environments
5
+ # Sets environment flags so downstream configs can adapt behaviour
6
+ # (e.g. simpler prompts, skip host-only tooling).
7
+ #
8
+ # Security: Uses targeted detection methods to minimize information disclosure.
9
+ # Only checks for presence of containers, not specific runtime details.
10
+
11
+ # Detect container environment using file-based indicators (preferred)
12
+ # These methods don't expose runtime details like /proc/1/cgroup would
13
+ _detect_container() {
14
+ # Docker creates this file
15
+ [ -f /.dockerenv ] && return 0
16
+
17
+ # Podman/other OCI runtimes create this
18
+ [ -f /run/.containerenv ] && return 0
19
+
20
+ # Check for container environment variables (set by runtime)
21
+ [ -n "${container:-}" ] && return 0
22
+
23
+ # Systemd-nspawn sets this
24
+ [ -n "${SYSTEMD_NSPAWN_CONTAINER:-}" ] && return 0
25
+
26
+ # LXC/LXD detection via environment
27
+ [ -n "${LXC_NAME:-}" ] && return 0
28
+
29
+ # Fallback: Check cgroup v2 for container slice (minimal info exposure)
30
+ # Only checks if we're in a container scope, not which runtime
31
+ if [ -f /proc/self/cgroup ]; then
32
+ grep -qsE '^0::/.*/(docker|libpod|lxc|containerd)' /proc/self/cgroup 2>/dev/null && return 0
33
+ fi
34
+
35
+ return 1
36
+ }
37
+
38
+ if _detect_container; then
39
+ export DOTFILES_CONTAINER=1
40
+ fi
41
+ unset -f _detect_container
42
+
43
+ # Detect GitHub Codespaces
44
+ if [ -n "${CODESPACES:-}" ]; then
45
+ export DOTFILES_CODESPACE=1
46
+ export DOTFILES_CONTAINER=1
47
+ fi
48
+
49
+ # Detect VS Code devcontainer (Remote - Containers sets this)
50
+ if [ -n "${REMOTE_CONTAINERS:-}" ] || [ -n "${REMOTE_CONTAINERS_IPC:-}" ]; then
51
+ export DOTFILES_DEVCONTAINER=1
52
+ export DOTFILES_CONTAINER=1
53
+ fi
@@ -0,0 +1,95 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # Universal Paths (Generated by Chezmoi)
4
+ # Note: XDG variables are set in ~/.zshenv (Bootloader)
5
+
6
+ # 1. System Paths (Prepend, but will be pushed down by later prepends)
7
+ export PATH="/usr/bin:/bin:/usr/sbin:/sbin:${PATH}"
8
+
9
+ # 2. Homebrew Paths (Prepend -> Higher Priority)
10
+ if [[ -d "/opt/homebrew/bin" ]]; then
11
+ export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:${PATH}"
12
+ fi
13
+
14
+ # 3. Language Runtimes
15
+ # Ruby (Homebrew)
16
+ if [[ -d "/opt/homebrew/opt/ruby/bin" ]]; then
17
+ export PATH="/opt/homebrew/opt/ruby/bin:${PATH}"
18
+ fi
19
+ # Ruby (User Gems)
20
+ export PATH="${HOME}/.gem/ruby/bin:${PATH}"
21
+
22
+ # Python (Pipx)
23
+ export PIPX_HOME="${XDG_DATA_HOME:-$HOME/.local/share}/pipx"
24
+ export PIPX_BIN_DIR="${XDG_BIN_HOME:-$HOME/.local/bin}"
25
+ export PATH="${PIPX_BIN_DIR}:${PATH}"
26
+
27
+ # Rust (Cargo)
28
+ export PATH="${HOME}/.cargo/bin:${PATH}"
29
+
30
+ # Go
31
+ export PATH="${HOME}/go/bin:${PATH}"
32
+
33
+ # Bun
34
+ export BUN_INSTALL="${HOME}/.bun"
35
+ export PATH="${BUN_INSTALL}/bin:${PATH}"
36
+
37
+ # Kubeconfig merge logic (merge all configs in ~/.kube/config.d/)
38
+ # Lazy-loaded via kubectl wrapper to avoid startup cost
39
+ _lazy_load_kubeconfig() {
40
+ if [[ -d "${HOME}/.kube/config.d" ]]; then
41
+ local kubeconfig_extra=""
42
+ for conf in "${HOME}/.kube/config.d"/*; do
43
+ [[ -f "$conf" ]] && kubeconfig_extra="${kubeconfig_extra}:${conf}"
44
+ done
45
+ [[ -n "$kubeconfig_extra" ]] && export KUBECONFIG="${HOME}/.kube/config${kubeconfig_extra}"
46
+ fi
47
+ unfunction kubectl _lazy_load_kubeconfig 2>/dev/null
48
+ command kubectl "$@"
49
+ }
50
+ # Only wrap kubectl if config.d exists and kubectl is installed
51
+ if [[ -d "${HOME}/.kube/config.d" ]]; then
52
+ kubectl() { _lazy_load_kubeconfig "$@"; }
53
+ fi
54
+ # Still honor explicit KUBECONFIG or in-cluster detection
55
+ if [[ -n "${KUBERNETES_SERVICE_HOST:-}" ]] || [[ -n "${KUBECONFIG:-}" ]]; then
56
+ _lazy_load_kubeconfig --version >/dev/null 2>&1 || true
57
+ fi
58
+
59
+ # Node.js (Global)
60
+ export PATH="${HOME}/.node_modules/bin:${PATH}"
61
+
62
+ # Lua (Luarocks)
63
+ export PATH="${HOME}/.luarocks/bin:${PATH}"
64
+
65
+ # 4. Applications (macOS Specifics from 99-custom)
66
+ export PATH="/Library/Apple/usr/bin:/Library/TeX/texbin:${PATH}"
67
+ export PATH="/Applications/Topaz Photo AI.app/Contents/Resources/bin:/Applications/Little Snitch.app/Contents/Components:/Applications/iTerm.app/Contents/Resources/utilities:${PATH}"
68
+ export PATH="/Applications/Visual Studio Code.app/Contents/Resources/app/bin:${PATH}"
69
+
70
+ # 5. Local Bin (Highest Priority)
71
+ export PATH="${HOME}/.local/bin:${PATH}"
72
+ export PATH="${HOME}/bin:${PATH}"
73
+
74
+ # Deduplicate PATH (Keep first occurrence to maintain precedence)
75
+ # Standard Zsh handles this with 'typeset -U path', but for bash compatibility/subshells:
76
+ if [ -z "${ZSH_VERSION:-}" ]; then
77
+ # Use native bash associative arrays for O(n) deduplication (bash 4+)
78
+ if [[ ${BASH_VERSION%%.*} -ge 4 ]]; then
79
+ declare -A _seen_paths
80
+ IFS=':' read -ra _path_array <<< "$PATH"
81
+ _new_path=""
82
+ for _dir in "${_path_array[@]}"; do
83
+ if [[ -n "$_dir" && -z "${_seen_paths[$_dir]:-}" ]]; then
84
+ _seen_paths[$_dir]=1
85
+ _new_path="${_new_path:+$_new_path:}$_dir"
86
+ fi
87
+ done
88
+ PATH="$_new_path"
89
+ unset _seen_paths _path_array _new_path _dir
90
+ else
91
+ # Fallback to awk for bash 3.x
92
+ PATH=$(echo "$PATH" | awk -v RS=':' '!seen[$0]++ {ORS=(NR>1?":":"")} {print}')
93
+ fi
94
+ export PATH
95
+ fi
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # 05-safety.sh: Core Safety Settings
4
+ # Part of the "Core Layer"
5
+
6
+ # Set sane defaults for safety, though be careful with -e in interactive shell
7
+ # Use 'set -o pipefail' to catch pipeline errors if supported
8
+ if [[ -n "$BASH_VERSION" ]] || [[ -n "$ZSH_VERSION" ]]; then
9
+ set -o pipefail 2>/dev/null || true
10
+ fi
11
+
12
+ # Prevent file overwrite with redirection (force use of >|)
13
+ set -o noclobber
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # Set ls colors with GNU/BSD detection
4
+ # GNU coreutils: LS_COLORS via dircolors
5
+ # BSD/macOS: LSCOLORS + CLICOLOR
6
+
7
+ if command -v dircolors >/dev/null 2>&1; then
8
+ if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/dircolors" ]; then
9
+ # shellcheck disable=SC1090
10
+ eval "$(dircolors -b "${XDG_CONFIG_HOME:-$HOME/.config}/dircolors")"
11
+ else
12
+ # shellcheck disable=SC1090
13
+ eval "$(dircolors -b)"
14
+ fi
15
+ else
16
+ case "$(uname -s 2>/dev/null)" in
17
+ Darwin*)
18
+ export CLICOLOR=1
19
+ export LSCOLORS="ExFxCxDxBxegedabagacad"
20
+ if command -v gdircolors >/dev/null 2>&1; then
21
+ # shellcheck disable=SC1090
22
+ eval "$(gdircolors -b)"
23
+ fi
24
+ ;;
25
+ esac
26
+ fi
27
+
28
+ # Ensure LS_COLORS is set for Zsh completion when only LSCOLORS exists
29
+ if [ -z "${LS_COLORS:-}" ] && [ -n "${LSCOLORS:-}" ]; then
30
+ export LS_COLORS=""
31
+ fi
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # Universal Functions (Generated by Chezmoi)
4
+
5
+ {{- $globPattern := joinPath .chezmoi.sourceDir ".chezmoitemplates/functions/**/*.sh" }}
6
+ {{- $files := glob $globPattern }}
7
+ {{- range $files }}
8
+ {{- include . }}
9
+ {{- "\n" }}
10
+ {{- end }}
@@ -0,0 +1,70 @@
1
+ #!/usr/bin/env bash
2
+ # Detect system appearance (dark/light) and export THEME_MODE
3
+ # Consumed by starship, bat, delta, fzf, and other theme-aware tools
4
+ #
5
+ # macOS: reads AppleInterfaceStyle from user defaults
6
+ # Linux: checks DBUS org.freedesktop.portal.Settings color-scheme
7
+ #
8
+ # Performance: Caches result for 1 hour to avoid system calls on every shell startup
9
+
10
+ detect_theme_mode() {
11
+ local cache_file="${XDG_CACHE_HOME:-$HOME/.cache}/dotfiles_theme_mode"
12
+ local cache_ttl=3600 # 1 hour in seconds
13
+
14
+ # Check if cache exists and is fresh
15
+ if [[ -f "$cache_file" ]]; then
16
+ local cache_age
17
+ local now
18
+ now=$(date +%s)
19
+ # macOS uses -f %m, Linux uses -c %Y for mtime
20
+ if [[ "$(uname -s)" == "Darwin" ]]; then
21
+ cache_age=$((now - $(stat -f %m "$cache_file" 2>/dev/null || echo 0)))
22
+ else
23
+ cache_age=$((now - $(stat -c %Y "$cache_file" 2>/dev/null || echo 0)))
24
+ fi
25
+ if [[ $cache_age -lt $cache_ttl ]]; then
26
+ THEME_MODE="$(cat "$cache_file")"
27
+ export THEME_MODE
28
+ return
29
+ fi
30
+ fi
31
+
32
+ # Ensure cache directory exists
33
+ mkdir -p "$(dirname "$cache_file")"
34
+
35
+ case "$(uname -s)" in
36
+ Darwin)
37
+ if defaults read -g AppleInterfaceStyle >/dev/null 2>&1; then
38
+ export THEME_MODE="dark"
39
+ else
40
+ export THEME_MODE="light"
41
+ fi
42
+ ;;
43
+ Linux)
44
+ if command -v busctl >/dev/null 2>&1; then
45
+ local scheme
46
+ scheme="$(busctl --user get-property \
47
+ org.freedesktop.portal.Desktop \
48
+ /org/freedesktop/portal/desktop \
49
+ org.freedesktop.portal.Settings \
50
+ Read "org.freedesktop.appearance" "color-scheme" 2>/dev/null |
51
+ grep -o '[0-9]*$')"
52
+ if [ "$scheme" = "1" ]; then
53
+ export THEME_MODE="dark"
54
+ else
55
+ export THEME_MODE="light"
56
+ fi
57
+ else
58
+ export THEME_MODE="dark"
59
+ fi
60
+ ;;
61
+ *)
62
+ export THEME_MODE="dark"
63
+ ;;
64
+ esac
65
+
66
+ # Cache the result
67
+ echo "$THEME_MODE" > "$cache_file"
68
+ }
69
+
70
+ detect_theme_mode
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # Core Aliases — Eager Load (Generated by Chezmoi)
4
+ # These are lightweight, high-frequency aliases loaded at shell startup.
5
+ if [ -n "${BASH_VERSION:-}" ]; then
6
+ shopt -s expand_aliases
7
+ fi
8
+
9
+ {{ $coreCategories := list "cd" "clear" "configuration" "default" "diagnostics" "editor" "git" "interactive" "installer" "mkdir" "modern" "ps" "sudo" "compliance" -}}
10
+ {{ $globPattern := joinPath .chezmoi.sourceDir ".chezmoitemplates/aliases/**/*.aliases.sh" -}}
11
+ {{ $files := glob $globPattern -}}
12
+ {{ range $files -}}
13
+ {{ $name := . -}}
14
+ {{ $isCore := false -}}
15
+ {{ range $coreCategories -}}
16
+ {{ if contains (printf "/%s/" .) $name -}}
17
+ {{ $isCore = true -}}
18
+ {{ end -}}
19
+ {{ end -}}
20
+ {{ if and $isCore (not (contains "/macOS/" $name)) }}
21
+ {{ include $name }}
22
+ {{ end -}}
23
+ {{ end }}
24
+
25
+ # OS-Specific Core Aliases
26
+
27
+ ## macOS
28
+ {{- if eq .chezmoi.os "darwin" }}
29
+ {{- $macGlobPattern := joinPath .chezmoi.sourceDir ".chezmoitemplates/aliases/macOS/*.aliases.sh" }}
30
+ {{- $macFiles := glob $macGlobPattern }}
31
+ {{- range $macFiles }}
32
+ {{- include . }}
33
+ {{- "\n" }}
34
+ {{- end }}
35
+ {{- end }}
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # Tool-Specific Aliases — Lazy Load (Generated by Chezmoi)
4
+ # These are loaded after the first prompt via precmd hook to keep startup fast.
5
+ if [ -n "${BASH_VERSION:-}" ]; then
6
+ shopt -s expand_aliases
7
+ fi
8
+
9
+ {{ $coreCategories := list "cd" "clear" "configuration" "default" "diagnostics" "editor" "git" "interactive" "installer" "mkdir" "modern" "ps" "sudo" "compliance" -}}
10
+ {{ $globPattern := joinPath .chezmoi.sourceDir ".chezmoitemplates/aliases/**/*.aliases.sh" -}}
11
+ {{ $files := glob $globPattern -}}
12
+ {{ range $files -}}
13
+ {{ $name := . -}}
14
+ {{ $isCore := false -}}
15
+ {{ range $coreCategories -}}
16
+ {{ if contains (printf "/%s/" .) $name -}}
17
+ {{ $isCore = true -}}
18
+ {{ end -}}
19
+ {{ end -}}
20
+ {{ if and (not $isCore) (not (contains "/macOS/" $name)) }}
21
+ {{ include $name }}
22
+ {{ end -}}
23
+ {{ end }}
@@ -0,0 +1,207 @@
1
+ # =============================================================================
2
+ # Brewfile - Unified Cross-Platform Package Management
3
+ # Optimized for performance and development workflows
4
+ # =============================================================================
5
+ # Usage: brew bundle --file=~/.config/shell/Brewfile
6
+ # =============================================================================
7
+
8
+ # -----------------------------------------------------------------------------
9
+ # Taps
10
+ # -----------------------------------------------------------------------------
11
+ tap "homebrew/bundle"
12
+ tap "homebrew/services"
13
+
14
+ # -----------------------------------------------------------------------------
15
+ # Core Utilities (Cross-Platform)
16
+ # -----------------------------------------------------------------------------
17
+ brew "git"
18
+ brew "chezmoi"
19
+ brew "jq"
20
+ brew "yq"
21
+ brew "ripgrep"
22
+ brew "fd"
23
+ brew "fzf"
24
+ brew "bat"
25
+ brew "eza"
26
+ brew "dust"
27
+ brew "duf"
28
+ brew "tree"
29
+ brew "trash"
30
+ brew "rename"
31
+
32
+ # -----------------------------------------------------------------------------
33
+ # Shell & Prompt (Cross-Platform)
34
+ # -----------------------------------------------------------------------------
35
+ brew "zsh"
36
+ brew "starship"
37
+ brew "zoxide"
38
+ brew "atuin"
39
+ brew "direnv"
40
+
41
+ # -----------------------------------------------------------------------------
42
+ # Development (Cross-Platform)
43
+ # -----------------------------------------------------------------------------
44
+ brew "neovim"
45
+ brew "vim"
46
+ brew "tmux"
47
+ brew "lazygit"
48
+ brew "git-delta"
49
+ brew "git-absorb" # Auto-create fixup commits
50
+ brew "gh"
51
+ brew "glab"
52
+ brew "shellcheck"
53
+ brew "shfmt"
54
+
55
+ # -----------------------------------------------------------------------------
56
+ # Languages & Runtimes (Cross-Platform)
57
+ # -----------------------------------------------------------------------------
58
+ brew "mise" # Universal version manager
59
+ brew "uv" # Fast Python package manager
60
+ brew "rustup"
61
+ brew "go"
62
+
63
+ # -----------------------------------------------------------------------------
64
+ # Lua (for Neovim) (Cross-Platform)
65
+ # -----------------------------------------------------------------------------
66
+ brew "lua"
67
+ brew "luajit"
68
+ brew "luarocks"
69
+ brew "stylua"
70
+
71
+ # -----------------------------------------------------------------------------
72
+ # System Monitoring (Cross-Platform)
73
+ # -----------------------------------------------------------------------------
74
+ brew "btop"
75
+ brew "procs"
76
+ brew "gping"
77
+ brew "hyperfine"
78
+ brew "fastfetch"
79
+
80
+ # -----------------------------------------------------------------------------
81
+ # Security & Encryption (Cross-Platform)
82
+ # -----------------------------------------------------------------------------
83
+ brew "age"
84
+ brew "gnupg"
85
+ brew "git-crypt"
86
+ brew "mkcert"
87
+ brew "lynis"
88
+
89
+ # -----------------------------------------------------------------------------
90
+ # AI & LLM Tools (Cross-Platform)
91
+ # -----------------------------------------------------------------------------
92
+ brew "ollama"
93
+ brew "aichat"
94
+ brew "mods"
95
+ brew "fabric-ai"
96
+
97
+ # -----------------------------------------------------------------------------
98
+ # File & Text Processing (Cross-Platform)
99
+ # -----------------------------------------------------------------------------
100
+ brew "hexyl"
101
+ brew "glow"
102
+ brew "gum"
103
+ brew "tlrc"
104
+ brew "imagemagick"
105
+ brew "ffmpeg"
106
+
107
+ # -----------------------------------------------------------------------------
108
+ # Networking (Cross-Platform)
109
+ # -----------------------------------------------------------------------------
110
+ brew "curl"
111
+ brew "wget"
112
+ brew "httpie"
113
+ brew "mtr"
114
+
115
+ # -----------------------------------------------------------------------------
116
+ # Archive & Compression (Cross-Platform)
117
+ # -----------------------------------------------------------------------------
118
+ brew "p7zip"
119
+ brew "unar"
120
+ brew "sevenzip"
121
+
122
+ # =============================================================================
123
+ # macOS Only
124
+ # =============================================================================
125
+ if OS.mac?
126
+ # macOS Specific CLI Tools
127
+ brew "mas" # Mac App Store CLI
128
+ brew "duti" # Default app handler
129
+ brew "topgrade" # Universal updater
130
+ brew "pinentry-mac" # GPG pinentry for macOS
131
+
132
+ # -------------------------------------------------------------------------
133
+ # GUI Applications (Casks) - macOS Only
134
+ # -------------------------------------------------------------------------
135
+
136
+ # Terminals
137
+ cask "ghostty"
138
+ cask "warp"
139
+ cask "iterm2"
140
+
141
+ # Editors & IDEs
142
+ cask "visual-studio-code"
143
+ cask "zed"
144
+
145
+ # Browsers
146
+ cask "google-chrome"
147
+
148
+ # Productivity
149
+ cask "raycast"
150
+ cask "cleanmymac"
151
+ cask "cleanshot"
152
+ cask "copyclip"
153
+ cask "pdf-squeezer"
154
+ cask "imageoptim"
155
+ cask "the-unarchiver"
156
+ cask "betterzip"
157
+
158
+ # System Utilities
159
+ cask "karabiner-elements"
160
+ cask "jordanbaird-ice"
161
+ cask "aldente"
162
+ cask "topnotch"
163
+ cask "little-snitch"
164
+
165
+ # Development
166
+ cask "github"
167
+ cask "devutils"
168
+ cask "1password-cli"
169
+
170
+ # AI Tools
171
+ cask "claude-code"
172
+
173
+ # Design
174
+ cask "colorsnapper"
175
+ cask "sketch"
176
+
177
+ # Media
178
+ cask "vlc"
179
+
180
+ # Cloud & Sync
181
+ cask "dropbox"
182
+
183
+ # Communication
184
+ cask "zoom"
185
+
186
+ # Backup
187
+ cask "carbon-copy-cloner"
188
+
189
+ # Fonts
190
+ cask "font-meslo-lg-nerd-font"
191
+ cask "font-victor-mono"
192
+ cask "font-roboto-mono-for-powerline"
193
+
194
+ # Optional: LaTeX (large ~4GB, uncomment if needed)
195
+ # cask "mactex"
196
+ end
197
+
198
+ # =============================================================================
199
+ # Linux / WSL
200
+ # =============================================================================
201
+ if OS.linux?
202
+ # Universal updater (also useful on Linux/WSL)
203
+ brew "topgrade"
204
+
205
+ # Linux-specific GPG pinentry
206
+ brew "pinentry"
207
+ end
@@ -0,0 +1,92 @@
1
+ # =============================================================================
2
+ # Brewfile.cask - GUI Applications (macOS)
3
+ # =============================================================================
4
+
5
+ # -----------------------------------------------------------------------------
6
+ # Terminals
7
+ # -----------------------------------------------------------------------------
8
+ cask "ghostty"
9
+ cask "warp"
10
+ cask "iterm2"
11
+
12
+ # -----------------------------------------------------------------------------
13
+ # Editors & IDEs
14
+ # -----------------------------------------------------------------------------
15
+ cask "visual-studio-code"
16
+ cask "zed"
17
+
18
+ # -----------------------------------------------------------------------------
19
+ # Browsers
20
+ # -----------------------------------------------------------------------------
21
+ cask "google-chrome"
22
+
23
+ # -----------------------------------------------------------------------------
24
+ # Productivity
25
+ # -----------------------------------------------------------------------------
26
+ cask "raycast"
27
+ cask "cleanmymac"
28
+ cask "cleanshot"
29
+ cask "copyclip"
30
+ cask "pdf-squeezer"
31
+ cask "imageoptim"
32
+ cask "the-unarchiver"
33
+ cask "betterzip"
34
+
35
+ # -----------------------------------------------------------------------------
36
+ # System Utilities
37
+ # -----------------------------------------------------------------------------
38
+ cask "karabiner-elements"
39
+ cask "jordanbaird-ice"
40
+ cask "aldente"
41
+ cask "topnotch"
42
+ cask "little-snitch"
43
+
44
+ # -----------------------------------------------------------------------------
45
+ # Development
46
+ # -----------------------------------------------------------------------------
47
+ cask "github"
48
+ cask "devutils"
49
+ cask "1password-cli"
50
+
51
+ # -----------------------------------------------------------------------------
52
+ # AI Tools
53
+ # -----------------------------------------------------------------------------
54
+ cask "claude-code"
55
+
56
+ # -----------------------------------------------------------------------------
57
+ # Design
58
+ # -----------------------------------------------------------------------------
59
+ cask "colorsnapper"
60
+ cask "sketch"
61
+
62
+ # -----------------------------------------------------------------------------
63
+ # Media
64
+ # -----------------------------------------------------------------------------
65
+ cask "vlc"
66
+
67
+ # -----------------------------------------------------------------------------
68
+ # Cloud & Sync
69
+ # -----------------------------------------------------------------------------
70
+ cask "dropbox"
71
+
72
+ # -----------------------------------------------------------------------------
73
+ # Communication
74
+ # -----------------------------------------------------------------------------
75
+ cask "zoom"
76
+
77
+ # -----------------------------------------------------------------------------
78
+ # Backup
79
+ # -----------------------------------------------------------------------------
80
+ cask "carbon-copy-cloner"
81
+
82
+ # -----------------------------------------------------------------------------
83
+ # Fonts
84
+ # -----------------------------------------------------------------------------
85
+ cask "font-meslo-lg-nerd-font"
86
+ cask "font-victor-mono"
87
+ cask "font-roboto-mono-for-powerline"
88
+
89
+ # -----------------------------------------------------------------------------
90
+ # Optional: LaTeX (large ~4GB)
91
+ # -----------------------------------------------------------------------------
92
+ cask "mactex"