@sebastienrousseau/dotfiles 0.2.481 → 0.2.499

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 (317) hide show
  1. package/docs/ARCHITECTURE.md +29 -196
  2. package/docs/COMPLIANCE.md +10 -10
  3. package/docs/COPYRIGHT +3 -4
  4. package/docs/OPERATIONS.md +38 -65
  5. package/docs/PLAN.md +3 -3
  6. package/docs/PR_DESCRIPTION.md +85 -84
  7. package/docs/ROADMAP.md +11 -11
  8. package/docs/ROADMAP_legacy.md +556 -0
  9. package/docs/SECURITY_CHECKLIST.md +1 -1
  10. package/docs/TASK.md +4 -4
  11. package/docs/WALKTHROUGH.md +33 -152
  12. package/package.json +17 -5
  13. package/scripts/backup.sh +142 -0
  14. package/scripts/banner.sh +20 -0
  15. package/scripts/benchmark.sh +20 -0
  16. package/scripts/build.sh +41 -0
  17. package/scripts/clean.sh +31 -0
  18. package/scripts/compile.sh +54 -0
  19. package/scripts/copy.sh +108 -0
  20. package/scripts/{tools/detect-collisions.py → detect-collisions.py} +1 -1
  21. package/scripts/doctor.sh +79 -0
  22. package/scripts/dotfiles.sh +63 -0
  23. package/scripts/download.sh +35 -0
  24. package/scripts/help.sh +57 -0
  25. package/scripts/lock-configs.sh +57 -0
  26. package/scripts/package.sh +46 -0
  27. package/scripts/ssh.sh +55 -0
  28. package/scripts/teleport.sh +23 -0
  29. package/scripts/{tests/test-aliases.sh → test-aliases.sh} +3 -3
  30. package/scripts/test_smoke.sh +88 -0
  31. package/scripts/unpack.sh +28 -0
  32. package/scripts/{diagnostics/verify_state.sh → verify_state.sh} +21 -21
  33. package/templates/projects/go/README.md +0 -4
  34. package/templates/projects/node/README.md +0 -4
  35. package/templates/projects/python/README.md +0 -4
  36. package/templates/projects/python/pyproject.toml +0 -15
  37. package/CHANGELOG.md +0 -285
  38. package/LICENSE +0 -1283
  39. package/README.md +0 -315
  40. package/docs/ALIASES.md +0 -128
  41. package/docs/FEATURES.md +0 -166
  42. package/docs/FONTS.md +0 -147
  43. package/docs/INSTALL.md +0 -119
  44. package/docs/KEYS.md +0 -40
  45. package/docs/KEY_ROTATION.md +0 -219
  46. package/docs/LEGACY_ROADMAP.md +0 -142
  47. package/docs/NEOVIM_IDE_GUIDE.md +0 -52
  48. package/docs/README.md +0 -269
  49. package/docs/REPO_AUDIT.md +0 -23
  50. package/docs/SCREENSHOTS.md +0 -116
  51. package/docs/SECRETS.md +0 -76
  52. package/docs/SECURITY.md +0 -30
  53. package/docs/TESTING.md +0 -190
  54. package/docs/TOOLS.md +0 -146
  55. package/docs/TROUBLESHOOTING.md +0 -112
  56. package/docs/UTILS.md +0 -105
  57. package/docs/WSL2_NIX_TROUBLESHOOTING.md +0 -723
  58. package/docs/adr/ADR-001-ci-cd-pipeline.md +0 -101
  59. package/docs/adr/ADR-002-shell-performance.md +0 -121
  60. package/docs/adr/ADR-003-security-first.md +0 -140
  61. package/docs/adr/ADR-004-cli-architecture.md +0 -157
  62. package/docs/adr/ADR-005-chezmoi-choice.md +0 -89
  63. package/docs/adr/ADR-006-shell-selection.md +0 -115
  64. package/docs/adr/README.md +0 -33
  65. package/docs/themes/README.md +0 -20
  66. package/dot_config/aider/aider.conf.yml +0 -32
  67. package/dot_config/alacritty/alacritty.toml.tmpl +0 -483
  68. package/dot_config/ansible/ansible.cfg.tmpl +0 -11
  69. package/dot_config/atuin/config.toml +0 -23
  70. package/dot_config/bat/config +0 -8
  71. package/dot_config/brave-flags.conf.tmpl +0 -7
  72. package/dot_config/btop/btop.conf +0 -16
  73. package/dot_config/btop/themes/tokyonight.theme +0 -34
  74. package/dot_config/bun/bunfig.toml.tmpl +0 -33
  75. package/dot_config/claude/mcp_servers.json +0 -49
  76. package/dot_config/clippy.toml +0 -55
  77. package/dot_config/containers/containers.conf +0 -14
  78. package/dot_config/curl/dot_curlrc +0 -18
  79. package/dot_config/dlv/config.yml +0 -39
  80. package/dot_config/docker/config.json.tmpl +0 -15
  81. package/dot_config/dotfiles/boot/README.md +0 -11
  82. package/dot_config/dotfiles/grub/README.md +0 -11
  83. package/dot_config/dotfiles/lock/README.md +0 -11
  84. package/dot_config/dotfiles/versions.env.tmpl +0 -19
  85. package/dot_config/duf/duf.conf +0 -6
  86. package/dot_config/duti/defaults.duti +0 -5
  87. package/dot_config/emoji/emoji.txt +0 -34
  88. package/dot_config/fastfetch/config.jsonc +0 -28
  89. package/dot_config/firefox/user.js +0 -8
  90. package/dot_config/flatpak/flatpak.list +0 -4
  91. package/dot_config/fontconfig/fonts.conf.tmpl +0 -44
  92. package/dot_config/gem/gemrc +0 -9
  93. package/dot_config/gh/config.yml +0 -12
  94. package/dot_config/ghostty/config.tmpl +0 -661
  95. package/dot_config/git/attributes +0 -12
  96. package/dot_config/git/config.tmpl +0 -77
  97. package/dot_config/git/ignore +0 -27
  98. package/dot_config/gnupg/gpg-agent.conf.tmpl +0 -11
  99. package/dot_config/go/aliases.sh +0 -61
  100. package/dot_config/go/env.sh +0 -24
  101. package/dot_config/go/golangci.yml +0 -118
  102. package/dot_config/go/gopls.json +0 -30
  103. package/dot_config/goose/config.yaml +0 -29
  104. package/dot_config/gtk-3.0/gtk.css.tmpl +0 -305
  105. package/dot_config/gtk-3.0/settings.ini.tmpl +0 -66
  106. package/dot_config/gtk-4.0/gtk.css.tmpl +0 -309
  107. package/dot_config/gtk-4.0/settings.ini.tmpl +0 -21
  108. package/dot_config/htop/htoprc +0 -20
  109. package/dot_config/ice/README.md +0 -13
  110. package/dot_config/inputrc +0 -2
  111. package/dot_config/ipython/profile_default/ipython_config.py.tmpl +0 -5
  112. package/dot_config/just/justfile +0 -104
  113. package/dot_config/k9s/config.yaml.tmpl +0 -65
  114. package/dot_config/k9s/skins/catppuccin-mocha.yaml +0 -116
  115. package/dot_config/karabiner/karabiner.json +0 -14
  116. package/dot_config/kitty/kitty.conf.tmpl +0 -517
  117. package/dot_config/lazydocker/config.yml +0 -186
  118. package/dot_config/lazygit/config.yml +0 -23
  119. package/dot_config/lsd/config.yaml +0 -19
  120. package/dot_config/mas/masapps.txt +0 -5
  121. package/dot_config/minikube/config.json +0 -13
  122. package/dot_config/mise/config.toml +0 -41
  123. package/dot_config/mongosh/mongoshrc.js +0 -67
  124. package/dot_config/mycli/myclirc +0 -67
  125. package/dot_config/nano/nanorc +0 -28
  126. package/dot_config/ncdu/config +0 -12
  127. package/dot_config/nvim/init.lua +0 -4
  128. package/dot_config/nvim/lazy-lock.json +0 -27
  129. package/dot_config/nvim/lua/config/autocmds.lua +0 -63
  130. package/dot_config/nvim/lua/config/keymaps.lua +0 -87
  131. package/dot_config/nvim/lua/config/lazy.lua +0 -34
  132. package/dot_config/nvim/lua/config/options.lua +0 -48
  133. package/dot_config/nvim/lua/plugins/coding.lua +0 -234
  134. package/dot_config/nvim/lua/plugins/dap.lua +0 -201
  135. package/dot_config/nvim/lua/plugins/editor.lua +0 -59
  136. package/dot_config/nvim/lua/plugins/git.lua +0 -9
  137. package/dot_config/nvim/lua/plugins/lsp.lua +0 -221
  138. package/dot_config/nvim/lua/plugins/markdown.lua +0 -17
  139. package/dot_config/nvim/lua/plugins/rust.lua +0 -33
  140. package/dot_config/nvim/lua/plugins/sessions.lua +0 -32
  141. package/dot_config/nvim/lua/plugins/ui.lua +0 -537
  142. package/dot_config/nvim/snippets/all.lua +0 -9
  143. package/dot_config/nvim/snippets/python.lua +0 -16
  144. package/dot_config/pip/pip.conf.tmpl +0 -32
  145. package/dot_config/pypoetry/config.toml.tmpl +0 -6
  146. package/dot_config/pyrightconfig.json.tmpl +0 -5
  147. package/dot_config/raycast/README.md +0 -13
  148. package/dot_config/redis/redisclirc +0 -41
  149. package/dot_config/shell/00-container-detect.sh +0 -53
  150. package/dot_config/shell/00-core-paths.sh.tmpl +0 -95
  151. package/dot_config/shell/05-core-safety.sh.tmpl +0 -13
  152. package/dot_config/shell/40-ls-colors.sh.tmpl +0 -31
  153. package/dot_config/shell/50-logic-functions.sh.tmpl +0 -10
  154. package/dot_config/shell/90-theme-switch.sh +0 -70
  155. package/dot_config/shell/90-ux-aliases.sh.tmpl +0 -35
  156. package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +0 -23
  157. package/dot_config/shell/Brewfile +0 -207
  158. package/dot_config/shell/Brewfile.cask +0 -92
  159. package/dot_config/shell/Brewfile.cli +0 -119
  160. package/dot_config/shell/README.md +0 -267
  161. package/dot_config/shell/custom/context_suggest.zsh +0 -68
  162. package/dot_config/shell/custom/error_analysis.zsh +0 -45
  163. package/dot_config/sops/dot_sops.yaml +0 -23
  164. package/dot_config/starship.toml.tmpl +0 -124
  165. package/dot_config/task/Taskfile.yml +0 -86
  166. package/dot_config/tflint/tflint.hcl.tmpl +0 -9
  167. package/dot_config/tmux/tmux.conf.tmpl +0 -181
  168. package/dot_config/topgrade/topgrade.toml.tmpl +0 -42
  169. package/dot_config/vscode/extensions.txt +0 -11
  170. package/dot_config/vscode/settings.json.tmpl +0 -123
  171. package/dot_config/waybar/style.css +0 -8
  172. package/dot_config/wezterm/wezterm.lua.tmpl +0 -236
  173. package/dot_config/wget/wgetrc +0 -12
  174. package/dot_config/yarn/yarnrc.yml.tmpl +0 -36
  175. package/dot_config/yazi/yazi.toml +0 -40
  176. package/dot_config/zellij/config.kdl +0 -79
  177. package/dot_config/zsh/dot_zprofile +0 -13
  178. package/dot_config/zsh/dot_zshenv +0 -6
  179. package/dot_config/zsh/dot_zshrc.tmpl +0 -199
  180. package/dot_config/zsh/rc.d/05-ssh-agent.zsh +0 -5
  181. package/dot_config/zsh/rc.d/10-env.zsh.tmpl +0 -28
  182. package/dot_config/zsh/rc.d/20-zinit.zsh.tmpl +0 -22
  183. package/dot_config/zsh/rc.d/30-options.zsh.tmpl +0 -123
  184. package/dot_config/zsh/rc.d/40-bell.zsh.tmpl +0 -20
  185. package/dot_config/zsh/rc.d/50-login-fortune.zsh.tmpl +0 -9
  186. package/dot_local/bin/executable_ai_core +0 -130
  187. package/dot_local/bin/executable_b64 +0 -59
  188. package/dot_local/bin/executable_dot +0 -178
  189. package/dot_local/bin/executable_dot_completion +0 -55
  190. package/dot_local/bin/executable_epoch +0 -62
  191. package/dot_local/bin/executable_extract +0 -108
  192. package/dot_local/bin/executable_git-ai-commit +0 -160
  193. package/dot_local/bin/executable_git-ai-diff +0 -154
  194. package/dot_local/bin/executable_hash +0 -123
  195. package/dot_local/bin/executable_hex +0 -79
  196. package/dot_local/bin/executable_ip +0 -37
  197. package/dot_local/bin/executable_jsonv +0 -54
  198. package/dot_local/bin/executable_jwt +0 -78
  199. package/dot_local/bin/executable_kill-port +0 -59
  200. package/dot_local/bin/executable_lorem +0 -103
  201. package/dot_local/bin/executable_regex +0 -96
  202. package/dot_local/bin/executable_tmux-sessionizer +0 -187
  203. package/dot_local/bin/executable_tour +0 -137
  204. package/dot_local/bin/executable_update +0 -108
  205. package/dot_local/bin/executable_uuid +0 -57
  206. package/dot_local/bin/executable_yamlv +0 -39
  207. package/dot_local/bin/executable_zig-install +0 -89
  208. package/dot_local/bin/voice_ops +0 -7
  209. package/dot_local/share/bash-completion/completions/dot +0 -54
  210. package/dot_local/share/zsh/completions/.keep +0 -0
  211. package/install.sh +0 -255
  212. package/scripts/ci/validate-ci-config.sh +0 -222
  213. package/scripts/demo/record.sh +0 -41
  214. package/scripts/diagnostics/benchmark.sh +0 -201
  215. package/scripts/diagnostics/doctor.sh +0 -115
  216. package/scripts/diagnostics/drift-dashboard.sh +0 -26
  217. package/scripts/diagnostics/health.sh +0 -356
  218. package/scripts/diagnostics/history-analysis.sh +0 -77
  219. package/scripts/diagnostics/security-score.sh +0 -392
  220. package/scripts/dot/commands/appearance.sh +0 -63
  221. package/scripts/dot/commands/core.sh +0 -130
  222. package/scripts/dot/commands/diagnostics.sh +0 -100
  223. package/scripts/dot/commands/meta.sh +0 -117
  224. package/scripts/dot/commands/restore.sh +0 -209
  225. package/scripts/dot/commands/secrets.sh +0 -81
  226. package/scripts/dot/commands/security.sh +0 -73
  227. package/scripts/dot/commands/tools.sh +0 -228
  228. package/scripts/dot/lib/utils.sh +0 -72
  229. package/scripts/fonts/install-nerd-fonts.sh +0 -59
  230. package/scripts/fonts/patch-fonts.sh +0 -34
  231. package/scripts/ops/chezmoi-apply.sh +0 -42
  232. package/scripts/ops/chezmoi-diff.sh +0 -14
  233. package/scripts/ops/chezmoi-remove.sh +0 -43
  234. package/scripts/ops/chezmoi-update.sh +0 -16
  235. package/scripts/ops/heal.sh +0 -466
  236. package/scripts/ops/health-check.sh +0 -380
  237. package/scripts/ops/rollback.sh +0 -531
  238. package/scripts/ops/teleport.sh +0 -32
  239. package/scripts/secrets/age-init.sh +0 -69
  240. package/scripts/secrets/create-secrets-file.sh +0 -44
  241. package/scripts/secrets/encrypt-ssh-key.sh +0 -42
  242. package/scripts/security/backup.sh +0 -17
  243. package/scripts/security/dns-doh.sh +0 -29
  244. package/scripts/security/encryption-check.sh +0 -39
  245. package/scripts/security/enforce-policies.sh +0 -339
  246. package/scripts/security/firewall.sh +0 -34
  247. package/scripts/security/lock-configs.sh +0 -57
  248. package/scripts/security/lock-screen.sh +0 -33
  249. package/scripts/security/manage-secrets.sh +0 -415
  250. package/scripts/security/telemetry-kill.sh +0 -28
  251. package/scripts/security/usb-safety.sh +0 -29
  252. package/scripts/tests/README.md +0 -241
  253. package/scripts/tests/benchmark.sh +0 -91
  254. package/scripts/tests/framework/assertions.sh +0 -283
  255. package/scripts/tests/framework/mocks.sh +0 -201
  256. package/scripts/tests/framework/test_runner.sh +0 -189
  257. package/scripts/tests/integration/test_install.sh +0 -237
  258. package/scripts/tests/performance/benchmark_runner.sh +0 -156
  259. package/scripts/tests/performance/regression_check.sh +0 -73
  260. package/scripts/tests/performance/stress_test.sh +0 -65
  261. package/scripts/tests/test-docker.sh +0 -48
  262. package/scripts/tests/unit/test_ai_aliases.sh +0 -158
  263. package/scripts/tests/unit/test_ai_cli_checks.sh +0 -47
  264. package/scripts/tests/unit/test_backup.sh +0 -227
  265. package/scripts/tests/unit/test_case_functions.sh +0 -238
  266. package/scripts/tests/unit/test_cd_aliases.sh +0 -367
  267. package/scripts/tests/unit/test_dot_cli.sh +0 -217
  268. package/scripts/tests/unit/test_encode64.sh +0 -67
  269. package/scripts/tests/unit/test_environment.sh +0 -78
  270. package/scripts/tests/unit/test_extract.sh +0 -163
  271. package/scripts/tests/unit/test_framework_edge_cases.sh +0 -113
  272. package/scripts/tests/unit/test_genpass.sh +0 -298
  273. package/scripts/tests/unit/test_install_edge_cases.sh +0 -167
  274. package/scripts/tests/unit/test_installers.sh +0 -172
  275. package/scripts/tests/unit/test_keygen.sh +0 -68
  276. package/scripts/tests/unit/test_logging.sh +0 -96
  277. package/scripts/tests/unit/test_os_detection_comprehensive.sh +0 -388
  278. package/scripts/tests/unit/test_package_managers_comprehensive.sh +0 -321
  279. package/scripts/tests/unit/test_prependpath.sh +0 -66
  280. package/scripts/tests/unit/test_prependpath_refactored.sh +0 -89
  281. package/scripts/tests/unit/test_rd.sh +0 -230
  282. package/scripts/tests/unit/test_security_fixes.sh +0 -130
  283. package/scripts/tests/unit/test_security_scripts.sh +0 -87
  284. package/scripts/tests/unit/test_template_validation.sh +0 -238
  285. package/scripts/tests/unit/test_utility_functions.sh +0 -144
  286. package/scripts/tests/unit/test_wave1_alias_split.sh +0 -132
  287. package/scripts/tests/unit/test_wave1_ci_pinning.sh +0 -61
  288. package/scripts/tests/unit/test_wave1_gitleaks_config.sh +0 -52
  289. package/scripts/tests/unit/test_wave1_heal_fixes.sh +0 -97
  290. package/scripts/tests/unit/test_wave1_install_gpg.sh +0 -35
  291. package/scripts/tests/unit/test_wave1_zshenv_path.sh +0 -89
  292. package/scripts/tests/unit/test_wave1_zshrc_lazy_hook.sh +0 -115
  293. package/scripts/tests/unit/test_wave2_dot_new_guard.sh +0 -75
  294. package/scripts/tests/unit/test_zipf.sh +0 -76
  295. package/scripts/theme/apply-gnome-theme.sh +0 -297
  296. package/scripts/theme/install-boot-logo.sh +0 -61
  297. package/scripts/theme/install-catppuccin-themes.sh +0 -346
  298. package/scripts/theme/install-cursors.sh +0 -24
  299. package/scripts/theme/install-file-icons.sh +0 -25
  300. package/scripts/theme/install-grub-theme.sh +0 -51
  301. package/scripts/theme/install-lock-icon.sh +0 -29
  302. package/scripts/theme/switch.sh +0 -250
  303. package/scripts/theme/wallpaper-rotate.sh +0 -82
  304. package/scripts/theme/wallpaper-sync.sh +0 -42
  305. package/scripts/tools/cmatrix.sh +0 -20
  306. package/scripts/tools/emoji-picker.sh +0 -45
  307. package/scripts/tools/figlet-banner.sh +0 -17
  308. package/scripts/tools/log-rotate.sh +0 -29
  309. package/scripts/tools/lolcat-wrap.sh +0 -18
  310. package/scripts/tools/pipes.sh +0 -47
  311. package/scripts/tuning/linux.sh +0 -175
  312. package/scripts/tuning/macos.sh +0 -46
  313. package/templates/projects/molecule/README.md +0 -7
  314. package/templates/projects/molecule/converge.yml +0 -7
  315. package/templates/projects/molecule/molecule.yml +0 -16
  316. package/templates/projects/packer/README.md +0 -15
  317. package/templates/projects/packer/main.pkr.hcl +0 -15
