@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,86 +0,0 @@
1
- # Taskfile for go-task
2
- # https://taskfile.dev/
3
-
4
- version: '3'
5
-
6
- vars:
7
- PROJECT: '{{.PROJECT | default "project"}}'
8
-
9
- tasks:
10
- default:
11
- desc: Show available tasks
12
- cmds:
13
- - task --list
14
-
15
- # Development
16
- dev:
17
- desc: Run development server
18
- cmds:
19
- - npm run dev
20
-
21
- build:
22
- desc: Build for production
23
- cmds:
24
- - npm run build
25
-
26
- test:
27
- desc: Run tests
28
- cmds:
29
- - npm test
30
-
31
- lint:
32
- desc: Lint code
33
- cmds:
34
- - npm run lint
35
-
36
- fmt:
37
- desc: Format code
38
- cmds:
39
- - npm run format
40
-
41
- # Docker
42
- docker:build:
43
- desc: Build docker image
44
- cmds:
45
- - docker build -t {{.PROJECT}}:latest .
46
-
47
- docker:run:
48
- desc: Run docker container
49
- cmds:
50
- - docker run -it --rm {{.PROJECT}}:latest
51
-
52
- # Dotfiles
53
- dots:apply:
54
- desc: Apply dotfiles
55
- cmds:
56
- - chezmoi apply
57
-
58
- dots:update:
59
- desc: Update dotfiles
60
- cmds:
61
- - chezmoi update
62
-
63
- dots:diff:
64
- desc: Show dotfiles diff
65
- cmds:
66
- - chezmoi diff
67
-
68
- dots:bench:
69
- desc: Benchmark shell startup
70
- cmds:
71
- - ~/.dotfiles/scripts/diagnostics/benchmark.sh
72
-
73
- # System maintenance
74
- update:
75
- desc: Update all package managers
76
- cmds:
77
- - brew update && brew upgrade
78
- - npm update -g
79
- - rustup update
80
-
81
- clean:
82
- desc: Clean system caches
83
- cmds:
84
- - brew cleanup -s
85
- - npm cache clean --force
86
- - docker system prune -f
@@ -1,9 +0,0 @@
1
- plugin "terraform" {
2
- enabled = true
3
- preset = "recommended"
4
- }
5
-
6
- config {
7
- format = "compact"
8
- disabled_by_default = false
9
- }
@@ -1,181 +0,0 @@
1
- {{- $theme := default "catppuccin-mocha" .theme -}}
2
- {{- $status_bg := "#2D1681" -}}
3
- {{- $status_fg := "#FFFFFF" -}}
4
- {{- $accent_blue := "#007ACC" -}}
5
- {{- $accent_red := "#EB0000" -}}
6
- {{- $panel_bg := "#14222A" -}}
7
- {{- if eq $theme "catppuccin-mocha" -}}
8
- {{- $status_bg = "#1e1e2e" -}}
9
- {{- $status_fg = "#cdd6f4" -}}
10
- {{- $accent_blue = "#89b4fa" -}}
11
- {{- $accent_red = "#f38ba8" -}}
12
- {{- $panel_bg = "#181825" -}}
13
- {{- else if eq $theme "catppuccin-latte" -}}
14
- {{- $status_bg = "#eff1f5" -}}
15
- {{- $status_fg = "#4c4f69" -}}
16
- {{- $accent_blue = "#1e66f5" -}}
17
- {{- $accent_red = "#d20f39" -}}
18
- {{- $panel_bg = "#e6e9ef" -}}
19
- {{- end }}
20
-
21
- # ╔══════════════════════════════════════════════════════════════════════════╗
22
- # ║ TMUX CONFIGURATION (Universal) ║
23
- # ╚══════════════════════════════════════════════════════════════════════════╝
24
-
25
- # --- GENERAL SETTINGS ---
26
- set -g default-terminal "xterm-256color"
27
- if-shell 'uname | grep -q Linux' 'set -g default-terminal "tmux-256color"'
28
- set-option -sa terminal-overrides ",*256col*:Tc"
29
-
30
- unbind C-b
31
- set -g prefix C-a
32
- bind C-a send-prefix
33
-
34
- set -g mouse on
35
- set -g history-limit 102400
36
- set -g set-clipboard on
37
- set -g escape-time 10
38
- set -g focus-events on
39
- set -g repeat-time 600
40
- setw -g xterm-keys on
41
- set -g base-index 1
42
- setw -g pane-base-index 1
43
- set -g renumber-windows on
44
- set -g aggressive-resize on
45
- set -g monitor-activity on
46
- set -g visual-activity off
47
- set -g visual-bell off
48
- set -g visual-silence off
49
- setw -g allow-rename off
50
- setw -g automatic-rename off
51
- setw -g mode-keys vi
52
-
53
- # --- COPY MODE (Vim-style) ---
54
-
55
- # Enter copy mode with prefix + [
56
- bind [ copy-mode
57
-
58
- # Vim-style selection and yanking
59
- bind -T copy-mode-vi v send-keys -X begin-selection
60
- bind -T copy-mode-vi C-v send-keys -X rectangle-toggle
61
- bind -T copy-mode-vi y send-keys -X copy-selection-and-cancel
62
- bind -T copy-mode-vi Escape send-keys -X cancel
63
-
64
- # Additional copy mode bindings
65
- bind -T copy-mode-vi H send-keys -X start-of-line
66
- bind -T copy-mode-vi L send-keys -X end-of-line
67
-
68
- # macOS clipboard integration
69
- if-shell 'uname | grep -q Darwin' {
70
- bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "pbcopy"
71
- bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "pbcopy"
72
- bind ] run "pbpaste | tmux load-buffer - && tmux paste-buffer"
73
- }
74
-
75
- # --- SMART NAVIGATION (Neovim + Tmux) ---
76
- # Seamless C-h/j/k/l navigation between Neovim splits and Tmux panes.
77
- # When the active pane runs Neovim, keys are forwarded to it; otherwise
78
- # Tmux handles pane selection directly.
79
- is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
80
- | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|l?n?vim?x?|fzf)(diff)?$'"
81
-
82
- bind -n C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L"
83
- bind -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D"
84
- bind -n C-k if-shell "$is_vim" "send-keys C-k" "select-pane -U"
85
- bind -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R"
86
-
87
- # Restore C-h/j/k/l in copy-mode-vi so scrolling / cursor movement
88
- # is not intercepted by the smart-navigation bindings above.
89
- bind -T copy-mode-vi C-h select-pane -L
90
- bind -T copy-mode-vi C-j select-pane -D
91
- bind -T copy-mode-vi C-k select-pane -U
92
- bind -T copy-mode-vi C-l select-pane -R
93
-
94
- # --- KEY BINDINGS & NAVIGATION ---
95
-
96
- # Reload Config
97
- bind r source-file ~/.config/tmux/tmux.conf \; display "tmux.conf reloaded"
98
-
99
- # Sessionizer (fuzzy session switcher)
100
- bind f run-shell "~/.local/bin/tmux-sessionizer"
101
-
102
- # Window Management
103
- bind -r C-h previous-window
104
- bind -r C-l next-window
105
- bind a last-window
106
- bind Tab last-window
107
- bind N new-window
108
- bind n command-prompt -p "New window name:" "new-window -n '%%'"
109
- bind R command-prompt -p "Rename window:" "rename-window '%%'"
110
- bind X confirm-before -p "kill-window #W? (y/n)" kill-window
111
-
112
- # Splits (Current Path)
113
- bind % split-window -h -c "#{pane_current_path}"
114
- bind '"' split-window -v -c "#{pane_current_path}"
115
- bind '\' split-window -v -c "#{pane_current_path}"
116
- bind | split-window -h -c "#{pane_current_path}"
117
- bind - split-window -v
118
- bind _ split-window -h
119
-
120
- # Pane Navigation (Vim-style)
121
- bind -r h select-pane -L
122
- bind -r j select-pane -D
123
- bind -r k select-pane -U
124
- bind -r l select-pane -R
125
- bind -r z resize-pane -Z
126
-
127
- # Pane Resizing
128
- bind -r H resize-pane -L 5
129
- bind -r J resize-pane -D 5
130
- bind -r K resize-pane -U 5
131
- bind -r L resize-pane -R 5
132
-
133
- # Pane Movement
134
- bind < swap-pane -U
135
- bind > swap-pane -D
136
- bind q kill-pane
137
-
138
- # Session Management
139
- bind C-c new-session
140
- bind C-f command-prompt -p find-session 'switch-client -t %%'
141
- bind K confirm-before -p "kill all sessions? (y/n)" kill-server
142
-
143
- # --- THEME & STATUS BAR ---
144
-
145
- set -g status-bg "{{ $status_bg }}"
146
- set -g status-fg "{{ $status_fg }}"
147
- set -g status-interval 5
148
- set -g status-justify centre
149
- set -g status-left-length 50
150
- set -g status-right-length 50
151
-
152
- # OS-Specific Status Left
153
- if-shell 'uname | grep -q Darwin' 'set -g status-left "#[bg={{ $accent_blue }}] macOS #S #[bg={{ $accent_red }}] #W #[bg={{ $panel_bg }}]"'
154
- if-shell 'uname | grep -q Linux' 'set -g status-left "#[bg={{ $accent_blue }}] Linux #S #[bg={{ $accent_red }}] #W #[bg={{ $panel_bg }}]"'
155
- if-shell 'uname | grep -q MINGW' 'set -g status-left "#[bg={{ $accent_blue }}] Windows #S #[bg={{ $accent_red }}] #W #[bg={{ $panel_bg }}]"'
156
-
157
- set -g status-right "#[fg={{ $status_fg }}] #[bg={{ $panel_bg }}] ⬛ #I #[bg={{ $accent_blue }}] #H #[bg={{ $accent_red }}] %_d %B %I:%M%p "
158
- set -g window-status-current-format "#[bg={{ $status_bg }}]Dotfiles (v0.2.480)"
159
- set -g window-status-current-style "bg={{ $accent_red }}"
160
- set -g window-status-separator ""
161
- set-window-option -g clock-mode-colour "{{ $status_fg }}"
162
- set-window-option -g clock-mode-style 24
163
-
164
- # --- LINUX SPECIFIC ---
165
- if-shell 'uname | grep -q Linux' {
166
- bind -n WheelDownPane select-pane -t= \; send-keys -M
167
- bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy-mode -e; send-keys -M'"
168
- bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "xclip -selection c"
169
- bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -in -selection clipboard"
170
- }
171
-
172
- # --- PLUGINS (TPM) ---
173
- set -g @plugin 'tmux-plugins/tpm'
174
- set -g @plugin 'tmux-plugins/tmux-resurrect'
175
- set -g @plugin 'tmux-plugins/tmux-continuum'
176
-
177
- set -g @continuum-restore 'on'
178
- set -g @continuum-save-interval '15'
179
-
180
- # Initialize TMUX plugin manager
181
- run '~/.tmux/plugins/tpm/tpm'
@@ -1,42 +0,0 @@
1
- # Topgrade configuration (managed by chezmoi)
2
-
3
- [misc]
4
- {{- if eq .chezmoi.os "darwin" }}
5
- disable = ["vim", "node", "containers", "flatpak", "snap"]
6
- {{- else }}
7
- disable = ["vim", "node", "containers", "firmware"]
8
- {{- end }}
9
- pre_sudo = true
10
-
11
- [pre_commands]
12
-
13
- [post_commands]
14
-
15
- [commands]
16
- "Open WebUI" = "sudo /usr/local/bin/update-open-webui.sh"
17
-
18
- [python]
19
-
20
- [brew]
21
-
22
- [linux]
23
-
24
- [git]
25
-
26
- [chezmoi]
27
-
28
- [mise]
29
-
30
- [npm]
31
-
32
- [vim]
33
-
34
- [firmware]
35
-
36
- [flatpak]
37
-
38
- [containers]
39
-
40
- [rustup]
41
-
42
- [vscode]
@@ -1,11 +0,0 @@
1
- # VS Code extensions (one per line).
2
- # Theme Extensions - Required for Catppuccin theme switching
3
- Catppuccin.catppuccin-vsc
4
- Catppuccin.catppuccin-vsc-icons
5
-
6
- # Additional recommended extensions for theme support
7
- enkia.tokyo-night
8
-
9
- # Development Extensions (examples)
10
- # ms-python.python
11
- # golang.Go
@@ -1,123 +0,0 @@
1
- {
2
- // Theme Configuration - Dynamically set based on chezmoi theme variable
3
- {{- if eq .theme "catppuccin-latte" }}
4
- "workbench.colorTheme": "Catppuccin Latte",
5
- "workbench.preferredDarkColorTheme": "Catppuccin Mocha",
6
- "workbench.preferredLightColorTheme": "Catppuccin Latte",
7
- {{- else if eq .theme "catppuccin-frappe" }}
8
- "workbench.colorTheme": "Catppuccin Frappé",
9
- "workbench.preferredDarkColorTheme": "Catppuccin Frappé",
10
- "workbench.preferredLightColorTheme": "Catppuccin Latte",
11
- {{- else if eq .theme "catppuccin-macchiato" }}
12
- "workbench.colorTheme": "Catppuccin Macchiato",
13
- "workbench.preferredDarkColorTheme": "Catppuccin Macchiato",
14
- "workbench.preferredLightColorTheme": "Catppuccin Latte",
15
- {{- else if eq .theme "catppuccin-mocha" }}
16
- "workbench.colorTheme": "Catppuccin Mocha",
17
- "workbench.preferredDarkColorTheme": "Catppuccin Mocha",
18
- "workbench.preferredLightColorTheme": "Catppuccin Latte",
19
- {{- else if hasPrefix .theme "tokyonight-" }}
20
- // Tokyo Night theme fallback
21
- {{- if eq .theme "tokyonight-day" }}
22
- "workbench.colorTheme": "Tokyo Night Light",
23
- "workbench.preferredLightColorTheme": "Tokyo Night Light",
24
- "workbench.preferredDarkColorTheme": "Tokyo Night",
25
- {{- else }}
26
- "workbench.colorTheme": "Tokyo Night",
27
- "workbench.preferredDarkColorTheme": "Tokyo Night",
28
- "workbench.preferredLightColorTheme": "Tokyo Night Light",
29
- {{- end }}
30
- {{- else }}
31
- // Default to Catppuccin Mocha for unknown themes
32
- "workbench.colorTheme": "Catppuccin Mocha",
33
- "workbench.preferredDarkColorTheme": "Catppuccin Mocha",
34
- "workbench.preferredLightColorTheme": "Catppuccin Latte",
35
- {{- end }}
36
-
37
- // Icon Theme - Use Catppuccin icons when available
38
- "workbench.iconTheme": "catppuccin-perfect",
39
-
40
- // Product Icon Theme
41
- "workbench.productIconTheme": "catppuccin-perfect",
42
-
43
- // Terminal Integration - Match system theme
44
- "terminal.integrated.minimumContrastRatio": 4.5,
45
- {{- if or (hasPrefix .theme "catppuccin-") (eq .theme "catppuccin-latte") }}
46
- "terminal.integrated.drawBoldTextInBrightColors": false,
47
- {{- else }}
48
- "terminal.integrated.drawBoldTextInBrightColors": true,
49
- {{- end }}
50
-
51
- // Font Configuration - Use system terminal font
52
- "editor.fontFamily": "{{ .terminal_font_family }}, 'Fira Code', 'JetBrains Mono', Consolas, 'Courier New', monospace",
53
- "editor.fontSize": {{ .terminal_font_size }},
54
- "editor.fontLigatures": true,
55
- "terminal.integrated.fontFamily": "{{ .terminal_font_family }}",
56
- "terminal.integrated.fontSize": {{ .terminal_font_size }},
57
-
58
- // Editor Configuration
59
- "editor.semanticHighlighting.enabled": true,
60
- "editor.bracketPairColorization.enabled": true,
61
- "editor.guides.bracketPairs": "active",
62
- "editor.renderWhitespace": "boundary",
63
- "editor.rulers": [80, 120],
64
-
65
- // Window Configuration
66
- "window.autoDetectColorScheme": false,
67
- "window.titleBarStyle": "custom",
68
- {{- if hasPrefix .theme "catppuccin-" }}
69
- "workbench.colorCustomizations": {
70
- {{- if eq .theme "catppuccin-latte" }}
71
- "titleBar.activeBackground": "#eff1f5",
72
- "titleBar.activeForeground": "#4c4f69"
73
- {{- else if eq .theme "catppuccin-frappe" }}
74
- "titleBar.activeBackground": "#303446",
75
- "titleBar.activeForeground": "#c6d0f5"
76
- {{- else if eq .theme "catppuccin-macchiato" }}
77
- "titleBar.activeBackground": "#24273a",
78
- "titleBar.activeForeground": "#cad3f5"
79
- {{- else if eq .theme "catppuccin-mocha" }}
80
- "titleBar.activeBackground": "#1e1e2e",
81
- "titleBar.activeForeground": "#cdd6f4"
82
- {{- end }}
83
- },
84
- {{- end }}
85
-
86
- // File Explorer
87
- "explorer.confirmDelete": false,
88
- "explorer.confirmDragAndDrop": false,
89
- "explorer.compactFolders": false,
90
-
91
- // Git Integration
92
- "git.autofetch": true,
93
- "git.enableSmartCommit": true,
94
- "git.confirmSync": false,
95
- "scm.diffDecorationsGutter": "all",
96
-
97
- // Extensions Configuration
98
- "extensions.autoUpdate": true,
99
- "extensions.ignoreRecommendations": false,
100
-
101
- // Telemetry
102
- "telemetry.telemetryLevel": "off",
103
-
104
- // Security
105
- "security.workspace.trust.untrustedFiles": "prompt",
106
-
107
- // Files
108
- "files.autoSave": "afterDelay",
109
- "files.autoSaveDelay": 1000,
110
- "files.trimTrailingWhitespace": true,
111
- "files.insertFinalNewline": true,
112
- "files.trimFinalNewlines": true,
113
-
114
- // Search
115
- "search.exclude": {
116
- "**/node_modules": true,
117
- "**/bower_components": true,
118
- "**/*.code-search": true,
119
- "**/dist": true,
120
- "**/build": true,
121
- "**/.git": true
122
- }
123
- }
@@ -1,8 +0,0 @@
1
- * {
2
- font-family: "JetBrainsMono Nerd Font", monospace;
3
- font-size: 12px;
4
- }
5
-
6
- #clock {
7
- padding: 0 10px;
8
- }