@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,52 +0,0 @@
1
- # Neovim
2
-
3
- ## Discover
4
-
5
- ### 1. Modern Core
6
- - **Installation**: Uses Neovim Nightly (v0.11+) for the latest features and plugin compatibility.
7
- - **Configuration**: A modular and lazy-loaded configuration based on `lazy.nvim`.
8
- - **UI**: A beautiful and functional UI with a dashboard, status line, buffer line, and file explorer.
9
- - **LSP**: Full LSP support for diagnostics, code actions, and more, managed by `mason.nvim`.
10
-
11
- ### 2. Language Support
12
- - **Rust**: Out-of-the-box support for Rust development with `rustaceanvim`.
13
- - **Python**: Full support for Python development with `basedpyright`, `ruff`, and `venv-selector`.
14
- - **Web**: Support for web development with `prettier` and `eslint`.
15
-
16
- ### 3. AI Integration
17
- - **Copilot**: `copilot.lua` for code completion. Run `:Copilot auth` to sign in.
18
- - **Copilot Chat**: AI sidebar for asking questions and getting help (`<leader>cc`).
19
-
20
- ### 4. VS Code Parity
21
- - **Problem Panel**: `trouble.nvim` for a VS Code-like problems panel (`<leader>xx`).
22
- - **Search & Replace**: `nvim-spectre` for project-wide search and replace (`<leader>S`).
23
- - **Auto-Pairs**: Automatically closes brackets and pairs.
24
- - **TODOs**: Highlights `TODO` and `FIXME` comments.
25
- - **Session**: Auto-restores your last session.
26
-
27
- ## Keybindings
28
- | Key | Action |
29
- | --- | --- |
30
- | `<Space>ff` | Find Files |
31
- | `<Space>fg` | Grep (Search) text |
32
- | `<Space>fb` | File browser |
33
- | `<Space>fp` | Projects |
34
- | `<Space>e` | Toggle File Explorer |
35
- | `<Space>a` | Add file to Harpoon |
36
- | `<Ctrl>e` | Open Harpoon menu |
37
- | `gd` | Go to Definition |
38
- | `gr` | Go to References |
39
- | `<leader>ca` | Code actions |
40
- | `<leader>cf` | Format code |
41
- | `<leader>cr` | Rename symbol |
42
- | `<leader>tt` | Toggle terminal |
43
- | `<leader>tn` | Test nearest |
44
- | `<leader>tf` | Test file |
45
- | `<leader>ts` | Test suite |
46
- | `<F5>` | Continue (Debug) |
47
- | `<F10>` | Step over (Debug) |
48
- | `<F11>` | Step into (Debug) |
49
- | `<F12>` | Step out (Debug) |
50
- | `<leader>cc` | Toggle Copilot Chat |
51
- | `<leader>xx` | Toggle Diagnostics (Trouble) |
52
- | `<leader>S` | Toggle Spectre (Search/Replace) |
package/docs/README.md DELETED
@@ -1,269 +0,0 @@
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>
@@ -1,23 +0,0 @@
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`).
@@ -1,116 +0,0 @@
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
package/docs/SECRETS.md DELETED
@@ -1,76 +0,0 @@
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.
package/docs/SECURITY.md DELETED
@@ -1,30 +0,0 @@
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.