@@ -1,115 +0,0 @@
1
- # ADR-006: Zsh as Default Shell
2
-
3
- **Status**: Accepted
4
- **Date**: 2026-02-09
5
- **Authors**: @sebastienrousseau
6
-
7
- ## Context
8
-
9
- Choosing a default shell impacts:
10
- - Developer productivity and workflow
11
- - Plugin ecosystem and extensibility
12
- - Cross-platform compatibility
13
- - Startup performance
14
- - Learning curve for new users
15
-
16
- ## Decision
17
-
18
- Use **Zsh** as the default interactive shell with **Zinit** as the plugin manager.
19
-
20
- ### Alternatives Considered
21
-
22
- | Shell | Pros | Cons |
23
- |-------|------|------|
24
- | **Bash** | Universal, stable, POSIX | Limited interactive features |
25
- | **Zsh** | Rich features, great plugins | Slower than bash (mitigated) |
26
- | **Fish** | Modern, user-friendly | Not POSIX, less portable |
27
- | **Nushell** | Structured data, modern | Breaking changes, immature |
28
-
29
- ### Why Zsh
30
-
31
- 1. **Default on macOS**: Pre-installed since Catalina
32
- 2. **Plugin Ecosystem**: Massive library of plugins and themes
33
- 3. **Compatibility**: POSIX-compatible, easy migration from bash
34
- 4. **Completion System**: Superior tab completion
35
- 5. **Customization**: Highly configurable prompt and behavior
36
- 6. **Community**: Large community, well-documented
37
-
38
- ### Why Zinit
39
-
40
- | Plugin Manager | Load Time | Features |
41
- |----------------|-----------|----------|
42
- | Oh-My-Zsh | ~800ms | Monolithic, many plugins |
43
- | Prezto | ~400ms | Faster, modular |
44
- | **Zinit** | ~200ms | Turbo mode, fine control |
45
- | Antibody | ~300ms | Simple, fast |
46
-
47
- Zinit provides:
48
- - **Turbo Mode**: Deferred loading after prompt
49
- - **Ice Modifiers**: Fine-grained control over plugin loading
50
- - **Binary Installation**: Install completions and binaries
51
- - **Profiling**: Built-in load time profiling
52
-
53
- ## Implementation
54
-
55
- ### Shell Layer System
56
-
57
- ```
58
- dot_config/zsh/rc.d/
59
- ├── 00-10: Core (env, history, options)
60
- ├── 20-49: Middleware (zinit, completions)
61
- ├── 50-89: Toolchain (languages, tools)
62
- └── 90-99: UX (prompt, aliases, keybindings)
63
- ```
64
-
65
- ### Zinit Configuration
66
-
67
- ```zsh
68
- # Turbo mode: load after prompt displays
69
- zinit ice wait lucid
70
- zinit light zsh-users/zsh-autosuggestions
71
-
72
- # Synchronous: needed immediately
73
- zinit light zdharma-continuum/fast-syntax-highlighting
74
- ```
75
-
76
- ### Performance Targets
77
-
78
- | Metric | Target | Achieved |
79
- |--------|--------|----------|
80
- | Cold Start | <500ms | ~300ms |
81
- | Warm Start | <200ms | ~150ms |
82
- | Plugin Load | Async | Yes |
83
-
84
- ## Consequences
85
-
86
- ### Positive
87
- - Fast, responsive shell experience
88
- - Rich plugin ecosystem (autosuggestions, syntax highlighting)
89
- - Powerful completion system
90
- - Compatible with existing bash scripts
91
- - Modern prompt with Starship
92
-
93
- ### Negative
94
- - Requires zsh installation on some Linux distros
95
- - Plugin manager adds complexity
96
- - Some bash-isms need adjustment
97
- - Turbo mode can cause brief visual delay
98
-
99
- ### Neutral
100
- - Users can still use bash for scripts
101
- - Configuration more complex than vanilla shell
102
- - Performance monitoring needed
103
-
104
- ## Performance Optimizations
105
-
106
- 1. **Caching**: Compile zsh files to `.zwc` bytecode
107
- 2. **Lazy Loading**: Defer heavy tools (nvm, rvm) until first use
108
- 3. **Turbo Mode**: Load plugins after prompt displays
109
- 4. **Conditional Loading**: Skip unused features
110
-
111
- ## References
112
-
113
- - [Zsh Documentation](https://zsh.sourceforge.io/Doc/)
114
- - [Zinit Wiki](https://zdharma-continuum.github.io/zinit/wiki/)
115
- - [Starship Prompt](https://starship.rs/)
@@ -1,33 +0,0 @@
1
- # Architecture Decision Records
2
-
3
- This directory contains Architecture Decision Records (ADRs) that document
4
- significant architectural decisions made in this project.
5
-
6
- ## Index
7
-
8
- | ADR | Title | Status |
9
- |-----|-------|--------|
10
- | [ADR-001](ADR-001-ci-cd-pipeline.md) | Multi-stage CI/CD Pipeline Design | Accepted |
11
- | [ADR-002](ADR-002-shell-performance.md) | Shell Performance Optimization Strategy | Accepted |
12
- | [ADR-003](ADR-003-security-first.md) | Security-First Approach | Accepted |
13
- | [ADR-004](ADR-004-cli-architecture.md) | Chezmoi + Custom CLI Wrapper Architecture | Accepted |
14
- | [ADR-005](ADR-005-chezmoi-choice.md) | Chezmoi as Dotfiles Manager | Accepted |
15
- | [ADR-006](ADR-006-shell-selection.md) | Zsh as Default Shell | Accepted |
16
-
17
- ## ADR Format
18
-
19
- Each ADR follows this structure:
20
-
21
- - **Status**: Proposed, Accepted, Deprecated, Superseded
22
- - **Context**: The situation and forces at play
23
- - **Decision**: The change being made
24
- - **Consequences**: The resulting context after applying the decision
25
-
26
- ## References
27
-
28
- - [Documenting Architecture Decisions](https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions)
29
- - [ADR Tools](https://github.com/npryce/adr-tools)
30
-
31
- ---
32
-
33
- Made with ❤️ by [Sebastien Rousseau](https://github.com/sebastienrousseau)
@@ -1,20 +0,0 @@
1
- # Theme Gallery
2
-
3
- This folder is for theme screenshots and previews.
4
-
5
- Suggested capture flow:
6
- 1) Run `dot theme set <theme>`.
7
- 2) Open your terminal + Neovim with a representative file.
8
- 3) Capture a screenshot and save here as `terminal-<theme>.png` and `nvim-<theme>.png`.
9
-
10
- Recommended themes to capture:
11
- - tokyonight-night
12
- - tokyonight-day
13
- - rose-pine
14
- - rose-pine-dawn
15
- - kanagawa-wave
16
- - everforest-dark
17
-
18
- ---
19
-
20
- Made with ❤️ by [Sebastien Rousseau](https://github.com/sebastienrousseau)
@@ -1,32 +0,0 @@
1
- # Aider configuration
2
- # https://aider.chat/docs/config/options.html
3
-
4
- # Model settings
5
- model: claude-3-5-sonnet-latest
6
- edit-format: diff
7
-
8
- # Git settings
9
- auto-commits: true
10
- dirty-commits: false
11
- attribute-author: true
12
- attribute-commit-message: true
13
-
14
- # UI settings
15
- dark-mode: true
16
- pretty: true
17
- stream: true
18
-
19
- # Code settings
20
- auto-lint: true
21
- lint-cmd: "npm run lint"
22
- auto-test: false
23
-
24
- # File handling
25
- gitignore: true
26
- aiderignore: true
27
-
28
- # History
29
- restore-chat-history: true
30
-
31
- # Voice (if enabled)
32
- # voice-language: en
@@ -1,483 +0,0 @@
1
- {{- $theme := default "tokyonight-night" .theme -}}
2
- {{- $fontFamily := default "JetBrainsMono Nerd Font" .terminal_font_family -}}
3
- {{- $fontSize := default 12 .terminal_font_size -}}
4
-
5
- [window]
6
- padding = { x = 16, y = 12 }
7
- opacity = 0.9
8
-
9
- [font]
10
- size = {{ $fontSize }}
11
- normal = { family = "{{ $fontFamily }}" }
12
-
13
- [colors.primary]
14
- {{- if eq $theme "tokyonight-night" }}
15
- background = "#1a1b26"
16
- foreground = "#c0caf5"
17
- {{- else if eq $theme "tokyonight-storm" }}
18
- background = "#24283b"
19
- foreground = "#c0caf5"
20
- {{- else if eq $theme "tokyonight-moon" }}
21
- background = "#222436"
22
- foreground = "#c8d3f5"
23
- {{- else if eq $theme "tokyonight-day" }}
24
- background = "#e1e2e7"
25
- foreground = "#3760bf"
26
- {{- else if eq $theme "dracula" }}
27
- background = "#282a36"
28
- foreground = "#f8f8f2"
29
- {{- else if eq $theme "gruvbox-dark" }}
30
- background = "#282828"
31
- foreground = "#d5c4a1"
32
- {{- else if eq $theme "gruvbox-light" }}
33
- background = "#fbf1c7"
34
- foreground = "#504945"
35
- {{- else if eq $theme "nord" }}
36
- background = "#2e3440"
37
- foreground = "#d8dee9"
38
- {{- else if eq $theme "onedark" }}
39
- background = "#282c34"
40
- foreground = "#abb2bf"
41
- {{- else if eq $theme "onelight" }}
42
- background = "#fafafa"
43
- foreground = "#383a42"
44
- {{- else if eq $theme "solarized-dark" }}
45
- background = "#002b36"
46
- foreground = "#93a1a1"
47
- {{- else if eq $theme "solarized-light" }}
48
- background = "#fdf6e3"
49
- foreground = "#586e75"
50
- {{- else if eq $theme "rose-pine" }}
51
- background = "#191724"
52
- foreground = "#e0def4"
53
- {{- else if eq $theme "rose-pine-dawn" }}
54
- background = "#faf4ed"
55
- foreground = "#575279"
56
- {{- else if eq $theme "rose-pine-moon" }}
57
- background = "#232136"
58
- foreground = "#e0def4"
59
- {{- else if eq $theme "everforest-dark" }}
60
- background = "#2f383e"
61
- foreground = "#d3c6aa"
62
- {{- else if eq $theme "everforest-light" }}
63
- background = "#fdf6e3"
64
- foreground = "#5c6a72"
65
- {{- else if eq $theme "kanagawa-wave" }}
66
- background = "#1f1f28"
67
- foreground = "#dcd7ba"
68
- {{- else if eq $theme "kanagawa-dragon" }}
69
- background = "#181616"
70
- foreground = "#c8c093"
71
- {{- else if eq $theme "kanagawa-lotus" }}
72
- background = "#f2ecbc"
73
- foreground = "#545464"
74
- {{- else if eq $theme "catppuccin-latte" }}
75
- background = "#eff1f5"
76
- foreground = "#4c4f69"
77
- {{- else }}
78
- background = "#1e1e2e"
79
- foreground = "#cdd6f4"
80
- {{- end }}
81
-
82
- [colors.normal]
83
- {{- if eq $theme "tokyonight-night" }}
84
- black = "#15161e"
85
- red = "#f7768e"
86
- green = "#9ece6a"
87
- yellow = "#e0af68"
88
- blue = "#7aa2f7"
89
- magenta = "#bb9af7"
90
- cyan = "#7dcfff"
91
- white = "#a9b1d6"
92
- {{- else if eq $theme "tokyonight-storm" }}
93
- black = "#1d202f"
94
- red = "#f7768e"
95
- green = "#9ece6a"
96
- yellow = "#e0af68"
97
- blue = "#7aa2f7"
98
- magenta = "#bb9af7"
99
- cyan = "#7dcfff"
100
- white = "#a9b1d6"
101
- {{- else if eq $theme "tokyonight-moon" }}
102
- black = "#1b1d2b"
103
- red = "#ff757f"
104
- green = "#c3e88d"
105
- yellow = "#ffc777"
106
- blue = "#82aaff"
107
- magenta = "#c099ff"
108
- cyan = "#86e1fc"
109
- white = "#828bb8"
110
- {{- else if eq $theme "tokyonight-day" }}
111
- black = "#b4b5b9"
112
- red = "#f52a65"
113
- green = "#587539"
114
- yellow = "#8c6c3e"
115
- blue = "#2e7de9"
116
- magenta = "#9854f1"
117
- cyan = "#007197"
118
- white = "#6172b0"
119
- {{- else if eq $theme "dracula" }}
120
- black = "#21222c"
121
- red = "#ff5555"
122
- green = "#50fa7b"
123
- yellow = "#f1fa8c"
124
- blue = "#bd93f9"
125
- magenta = "#ff79c6"
126
- cyan = "#8be9fd"
127
- white = "#f8f8f2"
128
- {{- else if eq $theme "gruvbox-dark" }}
129
- black = "#282828"
130
- red = "#fb4934"
131
- green = "#b8bb26"
132
- yellow = "#fabd2f"
133
- blue = "#83a598"
134
- magenta = "#d3869b"
135
- cyan = "#8ec07c"
136
- white = "#d5c4a1"
137
- {{- else if eq $theme "gruvbox-light" }}
138
- black = "#fbf1c7"
139
- red = "#9d0006"
140
- green = "#79740e"
141
- yellow = "#b57614"
142
- blue = "#076678"
143
- magenta = "#8f3f71"
144
- cyan = "#427b58"
145
- white = "#504945"
146
- {{- else if eq $theme "nord" }}
147
- black = "#3b4252"
148
- red = "#bf616a"
149
- green = "#a3be8c"
150
- yellow = "#ebcb8b"
151
- blue = "#81a1c1"
152
- magenta = "#b48ead"
153
- cyan = "#88c0d0"
154
- white = "#e5e9f0"
155
- {{- else if eq $theme "onedark" }}
156
- black = "#282c34"
157
- red = "#e06c75"
158
- green = "#98c379"
159
- yellow = "#e5c07b"
160
- blue = "#61afef"
161
- magenta = "#c678dd"
162
- cyan = "#56b6c2"
163
- white = "#abb2bf"
164
- {{- else if eq $theme "onelight" }}
165
- black = "#fafafa"
166
- red = "#ca1243"
167
- green = "#50a14f"
168
- yellow = "#c18401"
169
- blue = "#4078f2"
170
- magenta = "#a626a4"
171
- cyan = "#0184bc"
172
- white = "#383a42"
173
- {{- else if eq $theme "solarized-dark" }}
174
- black = "#002b36"
175
- red = "#dc322f"
176
- green = "#859900"
177
- yellow = "#b58900"
178
- blue = "#268bd2"
179
- magenta = "#6c71c4"
180
- cyan = "#2aa198"
181
- white = "#93a1a1"
182
- {{- else if eq $theme "solarized-light" }}
183
- black = "#fdf6e3"
184
- red = "#dc322f"
185
- green = "#859900"
186
- yellow = "#b58900"
187
- blue = "#268bd2"
188
- magenta = "#6c71c4"
189
- cyan = "#2aa198"
190
- white = "#586e75"
191
- {{- else if eq $theme "rose-pine" }}
192
- black = "#26233a"
193
- red = "#eb6f92"
194
- green = "#9ccfd8"
195
- yellow = "#f6c177"
196
- blue = "#31748f"
197
- magenta = "#c4a7e7"
198
- cyan = "#9ccfd8"
199
- white = "#e0def4"
200
- {{- else if eq $theme "rose-pine-dawn" }}
201
- black = "#f2e9e1"
202
- red = "#b4637a"
203
- green = "#286983"
204
- yellow = "#ea9d34"
205
- blue = "#56949f"
206
- magenta = "#907aa9"
207
- cyan = "#d7827e"
208
- white = "#575279"
209
- {{- else if eq $theme "rose-pine-moon" }}
210
- black = "#393552"
211
- red = "#eb6f92"
212
- green = "#9ccfd8"
213
- yellow = "#f6c177"
214
- blue = "#3e8fb0"
215
- magenta = "#c4a7e7"
216
- cyan = "#9ccfd8"
217
- white = "#e0def4"
218
- {{- else if eq $theme "everforest-dark" }}
219
- black = "#4b565c"
220
- red = "#e67e80"
221
- green = "#a7c080"
222
- yellow = "#dbbc7f"
223
- blue = "#7fbbb3"
224
- magenta = "#d699b6"
225
- cyan = "#83c092"
226
- white = "#d3c6aa"
227
- {{- else if eq $theme "everforest-light" }}
228
- black = "#829181"
229
- red = "#f85552"
230
- green = "#8da101"
231
- yellow = "#dfa000"
232
- blue = "#3a94c5"
233
- magenta = "#df69ba"
234
- cyan = "#35a77c"
235
- white = "#5c6a72"
236
- {{- else if eq $theme "kanagawa-wave" }}
237
- black = "#1f1f28"
238
- red = "#c34043"
239
- green = "#76946a"
240
- yellow = "#c0a36e"
241
- blue = "#7e9cd8"
242
- magenta = "#957fb8"
243
- cyan = "#6a9589"
244
- white = "#dcd7ba"
245
- {{- else if eq $theme "kanagawa-dragon" }}
246
- black = "#181616"
247
- red = "#c4746e"
248
- green = "#87a987"
249
- yellow = "#c4b28a"
250
- blue = "#8ba4b0"
251
- magenta = "#a292a3"
252
- cyan = "#8ea4a2"
253
- white = "#c8c093"
254
- {{- else if eq $theme "kanagawa-lotus" }}
255
- black = "#e2e0d1"
256
- red = "#c84053"
257
- green = "#6f894e"
258
- yellow = "#77713f"
259
- blue = "#4d699b"
260
- magenta = "#b35b79"
261
- cyan = "#597b75"
262
- white = "#545464"
263
- {{- else if eq $theme "catppuccin-latte" }}
264
- black = "#5c5f77"
265
- red = "#d20f39"
266
- green = "#40a02b"
267
- yellow = "#df8e1d"
268
- blue = "#1e66f5"
269
- magenta = "#ea76cb"
270
- cyan = "#179299"
271
- white = "#acb0be"
272
- {{- else }}
273
- black = "#45475a"
274
- red = "#f38ba8"
275
- green = "#a6e3a1"
276
- yellow = "#f9e2af"
277
- blue = "#89b4fa"
278
- magenta = "#f5c2e7"
279
- cyan = "#94e2d5"
280
- white = "#bac2de"
281
- {{- end }}
282
-
283
- [colors.bright]
284
- # Note: bright black (color8) values adjusted for WCAG 3:1 minimum contrast
285
- {{- if eq $theme "tokyonight-night" }}
286
- black = "#5f6686"
287
- red = "#ff899d"
288
- green = "#9fe044"
289
- yellow = "#faba4a"
290
- blue = "#8db0ff"
291
- magenta = "#c7a9ff"
292
- cyan = "#a4daff"
293
- white = "#c0caf5"
294
- {{- else if eq $theme "tokyonight-storm" }}
295
- black = "#6b7292"
296
- red = "#ff899d"
297
- green = "#9fe044"
298
- yellow = "#faba4a"
299
- blue = "#8db0ff"
300
- magenta = "#c7a9ff"
301
- cyan = "#a4daff"
302
- white = "#c0caf5"
303
- {{- else if eq $theme "tokyonight-moon" }}
304
- black = "#666c95"
305
- red = "#ff8d94"
306
- green = "#c7fb6d"
307
- yellow = "#ffd8ab"
308
- blue = "#9ab8ff"
309
- magenta = "#caabff"
310
- cyan = "#b2ebff"
311
- white = "#c8d3f5"
312
- {{- else if eq $theme "tokyonight-day" }}
313
- black = "#797e9d"
314
- red = "#ff4774"
315
- green = "#5c8524"
316
- yellow = "#a27629"
317
- blue = "#358aff"
318
- magenta = "#a463ff"
319
- cyan = "#007ea8"
320
- white = "#3760bf"
321
- {{- else if eq $theme "dracula" }}
322
- black = "#6272a4"
323
- red = "#ff6e6e"
324
- green = "#69ff94"
325
- yellow = "#ffffa5"
326
- blue = "#d6acff"
327
- magenta = "#ff92df"
328
- cyan = "#a4ffff"
329
- white = "#ffffff"
330
- {{- else if eq $theme "gruvbox-dark" }}
331
- black = "#665c54"
332
- red = "#fb4934"
333
- green = "#b8bb26"
334
- yellow = "#fabd2f"
335
- blue = "#83a598"
336
- magenta = "#d3869b"
337
- cyan = "#8ec07c"
338
- white = "#fbf1c7"
339
- {{- else if eq $theme "gruvbox-light" }}
340
- black = "#bdae93"
341
- red = "#9d0006"
342
- green = "#79740e"
343
- yellow = "#b57614"
344
- blue = "#076678"
345
- magenta = "#8f3f71"
346
- cyan = "#427b58"
347
- white = "#282828"
348
- {{- else if eq $theme "nord" }}
349
- black = "#4c566a"
350
- red = "#bf616a"
351
- green = "#a3be8c"
352
- yellow = "#ebcb8b"
353
- blue = "#81a1c1"
354
- magenta = "#b48ead"
355
- cyan = "#8fbcbb"
356
- white = "#eceff4"
357
- {{- else if eq $theme "onedark" }}
358
- black = "#727680"
359
- red = "#e06c75"
360
- green = "#98c379"
361
- yellow = "#e5c07b"
362
- blue = "#61afef"
363
- magenta = "#c678dd"
364
- cyan = "#56b6c2"
365
- white = "#c8ccd4"
366
- {{- else if eq $theme "onelight" }}
367
- black = "#a0a1a7"
368
- red = "#ca1243"
369
- green = "#50a14f"
370
- yellow = "#c18401"
371
- blue = "#4078f2"
372
- magenta = "#a626a4"
373
- cyan = "#0184bc"
374
- white = "#090a0b"
375
- {{- else if eq $theme "solarized-dark" }}
376
- black = "#657b83"
377
- red = "#dc322f"
378
- green = "#859900"
379
- yellow = "#b58900"
380
- blue = "#268bd2"
381
- magenta = "#6c71c4"
382
- cyan = "#2aa198"
383
- white = "#fdf6e3"
384
- {{- else if eq $theme "solarized-light" }}
385
- black = "#839496"
386
- red = "#dc322f"
387
- green = "#859900"
388
- yellow = "#b58900"
389
- blue = "#268bd2"
390
- magenta = "#6c71c4"
391
- cyan = "#2aa198"
392
- white = "#002b36"
393
- {{- else if eq $theme "rose-pine" }}
394
- black = "#6e6a86"
395
- red = "#eb6f92"
396
- green = "#9ccfd8"
397
- yellow = "#f6c177"
398
- blue = "#31748f"
399
- magenta = "#c4a7e7"
400
- cyan = "#9ccfd8"
401
- white = "#e0def4"
402
- {{- else if eq $theme "rose-pine-dawn" }}
403
- black = "#9893a5"
404
- red = "#b4637a"
405
- green = "#286983"
406
- yellow = "#ea9d34"
407
- blue = "#56949f"
408
- magenta = "#907aa9"
409
- cyan = "#d7827e"
410
- white = "#575279"
411
- {{- else if eq $theme "rose-pine-moon" }}
412
- black = "#6e6a86"
413
- red = "#eb6f92"
414
- green = "#9ccfd8"
415
- yellow = "#f6c177"
416
- blue = "#3e8fb0"
417
- magenta = "#c4a7e7"
418
- cyan = "#9ccfd8"
419
- white = "#e0def4"
420
- {{- else if eq $theme "everforest-dark" }}
421
- black = "#778288"
422
- red = "#e67e80"
423
- green = "#a7c080"
424
- yellow = "#dbbc7f"
425
- blue = "#7fbbb3"
426
- magenta = "#d699b6"
427
- cyan = "#83c092"
428
- white = "#d3c6aa"
429
- {{- else if eq $theme "everforest-light" }}
430
- black = "#829181"
431
- red = "#f85552"
432
- green = "#8da101"
433
- yellow = "#dfa000"
434
- blue = "#3a94c5"
435
- magenta = "#df69ba"
436
- cyan = "#35a77c"
437
- white = "#5c6a72"
438
- {{- else if eq $theme "kanagawa-wave" }}
439
- black = "#6a6a77"
440
- red = "#c34043"
441
- green = "#76946a"
442
- yellow = "#c0a36e"
443
- blue = "#7e9cd8"
444
- magenta = "#957fb8"
445
- cyan = "#6a9589"
446
- white = "#dcd7ba"
447
- {{- else if eq $theme "kanagawa-dragon" }}
448
- black = "#656462"
449
- red = "#c4746e"
450
- green = "#87a987"
451
- yellow = "#c4b28a"
452
- blue = "#8ba4b0"
453
- magenta = "#a292a3"
454
- cyan = "#8ea4a2"
455
- white = "#c8c093"
456
- {{- else if eq $theme "kanagawa-lotus" }}
457
- black = "#e2e0d1"
458
- red = "#c84053"
459
- green = "#6f894e"
460
- yellow = "#77713f"
461
- blue = "#4d699b"
462
- magenta = "#b35b79"
463
- cyan = "#597b75"
464
- white = "#545464"
465
- {{- else if eq $theme "catppuccin-latte" }}
466
- black = "#6c6f85"
467
- red = "#d20f39"
468
- green = "#40a02b"
469
- yellow = "#df8e1d"
470
- blue = "#1e66f5"
471
- magenta = "#ea76cb"
472
- cyan = "#179299"
473
- white = "#bcc0cc"
474
- {{- else }}
475
- black = "#585b70"
476
- red = "#f38ba8"
477
- green = "#a6e3a1"
478
- yellow = "#f9e2af"
479
- blue = "#89b4fa"
480
- magenta = "#f5c2e7"
481
- cyan = "#94e2d5"
482
- white = "#a6adc8"
483
- {{- end }}
@@ -1,11 +0,0 @@
1
- [defaults]
2
- inventory = ./inventory
3
- retry_files_enabled = False
4
- host_key_checking = False
5
- stdout_callback = yaml
6
- nocows = 1
7
-
8
- [privilege_escalation]
9
- become = True
10
- become_method = sudo
11
- become_ask_pass = False