@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
package/docs/README.md ADDED
@@ -0,0 +1,269 @@
1
+ # Dotfiles Documentation
2
+
3
+ <div align="center">
4
+
5
+ **A modern, cross-platform shell environment built for developers.**
6
+
7
+ [Quick Start](#quick-start) · [Features](#features) · [Architecture](#architecture) · [Security](#security) · [Contributing](#contributing)
8
+
9
+ </div>
10
+
11
+ ---
12
+
13
+ ## Overview
14
+
15
+ Welcome to the dotfiles documentation. This guide will help you install, configure, and customize your development environment across macOS, Linux, and WSL.
16
+
17
+ ### What You'll Get
18
+
19
+ | Feature | Description |
20
+ |---------|-------------|
21
+ | 🚀 **Fast Shell** | Zsh with lazy loading, <500ms startup |
22
+ | 🔧 **Modern Tools** | Neovim, tmux, starship, fzf, ripgrep |
23
+ | 🔐 **Security First** | Encrypted secrets, credential management |
24
+ | 🎨 **Beautiful UI** | Nerd Fonts, themes, consistent styling |
25
+ | 📦 **Cross-Platform** | macOS, Linux, WSL2 support |
26
+
27
+ ---
28
+
29
+ ## Table of Contents
30
+
31
+ ### Getting Started
32
+ - [Installation Guide](INSTALL.md) — Set up your environment in minutes
33
+ - [Walkthrough](WALKTHROUGH.md) — Interactive tour of key features
34
+ - [Features Overview](FEATURES.md) — Complete feature list
35
+
36
+ ### Core Documentation
37
+ - [Architecture](ARCHITECTURE.md) — System design and structure
38
+ - [Operations Guide](OPERATIONS.md) — Daily usage and maintenance
39
+ - [Troubleshooting](TROUBLESHOOTING.md) — Common issues and solutions
40
+
41
+ ### Configuration
42
+ - [Aliases Reference](ALIASES.md) — Shell aliases and shortcuts
43
+ - [Keybindings](KEYS.md) — Keyboard shortcuts catalog
44
+ - [Tools Reference](TOOLS.md) — Installed tools and utilities
45
+ - [Utilities](UTILS.md) — Helper scripts and functions
46
+
47
+ ### Customization
48
+ - [Fonts Guide](FONTS.md) — Nerd Fonts installation
49
+ - [Screenshots](SCREENSHOTS.md) — Visual gallery
50
+ - [Neovim IDE Guide](NEOVIM_IDE_GUIDE.md) — Editor configuration
51
+
52
+ ### Security
53
+ - [Security Overview](SECURITY.md) — Security model and practices
54
+ - [Security Checklist](SECURITY_CHECKLIST.md) — Hardening guide
55
+ - [Secrets Management](SECRETS.md) — Encrypted credentials
56
+
57
+ ### Development
58
+ - [Testing Guide](TESTING.md) — Test framework and coverage
59
+ - [Compliance](COMPLIANCE.md) — Standards and policies
60
+ - [Architecture Decisions](adr/) — ADRs for key decisions
61
+
62
+ ### Platform-Specific
63
+ - [WSL2 + Nix Guide](WSL2_NIX_TROUBLESHOOTING.md) — Windows Subsystem for Linux
64
+
65
+ ### Reference
66
+ - [Roadmap](ROADMAP.md) — Future plans and priorities
67
+ - [Legacy Roadmap](LEGACY_ROADMAP.md) — Historical context
68
+
69
+ ---
70
+
71
+ ## Quick Start
72
+
73
+ ### Prerequisites
74
+
75
+ - macOS 12+, Ubuntu 22.04+, or Windows 11 with WSL2
76
+ - Git 2.30+
77
+ - curl or wget
78
+
79
+ ### Installation
80
+
81
+ ```bash
82
+ # One-line install
83
+ curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/master/install.sh | bash
84
+ ```
85
+
86
+ Or clone and install manually:
87
+
88
+ ```bash
89
+ git clone https://github.com/sebastienrousseau/dotfiles.git ~/.dotfiles
90
+ cd ~/.dotfiles && ./install.sh
91
+ ```
92
+
93
+ ### First Steps
94
+
95
+ After installation, run these commands to explore:
96
+
97
+ ```bash
98
+ dot help # Show all available commands
99
+ dot doctor # Check system health
100
+ dot learn # Interactive tour
101
+ dot keys # View keybindings
102
+ ```
103
+
104
+ ---
105
+
106
+ ## Features
107
+
108
+ ### Shell Environment
109
+
110
+ The shell configuration provides a fast, feature-rich experience:
111
+
112
+ ```
113
+ ┌─────────────────────────────────────────────────────────────┐
114
+ │ Startup Time: <500ms │ Plugin Manager: Zinit │
115
+ │ Prompt: Starship │ Completions: Lazy-loaded │
116
+ │ History: Shared │ Syntax: fast-syntax-highlighting │
117
+ └─────────────────────────────────────────────────────────────┘
118
+ ```
119
+
120
+ **Key Features:**
121
+ - Intelligent command suggestions with autosuggestions
122
+ - Fuzzy finding with fzf for files, history, and git
123
+ - Git integration with delta for beautiful diffs
124
+ - Directory jumping with zoxide
125
+
126
+ ### Development Tools
127
+
128
+ Pre-configured toolchains for modern development:
129
+
130
+ | Language | Tools |
131
+ |----------|-------|
132
+ | **Rust** | rustup, cargo, clippy, rustfmt |
133
+ | **Go** | go, golangci-lint |
134
+ | **Node.js** | nvm, npm, pnpm |
135
+ | **Python** | pyenv, pipx, uv |
136
+
137
+ ### AI Integration
138
+
139
+ Built-in support for AI coding assistants:
140
+
141
+ - **aider** — AI pair programming
142
+ - **Claude** — Anthropic's assistant
143
+ - **GitHub Copilot** — Code suggestions
144
+ - **git-ai-commit** — AI-powered commit messages
145
+
146
+ ---
147
+
148
+ ## Architecture
149
+
150
+ The dotfiles follow a modular architecture:
151
+
152
+ ```
153
+ ~/.dotfiles/
154
+ ├── dot_config/ # XDG config files
155
+ │ ├── nvim/ # Neovim configuration
156
+ │ ├── zsh/ # Zsh configuration layers
157
+ │ └── git/ # Git configuration
158
+ ├── dot_local/bin/ # User scripts and tools
159
+ ├── install/ # Installation scripts
160
+ │ └── provision/ # Tool provisioning
161
+ ├── scripts/ # Operational scripts
162
+ │ ├── dot/commands/ # CLI command modules
163
+ │ ├── diagnostics/ # Health checks
164
+ │ ├── security/ # Security tools
165
+ │ └── tuning/ # Performance tuning
166
+ └── docs/ # Documentation (you are here)
167
+ ```
168
+
169
+ ### Shell Layer System
170
+
171
+ Zsh configuration uses numbered layers for predictable loading:
172
+
173
+ | Range | Purpose | Examples |
174
+ |-------|---------|----------|
175
+ | 00-19 | Core | Environment, history, options |
176
+ | 20-49 | Middleware | Zinit, completions, plugins |
177
+ | 50-89 | Toolchain | Languages, package managers |
178
+ | 90-99 | UX | Prompt, aliases, keybindings |
179
+
180
+ ### CLI Architecture
181
+
182
+ The `dot` CLI uses modular command dispatch:
183
+
184
+ ```bash
185
+ dot <command> [args]
186
+
187
+ ├── core.sh # apply, sync, update, diff
188
+ ├── diagnostics.sh # doctor, heal, benchmark
189
+ ├── tools.sh # tools, new, packages
190
+ ├── appearance.sh # theme, fonts, wallpaper
191
+ ├── secrets.sh # secrets-init, secrets
192
+ ├── security.sh # firewall, backup, encrypt
193
+ └── meta.sh # upgrade, docs, learn
194
+ ```
195
+
196
+ ---
197
+
198
+ ## Security
199
+
200
+ Security is a core principle, not an afterthought.
201
+
202
+ ### Secrets Management
203
+
204
+ ```bash
205
+ dot secrets-init # Initialize age encryption
206
+ dot secrets # Edit encrypted secrets
207
+ dot ssh-key # Encrypt SSH keys
208
+ ```
209
+
210
+ Secrets are encrypted with [age](https://age-encryption.org/) and never stored in plaintext.
211
+
212
+ ### Credential Management
213
+
214
+ Supported credential stores:
215
+ - **macOS** — Keychain integration
216
+ - **Linux** — libsecret / GNOME Keyring
217
+ - **Git** — git-credential-manager
218
+
219
+ ### Security Hardening (Opt-in)
220
+
221
+ ```bash
222
+ dot firewall # Configure firewall rules
223
+ dot telemetry # Disable OS telemetry
224
+ dot dns-doh # Enable DNS-over-HTTPS
225
+ dot encrypt-check # Verify disk encryption
226
+ ```
227
+
228
+ All security modifications require explicit consent.
229
+
230
+ ---
231
+
232
+ ## Contributing
233
+
234
+ We welcome contributions! Please see our guidelines:
235
+
236
+ 1. **Fork** the repository
237
+ 2. **Create** a feature branch
238
+ 3. **Test** your changes with `dot doctor`
239
+ 4. **Submit** a pull request
240
+
241
+ ### Code Style
242
+
243
+ - Shell scripts: Follow ShellCheck recommendations
244
+ - Templates: Use `.chezmoitemplates/` for reusable logic
245
+ - Documentation: Use UPPERCASE.md naming convention
246
+
247
+ ### Testing
248
+
249
+ ```bash
250
+ ./scripts/tests/framework/test_runner.sh # Unit tests
251
+ RUN_INTEGRATION=1 ./scripts/tests/framework/test_runner.sh # Integration
252
+ ```
253
+
254
+ ---
255
+
256
+ ## Support
257
+
258
+ - **Issues**: [GitHub Issues](https://github.com/sebastienrousseau/dotfiles/issues)
259
+ - **Discussions**: [GitHub Discussions](https://github.com/sebastienrousseau/dotfiles/discussions)
260
+
261
+ ---
262
+
263
+ <div align="center">
264
+
265
+ **[Back to Top](#dotfiles-documentation)**
266
+
267
+ Made with ❤️ by [Sebastien Rousseau](https://github.com/sebastienrousseau)
268
+
269
+ </div>
@@ -0,0 +1,23 @@
1
+ # Repo Audit
2
+
3
+ ## Source of truth
4
+ - `~/.dotfiles` (chezmoi source directory)
5
+
6
+ ## Key directories
7
+ - `.chezmoitemplates/` - templated aliases, functions, paths
8
+ - `dot_config/` - configs mapped into `~/.config`
9
+ - `dot_local/` - binaries and local data (e.g., `dot` CLI)
10
+ - `scripts/` - diagnostics, tests, tooling
11
+ - `tests/` - sandbox Dockerfile
12
+ - `nix/` - optional Nix toolchain
13
+
14
+ ## Notable dependencies
15
+ - `chezmoi`
16
+ - `zsh`, `starship`
17
+ - `neovim`
18
+ - `ripgrep`, `fd`, `bat`, `fzf`, `zoxide`
19
+ - `lazygit`
20
+
21
+ ## Notes
22
+ - Repo-only files excluded via `.chezmoiignore`.
23
+ - Secrets are handled via `age` + `dot secrets` (see `docs/SECRETS.md`).
@@ -0,0 +1,148 @@
1
+ # Roadmap
2
+
3
+ This roadmap steers the project from a "feature-rich dotfiles repo" to an **Enterprise-Grade Shell Distribution**. The structure is organized by strategic pillars (**Trust**, **Predictability**, **Observability**) rather than linear phases, though the original 100-Phase vision is preserved within these categories.
4
+
5
+ ---
6
+
7
+ ## Reproducibility
8
+ **Goal:** "Reproducible Shell Environments".
9
+ > *This distribution aims for deterministic rebuilds: the same tag yields the same environment across machines.*
10
+
11
+ - [ ] **Pinned Formulae**: Strict version locking for Homebrew bundle and Apt packages.
12
+ - [ ] **Binary Locking**: Future versions may replace bootstrap download helpers with checksum-verified artifacts once a portable verification strategy is finalized.
13
+ - [ ] **State Capture**: `chezmoi` templates that capture host-specific state for idempotence.
14
+ - [ ] **Manifests**: Optional `Brewfile.lock` or equivalent for Linux.
15
+ - [ ] **Cloud-Init (Phase 28)**: Generate `user-data` scripts for AWS/GCP bootstrapping.
16
+ - [ ] **Container Native (Phase 28)**: Base Docker image for devcontainers.
17
+ - [ ] **Terraform Provider (Phase 28)**: Custom provider to provision dotfiles state.
18
+
19
+ ## Observability
20
+ **Goal:** "Observable Shell Lifecycle".
21
+ > *The shell is instrumented: failures, timing, and lifecycle events are visible by design.*
22
+
23
+ - [ ] **Audit Structuring**: JSON-structured logging for bootstrap and provisioning events.
24
+ - [ ] **Debug Modes**: First-class support for `DOTFILES_DEBUG=1` and `DOTFILES_TRACE=1`.
25
+ - [ ] **Telemetry (Local)**: Granular startup timing breakdown (init vs plugins vs prompt).
26
+ - [ ] **Health Dashboard (Phase 39)**: CLI view of system "health" metrics.
27
+ - [ ] **System Status (Phase 39)**: Real-time resource usage, battery, and network stats.
28
+ - [ ] **Update Manager (Phase 39)**: Visual interface for tool updates and migration.
29
+
30
+ ## Secrets
31
+ **Goal:** "Explicit Secrets Model".
32
+ > *Secrets are never committed; sensitive state is encrypted or host-local by default.*
33
+
34
+ - [ ] **Secret Driver**: Native integration with 1Password/Bitwarden CLI via `chezmoi`.
35
+ - [ ] **Encryption**: Promoted use of `age` encryption for all private config files.
36
+ - [ ] **Leak Prevention (Phase 29)**: Pre-commit hooks (TruffleHog/Gitleaks) for high-entropy detection.
37
+ - [ ] **Vault Integration (Phase 29)**: Native HashiCorp Vault support.
38
+ - [ ] **Hardware Enclaves (Phase 29)**: Support for Secure Enclave/TPM key storage.
39
+ - [ ] **OIDC Auth (Phase 29)**: Keyless authentication via GitHub OIDC.
40
+
41
+ ## Toolchain
42
+ **Goal:** "Composable Shell Layers".
43
+ > *The distribution is layered: core safety is mandatory, advanced features are opt-in.*
44
+
45
+ - [ ] **Core Layer**: XDG, PATH, Safety (`set -euo pipefail`). (Zero external deps).
46
+ - [ ] **UX Layer**: Prompt (Starship), Aliases, Completions.
47
+ - [ ] **Toolchain Layer**: Rust replacements (`eza`, `bat`, `ripgrep`).
48
+ - [ ] **Cross-Compiler Toolchain (Phase 34)**:
49
+ - [ ] **Multi-Arch**: `qemu-user-static` for ARM64/AMD64.
50
+ - [ ] **Wasm Target**: WebAssembly toolchain setup.
51
+ - [ ] **Embedded Dev**: Presets for Arduino/ESP32.
52
+
53
+ ## Opt-in features
54
+ **Goal:** "Explicit Feature Flags".
55
+ > *Advanced features are gated behind explicit opt-in flags.*
56
+
57
+ - [ ] **Feature Toggles**: Environment variables (e.g., `ENABLE_AI=0`, `ENABLE_HISTORY_SYNC=0`).
58
+ - [ ] **Lazy Loading**: Strict lazy-loading for all non-core plugins.
59
+ - [ ] **Plugin Ecosystem (Phase 35)**:
60
+ - [ ] **Module Registry**: Public index of dotfiles modules.
61
+ - [ ] **Dependency Solving**: Semantic versioning for modules.
62
+ - [ ] **Verified Publishers**: Cryptographic signing for "Official" modules.
63
+
64
+ ## Safety
65
+ **Goal:** "Documented Threat Model".
66
+ > *Security decisions are driven by an explicit, documented threat model.*
67
+
68
+ - [ ] **Threat Model Doc**: A lightweight document defining the trust boundary (Local Machine).
69
+ - [ ] **Supply Chain**: Verification steps for upstream dependencies.
70
+ - [ ] **Identity & Access (Phase 40)**:
71
+ - [ ] **SSH Certs**: Short-lived SSH Certificates.
72
+ - [ ] **YubiKey Bio**: Biometric enforcement for `sudo`.
73
+ - [ ] **PAM Modules**: Custom auth modules.
74
+ - [ ] **Auditd Rules**: Pre-configured audit rules.
75
+
76
+ ## Validation
77
+ **Goal:** "Self-Validating Environment".
78
+ > *The environment can validate itself after installation or update.*
79
+
80
+ - [ ] **Smoke Tests**: Automated verification of key aliases (`ls`, `git`, `docker`).
81
+ - [ ] **CI Validation**: GitHub Actions workflow to boot and verify the shell syntax.
82
+ - [ ] **Chaos Engineering (Phase 41)**:
83
+ - [ ] **Config Chaos**: Randomly corrupt config files to test recovery.
84
+ - [ ] **Network Simulation**: Simulate high latency/packet loss.
85
+ - [ ] **Permission Fuzzing**: Verify strict umask behavior.
86
+
87
+ ## Distribution
88
+ **Goal:** "Supported Platforms Matrix".
89
+ > *Only listed platforms are guaranteed to work; others are best-effort.*
90
+
91
+ - [ ] **Support Matrix**: Explicit table of OS/Version support (macOS 14+, Ubuntu 24.04+, WSL2).
92
+ - [ ] **Windows Deep Integration (Phase 53)**:
93
+ - [ ] **PowerShell Profile**: Mirror Zsh functionality.
94
+ - [ ] **WinGet**: Declarative package management.
95
+ - [ ] **WSL Bridge**: Seamless interop.
96
+ - [ ] **Linux Deep Integration (Phase 55)**:
97
+ - [ ] **Systemd User Units**: User service management.
98
+ - [ ] **Desktop Envs**: GNOME/KDE/Sway configs.
99
+
100
+ ---
101
+
102
+ ## Future
103
+
104
+ ### Domain-Specific Environments
105
+ - [ ] **Data Science (Phase 38)**: Conda/Mamba, GPU Config, Jupyter.
106
+ - [ ] **Network Topologies (Phase 56)**: Mesh Networks, Tor, Private VPNs.
107
+ - [ ] **Build Systems (Phase 57)**: Bazel, Maven/Gradle, CMake.
108
+ - [ ] **Financial Operations (Phase 63)**: Cost CLI, Ledger, Stock Tickers.
109
+ - [ ] **Game Development (Phase 64)**: Unity/Unreal CLI, Godot, Blender.
110
+ - [ ] **Scientific Computing (Phase 68)**: Latex, R/Julia, Pandoc.
111
+ - [ ] **Quantum Computing (Phase 69)**: Qiskit, Simulators.
112
+ - [ ] **Bio-Informatics (Phase 70)**: Genomics, PDB, FASTA.
113
+
114
+ ### Enterprise & Operations
115
+ - [ ] **Collaborations (Phase 45)**: Pair Programming, Team Sync, ChatOps.
116
+ - [ ] **Database DevOps (Phase 46)**: DB Clients, Local Docker DBs, Migrations.
117
+ - [ ] **Serverless (Phase 47)**: Lambda, Edge Workers, Wasm.
118
+ - [ ] **Enterprise Fleet (Phase 30)**: MDM Profiles, Policy as Code.
119
+ - [ ] **Legal & Procurement (Phase 93)**: RFP Templates, Vendor Management.
120
+ - [ ] **Recruiting & HR (Phase 94)**: Resume Generators, coding interview sets.
121
+
122
+ ### Accessibility & Legacy
123
+ - [ ] **Accessibility (Phase 36)**: Screen Reader optimization, High Contrast.
124
+ - [ ] **Legacy Modernization (Phase 42)**: Mainframe/Unix support, PowerShell Core.
125
+
126
+ ---
127
+
128
+ ## Completed
129
+
130
+ ### Core Foundations
131
+ - [x] **Universal Config (Chezmoi) (Phase 1)**
132
+ - [x] **Shell Environment (Phase 2)**
133
+ - [x] **Tool Modernization (Phase 3)**
134
+ - [x] **Performance Optimization (Phase 4)**
135
+
136
+ ### Hardened Security
137
+ - [x] **Security & Validation (Phase 5)**
138
+ - [x] **Package Management (Phase 6)**
139
+ - [x] **Hardened Security (Phase 21)**
140
+ - [x] **Enterprise Core (Phase 23)**: SLSA, SBOM, Signed Releases.
141
+ - [x] **Legal & Licensing (Phase 92)**: FOSSology, Headers, CLA.
142
+
143
+ ### Experience
144
+ - [x] **Documentation (Phase 25)**: DocSite, Interactive Tour.
145
+ - [x] **Self-Healing (Phase 27)**: Doctor, Auto-Repair.
146
+ - [x] **OS Bundling (Phase 26)**: XDG Compliance, Vendor Hooks.
147
+ - [x] **Predictive Shell (Phase 32)**: Autosuggest, Local LLM.
148
+ - [x] **Visual Layer (Phase 34)**: Yazi, Zellij, Ghostty.
@@ -0,0 +1,116 @@
1
+ # Screenshots gallery
2
+
3
+ See how the dotfiles look across different themes and configurations.
4
+
5
+ ## Theme gallery
6
+
7
+ ### Catppuccin Mocha (default)
8
+
9
+ The default theme, Catppuccin Mocha, gives you a dark palette with warm, muted colors.
10
+
11
+ ```
12
+ Terminal: Ghostty / WezTerm / Alacritty
13
+ Font: JetBrains Mono Nerd Font
14
+ Theme: Catppuccin Mocha
15
+ ```
16
+
17
+ Key colors:
18
+ - Background: `#1e1e2e`
19
+ - Foreground: `#cdd6f4`
20
+ - Accent Blue: `#89b4fa`
21
+ - Accent Red: `#f38ba8`
22
+
23
+ ### Catppuccin Latte (light)
24
+
25
+ A light theme option for daytime use.
26
+
27
+ ```
28
+ Terminal: Ghostty / WezTerm / Alacritty
29
+ Font: JetBrains Mono Nerd Font
30
+ Theme: Catppuccin Latte
31
+ ```
32
+
33
+ Key colors:
34
+ - Background: `#eff1f5`
35
+ - Foreground: `#4c4f69`
36
+ - Accent Blue: `#1e66f5`
37
+ - Accent Red: `#d20f39`
38
+
39
+ ## Terminal configurations
40
+
41
+ ### Ghostty
42
+
43
+ Modern, native terminal with GPU acceleration.
44
+
45
+ Features:
46
+ - Native macOS integration
47
+ - Fast rendering
48
+ - Ligature support
49
+ - Custom key bindings
50
+
51
+ ### WezTerm
52
+
53
+ Cross-platform terminal with Lua configuration.
54
+
55
+ Features:
56
+ - GPU acceleration
57
+ - Multiple windows/tabs
58
+ - Hyperlinks
59
+ - Image protocol support
60
+
61
+ ### Alacritty
62
+
63
+ Minimal, fast terminal.
64
+
65
+ Features:
66
+ - Fast rendering
67
+ - Simple YAML config
68
+ - Vi mode
69
+ - Cross-platform
70
+
71
+ ### Kitty
72
+
73
+ Feature-rich terminal.
74
+
75
+ Features:
76
+ - GPU rendering
77
+ - Ligatures
78
+ - Image support
79
+ - Keyboard protocol
80
+
81
+ ## Prompt (Starship)
82
+
83
+ Your Starship prompt displays:
84
+ - Current directory
85
+ - Git branch and status
86
+ - Language versions (when relevant)
87
+ - Command duration
88
+ - Exit status
89
+
90
+ ## Neovim
91
+
92
+ Your Neovim configuration includes:
93
+ - Catppuccin theme
94
+ - Treesitter syntax highlighting
95
+ - LSP integration
96
+ - Telescope fuzzy finder
97
+ - File tree (nvim-tree)
98
+
99
+ ## tmux
100
+
101
+ Your tmux status bar displays:
102
+ - Session name
103
+ - Current window
104
+ - Host name
105
+ - Date and time
106
+
107
+ ## Adding screenshots
108
+
109
+ To contribute screenshots:
110
+
111
+ 1. Take a screenshot of your terminal
112
+ 2. Save as PNG in `docs/themes/`
113
+ 3. Add reference in this file
114
+ 4. Submit a PR
115
+
116
+ Recommended screenshot size: 1920x1080 or 2560x1440
@@ -0,0 +1,76 @@
1
+ # Secrets
2
+
3
+ You can encrypt secrets using `age` with `chezmoi`.
4
+
5
+ ## Get started
6
+
7
+ ```bash
8
+ dot secrets-init
9
+ ```
10
+
11
+ The command creates `~/.config/chezmoi/key.txt` and prints your public key. It also updates `~/.config/chezmoi/chezmoi.toml` with the `age` backend settings.
12
+
13
+ > [!IMPORTANT]
14
+ > Verify that `age` is installed before running this command. You can install it through `brew`, `apt`, or your preferred toolchain.
15
+
16
+ ## Enable encryption
17
+
18
+ Edit `~/.config/chezmoi/chezmoi.toml` (local only):
19
+
20
+ ```toml
21
+ encryption = "age"
22
+
23
+ [age]
24
+ identity = "~/.config/chezmoi/key.txt"
25
+ recipient = "age1..."
26
+ ```
27
+
28
+ You can also re-run:
29
+
30
+ ```bash
31
+ chezmoi init --apply --promptDefaults
32
+ ```
33
+
34
+ ## Edit secrets
35
+
36
+ ```bash
37
+ dot secrets
38
+ ```
39
+
40
+ The command opens `~/.config/chezmoi/encrypted_secrets.age` for editing and applies changes when you save.
41
+
42
+ ## Create secrets
43
+
44
+ ```bash
45
+ dot secrets-create
46
+ ```
47
+
48
+ Then edit:
49
+
50
+ ```bash
51
+ dot secrets
52
+ ```
53
+
54
+ ## Encrypt an SSH key
55
+
56
+ ```bash
57
+ dot ssh-key ~/.ssh/id_ed25519
58
+ ```
59
+
60
+ The command creates a local encrypted file at:
61
+ `~/.config/chezmoi/encrypted_id_ed25519.age`
62
+
63
+ If you want it tracked (encrypted) in your dotfiles, run:
64
+
65
+ ```bash
66
+ chezmoi add --encrypt ~/.config/chezmoi/encrypted_id_ed25519.age
67
+ ```
68
+
69
+ ## Important notes
70
+
71
+ > [!WARNING]
72
+ > Keep `~/.config/chezmoi/key.txt` private. Never commit this file to a public repository.
73
+
74
+ - You can share the public key freely for encrypting data.
75
+ - Consider rotating keys yearly (or after any potential leak).
76
+ To rotate: generate a new key, update `chezmoi.toml`, re-encrypt your secrets, and delete the old key.
@@ -0,0 +1,30 @@
1
+ # Security
2
+
3
+ Learn how Dotfiles handles security and system modifications.
4
+
5
+ ## Principles
6
+
7
+ - **Opt-In Only**: No hardening is applied unless the `DOTFILES_` variables are set to `1`.
8
+ - **Local Logging**: Actions are logged to `~/.local/share/dotfiles.log`. No telemetry.
9
+ - **No Hidden Sudo**: Sudo is only requested for system managers (apt, etc) and never cached indefinitely.
10
+
11
+ ## Hardening
12
+
13
+ | Feature | Env Var | Action (macOS) | Action (Linux) |
14
+ |---|---|---|---|
15
+ | Firewall | `DOTFILES_FIREWALL` | Enables `socketfilterfw` + Stealth Mode | Configures UFW |
16
+ | Telemetry | `DOTFILES_TELEMETRY` | Disables Diagnostic plists | Disables `whoopsie`/`apport` |
17
+ | DNS-over-HTTPS | `DOTFILES_DOH` | Browser-level settings | Configures `resolvectl` |
18
+ | Idle Security | `DOTFILES_LOCK` | Sets screensaver idle time | Sets GNOME/KDE idle-delay |
19
+
20
+ ## Secrets
21
+
22
+ Dotfiles uses **age** for encryption.
23
+
24
+ - **Initialization**: `dot secrets-init` creates a key at `~/.config/chezmoi/key.txt`.
25
+ - **Storage**: Secrets are stored as `.age` encrypted files.
26
+ - **Protection**: Private keys are never committed to the repo.
27
+
28
+ ## Report an issue
29
+
30
+ If you discover a security vulnerability, please do not open a public issue. Follow the instructions in the Security Policy.
@@ -0,0 +1,25 @@
1
+ # Security Release Checklist
2
+
3
+ Use this checklist before cutting any new release (e.g., `v0.x.x`) to ensure supply-chain integrity.
4
+
5
+ ## 1. Supply Chain & Installer
6
+ - [ ] **Pinned Version**: Update `install.sh` `VERSION` variable to match the release tag.
7
+ - [ ] **Docs Sync**: Ensure `README.md` and `.github/PULL_REQUEST_TEMPLATE.md` installer URLs point to the new tag (not `main`).
8
+ - [ ] **Clean Build**: Verify `install.sh` does not curl random scripts from third parties without pinning.
9
+
10
+ ## 2. Secrets & Leak Prevention
11
+ - [ ] **SSH Keys**: Scan `dot_ssh/` to ensure no private keys (`id_rsa`, `id_ed25519`) are committed.
12
+ - [ ] **Env Vars**: Check for hardcoded API tokens in `dot_config/` (use `age` encryption or environment variables instead).
13
+ - [ ] **Git History**: Run `git secrets` or similar to scan for accidental commits of credentials.
14
+
15
+ ## 3. Platform Safety
16
+ - [ ] **WSL Check**: Verify `install.sh` detects WSL and does not try to install systemd services or macOS defaults.
17
+ - [ ] **Root usage**: Ensure no script requires `sudo` unnecessarily (Principle of Least Privilege).
18
+
19
+ ## 4. Toolchain
20
+ - [ ] **Binary Integrity**: Check that `dot_local/bin/` scripts are pure shell/executable and match expected checksums (no binary blobs).
21
+ - [ ] **Dependency Scan**: Run `npm audit` / `cargo audit` if applicable (currently Node.js legacy is removed).
22
+
23
+ ## 5. Final Verification
24
+ - [ ] **Docker Test**: Run `docker build -f Dockerfile.test .` to verify clean install.
25
+ - [ ] **Doctor**: Run `dot doctor` locally.