@sebastienrousseau/dotfiles 0.2.469 → 0.2.481

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 (490) hide show
  1. package/CHANGELOG.md +285 -0
  2. package/README.md +236 -319
  3. package/docs/ALIASES.md +128 -0
  4. package/docs/ARCHITECTURE.md +229 -0
  5. package/docs/COMPLIANCE.md +47 -0
  6. package/docs/COPYRIGHT +7 -0
  7. package/docs/FEATURES.md +166 -0
  8. package/docs/FONTS.md +147 -0
  9. package/docs/INSTALL.md +119 -0
  10. package/docs/KEYS.md +40 -0
  11. package/docs/KEY_ROTATION.md +219 -0
  12. package/docs/LEGACY_ROADMAP.md +142 -0
  13. package/docs/NEOVIM_IDE_GUIDE.md +52 -0
  14. package/docs/OPERATIONS.md +130 -0
  15. package/docs/PLAN.md +161 -0
  16. package/docs/PR_DESCRIPTION.md +149 -0
  17. package/docs/README.md +269 -0
  18. package/docs/REPO_AUDIT.md +23 -0
  19. package/docs/ROADMAP.md +148 -0
  20. package/docs/SCREENSHOTS.md +116 -0
  21. package/docs/SECRETS.md +76 -0
  22. package/docs/SECURITY.md +30 -0
  23. package/docs/SECURITY_CHECKLIST.md +25 -0
  24. package/docs/TASK.md +99 -0
  25. package/docs/TESTING.md +190 -0
  26. package/docs/TOOLS.md +146 -0
  27. package/docs/TROUBLESHOOTING.md +112 -0
  28. package/docs/UTILS.md +105 -0
  29. package/docs/WALKTHROUGH.md +165 -0
  30. package/docs/WSL2_NIX_TROUBLESHOOTING.md +723 -0
  31. package/docs/adr/ADR-001-ci-cd-pipeline.md +101 -0
  32. package/docs/adr/ADR-002-shell-performance.md +121 -0
  33. package/docs/adr/ADR-003-security-first.md +140 -0
  34. package/docs/adr/ADR-004-cli-architecture.md +157 -0
  35. package/docs/adr/ADR-005-chezmoi-choice.md +89 -0
  36. package/docs/adr/ADR-006-shell-selection.md +115 -0
  37. package/docs/adr/README.md +33 -0
  38. package/docs/themes/README.md +20 -0
  39. package/dot_config/aider/aider.conf.yml +32 -0
  40. package/dot_config/alacritty/alacritty.toml.tmpl +483 -0
  41. package/dot_config/ansible/ansible.cfg.tmpl +11 -0
  42. package/dot_config/atuin/config.toml +23 -0
  43. package/dot_config/bat/config +8 -0
  44. package/dot_config/brave-flags.conf.tmpl +7 -0
  45. package/dot_config/btop/btop.conf +16 -0
  46. package/dot_config/btop/themes/tokyonight.theme +34 -0
  47. package/dot_config/bun/bunfig.toml.tmpl +33 -0
  48. package/dot_config/claude/mcp_servers.json +49 -0
  49. package/dot_config/clippy.toml +55 -0
  50. package/dot_config/containers/containers.conf +14 -0
  51. package/dot_config/curl/dot_curlrc +18 -0
  52. package/dot_config/dlv/config.yml +39 -0
  53. package/dot_config/docker/config.json.tmpl +15 -0
  54. package/dot_config/dotfiles/boot/README.md +11 -0
  55. package/dot_config/dotfiles/grub/README.md +11 -0
  56. package/dot_config/dotfiles/lock/README.md +11 -0
  57. package/dot_config/dotfiles/versions.env.tmpl +19 -0
  58. package/dot_config/duf/duf.conf +6 -0
  59. package/dot_config/duti/defaults.duti +5 -0
  60. package/dot_config/emoji/emoji.txt +34 -0
  61. package/dot_config/fastfetch/config.jsonc +28 -0
  62. package/dot_config/firefox/user.js +8 -0
  63. package/dot_config/flatpak/flatpak.list +4 -0
  64. package/dot_config/fontconfig/fonts.conf.tmpl +44 -0
  65. package/dot_config/gh/config.yml +12 -0
  66. package/dot_config/ghostty/config.tmpl +661 -0
  67. package/dot_config/git/attributes +12 -0
  68. package/dot_config/git/config.tmpl +77 -0
  69. package/dot_config/git/ignore +27 -0
  70. package/dot_config/gnupg/gpg-agent.conf.tmpl +11 -0
  71. package/dot_config/go/aliases.sh +61 -0
  72. package/dot_config/go/env.sh +24 -0
  73. package/dot_config/go/golangci.yml +118 -0
  74. package/dot_config/go/gopls.json +30 -0
  75. package/dot_config/goose/config.yaml +29 -0
  76. package/dot_config/gtk-3.0/gtk.css.tmpl +305 -0
  77. package/dot_config/gtk-3.0/settings.ini.tmpl +66 -0
  78. package/dot_config/gtk-4.0/gtk.css.tmpl +309 -0
  79. package/dot_config/gtk-4.0/settings.ini.tmpl +21 -0
  80. package/dot_config/htop/htoprc +20 -0
  81. package/dot_config/ice/README.md +13 -0
  82. package/dot_config/inputrc +2 -0
  83. package/dot_config/ipython/profile_default/ipython_config.py.tmpl +5 -0
  84. package/dot_config/just/justfile +104 -0
  85. package/dot_config/k9s/config.yaml.tmpl +65 -0
  86. package/dot_config/k9s/skins/catppuccin-mocha.yaml +116 -0
  87. package/dot_config/karabiner/karabiner.json +14 -0
  88. package/dot_config/kitty/kitty.conf.tmpl +517 -0
  89. package/dot_config/lazydocker/config.yml +186 -0
  90. package/dot_config/lazygit/config.yml +23 -0
  91. package/dot_config/lsd/config.yaml +19 -0
  92. package/dot_config/mas/masapps.txt +5 -0
  93. package/dot_config/minikube/config.json +13 -0
  94. package/dot_config/mise/config.toml +41 -0
  95. package/dot_config/mongosh/mongoshrc.js +67 -0
  96. package/dot_config/mycli/myclirc +67 -0
  97. package/dot_config/nano/nanorc +28 -0
  98. package/dot_config/ncdu/config +12 -0
  99. package/dot_config/nvim/init.lua +4 -0
  100. package/dot_config/nvim/lazy-lock.json +27 -0
  101. package/dot_config/nvim/lua/config/autocmds.lua +63 -0
  102. package/dot_config/nvim/lua/config/keymaps.lua +87 -0
  103. package/dot_config/nvim/lua/config/lazy.lua +34 -0
  104. package/dot_config/nvim/lua/config/options.lua +48 -0
  105. package/dot_config/nvim/lua/plugins/coding.lua +234 -0
  106. package/dot_config/nvim/lua/plugins/dap.lua +201 -0
  107. package/dot_config/nvim/lua/plugins/editor.lua +59 -0
  108. package/dot_config/nvim/lua/plugins/git.lua +9 -0
  109. package/dot_config/nvim/lua/plugins/lsp.lua +221 -0
  110. package/dot_config/nvim/lua/plugins/markdown.lua +17 -0
  111. package/dot_config/nvim/lua/plugins/rust.lua +33 -0
  112. package/dot_config/nvim/lua/plugins/sessions.lua +32 -0
  113. package/dot_config/nvim/lua/plugins/ui.lua +537 -0
  114. package/dot_config/nvim/snippets/all.lua +9 -0
  115. package/dot_config/nvim/snippets/python.lua +16 -0
  116. package/dot_config/pip/pip.conf.tmpl +32 -0
  117. package/dot_config/pypoetry/config.toml.tmpl +6 -0
  118. package/dot_config/pyrightconfig.json.tmpl +5 -0
  119. package/dot_config/raycast/README.md +13 -0
  120. package/dot_config/redis/redisclirc +41 -0
  121. package/dot_config/shell/00-container-detect.sh +53 -0
  122. package/dot_config/shell/00-core-paths.sh.tmpl +95 -0
  123. package/dot_config/shell/05-core-safety.sh.tmpl +13 -0
  124. package/dot_config/shell/40-ls-colors.sh.tmpl +31 -0
  125. package/dot_config/shell/50-logic-functions.sh.tmpl +10 -0
  126. package/dot_config/shell/90-theme-switch.sh +70 -0
  127. package/dot_config/shell/90-ux-aliases.sh.tmpl +35 -0
  128. package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +23 -0
  129. package/dot_config/shell/Brewfile +207 -0
  130. package/dot_config/shell/Brewfile.cask +92 -0
  131. package/dot_config/shell/Brewfile.cli +119 -0
  132. package/dot_config/shell/README.md +267 -0
  133. package/dot_config/shell/custom/context_suggest.zsh +68 -0
  134. package/dot_config/shell/custom/error_analysis.zsh +45 -0
  135. package/dot_config/sops/dot_sops.yaml +23 -0
  136. package/dot_config/starship.toml.tmpl +124 -0
  137. package/dot_config/task/Taskfile.yml +86 -0
  138. package/dot_config/tflint/tflint.hcl.tmpl +9 -0
  139. package/dot_config/tmux/tmux.conf.tmpl +181 -0
  140. package/dot_config/topgrade/topgrade.toml.tmpl +42 -0
  141. package/dot_config/vscode/extensions.txt +11 -0
  142. package/dot_config/vscode/settings.json.tmpl +123 -0
  143. package/dot_config/waybar/style.css +8 -0
  144. package/dot_config/wezterm/wezterm.lua.tmpl +236 -0
  145. package/dot_config/wget/wgetrc +12 -0
  146. package/dot_config/yarn/yarnrc.yml.tmpl +36 -0
  147. package/dot_config/yazi/yazi.toml +40 -0
  148. package/dot_config/zellij/config.kdl +79 -0
  149. package/dot_config/zsh/dot_zprofile +13 -0
  150. package/dot_config/zsh/dot_zshenv +6 -0
  151. package/dot_config/zsh/dot_zshrc.tmpl +199 -0
  152. package/dot_config/zsh/rc.d/05-ssh-agent.zsh +5 -0
  153. package/dot_config/zsh/rc.d/10-env.zsh.tmpl +28 -0
  154. package/dot_config/zsh/rc.d/20-zinit.zsh.tmpl +22 -0
  155. package/dot_config/zsh/rc.d/30-options.zsh.tmpl +123 -0
  156. package/dot_config/zsh/rc.d/40-bell.zsh.tmpl +20 -0
  157. package/dot_config/zsh/rc.d/50-login-fortune.zsh.tmpl +9 -0
  158. package/dot_local/bin/executable_ai_core +130 -0
  159. package/dot_local/bin/executable_b64 +59 -0
  160. package/dot_local/bin/executable_dot +178 -0
  161. package/dot_local/bin/executable_dot_completion +55 -0
  162. package/dot_local/bin/executable_epoch +62 -0
  163. package/dot_local/bin/executable_extract +108 -0
  164. package/dot_local/bin/executable_git-ai-commit +160 -0
  165. package/dot_local/bin/executable_git-ai-diff +154 -0
  166. package/dot_local/bin/executable_hash +123 -0
  167. package/dot_local/bin/executable_hex +79 -0
  168. package/dot_local/bin/executable_ip +37 -0
  169. package/dot_local/bin/executable_jsonv +54 -0
  170. package/dot_local/bin/executable_jwt +78 -0
  171. package/dot_local/bin/executable_kill-port +59 -0
  172. package/dot_local/bin/executable_lorem +103 -0
  173. package/dot_local/bin/executable_regex +96 -0
  174. package/dot_local/bin/executable_tmux-sessionizer +187 -0
  175. package/dot_local/bin/executable_tour +137 -0
  176. package/dot_local/bin/executable_update +108 -0
  177. package/dot_local/bin/executable_uuid +57 -0
  178. package/dot_local/bin/executable_yamlv +39 -0
  179. package/dot_local/bin/executable_zig-install +89 -0
  180. package/dot_local/bin/voice_ops +7 -0
  181. package/dot_local/share/bash-completion/completions/dot +54 -0
  182. package/dot_local/share/zsh/completions/.keep +0 -0
  183. package/install.sh +255 -0
  184. package/package.json +52 -76
  185. package/scripts/ci/validate-ci-config.sh +222 -0
  186. package/scripts/demo/record.sh +41 -0
  187. package/scripts/diagnostics/benchmark.sh +201 -0
  188. package/scripts/diagnostics/doctor.sh +115 -0
  189. package/scripts/diagnostics/drift-dashboard.sh +26 -0
  190. package/scripts/diagnostics/health.sh +356 -0
  191. package/scripts/diagnostics/history-analysis.sh +77 -0
  192. package/scripts/diagnostics/security-score.sh +392 -0
  193. package/scripts/diagnostics/verify_state.sh +60 -0
  194. package/scripts/dot/commands/appearance.sh +63 -0
  195. package/scripts/dot/commands/core.sh +130 -0
  196. package/scripts/dot/commands/diagnostics.sh +100 -0
  197. package/scripts/dot/commands/meta.sh +117 -0
  198. package/scripts/dot/commands/restore.sh +209 -0
  199. package/scripts/dot/commands/secrets.sh +81 -0
  200. package/scripts/dot/commands/security.sh +73 -0
  201. package/scripts/dot/commands/tools.sh +228 -0
  202. package/scripts/dot/lib/utils.sh +72 -0
  203. package/scripts/fonts/install-nerd-fonts.sh +59 -0
  204. package/scripts/fonts/patch-fonts.sh +34 -0
  205. package/scripts/ops/chezmoi-apply.sh +42 -0
  206. package/scripts/ops/chezmoi-diff.sh +14 -0
  207. package/scripts/ops/chezmoi-remove.sh +43 -0
  208. package/scripts/ops/chezmoi-update.sh +16 -0
  209. package/scripts/ops/heal.sh +466 -0
  210. package/scripts/ops/health-check.sh +380 -0
  211. package/scripts/ops/rollback.sh +531 -0
  212. package/scripts/ops/teleport.sh +32 -0
  213. package/scripts/secrets/age-init.sh +69 -0
  214. package/scripts/secrets/create-secrets-file.sh +44 -0
  215. package/scripts/secrets/encrypt-ssh-key.sh +42 -0
  216. package/scripts/security/backup.sh +17 -0
  217. package/scripts/security/dns-doh.sh +29 -0
  218. package/scripts/security/encryption-check.sh +39 -0
  219. package/scripts/security/enforce-policies.sh +339 -0
  220. package/scripts/security/firewall.sh +34 -0
  221. package/scripts/security/lock-configs.sh +57 -0
  222. package/scripts/security/lock-screen.sh +33 -0
  223. package/scripts/security/manage-secrets.sh +415 -0
  224. package/scripts/security/telemetry-kill.sh +28 -0
  225. package/scripts/security/usb-safety.sh +29 -0
  226. package/scripts/tests/README.md +241 -0
  227. package/scripts/tests/benchmark.sh +91 -0
  228. package/scripts/tests/framework/assertions.sh +283 -0
  229. package/scripts/tests/framework/mocks.sh +201 -0
  230. package/scripts/tests/framework/test_runner.sh +189 -0
  231. package/scripts/tests/integration/test_install.sh +237 -0
  232. package/scripts/tests/performance/benchmark_runner.sh +156 -0
  233. package/scripts/tests/performance/regression_check.sh +73 -0
  234. package/scripts/tests/performance/stress_test.sh +65 -0
  235. package/scripts/tests/test-aliases.sh +25 -0
  236. package/scripts/tests/test-docker.sh +48 -0
  237. package/scripts/tests/unit/test_ai_aliases.sh +158 -0
  238. package/scripts/tests/unit/test_ai_cli_checks.sh +47 -0
  239. package/scripts/tests/unit/test_backup.sh +227 -0
  240. package/scripts/tests/unit/test_case_functions.sh +238 -0
  241. package/scripts/tests/unit/test_cd_aliases.sh +367 -0
  242. package/scripts/tests/unit/test_dot_cli.sh +217 -0
  243. package/scripts/tests/unit/test_encode64.sh +67 -0
  244. package/scripts/tests/unit/test_environment.sh +78 -0
  245. package/scripts/tests/unit/test_extract.sh +163 -0
  246. package/scripts/tests/unit/test_framework_edge_cases.sh +113 -0
  247. package/scripts/tests/unit/test_genpass.sh +298 -0
  248. package/scripts/tests/unit/test_install_edge_cases.sh +167 -0
  249. package/scripts/tests/unit/test_installers.sh +172 -0
  250. package/scripts/tests/unit/test_keygen.sh +68 -0
  251. package/scripts/tests/unit/test_logging.sh +96 -0
  252. package/scripts/tests/unit/test_os_detection_comprehensive.sh +388 -0
  253. package/scripts/tests/unit/test_package_managers_comprehensive.sh +321 -0
  254. package/scripts/tests/unit/test_prependpath.sh +66 -0
  255. package/scripts/tests/unit/test_prependpath_refactored.sh +89 -0
  256. package/scripts/tests/unit/test_rd.sh +230 -0
  257. package/scripts/tests/unit/test_security_fixes.sh +130 -0
  258. package/scripts/tests/unit/test_security_scripts.sh +87 -0
  259. package/scripts/tests/unit/test_template_validation.sh +238 -0
  260. package/scripts/tests/unit/test_utility_functions.sh +144 -0
  261. package/scripts/tests/unit/test_wave1_alias_split.sh +132 -0
  262. package/scripts/tests/unit/test_wave1_ci_pinning.sh +61 -0
  263. package/scripts/tests/unit/test_wave1_gitleaks_config.sh +52 -0
  264. package/scripts/tests/unit/test_wave1_heal_fixes.sh +97 -0
  265. package/scripts/tests/unit/test_wave1_install_gpg.sh +35 -0
  266. package/scripts/tests/unit/test_wave1_zshenv_path.sh +89 -0
  267. package/scripts/tests/unit/test_wave1_zshrc_lazy_hook.sh +115 -0
  268. package/scripts/tests/unit/test_wave2_dot_new_guard.sh +75 -0
  269. package/scripts/tests/unit/test_zipf.sh +76 -0
  270. package/scripts/theme/apply-gnome-theme.sh +297 -0
  271. package/scripts/theme/install-boot-logo.sh +61 -0
  272. package/scripts/theme/install-catppuccin-themes.sh +346 -0
  273. package/scripts/theme/install-cursors.sh +24 -0
  274. package/scripts/theme/install-file-icons.sh +25 -0
  275. package/scripts/theme/install-grub-theme.sh +51 -0
  276. package/scripts/theme/install-lock-icon.sh +29 -0
  277. package/scripts/theme/switch.sh +250 -0
  278. package/scripts/theme/wallpaper-rotate.sh +82 -0
  279. package/scripts/theme/wallpaper-sync.sh +42 -0
  280. package/scripts/tools/cmatrix.sh +20 -0
  281. package/scripts/tools/detect-collisions.py +84 -0
  282. package/scripts/tools/emoji-picker.sh +45 -0
  283. package/scripts/tools/figlet-banner.sh +17 -0
  284. package/scripts/tools/log-rotate.sh +29 -0
  285. package/scripts/tools/lolcat-wrap.sh +18 -0
  286. package/scripts/tools/pipes.sh +47 -0
  287. package/scripts/tuning/linux.sh +175 -0
  288. package/scripts/tuning/macos.sh +46 -0
  289. package/templates/projects/go/README.md +7 -0
  290. package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +7 -0
  291. package/templates/projects/go/go.mod +3 -0
  292. package/templates/projects/molecule/README.md +7 -0
  293. package/templates/projects/molecule/converge.yml +7 -0
  294. package/templates/projects/molecule/molecule.yml +16 -0
  295. package/templates/projects/node/README.md +7 -0
  296. package/templates/projects/node/package.json +10 -0
  297. package/templates/projects/node/src/index.js +2 -0
  298. package/templates/projects/packer/README.md +15 -0
  299. package/templates/projects/packer/main.pkr.hcl +15 -0
  300. package/templates/projects/python/README.md +7 -0
  301. package/templates/projects/python/pyproject.toml +25 -0
  302. package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +1 -0
  303. package/templates/projects/python/tests/test_basic.py +2 -0
  304. package/dist/Makefile +0 -140
  305. package/dist/bin/backup.d.ts +0 -3
  306. package/dist/bin/backup.d.ts.map +0 -1
  307. package/dist/bin/backup.js +0 -4
  308. package/dist/bin/backup.js.map +0 -1
  309. package/dist/bin/constants.d.ts +0 -7
  310. package/dist/bin/constants.d.ts.map +0 -1
  311. package/dist/bin/constants.js +0 -2
  312. package/dist/bin/constants.js.map +0 -1
  313. package/dist/bin/copy.d.ts +0 -3
  314. package/dist/bin/copy.d.ts.map +0 -1
  315. package/dist/bin/copy.js +0 -3
  316. package/dist/bin/copy.js.map +0 -1
  317. package/dist/bin/dotfiles.d.ts +0 -3
  318. package/dist/bin/dotfiles.d.ts.map +0 -1
  319. package/dist/bin/dotfiles.js +0 -2
  320. package/dist/bin/dotfiles.js.map +0 -1
  321. package/dist/bin/download.d.ts +0 -3
  322. package/dist/bin/download.d.ts.map +0 -1
  323. package/dist/bin/download.js +0 -2
  324. package/dist/bin/download.js.map +0 -1
  325. package/dist/bin/index.d.ts +0 -2
  326. package/dist/bin/index.d.ts.map +0 -1
  327. package/dist/bin/index.js +0 -1
  328. package/dist/bin/index.js.map +0 -1
  329. package/dist/bin/transfer.d.ts +0 -3
  330. package/dist/bin/transfer.d.ts.map +0 -1
  331. package/dist/bin/transfer.js +0 -4
  332. package/dist/bin/transfer.js.map +0 -1
  333. package/dist/bin/unpack.d.ts +0 -3
  334. package/dist/bin/unpack.d.ts.map +0 -1
  335. package/dist/bin/unpack.js +0 -3
  336. package/dist/bin/unpack.js.map +0 -1
  337. package/dist/filesizes.txt +0 -382
  338. package/dist/lib/README.md +0 -86
  339. package/dist/lib/aliases/README.md +0 -57
  340. package/dist/lib/aliases/archives/README.md +0 -145
  341. package/dist/lib/aliases/archives/archives.aliases.sh +0 -114
  342. package/dist/lib/aliases/cd/README.md +0 -146
  343. package/dist/lib/aliases/cd/cd.aliases.sh +0 -51
  344. package/dist/lib/aliases/chmod/README.md +0 -160
  345. package/dist/lib/aliases/chmod/chmod.aliases.sh +0 -107
  346. package/dist/lib/aliases/clear/README.md +0 -37
  347. package/dist/lib/aliases/clear/clear.aliases.sh +0 -71
  348. package/dist/lib/aliases/configuration/README.md +0 -39
  349. package/dist/lib/aliases/configuration/configuration.aliases.sh +0 -70
  350. package/dist/lib/aliases/default/README.md +0 -40
  351. package/dist/lib/aliases/default/default.aliases.sh +0 -139
  352. package/dist/lib/aliases/dig/README.md +0 -37
  353. package/dist/lib/aliases/dig/dig.aliases.sh +0 -43
  354. package/dist/lib/aliases/disk-usage/README.md +0 -36
  355. package/dist/lib/aliases/disk-usage/du.aliases.sh +0 -84
  356. package/dist/lib/aliases/editor/README.md +0 -53
  357. package/dist/lib/aliases/editor/editor.aliases.sh +0 -26
  358. package/dist/lib/aliases/find/README.md +0 -46
  359. package/dist/lib/aliases/find/find.aliases.sh +0 -60
  360. package/dist/lib/aliases/gcloud/README.md +0 -63
  361. package/dist/lib/aliases/gcloud/gcloud.aliases.sh +0 -335
  362. package/dist/lib/aliases/git/README.md +0 -153
  363. package/dist/lib/aliases/git/git.aliases.sh +0 -544
  364. package/dist/lib/aliases/gnu/README.md +0 -89
  365. package/dist/lib/aliases/gnu/gnucoreutils-aliases.sh +0 -150
  366. package/dist/lib/aliases/heroku/README.md +0 -430
  367. package/dist/lib/aliases/heroku/heroku.aliases.sh +0 -1053
  368. package/dist/lib/aliases/interactive/README.md +0 -55
  369. package/dist/lib/aliases/interactive/interactive.aliases.sh +0 -50
  370. package/dist/lib/aliases/list/README.md +0 -131
  371. package/dist/lib/aliases/list/list.aliases.sh +0 -132
  372. package/dist/lib/aliases/macOS/README.md +0 -42
  373. package/dist/lib/aliases/macOS/macos.aliases.sh +0 -65
  374. package/dist/lib/aliases/make/README.md +0 -32
  375. package/dist/lib/aliases/make/make.aliases.sh +0 -35
  376. package/dist/lib/aliases/mkdir/README.md +0 -30
  377. package/dist/lib/aliases/mkdir/mkdir.aliases.sh +0 -29
  378. package/dist/lib/aliases/npm/README.md +0 -41
  379. package/dist/lib/aliases/npm/npm.aliases.sh +0 -61
  380. package/dist/lib/aliases/permission/README.md +0 -47
  381. package/dist/lib/aliases/permission/permission.aliases.sh +0 -73
  382. package/dist/lib/aliases/pnpm/README.md +0 -53
  383. package/dist/lib/aliases/pnpm/pnpm.aliases.sh +0 -76
  384. package/dist/lib/aliases/ps/README.md +0 -29
  385. package/dist/lib/aliases/ps/ps.aliases.sh +0 -20
  386. package/dist/lib/aliases/python/python.aliases.sh +0 -141
  387. package/dist/lib/aliases/rsync/README.md +0 -25
  388. package/dist/lib/aliases/rsync/rsync.aliases.sh +0 -17
  389. package/dist/lib/aliases/rust/README.md +0 -182
  390. package/dist/lib/aliases/rust/rust.aliases.sh +0 -119
  391. package/dist/lib/aliases/subversion/README.md +0 -66
  392. package/dist/lib/aliases/subversion/subversion.aliases.sh +0 -47
  393. package/dist/lib/aliases/sudo/README.md +0 -27
  394. package/dist/lib/aliases/sudo/sudo.aliases.sh +0 -20
  395. package/dist/lib/aliases/tmux/README.md +0 -31
  396. package/dist/lib/aliases/tmux/tmux.aliases.sh +0 -36
  397. package/dist/lib/aliases/update/README.md +0 -38
  398. package/dist/lib/aliases/update/update.aliases.sh +0 -310
  399. package/dist/lib/aliases/uuid/README.md +0 -24
  400. package/dist/lib/aliases/uuid/uuid.aliases.sh +0 -19
  401. package/dist/lib/aliases/wget/README.md +0 -27
  402. package/dist/lib/aliases/wget/wget.aliases.sh +0 -22
  403. package/dist/lib/aliases.sh +0 -50
  404. package/dist/lib/configurations/README.md +0 -18
  405. package/dist/lib/configurations/bash/bashrc +0 -167
  406. package/dist/lib/configurations/curl/cacert.pem +0 -3460
  407. package/dist/lib/configurations/curl/curlrc +0 -53
  408. package/dist/lib/configurations/default/color.sh +0 -24
  409. package/dist/lib/configurations/default/constants.sh +0 -43
  410. package/dist/lib/configurations/default/editor.sh +0 -18
  411. package/dist/lib/configurations/default/prompt.sh +0 -48
  412. package/dist/lib/configurations/input/inputrc +0 -23
  413. package/dist/lib/configurations/jshint/jshintrc +0 -37
  414. package/dist/lib/configurations/nano/nanorc +0 -35
  415. package/dist/lib/configurations/profile/profile +0 -37
  416. package/dist/lib/configurations/prompt/prompt.sh +0 -81
  417. package/dist/lib/configurations/tmux/default +0 -18
  418. package/dist/lib/configurations/tmux/display +0 -30
  419. package/dist/lib/configurations/tmux/linux +0 -18
  420. package/dist/lib/configurations/tmux/navigation +0 -30
  421. package/dist/lib/configurations/tmux/panes +0 -10
  422. package/dist/lib/configurations/tmux/theme +0 -29
  423. package/dist/lib/configurations/tmux/tmux +0 -21
  424. package/dist/lib/configurations/vim/vimrc +0 -193
  425. package/dist/lib/configurations/wget/wgetrc +0 -40
  426. package/dist/lib/configurations/zsh/zshrc +0 -50
  427. package/dist/lib/configurations.sh +0 -45
  428. package/dist/lib/functions/README.md +0 -92
  429. package/dist/lib/functions/apihealth.sh +0 -277
  430. package/dist/lib/functions/apilatency.sh +0 -157
  431. package/dist/lib/functions/apiload.sh +0 -165
  432. package/dist/lib/functions/backup.sh +0 -143
  433. package/dist/lib/functions/cdls.sh +0 -60
  434. package/dist/lib/functions/curlheader.sh +0 -78
  435. package/dist/lib/functions/curlstatus.sh +0 -74
  436. package/dist/lib/functions/curltime.sh +0 -75
  437. package/dist/lib/functions/encode64.sh +0 -107
  438. package/dist/lib/functions/environment.sh +0 -78
  439. package/dist/lib/functions/extract.sh +0 -86
  440. package/dist/lib/functions/freespace.sh +0 -67
  441. package/dist/lib/functions/genpwd.sh +0 -105
  442. package/dist/lib/functions/goto.sh +0 -67
  443. package/dist/lib/functions/hexdump.sh +0 -96
  444. package/dist/lib/functions/hiddenfiles.sh +0 -77
  445. package/dist/lib/functions/hostinfo.sh +0 -98
  446. package/dist/lib/functions/hstats.sh +0 -75
  447. package/dist/lib/functions/httpdebug.sh +0 -113
  448. package/dist/lib/functions/kebabcase.sh +0 -61
  449. package/dist/lib/functions/keygen.sh +0 -194
  450. package/dist/lib/functions/last.sh +0 -112
  451. package/dist/lib/functions/logout.sh +0 -120
  452. package/dist/lib/functions/lowercase.sh +0 -61
  453. package/dist/lib/functions/matrix.sh +0 -216
  454. package/dist/lib/functions/mount_read_only.sh +0 -11
  455. package/dist/lib/functions/myproc.sh +0 -9
  456. package/dist/lib/functions/prependpath.sh +0 -21
  457. package/dist/lib/functions/ql.sh +0 -9
  458. package/dist/lib/functions/rd.sh +0 -17
  459. package/dist/lib/functions/remove_disk.sh +0 -11
  460. package/dist/lib/functions/ren.sh +0 -73
  461. package/dist/lib/functions/sentencecase.sh +0 -63
  462. package/dist/lib/functions/showhiddenfiles.sh +0 -14
  463. package/dist/lib/functions/size.sh +0 -16
  464. package/dist/lib/functions/snakecase.sh +0 -61
  465. package/dist/lib/functions/stopwatch.sh +0 -15
  466. package/dist/lib/functions/sysinfo.sh +0 -145
  467. package/dist/lib/functions/titlecase.sh +0 -65
  468. package/dist/lib/functions/uppercase.sh +0 -61
  469. package/dist/lib/functions/view-source.sh +0 -9
  470. package/dist/lib/functions/vscode.sh +0 -32
  471. package/dist/lib/functions/whoisport.sh +0 -14
  472. package/dist/lib/functions/zipf.sh +0 -16
  473. package/dist/lib/functions.sh +0 -46
  474. package/dist/lib/history.sh +0 -90
  475. package/dist/lib/paths/README.md +0 -52
  476. package/dist/lib/paths/custom.paths.sh +0 -40
  477. package/dist/lib/paths/default.paths.sh +0 -37
  478. package/dist/lib/paths.sh +0 -46
  479. package/dist/scripts/backup.sh +0 -95
  480. package/dist/scripts/banner.sh +0 -20
  481. package/dist/scripts/build.sh +0 -41
  482. package/dist/scripts/clean.sh +0 -31
  483. package/dist/scripts/compile.sh +0 -54
  484. package/dist/scripts/copy.sh +0 -108
  485. package/dist/scripts/dotfiles.sh +0 -63
  486. package/dist/scripts/download.sh +0 -35
  487. package/dist/scripts/help.sh +0 -57
  488. package/dist/scripts/ssh.sh +0 -55
  489. package/dist/scripts/unpack.sh +0 -28
  490. /package/{dist/lib/configurations → dot_config}/gem/gemrc +0 -0
