@sebastienrousseau/dotfiles 0.2.481 → 0.2.500

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 (546) hide show
  1. package/CHANGELOG.md +122 -32
  2. package/LICENSE +1 -1
  3. package/README.md +211 -242
  4. package/docs/.vitepress/reports/localization-readability-audit.md +69 -0
  5. package/docs/AI.md +102 -0
  6. package/docs/COPYRIGHT +2 -2
  7. package/docs/NAMING_CONVENTIONS.md +95 -0
  8. package/docs/README.md +58 -249
  9. package/docs/adr/ADR-004-cli-architecture.md +2 -2
  10. package/docs/adr/ADR-006-shell-selection.md +2 -2
  11. package/docs/adr/ADR-007-multi-shell-parity.md +53 -0
  12. package/docs/adr/ADR-008-alias-system-architecture.md +85 -0
  13. package/docs/adr/README.md +2 -3
  14. package/docs/architecture/ARCHITECTURE.md +113 -0
  15. package/docs/architecture/INTEROP.md +36 -0
  16. package/docs/architecture/REPO_LAYOUT.md +237 -0
  17. package/docs/architecture/WALKTHROUGH.md +82 -0
  18. package/docs/architecture/fleet-deployment.md +73 -0
  19. package/docs/archive/EUXIS_2026_REVIEW.md +119 -0
  20. package/docs/archive/MILESTONE_v0.2.493.md +43 -0
  21. package/docs/{PLAN.md → archive/PLAN.md} +1 -1
  22. package/docs/guides/INSTALL.md +140 -0
  23. package/docs/{NEOVIM_IDE_GUIDE.md → guides/NEOVIM_IDE_GUIDE.md} +12 -12
  24. package/docs/guides/THEMING.md +222 -0
  25. package/docs/{TROUBLESHOOTING.md → guides/TROUBLESHOOTING.md} +36 -0
  26. package/docs/{WSL2_NIX_TROUBLESHOOTING.md → guides/WSL2_NIX_TROUBLESHOOTING.md} +8 -8
  27. package/docs/index.md +39 -0
  28. package/docs/interop/A2A.md +32 -0
  29. package/docs/manual/00-introduction.md +85 -0
  30. package/docs/manual/01-concepts/01-architecture.md +134 -0
  31. package/docs/manual/01-concepts/02-trust-model.md +178 -0
  32. package/docs/manual/01-concepts/03-theme-engine.md +182 -0
  33. package/docs/manual/01-concepts/04-fleet.md +142 -0
  34. package/docs/manual/01-concepts/05-self-healing.md +197 -0
  35. package/docs/manual/02-tutorials/01-first-install.md +192 -0
  36. package/docs/manual/02-tutorials/02-add-wallpaper.md +211 -0
  37. package/docs/manual/02-tutorials/03-create-profile.md +238 -0
  38. package/docs/manual/02-tutorials/04-encrypt-secret.md +275 -0
  39. package/docs/manual/02-tutorials/05-deploy-fleet.md +279 -0
  40. package/docs/manual/03-reference/01-dot-cli.md +413 -0
  41. package/docs/manual/03-reference/02-config-files.md +259 -0
  42. package/docs/manual/03-reference/03-environment.md +120 -0
  43. package/docs/manual/03-reference/04-templates.md +184 -0
  44. package/docs/manual/03-reference/05-feature-flags.md +118 -0
  45. package/docs/manual/04-cookbook/01-recipes.md +281 -0
  46. package/docs/manual/04-cookbook/02-troubleshooting.md +319 -0
  47. package/docs/manual/04-cookbook/03-faq.md +167 -0
  48. package/docs/manual/05-appendices/A-platform-matrix.md +97 -0
  49. package/docs/manual/05-appendices/B-security-checklist.md +78 -0
  50. package/docs/manual/05-appendices/C-glossary.md +36 -0
  51. package/docs/manual/05-appendices/D-bibliography.md +54 -0
  52. package/docs/manual/05-appendices/E-license.md +34 -0
  53. package/docs/manual/_toc.yml +58 -0
  54. package/docs/manual/command-index.md +58 -0
  55. package/docs/manual/concept-index.md +164 -0
  56. package/docs/operations/ATTESTATION.md +39 -0
  57. package/docs/operations/MAINTENANCE.md +59 -0
  58. package/docs/operations/MIGRATION.md +101 -0
  59. package/docs/operations/OPERATIONS.md +164 -0
  60. package/docs/operations/RELIABILITY.md +116 -0
  61. package/docs/{ROADMAP.md → operations/ROADMAP.md} +11 -11
  62. package/docs/operations/TESTING.md +195 -0
  63. package/docs/operations/TRACEABILITY.md +31 -0
  64. package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +61 -0
  65. package/docs/operations/VERSION_SYNC.md +344 -0
  66. package/docs/{ALIASES.md → reference/ALIASES.md} +2 -6
  67. package/docs/reference/ALIASES_CHEATSHEET.md +28 -0
  68. package/docs/reference/ALIASES_DEPRECATIONS.md +9 -0
  69. package/docs/reference/FEATURES.md +62 -0
  70. package/docs/reference/FONTS.md +108 -0
  71. package/docs/reference/PROFILES.md +65 -0
  72. package/docs/{SCREENSHOTS.md → reference/SCREENSHOTS.md} +26 -25
  73. package/docs/reference/SCRIPTS.md +67 -0
  74. package/docs/reference/SUPPORT_MATRIX.md +74 -0
  75. package/docs/reference/THEMES.md +113 -0
  76. package/docs/reference/TOOLS.md +105 -0
  77. package/docs/reference/UTILS.md +151 -0
  78. package/docs/security/AI_ACT_COMPLIANCE.md +90 -0
  79. package/docs/security/AUTOMATION_SECRETS.md +22 -0
  80. package/docs/security/COMPLIANCE.md +453 -0
  81. package/docs/security/ENCRYPTION.md +52 -0
  82. package/docs/security/FMEA.md +155 -0
  83. package/docs/security/INCIDENT_RESPONSE.md +575 -0
  84. package/docs/security/KEYS.md +45 -0
  85. package/docs/security/MCP_POLICY.md +69 -0
  86. package/docs/security/POLICY_RELEASES.md +33 -0
  87. package/docs/security/README.md +24 -0
  88. package/docs/security/SECRETS.md +146 -0
  89. package/docs/security/SECURITY.md +41 -0
  90. package/docs/security/SECURITY_CHECKLIST.md +44 -0
  91. package/docs/security/SOUP_REGISTER.md +32 -0
  92. package/docs/security/THREAT_MODEL.md +120 -0
  93. package/docs/security/VERIFICATION_VALIDATION.md +224 -0
  94. package/docs/themes/README.md +3 -17
  95. package/docs/themes/VISUAL_INTEGRITY_REPORT.md +26 -0
  96. package/docs/themes/hero-shot.svg +78 -0
  97. package/dot_config/.module-manifest.json +69 -0
  98. package/dot_config/ai/identity.md +20 -0
  99. package/dot_config/ai/patterns/architect.md +14 -0
  100. package/dot_config/ai/patterns/hardener.md +13 -0
  101. package/dot_config/ai/patterns/refactor.md +13 -0
  102. package/dot_config/aider/aider.conf.yml +1 -1
  103. package/dot_config/alacritty/alacritty.toml.tmpl +41 -469
  104. package/dot_config/atuin/config.toml +18 -1
  105. package/dot_config/bat/config +16 -1
  106. package/dot_config/claude/mcp_servers.json +3 -32
  107. package/dot_config/dotfiles/agent-card.json +29 -0
  108. package/dot_config/dotfiles/agent-profiles.json +92 -0
  109. package/dot_config/dotfiles/boot/README.md +1 -1
  110. package/dot_config/dotfiles/grub/README.md +1 -1
  111. package/dot_config/dotfiles/lock/README.md +1 -1
  112. package/dot_config/dotfiles/mcp-lock.json +33 -0
  113. package/dot_config/dotfiles/mcp-policy.json +52 -0
  114. package/dot_config/dotfiles/mcp-registry.json +47 -0
  115. package/dot_config/dotfiles/model-registry.json +20 -0
  116. package/dot_config/dotfiles/policy-bundles.json +38 -0
  117. package/dot_config/dotfiles/prompt-registry.json +16 -0
  118. package/dot_config/dotfiles/versions.env +18 -0
  119. package/dot_config/environment.d/50-ssh-agent.conf +2 -0
  120. package/dot_config/environment.d/90-wayland.conf +19 -0
  121. package/dot_config/firefox/user.js.tmpl +58 -0
  122. package/dot_config/fish/completions/dot-theme-sync.fish.tmpl +9 -0
  123. package/dot_config/fish/completions/dot.fish.tmpl +115 -0
  124. package/dot_config/fish/conf.d/000-perf-cache.fish +56 -0
  125. package/dot_config/fish/conf.d/aliases.fish.tmpl +77 -0
  126. package/dot_config/fish/conf.d/env.fish.tmpl +48 -0
  127. package/dot_config/fish/conf.d/functions.fish.tmpl +22 -0
  128. package/dot_config/fish/conf.d/init.fish.tmpl +151 -0
  129. package/dot_config/fish/config.fish.tmpl +44 -0
  130. package/dot_config/fish/fish_plugins +1 -0
  131. package/dot_config/fish/functions/_.fish +3 -0
  132. package/dot_config/fish/functions/_cached_eval.fish +58 -0
  133. package/dot_config/fish/functions/als.fish +46 -0
  134. package/dot_config/fish/functions/bg-upgrade.fish +7 -0
  135. package/dot_config/fish/functions/c.fish +3 -0
  136. package/dot_config/fish/functions/cat.fish +9 -0
  137. package/dot_config/fish/functions/d.fish +7 -0
  138. package/dot_config/fish/functions/dot.fish +34 -0
  139. package/dot_config/fish/functions/h.fish +3 -0
  140. package/dot_config/fish/functions/l.fish +7 -0
  141. package/dot_config/fish/functions/la.fish +7 -0
  142. package/dot_config/fish/functions/ll.fish +7 -0
  143. package/dot_config/fish/functions/log_error.fish +13 -0
  144. package/dot_config/fish/functions/log_info.fish +13 -0
  145. package/dot_config/fish/functions/lr.fish +7 -0
  146. package/dot_config/fish/functions/lra.fish +7 -0
  147. package/dot_config/fish/functions/ls.fish +7 -0
  148. package/dot_config/fish/functions/lt.fish +7 -0
  149. package/dot_config/fish/functions/lta.fish +7 -0
  150. package/dot_config/fish/functions/notify-run.fish +11 -0
  151. package/dot_config/fish/functions/q.fish +3 -0
  152. package/dot_config/fish/functions/silent-run.fish +7 -0
  153. package/dot_config/fish/functions/yy.fish +8 -0
  154. package/dot_config/fontconfig/fonts.conf.tmpl +13 -0
  155. package/dot_config/foot/foot.ini.tmpl +33 -0
  156. package/dot_config/fuzzel/fuzzel.ini.tmpl +18 -0
  157. package/dot_config/fzf/fzf.zsh +48 -0
  158. package/dot_config/ghostty/config.tmpl +69 -565
  159. package/dot_config/git/allowed_signers.tmpl +18 -0
  160. package/dot_config/git/commit-template +10 -0
  161. package/dot_config/gnupg/{gpg-agent.conf.tmpl → gpg-agent.conf} +3 -3
  162. package/dot_config/goose/config.yaml +2 -2
  163. package/dot_config/gtk-3.0/gtk.css.tmpl +59 -180
  164. package/dot_config/gtk-3.0/settings.ini.tmpl +5 -44
  165. package/dot_config/gtk-4.0/gtk.css.tmpl +79 -136
  166. package/dot_config/gtk-4.0/settings.ini.tmpl +5 -8
  167. package/dot_config/ipython/profile_default/ipython_config.py +19 -0
  168. package/dot_config/just/justfile +18 -0
  169. package/dot_config/kanshi/config.tmpl +22 -0
  170. package/dot_config/kitty/kitty.conf.tmpl +44 -508
  171. package/dot_config/lazygit/config.yml +18 -6
  172. package/dot_config/mako/config +47 -0
  173. package/dot_config/micro/settings.json +3 -0
  174. package/dot_config/mimeapps.list +77 -0
  175. package/dot_config/mise/config.toml +63 -5
  176. package/dot_config/mongosh/mongoshrc.js +1 -0
  177. package/dot_config/mpv/input.conf +47 -0
  178. package/dot_config/mpv/mpv.conf +47 -0
  179. package/dot_config/niri/config.kdl.tmpl +327 -0
  180. package/dot_config/nushell/aliases.nu +18 -0
  181. package/dot_config/nushell/completions.nu.tmpl +52 -0
  182. package/dot_config/nushell/config.nu.tmpl +86 -0
  183. package/dot_config/nushell/env.nu.tmpl +94 -0
  184. package/dot_config/nushell/functions.nu.tmpl +17 -0
  185. package/dot_config/nvim/init.lua +14 -0
  186. package/dot_config/nvim/lazy-lock.json +45 -14
  187. package/dot_config/nvim/lua/config/autocmds.lua +45 -1
  188. package/dot_config/nvim/lua/config/keymaps.lua +13 -8
  189. package/dot_config/nvim/lua/config/lazy.lua +22 -12
  190. package/dot_config/nvim/lua/config/options.lua +1 -0
  191. package/dot_config/nvim/lua/plugins/ai.lua +75 -0
  192. package/dot_config/nvim/lua/plugins/coding.lua +11 -29
  193. package/dot_config/nvim/lua/plugins/completion.lua +60 -0
  194. package/dot_config/nvim/lua/plugins/dap.lua +215 -4
  195. package/dot_config/nvim/lua/plugins/editor.lua +6 -10
  196. package/dot_config/nvim/lua/plugins/git.lua +1 -0
  197. package/dot_config/nvim/lua/plugins/lsp.lua +16 -81
  198. package/dot_config/nvim/lua/plugins/markdown.lua +1 -0
  199. package/dot_config/nvim/lua/plugins/rust.lua +1 -0
  200. package/dot_config/nvim/lua/plugins/sessions.lua +1 -0
  201. package/dot_config/nvim/lua/plugins/ui.lua +23 -51
  202. package/dot_config/paru/paru.conf +10 -0
  203. package/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl +81 -0
  204. package/dot_config/pueue/pueue.yml +34 -0
  205. package/dot_config/raycast/README.md +1 -1
  206. package/dot_config/ripgrep/ripgreprc +21 -0
  207. package/dot_config/shell/00-core-paths.sh.tmpl +62 -24
  208. package/dot_config/shell/05-core-safety.sh +47 -0
  209. package/dot_config/shell/10-secrets.sh +40 -0
  210. package/dot_config/shell/40-fzf-defaults.sh.tmpl +16 -0
  211. package/dot_config/shell/40-ls-colors.sh +48 -0
  212. package/dot_config/shell/50-logic-functions-core.sh.tmpl +10 -0
  213. package/dot_config/shell/51-logic-functions-extra.sh.tmpl +64 -0
  214. package/dot_config/shell/90-ux-aliases.sh.tmpl +90 -5
  215. package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +33 -2
  216. package/dot_config/shell/Brewfile.cli +8 -0
  217. package/dot_config/shell/README.md +9 -9
  218. package/dot_config/shell/als_data.txt.tmpl +65 -0
  219. package/dot_config/shell/custom/auto_ls.zsh +20 -0
  220. package/dot_config/shell/custom/context_suggest.zsh +50 -50
  221. package/dot_config/shell/custom/error_analysis.zsh +29 -29
  222. package/dot_config/starship.toml.tmpl +85 -7
  223. package/dot_config/swaylock/config +43 -0
  224. package/dot_config/systemd/user/dotfiles-maintenance.service +8 -0
  225. package/dot_config/systemd/user/dotfiles-maintenance.timer +11 -0
  226. package/dot_config/systemd/user/pueued.service +12 -0
  227. package/dot_config/systemd/user/ssh-agent.service +12 -0
  228. package/dot_config/tmux/tmux.conf.tmpl +80 -38
  229. package/dot_config/topgrade.toml.tmpl +54 -0
  230. package/dot_config/user-dirs.dirs +9 -0
  231. package/dot_config/vscode/settings.json.tmpl +9 -50
  232. package/dot_config/waybar/config.jsonc.tmpl +90 -0
  233. package/dot_config/waybar/style.css.tmpl +211 -0
  234. package/dot_config/wezterm/wezterm.lua.tmpl +31 -203
  235. package/dot_config/xdg-desktop-portal/niri-portals.conf +5 -0
  236. package/dot_config/yazi/keymap.toml +67 -0
  237. package/dot_config/yazi/theme.toml +102 -0
  238. package/dot_config/zathura/zathurarc +52 -0
  239. package/dot_config/zellij/{config.kdl → config.kdl.tmpl} +1 -1
  240. package/dot_config/zsh/dot_zprofile +1 -7
  241. package/dot_config/zsh/dot_zshenv +2 -3
  242. package/dot_config/zsh/dot_zshrc.tmpl +368 -69
  243. package/dot_config/zsh/rc.d/00-alias-shims.zsh +77 -0
  244. package/dot_config/zsh/rc.d/05-ssh-agent.zsh +17 -4
  245. package/dot_config/zsh/rc.d/10-env.zsh.tmpl +4 -4
  246. package/dot_config/zsh/rc.d/20-zinit.zsh +65 -0
  247. package/dot_config/zsh/rc.d/30-options.zsh.tmpl +101 -30
  248. package/dot_config/zsh/rc.d/99-alias-wrapper.zsh +32 -0
  249. package/dot_local/bin/__pycache__/executable_dot-load-benchmark-ptycpython-312.pyc +0 -0
  250. package/dot_local/bin/executable_ai-update +195 -0
  251. package/dot_local/bin/executable_ai_core +113 -91
  252. package/dot_local/bin/executable_antigravity +11 -0
  253. package/dot_local/bin/executable_b64 +61 -36
  254. package/dot_local/bin/executable_bm +77 -0
  255. package/dot_local/bin/executable_cb +39 -0
  256. package/dot_local/bin/executable_dot +543 -132
  257. package/dot_local/bin/executable_dot-ai +36 -0
  258. package/dot_local/bin/executable_dot-bootstrap +77 -0
  259. package/dot_local/bin/executable_dot-launch-or-focus +52 -0
  260. package/dot_local/bin/executable_dot-load-benchmark +31 -0
  261. package/dot_local/bin/executable_dot-load-benchmark-pty +77 -0
  262. package/dot_local/bin/executable_dot-theme-sync +952 -0
  263. package/dot_local/bin/executable_dot_completion +2 -0
  264. package/dot_local/bin/executable_dtags +28 -0
  265. package/dot_local/bin/executable_epoch +43 -38
  266. package/dot_local/bin/executable_extract +32 -99
  267. package/dot_local/bin/executable_gbd +52 -0
  268. package/dot_local/bin/executable_gd +42 -0
  269. package/dot_local/bin/executable_git-ai-commit +35 -20
  270. package/dot_local/bin/executable_git-ai-diff +33 -18
  271. package/dot_local/bin/executable_gl +101 -0
  272. package/dot_local/bin/executable_hash +56 -18
  273. package/dot_local/bin/executable_hashsum +160 -0
  274. package/dot_local/bin/executable_hex +44 -8
  275. package/dot_local/bin/executable_jsonv +34 -10
  276. package/dot_local/bin/executable_jwt +22 -6
  277. package/dot_local/bin/executable_kill-port +18 -2
  278. package/dot_local/bin/executable_lorem +21 -6
  279. package/dot_local/bin/executable_mkscript +35 -0
  280. package/dot_local/bin/executable_monitor +56 -0
  281. package/dot_local/bin/{executable_ip → executable_myip} +16 -2
  282. package/dot_local/bin/executable_notify +22 -0
  283. package/dot_local/bin/executable_open +36 -0
  284. package/dot_local/bin/executable_pw +27 -0
  285. package/dot_local/bin/executable_rec-start +46 -0
  286. package/dot_local/bin/executable_rec-stop +35 -0
  287. package/dot_local/bin/executable_regex +49 -13
  288. package/dot_local/bin/executable_start-niri +8 -0
  289. package/dot_local/bin/executable_tmux-sessionizer +276 -149
  290. package/dot_local/bin/executable_tour +112 -74
  291. package/dot_local/bin/executable_up +21 -0
  292. package/dot_local/bin/executable_update +45 -11
  293. package/dot_local/bin/executable_uuid +37 -7
  294. package/dot_local/bin/executable_win +32 -0
  295. package/dot_local/bin/executable_yamlv +25 -7
  296. package/dot_local/share/bash-completion/completions/dot +62 -44
  297. package/dot_local/share/icons/hicolor/128x128/apps/rousseau.png +0 -0
  298. package/dot_local/share/icons/hicolor/16x16/apps/rousseau.png +0 -0
  299. package/dot_local/share/icons/hicolor/24x24/apps/rousseau.png +0 -0
  300. package/dot_local/share/icons/hicolor/256x256/apps/rousseau.png +0 -0
  301. package/dot_local/share/icons/hicolor/32x32/apps/rousseau.png +0 -0
  302. package/dot_local/share/icons/hicolor/48x48/apps/rousseau.png +0 -0
  303. package/dot_local/share/icons/hicolor/512x512/apps/rousseau.png +0 -0
  304. package/dot_local/share/icons/hicolor/64x64/apps/rousseau.png +0 -0
  305. package/dot_local/share/icons/hicolor/96x96/apps/rousseau.png +0 -0
  306. package/dot_local/share/icons/hicolor/scalable/apps/rousseau.png +0 -0
  307. package/dot_local/share/man/man1/dot.1 +149 -0
  308. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_download +64 -0
  309. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_install +18 -0
  310. package/dot_local/share/mise/plugins/kiro-cli/bin/executable_list-all +13 -0
  311. package/dot_local/share/wayland-sessions/niri.desktop.tmpl +6 -0
  312. package/dot_local/share/zsh/completions/_dot +283 -0
  313. package/install.sh +297 -210
  314. package/package.json +17 -5
  315. package/scripts/ci/check-copyright-headers.sh +96 -0
  316. package/scripts/ci/guard-gitleaks-checkout.sh +57 -0
  317. package/scripts/ci/install-chezmoi-verified.sh +64 -0
  318. package/scripts/ci/validate-ci-config.sh +41 -39
  319. package/scripts/demo/record.sh +3 -2
  320. package/scripts/diagnostics/a2a-conformance.sh +162 -0
  321. package/scripts/diagnostics/alias-governance.sh +137 -0
  322. package/scripts/diagnostics/aliases-cheatsheet.sh +73 -0
  323. package/scripts/diagnostics/aliases-manifest.sh +31 -0
  324. package/scripts/diagnostics/benchmark.sh +209 -29
  325. package/scripts/diagnostics/conflicts.sh +72 -0
  326. package/scripts/diagnostics/doctor-unified.sh +38 -0
  327. package/scripts/diagnostics/doctor.sh +491 -65
  328. package/scripts/diagnostics/drift-dashboard.sh +17 -6
  329. package/scripts/diagnostics/health.sh +351 -110
  330. package/scripts/diagnostics/history-analysis.sh +12 -4
  331. package/scripts/diagnostics/mcp-doctor.sh +575 -0
  332. package/scripts/diagnostics/perf.sh +225 -0
  333. package/scripts/diagnostics/scorecard.sh +118 -0
  334. package/scripts/diagnostics/secret-governance.sh +58 -0
  335. package/scripts/diagnostics/security-score.sh +139 -93
  336. package/scripts/diagnostics/smoke-test.sh +87 -0
  337. package/scripts/diagnostics/snapshot.sh +89 -0
  338. package/scripts/diagnostics/verify.sh +107 -0
  339. package/scripts/diagnostics/verify_state.sh +2 -2
  340. package/scripts/diagnostics/version-locks.sh +79 -0
  341. package/scripts/diagnostics/workstation-attestation.sh +181 -0
  342. package/scripts/docs/build-manual.sh +883 -0
  343. package/scripts/docs/check-manual.sh +213 -0
  344. package/scripts/dot/commands/agent.sh +465 -0
  345. package/scripts/dot/commands/ai.sh +416 -0
  346. package/scripts/dot/commands/aliases.sh +250 -0
  347. package/scripts/dot/commands/appearance.sh +21 -4
  348. package/scripts/dot/commands/core.sh +59 -4
  349. package/scripts/dot/commands/diagnostics.sh +132 -3
  350. package/scripts/dot/commands/fleet.sh +399 -0
  351. package/scripts/dot/commands/lint.sh +177 -0
  352. package/scripts/dot/commands/manual.sh +168 -0
  353. package/scripts/dot/commands/meta.sh +148 -17
  354. package/scripts/dot/commands/patterns.sh +54 -0
  355. package/scripts/dot/commands/restore.sh +57 -35
  356. package/scripts/dot/commands/secrets.sh +151 -9
  357. package/scripts/dot/commands/security.sh +3 -0
  358. package/scripts/dot/commands/tools.sh +268 -27
  359. package/scripts/dot/data/alias-deprecations.tsv +2 -0
  360. package/scripts/dot/lib/bento.sh +49 -0
  361. package/scripts/dot/lib/log.sh +194 -0
  362. package/scripts/dot/lib/platform.sh +98 -0
  363. package/scripts/dot/lib/ui.sh +507 -0
  364. package/scripts/dot/lib/utils.sh +318 -18
  365. package/scripts/fonts/install-nerd-fonts.sh +19 -10
  366. package/scripts/fonts/patch-fonts.sh +1 -0
  367. package/scripts/git-hooks/install.sh +11 -0
  368. package/scripts/git-hooks/pre-commit +12 -0
  369. package/scripts/git-hooks/pre-commit-audit.sh +145 -0
  370. package/scripts/git-hooks/pre-push +29 -0
  371. package/scripts/git-hooks/prepare-commit-msg +29 -0
  372. package/scripts/lib/secrets_provider.sh +158 -0
  373. package/scripts/maintenance/check-updates.sh +131 -0
  374. package/scripts/ops/ai-setup.sh +55 -0
  375. package/scripts/ops/bundle.sh +77 -0
  376. package/scripts/ops/chaos.sh +49 -0
  377. package/scripts/ops/chezmoi-apply.sh +245 -17
  378. package/scripts/ops/chezmoi-diff.sh +1 -0
  379. package/scripts/ops/chezmoi-remove.sh +2 -0
  380. package/scripts/ops/chezmoi-update.sh +34 -2
  381. package/scripts/ops/heal-chezmoi.sh +51 -0
  382. package/scripts/ops/heal-system.sh +128 -0
  383. package/scripts/ops/heal-tools.sh +340 -0
  384. package/scripts/ops/heal.sh +98 -342
  385. package/scripts/ops/post-apply-repair.sh +106 -0
  386. package/scripts/ops/prewarm.sh +127 -0
  387. package/scripts/ops/release.sh +252 -0
  388. package/scripts/ops/rollback.sh +86 -28
  389. package/scripts/ops/setup.sh +137 -0
  390. package/scripts/ops/teleport.sh +2 -1
  391. package/scripts/qa/coverage-baseline.sh +60 -0
  392. package/scripts/qa/docs-coverage.sh +111 -0
  393. package/scripts/qa/reliability-audit.sh +138 -0
  394. package/scripts/qa/traceability-coverage.sh +116 -0
  395. package/scripts/qa/validate-examples.sh +26 -0
  396. package/scripts/qa/wsl-contract.sh +11 -0
  397. package/scripts/release/package-policy-bundles.sh +125 -0
  398. package/scripts/secrets/age-init.sh +1 -0
  399. package/scripts/secrets/create-secrets-file.sh +1 -0
  400. package/scripts/secrets/encrypt-ssh-key.sh +1 -0
  401. package/scripts/security/backup.sh +44 -4
  402. package/scripts/security/dns-doh.sh +36 -14
  403. package/scripts/security/encryption-check.sh +27 -12
  404. package/scripts/security/enforce-policies.sh +11 -16
  405. package/scripts/security/firewall.sh +76 -20
  406. package/scripts/security/lock-configs.sh +2 -2
  407. package/scripts/security/lock-screen.sh +40 -18
  408. package/scripts/security/manage-secrets.sh +42 -29
  409. package/scripts/security/ssh-cert.sh +203 -0
  410. package/scripts/security/telemetry-kill.sh +40 -18
  411. package/scripts/security/usb-safety.sh +37 -15
  412. package/scripts/theme/apply-gnome-theme.sh +87 -56
  413. package/scripts/theme/extract-theme.py +677 -0
  414. package/scripts/theme/install-boot-logo.sh +1 -0
  415. package/scripts/theme/install-catppuccin-themes.sh +57 -33
  416. package/scripts/theme/install-cursors.sh +1 -0
  417. package/scripts/theme/install-file-icons.sh +1 -0
  418. package/scripts/theme/install-grub-theme.sh +11 -1
  419. package/scripts/theme/install-lock-icon.sh +1 -0
  420. package/scripts/theme/merge-wallpaper.sh +141 -0
  421. package/scripts/theme/rebuild-themes.sh +309 -0
  422. package/scripts/theme/switch.sh +308 -137
  423. package/scripts/theme/wallpaper-rotate.sh +66 -12
  424. package/scripts/theme/wallpaper-sync.sh +386 -31
  425. package/scripts/tools/cmatrix.sh +1 -0
  426. package/scripts/tools/detect-collisions.py +1 -1
  427. package/scripts/tools/emoji-picker.sh +4 -1
  428. package/scripts/tools/figlet-banner.sh +1 -0
  429. package/scripts/tools/log-rotate.sh +2 -1
  430. package/scripts/tools/lolcat-wrap.sh +1 -0
  431. package/scripts/tools/pipes.sh +1 -0
  432. package/scripts/tuning/linux.sh +23 -13
  433. package/scripts/tuning/macos.sh +13 -4
  434. package/scripts/uninstall.sh +85 -0
  435. package/scripts/version-sync.sh +487 -0
  436. package/templates/chezmoi-data/geekom-a9.toml.example +21 -0
  437. package/templates/chezmoi-data/mac-m1.toml.example +16 -0
  438. package/templates/chezmoi-data/mac-t2-linux.toml.example +21 -0
  439. package/templates/chezmoi-data/surface-pro-7p.toml.example +21 -0
  440. package/templates/projects/go/.github/workflows/ci.yml +31 -0
  441. package/templates/projects/go/README.md +1 -1
  442. package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +1 -0
  443. package/templates/projects/go/go.sum +0 -0
  444. package/templates/projects/molecule/README.md +1 -1
  445. package/templates/projects/node/.github/workflows/ci.yml +30 -0
  446. package/templates/projects/node/README.md +1 -1
  447. package/templates/projects/node/package-lock.json +12 -0
  448. package/templates/projects/node/src/index.js +1 -0
  449. package/templates/projects/packer/README.md +1 -1
  450. package/templates/projects/python/.github/workflows/ci.yml +34 -0
  451. package/templates/projects/python/README.md +1 -1
  452. package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +1 -0
  453. package/templates/projects/python/tests/test_basic.py +1 -0
  454. package/docs/ARCHITECTURE.md +0 -229
  455. package/docs/COMPLIANCE.md +0 -47
  456. package/docs/FEATURES.md +0 -166
  457. package/docs/FONTS.md +0 -147
  458. package/docs/INSTALL.md +0 -119
  459. package/docs/KEYS.md +0 -40
  460. package/docs/OPERATIONS.md +0 -130
  461. package/docs/PR_DESCRIPTION.md +0 -149
  462. package/docs/SECRETS.md +0 -76
  463. package/docs/SECURITY.md +0 -30
  464. package/docs/SECURITY_CHECKLIST.md +0 -25
  465. package/docs/TASK.md +0 -99
  466. package/docs/TESTING.md +0 -190
  467. package/docs/TOOLS.md +0 -146
  468. package/docs/UTILS.md +0 -105
  469. package/docs/WALKTHROUGH.md +0 -165
  470. package/dot_config/clippy.toml +0 -55
  471. package/dot_config/dotfiles/versions.env.tmpl +0 -19
  472. package/dot_config/firefox/user.js +0 -8
  473. package/dot_config/git/config.tmpl +0 -77
  474. package/dot_config/go/aliases.sh +0 -61
  475. package/dot_config/go/env.sh +0 -24
  476. package/dot_config/ice/README.md +0 -13
  477. package/dot_config/ipython/profile_default/ipython_config.py.tmpl +0 -5
  478. package/dot_config/lsd/config.yaml +0 -19
  479. package/dot_config/nvim/snippets/all.lua +0 -9
  480. package/dot_config/nvim/snippets/python.lua +0 -16
  481. package/dot_config/shell/00-container-detect.sh +0 -53
  482. package/dot_config/shell/05-core-safety.sh.tmpl +0 -13
  483. package/dot_config/shell/40-ls-colors.sh.tmpl +0 -31
  484. package/dot_config/shell/90-theme-switch.sh +0 -70
  485. package/dot_config/topgrade/topgrade.toml.tmpl +0 -42
  486. package/dot_config/waybar/style.css +0 -8
  487. package/dot_config/zsh/rc.d/20-zinit.zsh.tmpl +0 -22
  488. package/dot_local/bin/executable_zig-install +0 -89
  489. package/dot_local/bin/voice_ops +0 -7
  490. package/scripts/ops/health-check.sh +0 -380
  491. package/scripts/tests/README.md +0 -241
  492. package/scripts/tests/benchmark.sh +0 -91
  493. package/scripts/tests/framework/assertions.sh +0 -283
  494. package/scripts/tests/framework/mocks.sh +0 -201
  495. package/scripts/tests/framework/test_runner.sh +0 -189
  496. package/scripts/tests/integration/test_install.sh +0 -237
  497. package/scripts/tests/performance/benchmark_runner.sh +0 -156
  498. package/scripts/tests/performance/regression_check.sh +0 -73
  499. package/scripts/tests/performance/stress_test.sh +0 -65
  500. package/scripts/tests/test-aliases.sh +0 -25
  501. package/scripts/tests/test-docker.sh +0 -48
  502. package/scripts/tests/unit/test_ai_aliases.sh +0 -158
  503. package/scripts/tests/unit/test_ai_cli_checks.sh +0 -47
  504. package/scripts/tests/unit/test_backup.sh +0 -227
  505. package/scripts/tests/unit/test_case_functions.sh +0 -238
  506. package/scripts/tests/unit/test_cd_aliases.sh +0 -367
  507. package/scripts/tests/unit/test_dot_cli.sh +0 -217
  508. package/scripts/tests/unit/test_encode64.sh +0 -67
  509. package/scripts/tests/unit/test_environment.sh +0 -78
  510. package/scripts/tests/unit/test_extract.sh +0 -163
  511. package/scripts/tests/unit/test_framework_edge_cases.sh +0 -113
  512. package/scripts/tests/unit/test_genpass.sh +0 -298
  513. package/scripts/tests/unit/test_install_edge_cases.sh +0 -167
  514. package/scripts/tests/unit/test_installers.sh +0 -172
  515. package/scripts/tests/unit/test_keygen.sh +0 -68
  516. package/scripts/tests/unit/test_logging.sh +0 -96
  517. package/scripts/tests/unit/test_os_detection_comprehensive.sh +0 -388
  518. package/scripts/tests/unit/test_package_managers_comprehensive.sh +0 -321
  519. package/scripts/tests/unit/test_prependpath.sh +0 -66
  520. package/scripts/tests/unit/test_prependpath_refactored.sh +0 -89
  521. package/scripts/tests/unit/test_rd.sh +0 -230
  522. package/scripts/tests/unit/test_security_fixes.sh +0 -130
  523. package/scripts/tests/unit/test_security_scripts.sh +0 -87
  524. package/scripts/tests/unit/test_template_validation.sh +0 -238
  525. package/scripts/tests/unit/test_utility_functions.sh +0 -144
  526. package/scripts/tests/unit/test_wave1_alias_split.sh +0 -132
  527. package/scripts/tests/unit/test_wave1_ci_pinning.sh +0 -61
  528. package/scripts/tests/unit/test_wave1_gitleaks_config.sh +0 -52
  529. package/scripts/tests/unit/test_wave1_heal_fixes.sh +0 -97
  530. package/scripts/tests/unit/test_wave1_install_gpg.sh +0 -35
  531. package/scripts/tests/unit/test_wave1_zshenv_path.sh +0 -89
  532. package/scripts/tests/unit/test_wave1_zshrc_lazy_hook.sh +0 -115
  533. package/scripts/tests/unit/test_wave2_dot_new_guard.sh +0 -75
  534. package/scripts/tests/unit/test_zipf.sh +0 -76
  535. /package/docs/{LEGACY_ROADMAP.md → archive/LEGACY_ROADMAP.md} +0 -0
  536. /package/docs/{REPO_AUDIT.md → archive/REPO_AUDIT.md} +0 -0
  537. /package/docs/{KEY_ROTATION.md → security/KEY_ROTATION.md} +0 -0
  538. /package/dot_config/ansible/{ansible.cfg.tmpl → ansible.cfg} +0 -0
  539. /package/dot_config/docker/{config.json.tmpl → config.json} +0 -0
  540. /package/dot_config/k9s/{config.yaml.tmpl → config.yaml} +0 -0
  541. /package/dot_config/pypoetry/{config.toml.tmpl → config.toml} +0 -0
  542. /package/dot_config/{pyrightconfig.json.tmpl → pyrightconfig.json} +0 -0
  543. /package/dot_config/tflint/{tflint.hcl.tmpl → tflint.hcl} +0 -0
  544. /package/dot_config/yarn/{yarnrc.yml.tmpl → yarnrc.yml} +0 -0
  545. /package/dot_config/zsh/rc.d/{40-bell.zsh.tmpl → 40-bell.zsh} +0 -0
  546. /package/dot_config/zsh/rc.d/{50-login-fortune.zsh.tmpl → 50-login-fortune.zsh} +0 -0
