@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,137 +0,0 @@
1
- #!/bin/sh
2
- # Interactive Tour using Gum
3
- # Part of Dotfiles v0.2.480
4
-
5
- if ! command -v gum >/dev/null; then
6
- echo "Error: 'gum' is not installed."
7
- case "$(uname -s)" in
8
- Darwin)
9
- echo "Install: brew install gum"
10
- ;;
11
- Linux)
12
- if command -v snap >/dev/null; then
13
- echo "Install: sudo snap install gum --classic"
14
- else
15
- echo "Install: go install github.com/charmbracelet/gum@latest"
16
- fi
17
- ;;
18
- *)
19
- echo "Install gum from: https://github.com/charmbracelet/gum"
20
- ;;
21
- esac
22
- exit 1
23
- fi
24
-
25
- clear
26
-
27
- # Intro (match UI header style)
28
- banner='██████╗ ██████╗ ████████╗███████╗██╗██╗ ███████╗███████╗
29
- ██╔══██╗██╔═══██╗╚══██╔══╝██╔════╝██║██║ ██╔════╝██╔════╝
30
- ██║ ██║██║ ██║ ██║ █████╗ ██║██║ █████╗ ███████╗
31
- ██║ ██║██║ ██║ ██║ ██╔══╝ ██║██║ ██╔══╝ ╚════██║
32
- ██████╔╝╚██████╔╝ ██║ ██║ ██║███████╗███████╗███████║
33
- ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝
34
-
35
- v0.2.480 · Infrastructure‑grade shell environment'
36
-
37
- gum style \
38
- --foreground 212 --border-foreground 212 --border double \
39
- --align center --margin "1 2" --padding "1 2" \
40
- "$banner"
41
-
42
- echo ""
43
- gum confirm "Start a quick tour?" || exit 0
44
- clear
45
-
46
- # Slide 1: Start here
47
- gum style \
48
- --foreground 99 --border rounded --padding "1 2" --margin "1 2" \
49
- "Start here" \
50
- "Apply your setup. Keep it repeatable." \
51
- " " \
52
- "dot apply # Apply your dotfiles" \
53
- "dot update # Pull and apply updates" \
54
- "dot diff # Review local changes" \
55
- "dot drift # Snapshot config drift"
56
-
57
- echo ""
58
- gum confirm "Next: Check health" || exit 0
59
- clear
60
-
61
- # Slide 2: Diagnostics
62
- gum style \
63
- --foreground 75 --border rounded --padding "1 2" --margin "1 2" \
64
- "Check health" \
65
- "Know what’s working. See what needs attention." \
66
- " " \
67
- "dot doctor # Health checks" \
68
- "dot history # History analysis" \
69
- "dot benchmark # Startup timing"
70
-
71
- echo ""
72
- gum confirm "Next: Secrets" || exit 0
73
- clear
74
-
75
- # Slide 3: Secrets
76
- gum style \
77
- --foreground 214 --border rounded --padding "1 2" --margin "1 2" \
78
- "Secrets (age)" \
79
- "Keep sensitive data local and encrypted." \
80
- " " \
81
- "dot secrets-init # Create a key" \
82
- "dot secrets # Edit secrets" \
83
- "dot secrets-create # New encrypted file" \
84
- "dot ssh-key # Encrypt an SSH key"
85
-
86
- echo ""
87
- gum confirm "Next: Security (opt‑in)" || exit 0
88
- clear
89
-
90
- # Slide 4: Security (opt-in)
91
- gum style \
92
- --foreground 150 --border double --padding "1 2" --margin "1 2" \
93
- "Security (opt‑in)" \
94
- "Explicit by design. Nothing changes without your choice." \
95
- " " \
96
- "dot firewall # Firewall hardening" \
97
- "dot telemetry # Disable OS telemetry" \
98
- "dot dns-doh # DNS‑over‑HTTPS (Linux)" \
99
- "dot lock-screen # Idle lock settings" \
100
- "dot usb-safety # Disable automount" \
101
- "dot encrypt-check # Disk encryption status"
102
-
103
- echo ""
104
- gum confirm "Next: Themes & UX" || exit 0
105
- clear
106
-
107
- # Slide 5: Themes & UX
108
- gum style \
109
- --foreground 212 --border rounded --padding "1 2" --margin "1 2" \
110
- "Themes & UX" \
111
- "Make it yours without changing how it works." \
112
- " " \
113
- "dot theme # Switch theme" \
114
- "dot wallpaper # Apply wallpaper" \
115
- "dot fonts # Install Nerd Fonts" \
116
- "dot keys # Keybindings" \
117
- "dot tools # Curated utilities"
118
-
119
- echo ""
120
- gum confirm "Next: Projects & Sandbox" || exit 0
121
- clear
122
-
123
- # Slide 6: Projects & Sandbox
124
- gum style \
125
- --foreground 111 --border rounded --padding "1 2" --margin "1 2" \
126
- "Projects & sandbox" \
127
- "Start quickly. Experiment safely." \
128
- " " \
129
- "dot new <lang> <name> # Templates: python, go, node" \
130
- "dot sandbox # Safe preview (Docker/Podman)" \
131
- "dot edit # Open source in editor"
132
-
133
- echo ""
134
- gum style \
135
- --foreground 212 --margin "1 2" \
136
- "You’re all set. Tip: run 'dot update' weekly to stay current."
137
- echo ""
@@ -1,108 +0,0 @@
1
- #!/usr/bin/env bash
2
- # Update all system packages and tools
3
- # Usage: update [--all|--brew|--apt|--npm|--cargo|--pip]
4
-
5
- set -euo pipefail
6
-
7
- CYAN='\033[0;36m'
8
- GREEN='\033[0;32m'
9
- YELLOW='\033[1;33m'
10
- NC='\033[0m'
11
-
12
- log_section() { echo -e "\n${CYAN}━━━ $1 ━━━${NC}"; }
13
- log_success() { echo -e "${GREEN}✓${NC} $1"; }
14
- log_skip() { echo -e "${YELLOW}○${NC} $1 (skipped)"; }
15
-
16
- # Parse arguments
17
- UPDATE_ALL=true
18
- UPDATE_BREW=false
19
- UPDATE_APT=false
20
- UPDATE_NPM=false
21
- UPDATE_CARGO=false
22
- UPDATE_PIP=false
23
-
24
- for arg in "$@"; do
25
- case "$arg" in
26
- --all) UPDATE_ALL=true ;;
27
- --brew) UPDATE_BREW=true; UPDATE_ALL=false ;;
28
- --apt) UPDATE_APT=true; UPDATE_ALL=false ;;
29
- --npm) UPDATE_NPM=true; UPDATE_ALL=false ;;
30
- --cargo) UPDATE_CARGO=true; UPDATE_ALL=false ;;
31
- --pip) UPDATE_PIP=true; UPDATE_ALL=false ;;
32
- esac
33
- done
34
-
35
- # Homebrew (macOS/Linux)
36
- if $UPDATE_ALL || $UPDATE_BREW; then
37
- if command -v brew >/dev/null 2>&1; then
38
- log_section "Homebrew"
39
- brew update
40
- brew upgrade
41
- brew cleanup
42
- log_success "Homebrew updated"
43
- else
44
- $UPDATE_BREW && log_skip "Homebrew not installed"
45
- fi
46
- fi
47
-
48
- # APT (Debian/Ubuntu)
49
- if $UPDATE_ALL || $UPDATE_APT; then
50
- if command -v apt >/dev/null 2>&1; then
51
- log_section "APT"
52
- sudo apt update
53
- sudo apt upgrade -y
54
- sudo apt autoremove -y
55
- log_success "APT packages updated"
56
- else
57
- $UPDATE_APT && log_skip "APT not available"
58
- fi
59
- fi
60
-
61
- # NPM global packages
62
- if $UPDATE_ALL || $UPDATE_NPM; then
63
- if command -v npm >/dev/null 2>&1; then
64
- log_section "NPM"
65
- npm update -g
66
- log_success "NPM packages updated"
67
- else
68
- $UPDATE_NPM && log_skip "NPM not installed"
69
- fi
70
- fi
71
-
72
- # Cargo (Rust)
73
- if $UPDATE_ALL || $UPDATE_CARGO; then
74
- if command -v cargo >/dev/null 2>&1; then
75
- log_section "Cargo"
76
- if command -v cargo-install-update >/dev/null 2>&1; then
77
- cargo install-update -a
78
- else
79
- echo " Install cargo-update for automatic updates: cargo install cargo-update"
80
- fi
81
- rustup update stable 2>/dev/null || true
82
- log_success "Rust toolchain updated"
83
- else
84
- $UPDATE_CARGO && log_skip "Cargo not installed"
85
- fi
86
- fi
87
-
88
- # Pip (Python)
89
- if $UPDATE_ALL || $UPDATE_PIP; then
90
- if command -v pip3 >/dev/null 2>&1; then
91
- log_section "Pip"
92
- pip3 list --outdated --format=json | python3 -c "import json,sys; print('\n'.join([p['name'] for p in json.load(sys.stdin)]))" 2>/dev/null | xargs -n1 pip3 install -U 2>/dev/null || true
93
- log_success "Pip packages updated"
94
- else
95
- $UPDATE_PIP && log_skip "Pip not installed"
96
- fi
97
- fi
98
-
99
- # Chezmoi (dotfiles)
100
- if $UPDATE_ALL; then
101
- if command -v chezmoi >/dev/null 2>&1; then
102
- log_section "Dotfiles"
103
- chezmoi update --apply=false 2>/dev/null || true
104
- log_success "Dotfiles checked"
105
- fi
106
- fi
107
-
108
- echo -e "\n${GREEN}Update complete!${NC}"
@@ -1,57 +0,0 @@
1
- #!/usr/bin/env bash
2
- # UUID generator
3
- # Usage: uuid [count] [--upper] [--no-dashes]
4
-
5
- set -euo pipefail
6
-
7
- COUNT=1
8
- UPPER=false
9
- NO_DASHES=false
10
-
11
- while [[ $# -gt 0 ]]; do
12
- case "$1" in
13
- -u|--upper) UPPER=true; shift ;;
14
- -n|--no-dashes) NO_DASHES=true; shift ;;
15
- -h|--help)
16
- echo "Usage: uuid [count] [OPTIONS]"
17
- echo ""
18
- echo "Options:"
19
- echo " -u, --upper Uppercase output"
20
- echo " -n, --no-dashes Remove dashes"
21
- echo " -h, --help Show this help"
22
- echo ""
23
- echo "Examples:"
24
- echo " uuid # Generate 1 UUID"
25
- echo " uuid 5 # Generate 5 UUIDs"
26
- echo " uuid -u # Uppercase UUID"
27
- exit 0
28
- ;;
29
- [0-9]*) COUNT="$1"; shift ;;
30
- *) echo "Unknown option: $1"; exit 1 ;;
31
- esac
32
- done
33
-
34
- generate_uuid() {
35
- local uuid
36
- if command -v uuidgen >/dev/null 2>&1; then
37
- uuid=$(uuidgen)
38
- elif [[ -f /proc/sys/kernel/random/uuid ]]; then
39
- uuid=$(cat /proc/sys/kernel/random/uuid)
40
- else
41
- # Fallback: generate using random data
42
- uuid=$(od -x /dev/urandom | head -1 | awk '{OFS="-"; print $2$3,$4,$5,$6,$7$8$9}')
43
- fi
44
-
45
- # Convert to lowercase first
46
- uuid=$(echo "$uuid" | tr '[:upper:]' '[:lower:]')
47
-
48
- # Apply transformations
49
- $NO_DASHES && uuid=$(echo "$uuid" | tr -d '-')
50
- $UPPER && uuid=$(echo "$uuid" | tr '[:lower:]' '[:upper:]')
51
-
52
- echo "$uuid"
53
- }
54
-
55
- for ((i = 0; i < COUNT; i++)); do
56
- generate_uuid
57
- done
@@ -1,39 +0,0 @@
1
- #!/usr/bin/env bash
2
- # YAML validator
3
- # Usage: yamlv <file> | yamlv (reads stdin)
4
-
5
- set -euo pipefail
6
-
7
- QUIET=false
8
- [[ "${1:-}" == "-q" || "${1:-}" == "--quiet" ]] && { QUIET=true; shift; }
9
-
10
- validate_yaml() {
11
- local input="$1"
12
- if command -v yq >/dev/null 2>&1; then
13
- yq -e '.' <<< "$input" >/dev/null 2>&1
14
- elif command -v python3 >/dev/null 2>&1; then
15
- python3 -c "import yaml; yaml.safe_load('''$input''')" 2>/dev/null
16
- elif command -v ruby >/dev/null 2>&1; then
17
- ruby -ryaml -e "YAML.safe_load(STDIN.read)" <<< "$input" 2>/dev/null
18
- else
19
- echo "Error: yq, python3+pyyaml, or ruby required"
20
- exit 1
21
- fi
22
- }
23
-
24
- # Read input
25
- if [[ $# -gt 0 ]] && [[ -f "$1" ]]; then
26
- INPUT=$(cat "$1")
27
- SOURCE="$1"
28
- else
29
- INPUT=$(cat)
30
- SOURCE="stdin"
31
- fi
32
-
33
- if validate_yaml "$INPUT"; then
34
- $QUIET || echo "✓ Valid YAML ($SOURCE)"
35
- exit 0
36
- else
37
- echo "✗ Invalid YAML ($SOURCE)"
38
- exit 1
39
- fi
@@ -1,89 +0,0 @@
1
- #!/usr/bin/env bash
2
- # Zig version manager - installs/updates zig to ~/.local/zig
3
- # Managed by chezmoi
4
-
5
- set -euo pipefail
6
-
7
- ZIG_DIR="$HOME/.local/zig"
8
- ZIG_VERSION="${1:-latest}"
9
-
10
- get_latest_version() {
11
- curl -sf "https://ziglang.org/download/index.json" | jq -r 'keys | map(select(. != "master" and startswith("0."))) | sort_by(split(".") | map(tonumber)) | last'
12
- }
13
-
14
- get_download_url() {
15
- local version="$1"
16
- local arch
17
- arch=$(uname -m)
18
-
19
- case "$arch" in
20
- x86_64) arch="x86_64" ;;
21
- aarch64) arch="aarch64" ;;
22
- arm64) arch="aarch64" ;;
23
- *) echo "Unsupported architecture: $arch" >&2; exit 1 ;;
24
- esac
25
-
26
- local os
27
- os=$(uname -s | tr '[:upper:]' '[:lower:]')
28
-
29
- if [[ "$version" == "master" ]]; then
30
- curl -sf "https://ziglang.org/download/index.json" | jq -r ".master.\"${arch}-${os}\".tarball"
31
- else
32
- curl -sf "https://ziglang.org/download/index.json" | jq -r ".\"${version}\".\"${arch}-${os}\".tarball"
33
- fi
34
- }
35
-
36
- install_zig() {
37
- local version="$1"
38
-
39
- if [[ "$version" == "latest" ]]; then
40
- version=$(get_latest_version)
41
- fi
42
-
43
- echo "Installing Zig $version..."
44
-
45
- local url
46
- url=$(get_download_url "$version")
47
-
48
- if [[ -z "$url" || "$url" == "null" ]]; then
49
- echo "Error: Could not find download URL for Zig $version" >&2
50
- exit 1
51
- fi
52
-
53
- local tmpdir
54
- tmpdir=$(mktemp -d)
55
- trap "rm -rf $tmpdir" EXIT
56
-
57
- echo "Downloading from $url..."
58
- curl -fSL "$url" -o "$tmpdir/zig.tar.xz"
59
-
60
- echo "Extracting..."
61
- rm -rf "$ZIG_DIR"
62
- mkdir -p "$ZIG_DIR"
63
- tar -xJf "$tmpdir/zig.tar.xz" -C "$ZIG_DIR" --strip-components=1
64
-
65
- echo "Zig $version installed to $ZIG_DIR"
66
- "$ZIG_DIR/zig" version
67
- }
68
-
69
- case "${1:-install}" in
70
- install|latest|master|[0-9]*)
71
- install_zig "$ZIG_VERSION"
72
- ;;
73
- version)
74
- if [[ -x "$ZIG_DIR/zig" ]]; then
75
- "$ZIG_DIR/zig" version
76
- else
77
- echo "Zig not installed"
78
- exit 1
79
- fi
80
- ;;
81
- *)
82
- echo "Usage: zig-install [latest|master|<version>|version]"
83
- echo "Examples:"
84
- echo " zig-install # Install latest stable"
85
- echo " zig-install 0.14.0 # Install specific version"
86
- echo " zig-install master # Install latest master"
87
- echo " zig-install version # Show installed version"
88
- ;;
89
- esac
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env bash
2
- #
3
- # voice_ops.sh - Experimental Voice Operations
4
- #
5
-
6
- echo "VoiceOps is experimental and not yet fully implemented."
7
- echo "This feature will use Whisper for local speech-to-text."
@@ -1,54 +0,0 @@
1
- #!/bin/bash
2
- # Bash completion for the dot CLI
3
- # Source this file or place in /etc/bash_completion.d/ or ~/.local/share/bash-completion/completions/
4
-
5
- _dot_completions() {
6
- local cur prev commands
7
- COMPREPLY=()
8
- cur="${COMP_WORDS[COMP_CWORD]}"
9
- prev="${COMP_WORDS[COMP_CWORD-1]}"
10
-
11
- # Main commands
12
- commands="apply sync update add diff status remove cd drift history doctor keys tools sandbox benchmark tune secrets secrets-init secrets-create ssh-key firewall telemetry dns-doh encrypt-check backup lock-screen usb-safety fonts wallpaper theme upgrade edit docs new log-rotate learn --version help"
13
-
14
- # Subcommand completions
15
- case "${prev}" in
16
- dot)
17
- COMPREPLY=( $(compgen -W "${commands}" -- "${cur}") )
18
- return 0
19
- ;;
20
- add)
21
- # Complete file paths
22
- COMPREPLY=( $(compgen -f -- "${cur}") )
23
- return 0
24
- ;;
25
- new)
26
- # Complete template types
27
- local templates="python go node"
28
- COMPREPLY=( $(compgen -W "${templates}" -- "${cur}") )
29
- return 0
30
- ;;
31
- tools)
32
- # Complete tools subcommands
33
- local subcommands="install"
34
- COMPREPLY=( $(compgen -W "${subcommands}" -- "${cur}") )
35
- return 0
36
- ;;
37
- theme)
38
- # Complete theme options
39
- local themes="dark light"
40
- COMPREPLY=( $(compgen -W "${themes}" -- "${cur}") )
41
- return 0
42
- ;;
43
- keys)
44
- # Allow any search term
45
- return 0
46
- ;;
47
- *)
48
- COMPREPLY=( $(compgen -W "${commands}" -- "${cur}") )
49
- return 0
50
- ;;
51
- esac
52
- }
53
-
54
- complete -F _dot_completions dot
File without changes