@@ -0,0 +1,346 @@
1
+ #!/bin/bash
2
+ # Catppuccin GNOME Theme Installation Script
3
+ # Installs Catppuccin GTK themes, icon themes, and shell themes
4
+
5
+ set -e
6
+
7
+ THEME_DIR="$HOME/.themes"
8
+ ICON_DIR="$HOME/.icons"
9
+ TEMP_DIR="/tmp/catppuccin-install"
10
+
11
+ # Colors for output
12
+ RED='\033[0;31m'
13
+ GREEN='\033[0;32m'
14
+ YELLOW='\033[1;33m'
15
+ BLUE='\033[0;34m'
16
+ NC='\033[0m' # No Color
17
+
18
+ log() {
19
+ echo -e "${BLUE}[INFO]${NC} $1"
20
+ }
21
+
22
+ warn() {
23
+ echo -e "${YELLOW}[WARN]${NC} $1"
24
+ }
25
+
26
+ error() {
27
+ echo -e "${RED}[ERROR]${NC} $1"
28
+ }
29
+
30
+ success() {
31
+ echo -e "${GREEN}[SUCCESS]${NC} $1"
32
+ }
33
+
34
+ # Create directories
35
+ mkdir -p "$THEME_DIR" "$ICON_DIR" "$TEMP_DIR"
36
+
37
+ # Check if git is available
38
+ if ! command -v git &>/dev/null; then
39
+ error "git is required but not installed."
40
+ exit 1
41
+ fi
42
+
43
+ # Function to install GTK themes
44
+ install_gtk_themes() {
45
+ log "Installing Catppuccin GTK themes..."
46
+
47
+ cd "$TEMP_DIR"
48
+
49
+ if [ ! -d "catppuccin-gtk" ]; then
50
+ git clone https://github.com/catppuccin/gtk.git catppuccin-gtk
51
+ else
52
+ cd catppuccin-gtk && git pull && cd ..
53
+ fi
54
+
55
+ cd catppuccin-gtk
56
+
57
+ # Install all variants
58
+ for variant in Latte Frappe Macchiato Mocha; do
59
+ for accent in Blue Lavender; do # Blue as primary, Lavender as alternative
60
+ theme_name="Catppuccin-$variant-Standard-$accent"
61
+ if [ "$variant" = "Latte" ]; then
62
+ theme_name="$theme_name-Light"
63
+ else
64
+ theme_name="$theme_name-Dark"
65
+ fi
66
+
67
+ log "Installing $theme_name..."
68
+ if [ -d "themes/$theme_name" ]; then
69
+ cp -r "themes/$theme_name" "$THEME_DIR/"
70
+ success "Installed $theme_name"
71
+ else
72
+ warn "Theme $theme_name not found in repository"
73
+ fi
74
+ done
75
+ done
76
+ }
77
+
78
+ # Function to install Papirus icon theme
79
+ install_papirus_icons() {
80
+ log "Installing Papirus icon themes..."
81
+
82
+ cd "$TEMP_DIR"
83
+
84
+ if [ ! -d "papirus-icon-theme" ]; then
85
+ git clone https://github.com/PapirusDevelopmentTeam/papirus-icon-theme.git
86
+ else
87
+ cd papirus-icon-theme && git pull && cd ..
88
+ fi
89
+
90
+ cd papirus-icon-theme
91
+
92
+ # Install Papirus variants
93
+ for variant in Papirus Papirus-Dark Papirus-Light; do
94
+ if [ -d "$variant" ]; then
95
+ log "Installing $variant icons..."
96
+ cp -r "$variant" "$ICON_DIR/"
97
+ success "Installed $variant"
98
+ fi
99
+ done
100
+ }
101
+
102
+ # Function to install Catppuccin cursors
103
+ install_catppuccin_cursors() {
104
+ log "Installing Catppuccin cursor themes..."
105
+
106
+ cd "$TEMP_DIR"
107
+
108
+ if [ ! -d "catppuccin-cursors" ]; then
109
+ git clone https://github.com/catppuccin/cursors.git catppuccin-cursors
110
+ else
111
+ cd catppuccin-cursors && git pull && cd ..
112
+ fi
113
+
114
+ cd catppuccin-cursors
115
+
116
+ # Install cursor themes for each variant
117
+ for variant in Catppuccin-Latte-* Catppuccin-Frappe-* Catppuccin-Macchiato-* Catppuccin-Mocha-*; do
118
+ if [ -d "cursors/$variant" ]; then
119
+ log "Installing cursor theme $variant..."
120
+ cp -r "cursors/$variant" "$ICON_DIR/"
121
+ success "Installed cursor theme $variant"
122
+ fi
123
+ done
124
+ }
125
+
126
+ # Function to install GNOME Shell themes
127
+ install_shell_themes() {
128
+ log "Installing GNOME Shell themes..."
129
+
130
+ # Check if user-themes extension is available
131
+ if command -v gnome-extensions &>/dev/null; then
132
+ if ! gnome-extensions list | grep -q "user-theme"; then
133
+ warn "User Themes extension not found. Install it from GNOME Extensions."
134
+ warn "Run: gnome-extensions install user-theme@gnome-shell-extensions.gcampax.github.com"
135
+ fi
136
+ fi
137
+
138
+ cd "$TEMP_DIR"
139
+
140
+ if [ ! -d "catppuccin-gnome-shell" ]; then
141
+ git clone https://github.com/catppuccin/gnome.git catppuccin-gnome-shell
142
+ else
143
+ cd catppuccin-gnome-shell && git pull && cd ..
144
+ fi
145
+
146
+ cd catppuccin-gnome-shell
147
+
148
+ # Install shell themes (use explicit names for portability)
149
+ for variant in Latte Frappe Macchiato Mocha; do
150
+ theme_name="Catppuccin-${variant}"
151
+ if [ -d "themes/$theme_name" ]; then
152
+ log "Installing GNOME Shell theme $theme_name..."
153
+ cp -r "themes/$theme_name" "$THEME_DIR/"
154
+ success "Installed GNOME Shell theme $theme_name"
155
+ fi
156
+ done
157
+ }
158
+
159
+ # Function to install wallpapers
160
+ install_wallpapers() {
161
+ log "Installing Catppuccin wallpapers..."
162
+
163
+ local wallpaper_dir="/usr/share/backgrounds/catppuccin"
164
+ local user_wallpaper_dir="$HOME/.local/share/backgrounds/catppuccin"
165
+
166
+ # Try system directory first, fallback to user directory
167
+ if [ -w "/usr/share/backgrounds" ] || sudo -n true 2>/dev/null; then
168
+ sudo mkdir -p "$wallpaper_dir" 2>/dev/null || {
169
+ warn "Cannot create system wallpaper directory, using user directory"
170
+ wallpaper_dir="$user_wallpaper_dir"
171
+ mkdir -p "$wallpaper_dir"
172
+ }
173
+ else
174
+ wallpaper_dir="$user_wallpaper_dir"
175
+ mkdir -p "$wallpaper_dir"
176
+ fi
177
+
178
+ cd "$TEMP_DIR"
179
+
180
+ if [ ! -d "catppuccin-wallpapers" ]; then
181
+ git clone https://github.com/catppuccin/wallpapers.git catppuccin-wallpapers
182
+ else
183
+ cd catppuccin-wallpapers && git pull && cd ..
184
+ fi
185
+
186
+ cd catppuccin-wallpapers
187
+
188
+ # Copy wallpapers
189
+ for variant in latte frappe macchiato mocha; do
190
+ for image in os/*.png misc/*.png; do
191
+ if [[ "$image" == *"$variant"* ]]; then
192
+ log "Installing wallpaper: $(basename "$image")"
193
+ if [ -w "$wallpaper_dir" ]; then
194
+ cp "$image" "$wallpaper_dir/cat_$variant.png"
195
+ else
196
+ sudo cp "$image" "$wallpaper_dir/cat_$variant.png"
197
+ fi
198
+ fi
199
+ done
200
+ done
201
+
202
+ success "Installed Catppuccin wallpapers to $wallpaper_dir"
203
+ }
204
+
205
+ # Function to apply GTK theme refresh
206
+ refresh_gtk() {
207
+ log "Refreshing GTK theme cache..."
208
+
209
+ # Update GTK icon cache
210
+ if command -v gtk-update-icon-cache &>/dev/null; then
211
+ for theme_dir in "$ICON_DIR"/*; do
212
+ if [ -d "$theme_dir" ] && [ -f "$theme_dir/index.theme" ]; then
213
+ gtk-update-icon-cache -f "$theme_dir" 2>/dev/null || true
214
+ fi
215
+ done
216
+ fi
217
+
218
+ # Reload GNOME Shell (if running)
219
+ if [ "$XDG_CURRENT_DESKTOP" = "GNOME" ] && command -v gnome-shell &>/dev/null; then
220
+ log "Reloading GNOME Shell..."
221
+ # Alt+F2, r, Enter - but we'll use dbus for safety
222
+ if command -v busctl &>/dev/null; then
223
+ busctl --user call org.gnome.Shell /org/gnome/Shell org.gnome.Shell Eval s 'Meta.restart("Themes updated")' 2>/dev/null || true
224
+ fi
225
+ fi
226
+
227
+ success "GTK theme cache refreshed"
228
+ }
229
+
230
+ # Function to provide installation summary
231
+ show_summary() {
232
+ echo ""
233
+ echo "=== Installation Summary ==="
234
+ echo ""
235
+ echo "Installed themes are now available in:"
236
+ echo " GTK Themes: $THEME_DIR"
237
+ echo " Icon Themes: $ICON_DIR"
238
+ echo " Wallpapers: $wallpaper_dir"
239
+ echo ""
240
+ echo "To apply themes:"
241
+ echo " 1. Use GNOME Tweaks or Extensions app"
242
+ echo " 2. Or use the dot theme switcher:"
243
+ echo " dot theme set catppuccin-mocha"
244
+ echo " dot theme set catppuccin-latte"
245
+ echo ""
246
+ echo "Available Catppuccin themes:"
247
+ echo " - catppuccin-latte (light)"
248
+ echo " - catppuccin-frappe (dark - muted)"
249
+ echo " - catppuccin-macchiato (dark - balanced)"
250
+ echo " - catppuccin-mocha (dark - rich)"
251
+ echo ""
252
+ }
253
+
254
+ # Function to check dependencies
255
+ check_dependencies() {
256
+ local missing_deps=()
257
+
258
+ # Check required commands
259
+ for cmd in git curl; do
260
+ if ! command -v "$cmd" &>/dev/null; then
261
+ missing_deps+=("$cmd")
262
+ fi
263
+ done
264
+
265
+ # Check optional commands
266
+ for cmd in gnome-tweaks gnome-extensions; do
267
+ if ! command -v "$cmd" &>/dev/null; then
268
+ warn "Optional dependency missing: $cmd"
269
+ fi
270
+ done
271
+
272
+ if [ ${#missing_deps[@]} -gt 0 ]; then
273
+ error "Missing required dependencies: ${missing_deps[*]}"
274
+ echo "Please install them and run this script again."
275
+ exit 1
276
+ fi
277
+ }
278
+
279
+ # Main execution
280
+ main() {
281
+ echo "=== Catppuccin GNOME Theme Installer ==="
282
+ echo ""
283
+
284
+ check_dependencies
285
+
286
+ log "Starting Catppuccin theme installation..."
287
+
288
+ install_gtk_themes
289
+ install_papirus_icons
290
+ install_catppuccin_cursors
291
+ install_shell_themes
292
+ install_wallpapers
293
+ refresh_gtk
294
+
295
+ show_summary
296
+
297
+ success "Catppuccin theme installation completed!"
298
+
299
+ # Cleanup
300
+ log "Cleaning up temporary files..."
301
+ rm -rf "$TEMP_DIR"
302
+ }
303
+
304
+ # Handle script arguments
305
+ case "${1:-install}" in
306
+ install | "")
307
+ main
308
+ ;;
309
+ gtk)
310
+ install_gtk_themes
311
+ refresh_gtk
312
+ ;;
313
+ icons)
314
+ install_papirus_icons
315
+ refresh_gtk
316
+ ;;
317
+ cursors)
318
+ install_catppuccin_cursors
319
+ ;;
320
+ shell)
321
+ install_shell_themes
322
+ ;;
323
+ wallpapers)
324
+ install_wallpapers
325
+ ;;
326
+ refresh)
327
+ refresh_gtk
328
+ ;;
329
+ help)
330
+ echo "Usage: $0 [install|gtk|icons|cursors|shell|wallpapers|refresh|help]"
331
+ echo ""
332
+ echo " install Install all Catppuccin theme components (default)"
333
+ echo " gtk Install only GTK themes"
334
+ echo " icons Install only icon themes"
335
+ echo " cursors Install only cursor themes"
336
+ echo " shell Install only GNOME Shell themes"
337
+ echo " wallpapers Install only wallpapers"
338
+ echo " refresh Refresh theme cache"
339
+ echo " help Show this help message"
340
+ ;;
341
+ *)
342
+ error "Unknown option: $1"
343
+ echo "Use '$0 help' for usage information."
344
+ exit 1
345
+ ;;
346
+ esac
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ THEME="${DOTFILES_CURSOR_THEME:-Bibata-Modern-Ice}"
5
+ SIZE="${DOTFILES_CURSOR_SIZE:-24}"
6
+
7
+ case "$(uname -s)" in
8
+ Darwin)
9
+ echo "Cursor theming is not supported via script on macOS." >&2
10
+ exit 0
11
+ ;;
12
+ Linux)
13
+ if command -v gsettings >/dev/null; then
14
+ gsettings set org.gnome.desktop.interface cursor-theme "$THEME" || true
15
+ gsettings set org.gnome.desktop.interface cursor-size "$SIZE" || true
16
+ echo "Set GNOME cursor theme to $THEME ($SIZE)."
17
+ else
18
+ echo "gsettings not found. Set cursor theme in your DE settings." >&2
19
+ fi
20
+ ;;
21
+ *)
22
+ echo "Unsupported OS for cursor theming." >&2
23
+ ;;
24
+ esac
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ THEME="${DOTFILES_ICON_THEME:-Papirus}"
5
+
6
+ case "$(uname -s)" in
7
+ Darwin)
8
+ if command -v fileicon >/dev/null; then
9
+ echo "Use: fileicon set <path> <icon.icns> to apply custom icons."
10
+ else
11
+ echo "fileicon not found. Install it via brew (brew install fileicon)." >&2
12
+ fi
13
+ ;;
14
+ Linux)
15
+ if command -v gsettings >/dev/null; then
16
+ gsettings set org.gnome.desktop.interface icon-theme "$THEME" || true
17
+ echo "Set GNOME icon theme to $THEME."
18
+ else
19
+ echo "gsettings not found. Set icon theme in your DE settings." >&2
20
+ fi
21
+ ;;
22
+ *)
23
+ echo "Unsupported OS for icon theming." >&2
24
+ ;;
25
+ esac
@@ -0,0 +1,51 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ THEME_SRC="${DOTFILES_GRUB_THEME_DIR:-$HOME/.config/dotfiles/grub/theme}"
5
+ THEME_NAME="${DOTFILES_GRUB_THEME_NAME:-dotfiles}"
6
+ APPLY=0
7
+
8
+ for arg in "$@"; do
9
+ case "$arg" in
10
+ --apply) APPLY=1 ;;
11
+ esac
12
+ done
13
+
14
+ if [[ "$(uname -s)" != "Linux" ]]; then
15
+ echo "GRUB theming is Linux-only." >&2
16
+ exit 0
17
+ fi
18
+
19
+ if [[ ! -d "$THEME_SRC" ]]; then
20
+ echo "Theme directory not found: $THEME_SRC" >&2
21
+ echo "Place a GRUB theme there or set DOTFILES_GRUB_THEME_DIR." >&2
22
+ exit 1
23
+ fi
24
+
25
+ if [[ $APPLY -ne 1 ]]; then
26
+ echo "Dry run. Use --apply to install the theme." >&2
27
+ exit 0
28
+ fi
29
+
30
+ if [[ $EUID -ne 0 ]]; then
31
+ echo "Please run with sudo for GRUB theme install." >&2
32
+ exit 1
33
+ fi
34
+
35
+ THEME_DST="/boot/grub/themes/$THEME_NAME"
36
+ mkdir -p "$THEME_DST"
37
+ cp -R "$THEME_SRC/." "$THEME_DST"
38
+
39
+ if grep -q '^GRUB_THEME=' /etc/default/grub; then
40
+ sed -i.bak "s|^GRUB_THEME=.*|GRUB_THEME=\"$THEME_DST/theme.txt\"|" /etc/default/grub
41
+ else
42
+ echo "GRUB_THEME=\"$THEME_DST/theme.txt\"" >>/etc/default/grub
43
+ fi
44
+
45
+ if command -v update-grub >/dev/null; then
46
+ update-grub
47
+ elif command -v grub-mkconfig >/dev/null; then
48
+ grub-mkconfig -o /boot/grub/grub.cfg
49
+ fi
50
+
51
+ echo "GRUB theme installed: $THEME_DST"
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ icon_path="${DOTFILES_LOCK_ICON:-$HOME/.config/dotfiles/lock/icon.png}"
5
+
6
+ if [[ ! -f "$icon_path" ]]; then
7
+ echo "Lock icon not found: $icon_path" >&2
8
+ echo "Place a PNG at that path or set DOTFILES_LOCK_ICON." >&2
9
+ exit 1
10
+ fi
11
+
12
+ case "$(uname -s)" in
13
+ Darwin)
14
+ echo "Lock icon customization is not supported via script on macOS." >&2
15
+ exit 0
16
+ ;;
17
+ Linux)
18
+ if command -v swaylock >/dev/null; then
19
+ echo "Use: swaylock --image '$icon_path'"
20
+ elif command -v i3lock >/dev/null; then
21
+ echo "Use: i3lock -i '$icon_path'"
22
+ else
23
+ echo "No supported lock screen tool found (swaylock/i3lock)." >&2
24
+ fi
25
+ ;;
26
+ *)
27
+ echo "Unsupported OS for lock icon." >&2
28
+ ;;
29
+ esac