@@ -1,165 +0,0 @@
1
- # Get started
2
-
3
- ## Overview
4
-
5
- This release provides a modern, universal configuration that `chezmoi` manages across macOS, Linux, and Windows.
6
-
7
- ## Demo walkthrough
8
-
9
- This guide walks you through the key features of the dotfiles after installation.
10
-
11
- ### Step 1: Verify installation
12
-
13
- After running the installer, verify that everything works:
14
-
15
- ```bash
16
- # Check dot CLI is available
17
- dot --version
18
-
19
- # Run health checks
20
- dot doctor
21
-
22
- # View configuration status
23
- dot status
24
- ```
25
-
26
- ### Step 2: Explore the shell
27
-
28
- Your shell comes pre-configured with modern tools:
29
-
30
- ```bash
31
- # Use zoxide for smart directory navigation
32
- z dotfiles # Jump to ~/.dotfiles
33
- z - # Go back
34
-
35
- # Use fzf for fuzzy finding
36
- <Ctrl-R> # Search command history
37
- <Ctrl-T> # Find files
38
-
39
- # Use modern tool replacements
40
- ls # Runs 'eza'
41
- cat file.txt # Runs 'bat'
42
- ```
43
-
44
- ### Step 3: Git workflow
45
-
46
- Git includes helpful aliases:
47
-
48
- ```bash
49
- # Quick status and log
50
- gst # git status
51
- lg # pretty git log graph
52
-
53
- # Stage and commit
54
- ga . # git add
55
- gcm "message" # git commit -m
56
-
57
- # Open lazygit TUI
58
- lgui
59
- ```
60
-
61
- ### Step 4: Tmux basics
62
-
63
- If tmux is running:
64
-
65
- ```bash
66
- # Prefix is Ctrl-a (not Ctrl-b)
67
- <Ctrl-a> c # New window
68
- <Ctrl-a> | # Split vertically
69
- <Ctrl-a> - # Split horizontally
70
- <Ctrl-a> h/j/k/l # Navigate panes (vim-style)
71
- <Ctrl-a> f # Fuzzy session switcher
72
- ```
73
-
74
- ### Step 5: Neovim IDE
75
-
76
- Open Neovim:
77
-
78
- ```bash
79
- nvim .
80
-
81
- # Inside Neovim:
82
- <Space> # Leader key, shows command menu
83
- <Space>ff # Find files
84
- <Space>fg # Live grep
85
- <Space>e # Toggle file tree
86
- ```
87
-
88
- ### Step 6: Docker workflow
89
-
90
- Docker aliases:
91
-
92
- ```bash
93
- dps # List running containers
94
- dco up -d # Docker compose up
95
- dlogsf container # Follow container logs
96
- lzd # Open lazydocker TUI
97
- ```
98
-
99
- ### Step 7: Kubernetes (if enabled)
100
-
101
- Kubernetes aliases:
102
-
103
- ```bash
104
- k get pods # kubectl get pods
105
- kctx # Switch context
106
- kn # Switch namespace
107
- k9 # Open k9s TUI
108
- ```
109
-
110
- ## Core architecture
111
-
112
- - **Chezmoi**: Replaces legacy Makefiles and symlinks with a robust template engine.
113
- - **Universal templates**: `run_onchange_*.sh.tmpl` scripts adapt to OS (Darwin/Linux) automatically.
114
- - **Performance**: Startup time benchmarks at **~16ms** (target: <20ms).
115
-
116
- ## Universal installer
117
-
118
- - **Bootstrap**: `install.sh` enables one-line installation through `curl`.
119
- - **Teleport**: `dot teleport user@host` pushes configs ephemerally to remote servers.
120
- - **Verification**: All syntax checks pass.
121
-
122
- ## Deep integration
123
-
124
- - **macOS**: `defaults` hardening (screensaver, firewall, Finder).
125
- - **Fonts**: Auto-installation of `JetBrainsMono Nerd Font`.
126
- - **Compliance**: Strict XDG Base Directory enforcement.
127
-
128
- ## Self-healing and compliance
129
-
130
- - **Doctor**: `dot doctor` diagnoses drift, paths, and dependencies.
131
- - **Audit**: Dotfiles logs all changes to `~/.local/share/dotfiles.log`.
132
- - **Privacy**: The `privacy-mode` alias disables telemetry.
133
-
134
- ## Verification
135
-
136
- | Test | Status | Notes |
137
- | :--- | :--- | :--- |
138
- | **Syntax** | PASSED | `install.sh`, `pkg.sh`, `teleport.sh` verified. |
139
- | **Performance** | PASSED | **~16ms** Zsh startup time. |
140
- | **Drift** | VARIES | Audit logs may cause minor state drift reports. |
141
- | **Docker** | PASSED | **Ubuntu 26.04** bootstrap verified (`dotfiles:0.2.480`). |
142
-
143
- ## Quick reference card
144
-
145
- | Action | Command |
146
- |--------|---------|
147
- | Update dotfiles | `dot update` |
148
- | Check health | `dot doctor` |
149
- | Show drift | `dot drift` |
150
- | Apply changes | `dot apply` |
151
- | Edit source | `dot edit` |
152
- | Benchmark shell | `dot benchmark` |
153
- | New project | `dot new python myapp` |
154
- | Enter sandbox | `dot sandbox` |
155
-
156
- ## Video tutorial
157
-
158
- A future release will include a video walkthrough. Until then, use this document and the individual tool documentation.
159
-
160
- ## Next steps
161
-
162
- - Customize your shell prompt in `~/.config/starship.toml`
163
- - Add custom aliases in `~/.dotfiles/.chezmoitemplates/aliases/`
164
- - Configure Neovim plugins in `~/.config/nvim/`
165
- - Set up secrets with `dot secrets-init`
@@ -1,55 +0,0 @@
1
- # Clippy Configuration
2
- # Managed by chezmoi - https://github.com/sebastienrousseau/dotfiles
3
- # Reference: https://doc.rust-lang.org/clippy/configuration.html
4
-
5
- # Cognitive complexity threshold (default: 25)
6
- cognitive-complexity-threshold = 30
7
-
8
- # Maximum number of lines in a function (default: 100)
9
- too-many-lines-threshold = 150
10
-
11
- # Maximum number of arguments a function can have (default: 7)
12
- too-many-arguments-threshold = 8
13
-
14
- # Type complexity threshold (default: 250)
15
- type-complexity-threshold = 300
16
-
17
- # Minimum number of struct fields for the 'unreadable_literal' lint (default: 4)
18
- unreadable-literal-lint-fractions = true
19
-
20
- # MSRV - Minimum Supported Rust Version
21
- msrv = "1.75.0"
22
-
23
- # Allowed names for variables
24
- allowed-idents-below-min-chars = ["i", "j", "k", "n", "x", "y", "z", "id", "ok", "rx", "tx"]
25
-
26
- # Documentation requirements
27
- missing-docs-in-crate-items = false
28
-
29
- # Arithmetic side effects
30
- arithmetic-side-effects-allowed = []
31
-
32
- # Disallowed macros
33
- disallowed-macros = []
34
-
35
- # Disallowed methods
36
- disallowed-methods = []
37
-
38
- # Disallowed types
39
- disallowed-types = []
40
-
41
- # Standard macro braces
42
- standard-macro-braces = []
43
-
44
- # Avoid breaking semicolons
45
- avoid-breaking-exported-api = true
46
-
47
- # Allow expect and unwrap in tests
48
- allow-expect-in-tests = true
49
- allow-unwrap-in-tests = true
50
-
51
- # Verbose bit masks
52
- verbose-bit-mask-threshold = 1
53
-
54
- # Allow print statements in tests
55
- allow-print-in-tests = true
@@ -1,19 +0,0 @@
1
- # Version pins for provisioned tools (Linux).
2
- # Override by editing this file or exporting env vars before running.
3
- STARSHIP_TAG="v1.24.1"
4
- ZOXIDE_TAG="0.9.8"
5
- NEOVIM_TAG="v0.11.5"
6
- LAZYGIT_TAG="v0.56.0"
7
- ATUIN_TAG="v18.10.0"
8
- ZELLIJ_TAG="v0.43.1"
9
- UV_TAG="0.9.21"
10
-
11
- # Update & runtime tooling
12
- TOPGRADE_TAG="v16.8.0"
13
- MISE_TAG="v2025.6.5"
14
- YAZI_TAG="v25.4.8"
15
-
16
- # AI CLI Tools
17
- AICHAT_TAG="v0.30.0"
18
- MODS_TAG="v1.8.1"
19
-
@@ -1,8 +0,0 @@
1
- // Minimal Firefox user.js defaults (review before use).
2
- /* global user_pref */
3
- user_pref("browser.startup.page", 3);
4
- user_pref("browser.startup.homepage", "about:home");
5
- user_pref("browser.search.suggest.enabled", false);
6
- user_pref("browser.urlbar.suggest.searches", false);
7
- user_pref("datareporting.healthreport.uploadEnabled", false);
8
- user_pref("toolkit.telemetry.enabled", false);
@@ -1,77 +0,0 @@
1
- {{- $git_name := "" -}}
2
- {{- $git_email := "" -}}
3
- {{- $git_signingkey := "" -}}
4
- {{- $git_signingformat := "ssh" -}}
5
- {{- $name := "" -}}
6
- {{- $email := "" -}}
7
- {{- $signingkey := "" -}}
8
- {{- if hasKey . "git_name" }}{{- $git_name = index . "git_name" -}}{{- end -}}
9
- {{- if hasKey . "git_email" }}{{- $git_email = index . "git_email" -}}{{- end -}}
10
- {{- if hasKey . "git_signingkey" }}{{- $git_signingkey = index . "git_signingkey" -}}{{- end -}}
11
- {{- if hasKey . "git_signingformat" }}{{- $git_signingformat = index . "git_signingformat" -}}{{- end -}}
12
- {{- if hasKey . "name" }}{{- $name = index . "name" -}}{{- end -}}
13
- {{- if hasKey . "email" }}{{- $email = index . "email" -}}{{- end -}}
14
- {{- if hasKey . "signingkey" }}{{- $signingkey = index . "signingkey" -}}{{- end -}}
15
-
16
- {{- if and (not $git_name) $name }}{{- $git_name = $name -}}{{- end -}}
17
- {{- if and (not $git_email) $email }}{{- $git_email = $email -}}{{- end -}}
18
- {{- if and (not $git_signingkey) $signingkey }}{{- $git_signingkey = $signingkey -}}{{- end -}}
19
-
20
- [user]
21
- {{- if $git_name }}
22
- name = {{ $git_name }}
23
- {{- end }}
24
- {{- if $git_email }}
25
- email = {{ $git_email }}
26
- {{- end }}
27
- {{- if $git_signingkey }}
28
- signingkey = {{ $git_signingkey }}
29
- {{- end }}
30
-
31
- {{- if $git_signingkey }}
32
- [commit]
33
- gpgsign = true
34
-
35
- [gpg]
36
- format = {{ $git_signingformat }}
37
- {{- end }}
38
-
39
- [core]
40
- editor = vim
41
- excludesfile = {{ .chezmoi.homeDir }}/.config/git/ignore
42
- attributesFile = {{ .chezmoi.homeDir }}/.config/git/attributes
43
-
44
- [init]
45
- defaultBranch = main
46
-
47
- [fetch]
48
- prune = true
49
-
50
- [push]
51
- autoSetupRemote = true
52
-
53
- [pull]
54
- rebase = true
55
-
56
- [rerere]
57
- enabled = true
58
-
59
- [maintenance]
60
- auto = true
61
- strategy = incremental
62
-
63
- [worktree]
64
- guessRemote = true
65
-
66
- [delta]
67
- features = decorations
68
- syntax-theme = TwoDark
69
-
70
- [diff]
71
- colorMoved = default
72
-
73
- [filter "lfs"]
74
- clean = git-lfs clean -- %f
75
- smudge = git-lfs smudge -- %f
76
- process = git-lfs filter-process
77
- required = true
@@ -1,61 +0,0 @@
1
- #!/usr/bin/env bash
2
- # Go aliases and functions
3
-
4
- # Aliases for common Go commands
5
- alias got='go test ./...'
6
- alias gotr='go test -race ./...'
7
- alias gotv='go test -v ./...'
8
- alias gotc='go test -cover ./...'
9
- alias gom='go mod tidy'
10
- alias gomu='go mod tidy && go mod verify'
11
- alias gob='go build ./...'
12
- alias gor='go run .'
13
- alias gog='go generate ./...'
14
- alias gov='go vet ./...'
15
- alias gof='gofumpt -w .'
16
- alias gol='golangci-lint run'
17
- alias golf='golangci-lint run --fix'
18
-
19
- # Go doc server
20
- alias godocs='godoc -http=:6060'
21
-
22
- # Update all Go tools
23
- go-update-tools() {
24
- echo "Updating Go tools..."
25
- local tools=(
26
- "golang.org/x/tools/gopls@latest"
27
- "github.com/go-delve/delve/cmd/dlv@latest"
28
- "mvdan.cc/gofumpt@latest"
29
- "github.com/golangci/golangci-lint/cmd/golangci-lint@latest"
30
- )
31
- for tool in "${tools[@]}"; do
32
- echo "Installing $tool..."
33
- go install "$tool"
34
- done
35
- echo "Done!"
36
- }
37
-
38
- # Create new Go module
39
- go-new() {
40
- local name="${1:?Usage: go-new <module-name>}"
41
- mkdir -p "$name" && cd "$name" || return
42
- go mod init "$name"
43
- cat > main.go << 'EOF'
44
- package main
45
-
46
- import "fmt"
47
-
48
- func main() {
49
- fmt.Println("Hello, World!")
50
- }
51
- EOF
52
- echo "Created new Go module: $name"
53
- }
54
-
55
- # Run tests with coverage and open in browser
56
- go-cover() {
57
- local profile="${1:-coverage.out}"
58
- go test -coverprofile="$profile" ./...
59
- go tool cover -html="$profile"
60
- rm -f "$profile"
61
- }
@@ -1,24 +0,0 @@
1
- #!/usr/bin/env bash
2
- # Go environment configuration
3
- # Source this file in your shell rc
4
-
5
- # GOPATH and GOBIN
6
- export GOPATH="${GOPATH:-$HOME/go}"
7
- export GOBIN="${GOBIN:-$GOPATH/bin}"
8
-
9
- # Add Go bin to PATH
10
- [[ ":$PATH:" != *":$GOBIN:"* ]] && export PATH="$GOBIN:$PATH"
11
-
12
- # Go environment variables
13
- export GOPROXY="https://proxy.golang.org,direct"
14
- export GOPRIVATE=""
15
- export GOFLAGS="-trimpath"
16
-
17
- # Default build tags (can be overridden per project)
18
- export GOFLAGS="${GOFLAGS} -tags="
19
-
20
- # Enable Go modules
21
- export GO111MODULE="on"
22
-
23
- # CGO settings
24
- export CGO_ENABLED="${CGO_ENABLED:-1}"
@@ -1,13 +0,0 @@
1
- # Ice
2
-
3
- This directory is reserved for Ice preferences/config export.
4
-
5
- If you export settings from Ice, place the exported file here and re-apply with:
6
-
7
- ```bash
8
- chezmoi apply
9
- ```
10
-
11
- ---
12
-
13
- Made with ❤️ by [Sebastien Rousseau](https://github.com/sebastienrousseau)
@@ -1,5 +0,0 @@
1
- # IPython default profile
2
- c = get_config()
3
-
4
- c.TerminalInteractiveShell.confirm_exit = False
5
- c.TerminalInteractiveShell.true_color = True
@@ -1,19 +0,0 @@
1
- # lsd configuration (dotfiles)
2
- classic: false
3
- blocks:
4
- - permission
5
- - user
6
- - group
7
- - size
8
- - date
9
- - name
10
- color:
11
- when: auto
12
- theme: default
13
- icons:
14
- when: auto
15
- theme: fancy
16
- date: relative
17
- sorting:
18
- column: name
19
- dir-grouping: first
@@ -1,9 +0,0 @@
1
- local ls = require("luasnip")
2
- local s = ls.snippet
3
- local t = ls.text_node
4
- local i = ls.insert_node
5
-
6
- return {
7
- s("todo", { t("TODO("), i(1, "name"), t("): "), i(2) }),
8
- s("fixme", { t("FIXME("), i(1, "name"), t("): "), i(2) }),
9
- }
@@ -1,16 +0,0 @@
1
- local ls = require("luasnip")
2
- local s = ls.snippet
3
- local t = ls.text_node
4
- local i = ls.insert_node
5
-
6
- return {
7
- s("def", {
8
- t("def "),
9
- i(1, "name"),
10
- t("("),
11
- i(2),
12
- t("):"),
13
- t({ "", " " }),
14
- i(3, "pass"),
15
- }),
16
- }
@@ -1,53 +0,0 @@
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
@@ -1,13 +0,0 @@
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
@@ -1,31 +0,0 @@
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
@@ -1,70 +0,0 @@
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
@@ -1,42 +0,0 @@
1
- # Topgrade configuration (managed by chezmoi)
2
-
3
- [misc]
4
- {{- if eq .chezmoi.os "darwin" }}
5
- disable = ["vim", "node", "containers", "flatpak", "snap"]
6
- {{- else }}
7
- disable = ["vim", "node", "containers", "firmware"]
8
- {{- end }}
9
- pre_sudo = true
10
-
11
- [pre_commands]
12
-
13
- [post_commands]
14
-
15
- [commands]
16
- "Open WebUI" = "sudo /usr/local/bin/update-open-webui.sh"
17
-
18
- [python]
19
-
20
- [brew]
21
-
22
- [linux]
23
-
24
- [git]
25
-
26
- [chezmoi]
27
-
28
- [mise]
29
-
30
- [npm]
31
-
32
- [vim]
33
-
34
- [firmware]
35
-
36
- [flatpak]
37
-
38
- [containers]
39
-
40
- [rustup]
41
-
42
- [vscode]