@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,537 +0,0 @@
1
- return {
2
- -----------------------------------------------------------------------------
3
- -- 1. Dashboard (Snacks.nvim)
4
- -----------------------------------------------------------------------------
5
- {
6
- "folke/snacks.nvim",
7
- priority = 1000,
8
- lazy = false,
9
- opts = {
10
- dashboard = {
11
- preset = {
12
- header = [[
13
- ██████╗ ██████╗ ████████╗███████╗██╗██╗ ███████╗███████╗
14
- ██╔══██╗██╔═══██╗╚══██╔══╝██╔════╝██║██║ ██╔════╝██╔════╝
15
- ██║ ██║██║ ██║ ██║ █████╗ ██║██║ █████╗ ███████╗
16
- ██║ ██║██║ ██║ ██║ ██╔══╝ ██║██║ ██╔══╝ ╚════██║
17
- ██████╔╝╚██████╔╝ ██║ ██║ ██║███████╗███████╗███████║
18
- ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝
19
-
20
- Simply design to fit your shell life
21
- ]],
22
- keys = {
23
- {
24
- icon = "F",
25
- key = "f",
26
- desc = "Find File",
27
- action = ":lua Snacks.dashboard.pick('files')",
28
- },
29
- { icon = "N", key = "n", desc = "New File", action = ":ene | startinsert" },
30
- {
31
- icon = "G",
32
- key = "g",
33
- desc = "Find Text",
34
- action = ":lua Snacks.dashboard.pick('live_grep')",
35
- },
36
- {
37
- icon = "R",
38
- key = "r",
39
- desc = "Recent Files",
40
- action = ":lua Snacks.dashboard.pick('oldfiles')",
41
- },
42
- { icon = "P", key = "p", desc = "Select Env", action = ":VenvSelect" }, -- Fixed: Specific VS Code-like task
43
- {
44
- icon = "C",
45
- key = "c",
46
- desc = "Config",
47
- action = ":lua Snacks.dashboard.pick('files', {cwd = vim.fn.stdpath('config')})",
48
- },
49
- { icon = "M", key = "m", desc = "Manage Packages", action = ":Lazy" },
50
- { icon = "Q", key = "q", desc = "Quit", action = ":qa" },
51
- },
52
- },
53
- },
54
- },
55
- },
56
-
57
- -----------------------------------------------------------------------------
58
- -- 2. Command Line & Notifications (Noice.nvim) - VS Code feel
59
- -----------------------------------------------------------------------------
60
- {
61
- "folke/noice.nvim",
62
- event = "VeryLazy",
63
- dependencies = { "MunifTanjim/nui.nvim", "rcarriga/nvim-notify" },
64
- opts = {
65
- lsp = {
66
- override = {
67
- ["vim.lsp.util.convert_input_to_markdown_lines"] = true,
68
- ["vim.lsp.util.stylize_markdown"] = true,
69
- ["cmp.entry.get_documentation"] = true,
70
- },
71
- hover = { enabled = true },
72
- signature = { enabled = true },
73
- },
74
- presets = {
75
- bottom_search = true, -- use a classic bottom cmdline for search
76
- command_palette = true, -- position the cmdline and popupmenu together
77
- long_message_to_split = true, -- long messages will be sent to a split
78
- inc_rename = false, -- enables an input dialog for inc-rename.nvim
79
- lsp_doc_border = true, -- add a border to hover docs and signature help
80
- },
81
- notify = { enabled = false }, -- Fix: Allow nvim-notify to handle notifications directly
82
- },
83
- },
84
-
85
- {
86
- "rcarriga/nvim-notify",
87
- opts = {
88
- timeout = 3000,
89
- render = "wrapped-compact",
90
- background_colour = "#000000",
91
- },
92
- },
93
-
94
- -----------------------------------------------------------------------------
95
- -- 3. File Explorer (Nvim-Tree)
96
- -----------------------------------------------------------------------------
97
- {
98
- "nvim-tree/nvim-tree.lua",
99
- cmd = "NvimTreeToggle",
100
- keys = { { "<leader>e", "<cmd>NvimTreeToggle<cr>", desc = "Toggle Explorer" } },
101
- dependencies = { "nvim-tree/nvim-web-devicons" },
102
- config = function()
103
- require("nvim-tree").setup({
104
- sync_root_with_cwd = true,
105
- respect_buf_cwd = true,
106
- update_focused_file = { enable = true, update_root = true },
107
- view = { width = 35, side = "left" },
108
- renderer = {
109
- indent_markers = { enable = true },
110
- icons = {
111
- git_placement = "before",
112
- show = { git = true, folder = true, file = true, folder_arrow = true },
113
- },
114
- },
115
- actions = { open_file = { quit_on_open = false } },
116
- git = { enable = true, ignore = false },
117
- })
118
- end,
119
- },
120
-
121
- -----------------------------------------------------------------------------
122
- -- 4. Status Line (Lualine)
123
- -----------------------------------------------------------------------------
124
- {
125
- "nvim-lualine/lualine.nvim",
126
- event = "VeryLazy",
127
- dependencies = { "nvim-tree/nvim-web-devicons" },
128
- opts = {
129
- options = {
130
- theme = (function()
131
- local theme = vim.env.DOTFILES_THEME or "catppuccin-mocha"
132
- if theme:match("^tokyonight") then
133
- return "tokyonight"
134
- elseif theme:match("^catppuccin") then
135
- return "catppuccin"
136
- elseif theme:match("^rose%-pine") then
137
- return "rose-pine"
138
- elseif theme:match("^gruvbox") then
139
- return "gruvbox"
140
- elseif theme == "dracula" then
141
- return "dracula"
142
- elseif theme == "nord" then
143
- return "nord"
144
- elseif theme:match("^onedark") or theme == "onelight" then
145
- return "onedark"
146
- elseif theme:match("^solarized") then
147
- return "solarized_dark"
148
- else
149
- return "catppuccin"
150
- end
151
- end)(),
152
- globalstatus = true,
153
- component_separators = "|",
154
- section_separators = { left = "", right = "" },
155
- },
156
- sections = {
157
- lualine_a = { { "mode", separator = { left = "" }, right_padding = 2 } },
158
- lualine_b = { "filename", "branch" },
159
- lualine_c = { "diagnostics" },
160
- lualine_x = { "encoding", "fileformat", "filetype" },
161
- lualine_y = { "progress" },
162
- lualine_z = { { "location", separator = { right = "" }, left_padding = 2 } },
163
- },
164
- },
165
- },
166
-
167
- -----------------------------------------------------------------------------
168
- -- 5. Tabs (Bufferline)
169
- -----------------------------------------------------------------------------
170
- {
171
- "akinsho/bufferline.nvim",
172
- event = "VeryLazy",
173
- dependencies = { "nvim-tree/nvim-web-devicons" },
174
- opts = {
175
- options = {
176
- mode = "buffers",
177
- show_buffer_close_icons = false,
178
- show_close_icon = false,
179
- separator_style = "slant",
180
- always_show_bufferline = false,
181
- diagnostics = "nvim_lsp",
182
- diagnostics_indicator = function(_, _, diag)
183
- local icons = { Error = " ", Warn = " ", Info = " " }
184
- local ret = (diag.error and icons.Error .. diag.error .. " " or "")
185
- .. (diag.warning and icons.Warn .. diag.warning or "")
186
- return vim.trim(ret)
187
- end,
188
- },
189
- },
190
- },
191
-
192
- -----------------------------------------------------------------------------
193
- -- 6. Git Integration (Gitsigns)
194
- -----------------------------------------------------------------------------
195
- {
196
- "lewis6991/gitsigns.nvim",
197
- event = { "BufReadPre", "BufNewFile" },
198
- opts = {
199
- signs = {
200
- add = { text = "▎" },
201
- change = { text = "▎" },
202
- delete = { text = "" },
203
- topdelete = { text = "" },
204
- changedelete = { text = "▎" },
205
- untracked = { text = "▎" },
206
- },
207
- current_line_blame = true, -- VS Code style blame ghost text
208
- },
209
- },
210
-
211
- -----------------------------------------------------------------------------
212
- -- 7. Indentation Guides (Indent Blankline)
213
- -----------------------------------------------------------------------------
214
- {
215
- "lukas-reineke/indent-blankline.nvim",
216
- event = { "BufReadPost", "BufNewFile" },
217
- main = "ibl",
218
- opts = {
219
- indent = { char = "│" },
220
- scope = { enabled = true, show_start = false, show_end = false },
221
- },
222
- },
223
-
224
- -----------------------------------------------------------------------------
225
- -- 8. Scrollbar (VS Code Style)
226
- -----------------------------------------------------------------------------
227
- {
228
- "petertriho/nvim-scrollbar",
229
- event = { "BufReadPost", "BufNewFile" },
230
- config = function()
231
- require("scrollbar").setup({
232
- handle = { color = "#504945" },
233
- excluded_filetypes = {
234
- "cmp_menu",
235
- "cmp_docs",
236
- "notify",
237
- "noice",
238
- "prompt",
239
- "TelescopePrompt",
240
- },
241
- })
242
- end,
243
- },
244
-
245
- -----------------------------------------------------------------------------
246
- -- 9. Key Helper (WhichKey)
247
- -----------------------------------------------------------------------------
248
- {
249
- "folke/which-key.nvim",
250
- event = "VeryLazy",
251
- init = function()
252
- vim.o.timeout = true
253
- vim.o.timeoutlen = 300
254
- end,
255
- opts = {
256
- spec = {
257
- { "<leader>c", group = "Code" },
258
- { "<leader>f", group = "Find/File" },
259
- { "<leader>p", group = "Python/Project" },
260
- { "<leader>t", group = "Test/Terminal" },
261
- { "<leader>b", group = "Debug/Buffer" },
262
- { "<leader>g", group = "Git" },
263
- { "<leader>m", group = "Markdown" },
264
- },
265
- },
266
- },
267
-
268
- -----------------------------------------------------------------------------
269
- -- 10. Word Highlighting (Illuminate)
270
- -----------------------------------------------------------------------------
271
- {
272
- "RRethy/vim-illuminate",
273
- event = { "BufReadPost", "BufNewFile" },
274
- opts = {
275
- delay = 200,
276
- large_file_cutoff = 2000,
277
- large_file_overrides = { providers = { "lsp" } },
278
- },
279
- config = function(_, opts)
280
- require("illuminate").configure(opts)
281
- end,
282
- },
283
-
284
- -- Symbols Outline
285
- {
286
- "simrat39/symbols-outline.nvim",
287
- cmd = "SymbolsOutline",
288
- keys = { { "<leader>cs", "<cmd>SymbolsOutline<cr>", desc = "Symbols Outline" } },
289
- config = true,
290
- },
291
-
292
- -- LSP Kind icons
293
- { "onsails/lspkind.nvim", event = "VeryLazy" },
294
-
295
- -- Theme Plugins (Loaded on demand)
296
- { "folke/tokyonight.nvim", name = "tokyonight", lazy = true, priority = 1000 },
297
- { "Mofiqul/dracula.nvim", name = "dracula", lazy = true, priority = 1000 },
298
- { "ellisonleao/gruvbox.nvim", name = "gruvbox", lazy = true, priority = 1000 },
299
- { "shaunsingh/nord.nvim", name = "nord", lazy = true, priority = 1000 },
300
- { "navarasu/onedark.nvim", name = "onedark", lazy = true, priority = 1000 },
301
- { "maxmx03/solarized.nvim", name = "solarized", lazy = true, priority = 1000 },
302
- { "rose-pine/neovim", name = "rose-pine", lazy = true, priority = 1000 },
303
- { "sainnhe/everforest", name = "everforest", lazy = true, priority = 1000 },
304
- { "rebelot/kanagawa.nvim", name = "kanagawa", lazy = true, priority = 1000 },
305
-
306
- -----------------------------------------------------------------------------
307
- -- Lazy Profiling
308
- -----------------------------------------------------------------------------
309
- {
310
- "folke/lazy.nvim",
311
- opts = {
312
- profiling = {
313
- loader = true,
314
- require = true,
315
- },
316
- },
317
- },
318
-
319
- -----------------------------------------------------------------------------
320
- -- Icon Sets
321
- -----------------------------------------------------------------------------
322
- { "nvim-tree/nvim-web-devicons", lazy = true },
323
-
324
- -- Theme Selector (Catppuccin as fallback)
325
- {
326
- "catppuccin/nvim",
327
- name = "catppuccin",
328
- lazy = false,
329
- priority = 1001,
330
- config = function()
331
- local theme = vim.env.DOTFILES_THEME or "catppuccin-mocha"
332
- local function load_theme(name)
333
- local ok, lazy = pcall(require, "lazy")
334
- if ok then
335
- lazy.load({ plugins = { name } })
336
- end
337
- end
338
-
339
- -- Enhanced Catppuccin flavour detection and configuration
340
- if theme:match("^catppuccin") then
341
- load_theme("catppuccin")
342
-
343
- -- Extract flavour from theme name (catppuccin-{flavour})
344
- local flavour = theme:match("catppuccin%-(%w+)")
345
- if not flavour or not vim.tbl_contains({ "latte", "frappe", "macchiato", "mocha" }, flavour) then
346
- flavour = "mocha" -- Default fallback
347
- end
348
-
349
- require("catppuccin").setup({
350
- flavour = flavour,
351
- background = { -- Set background based on flavour
352
- light = "latte",
353
- dark = "mocha",
354
- },
355
- transparent_background = false,
356
- show_end_of_buffer = false,
357
- term_colors = true,
358
- dim_inactive = {
359
- enabled = true,
360
- shade = "dark",
361
- percentage = 0.15,
362
- },
363
- no_italic = false,
364
- no_bold = false,
365
- no_underline = false,
366
- styles = {
367
- comments = { "italic" },
368
- conditionals = { "italic" },
369
- loops = {},
370
- functions = {},
371
- keywords = {},
372
- strings = {},
373
- variables = {},
374
- numbers = {},
375
- booleans = {},
376
- properties = {},
377
- types = {},
378
- operators = {},
379
- },
380
- color_overrides = {},
381
- custom_highlights = {},
382
- integrations = {
383
- cmp = true,
384
- gitsigns = true,
385
- nvimtree = true,
386
- treesitter = true,
387
- notify = true,
388
- mini = {
389
- enabled = true,
390
- indentscope_color = "",
391
- },
392
- symbols_outline = true,
393
- mason = true,
394
- neotest = true,
395
- noice = true,
396
- illuminate = { enabled = true, lsp = false },
397
- which_key = true,
398
- indent_blankline = { enabled = true, scope_color = "surface1", colored_indent_levels = false },
399
- native_lsp = {
400
- enabled = true,
401
- virtual_text = {
402
- errors = { "italic" },
403
- hints = { "italic" },
404
- warnings = { "italic" },
405
- information = { "italic" },
406
- },
407
- underlines = {
408
- errors = { "underline" },
409
- hints = { "underline" },
410
- warnings = { "underline" },
411
- information = { "underline" },
412
- },
413
- inlay_hints = { background = true },
414
- },
415
- telescope = { enabled = true },
416
- lsp_trouble = true,
417
- fidget = true,
418
- barbecue = { dim_dirname = true, bold_basename = true, dim_context = false, alt_background = false },
419
- navic = { enabled = true, custom_bg = "NONE" },
420
- dropbar = { enabled = true, color_mode = false },
421
- bufferline = true,
422
- dashboard = true,
423
- flash = true,
424
- harpoon = true,
425
- leap = true,
426
- markdown = true,
427
- semantic_tokens = true,
428
- treesitter_context = true,
429
- ufo = true,
430
- },
431
- })
432
-
433
- vim.cmd.colorscheme("catppuccin")
434
- return
435
- end
436
-
437
- if theme:match("^tokyonight") then
438
- load_theme("tokyonight")
439
- local style = theme:gsub("tokyonight%-", "")
440
- if style == theme then
441
- style = "night"
442
- end
443
- require("tokyonight").setup({ style = style, light_style = "day" })
444
- vim.cmd.colorscheme("tokyonight-" .. style)
445
- return
446
- end
447
-
448
- if theme == "dracula" then
449
- load_theme("dracula")
450
- require("dracula").setup({})
451
- vim.cmd.colorscheme("dracula")
452
- return
453
- end
454
-
455
- if theme:match("^rose%-pine") then
456
- load_theme("rose-pine")
457
- if theme == "rose-pine-moon" then
458
- vim.cmd.colorscheme("rose-pine-moon")
459
- elseif theme == "rose-pine-dawn" then
460
- vim.cmd.colorscheme("rose-pine-dawn")
461
- else
462
- vim.cmd.colorscheme("rose-pine")
463
- end
464
- return
465
- end
466
-
467
- if theme:match("^everforest") then
468
- load_theme("everforest")
469
- vim.g.everforest_background = "medium"
470
- vim.o.background = (theme == "everforest-light") and "light" or "dark"
471
- vim.cmd.colorscheme("everforest")
472
- return
473
- end
474
-
475
- if theme:match("^kanagawa") then
476
- load_theme("kanagawa")
477
- local variant = "wave"
478
- if theme == "kanagawa-dragon" then
479
- variant = "dragon"
480
- elseif theme == "kanagawa-lotus" then
481
- variant = "lotus"
482
- end
483
- require("kanagawa").setup({ theme = variant })
484
- vim.cmd.colorscheme("kanagawa")
485
- return
486
- end
487
-
488
- if theme:match("^gruvbox") then
489
- load_theme("gruvbox")
490
- vim.o.background = (theme == "gruvbox-light") and "light" or "dark"
491
- require("gruvbox").setup({ contrast = "hard" })
492
- vim.cmd.colorscheme("gruvbox")
493
- return
494
- end
495
-
496
- if theme == "nord" then
497
- load_theme("nord")
498
- require("nord").set()
499
- return
500
- end
501
-
502
- if theme == "onedark" or theme == "onelight" then
503
- load_theme("onedark")
504
- require("onedark").setup({ style = (theme == "onelight") and "light" or "dark" })
505
- vim.cmd.colorscheme("onedark")
506
- return
507
- end
508
-
509
- if theme == "solarized-dark" or theme == "solarized-light" then
510
- load_theme("solarized")
511
- vim.o.background = (theme == "solarized-light") and "light" or "dark"
512
- require("solarized").setup({})
513
- vim.cmd.colorscheme("solarized")
514
- return
515
- end
516
-
517
- -- Fallback to Catppuccin with mocha flavour
518
- load_theme("catppuccin")
519
- require("catppuccin").setup({
520
- flavour = "mocha",
521
- integrations = {
522
- nvimtree = true,
523
- notify = true,
524
- symbols_outline = true,
525
- mason = true,
526
- neotest = true,
527
- noice = true,
528
- gitsigns = true,
529
- illuminate = true,
530
- which_key = true,
531
- indent_blankline = { enabled = true, scope_color = "surface1", colored_indent_levels = false },
532
- },
533
- })
534
- vim.cmd.colorscheme("catppuccin")
535
- end,
536
- },
537
- }
@@ -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,32 +0,0 @@
1
- [global]
2
- disable-pip-version-check = true
3
- cache-dir = ~/.cache/pip
4
- timeout = 60
5
- retries = 3
6
-
7
- [install]
8
- use-pep517 = true
9
- compile = no
10
- progress-bar = on
11
-
12
- # Private PyPI index configuration
13
- # To configure a private index, add to ~/.config/chezmoi/chezmoi.toml:
14
- # [data]
15
- # pypi_index_url = "https://pypi.mycompany.com/simple/"
16
- # pypi_token = "your-token"
17
-
18
- {{- if hasKey . "pypi_index_url" }}
19
- [global]
20
- index-url = {{ .pypi_index_url }}
21
- {{- if hasKey . "pypi_token" }}
22
- # Note: For token auth, use keyring or set PIP_INDEX_URL with embedded credentials
23
- # Or configure in ~/.netrc for the index host
24
- {{- end }}
25
- {{- end }}
26
-
27
- {{- if hasKey . "pypi_extra_index_url" }}
28
- extra-index-url = {{ .pypi_extra_index_url }}
29
- {{- end }}
30
-
31
- [freeze]
32
- timeout = 10
@@ -1,6 +0,0 @@
1
- [virtualenvs]
2
- in-project = true
3
- prefer-active-python = true
4
-
5
- [installer]
6
- parallel = true
@@ -1,5 +0,0 @@
1
- {
2
- "typeCheckingMode": "standard",
3
- "reportMissingTypeStubs": "none",
4
- "pythonVersion": "3.10"
5
- }
@@ -1,13 +0,0 @@
1
- # Raycast
2
-
3
- This directory stores Raycast preferences export/import files.
4
-
5
- 1. Open Raycast.
6
- 2. Export settings: `Raycast Settings -> Advanced -> Export Settings`.
7
- 3. Save the file here, then `chezmoi apply`.
8
-
9
- To restore, import the saved file from Raycast settings.
10
-
11
- ---
12
-
13
- Made with ❤️ by [Sebastien Rousseau](https://github.com/sebastienrousseau)
@@ -1,41 +0,0 @@
1
- # Redis CLI Configuration (~/.config/redis/redisclirc)
2
- # Sourced by redis-cli via REDISCLI_RCFILE environment variable
3
-
4
- # History file location
5
- # Set via: export REDISCLI_HISTFILE=~/.local/share/redis/history
6
-
7
- # Note: redis-cli has limited configuration options.
8
- # Most customization is done via environment variables:
9
- #
10
- # REDISCLI_HISTFILE - History file location
11
- # REDISCLI_AUTH - Default password (not recommended, use --askpass)
12
- # REDISCLI_CLUSTER_SLAVES - Show slave nodes in cluster commands
13
- #
14
- # Common usage patterns:
15
- #
16
- # Connect to local Redis:
17
- # redis-cli
18
- #
19
- # Connect to remote Redis:
20
- # redis-cli -h hostname -p 6379
21
- #
22
- # Connect with authentication:
23
- # redis-cli --askpass
24
- #
25
- # Run command and exit:
26
- # redis-cli PING
27
- #
28
- # Monitor all commands:
29
- # redis-cli MONITOR
30
- #
31
- # Get server info:
32
- # redis-cli INFO
33
- #
34
- # Cluster mode:
35
- # redis-cli -c -h hostname
36
-
37
- # Useful aliases (defined in shell aliases):
38
- # alias redis='redis-cli'
39
- # alias redis-info='redis-cli INFO'
40
- # alias redis-keys='redis-cli --scan'
41
- # alias redis-monitor='redis-cli MONITOR'