@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,165 +1,46 @@
1
- # Get started
1
+ # Universal Configuration Walkthrough (v0.2.471)
2
2
 
3
- ## Overview
3
+ ## 🚀 Overview
4
+ We have successfully transformed the dotfiles into a modern, **universal configuration** managed by `chezmoi`. This release establishes a secure, high-performance, and compliant foundation for macOS, Linux, and Windows.
4
5
 
5
- This release provides a modern, universal configuration that `chezmoi` manages across macOS, Linux, and Windows.
6
+ ## 🛠️ Implemented Features
6
7
 
7
- ## Demo walkthrough
8
+ ### 1. **Core Architecture**
9
+ - **Chezmoi**: Replaced legacy Makefiles/symlinks with a robust template engine.
10
+ - **Universal Templates**: `run_onchange_*.sh.tmpl` scripts adapt to OS (Darwin/Linux) automatically.
11
+ - **Performance**: Startup time validated at **~16ms** (Target: <20ms).
8
12
 
9
- This guide walks you through the key features of the dotfiles after installation.
10
-
11
- ### Step 1: Verify installation
12
-
13
- After running the installer, verify that everything works:
14
-
15
- ```bash
16
- # Check dot CLI is available
17
- dot --version
18
-
19
- # Run health checks
20
- dot doctor
21
-
22
- # View configuration status
23
- dot status
24
- ```
25
-
26
- ### Step 2: Explore the shell
27
-
28
- Your shell comes pre-configured with modern tools:
29
-
30
- ```bash
31
- # Use zoxide for smart directory navigation
32
- z dotfiles # Jump to ~/.dotfiles
33
- z - # Go back
34
-
35
- # Use fzf for fuzzy finding
36
- <Ctrl-R> # Search command history
37
- <Ctrl-T> # Find files
38
-
39
- # Use modern tool replacements
40
- ls # Runs 'eza'
41
- cat file.txt # Runs 'bat'
42
- ```
43
-
44
- ### Step 3: Git workflow
45
-
46
- Git includes helpful aliases:
47
-
48
- ```bash
49
- # Quick status and log
50
- gst # git status
51
- lg # pretty git log graph
52
-
53
- # Stage and commit
54
- ga . # git add
55
- gcm "message" # git commit -m
56
-
57
- # Open lazygit TUI
58
- lgui
59
- ```
60
-
61
- ### Step 4: Tmux basics
62
-
63
- If tmux is running:
64
-
65
- ```bash
66
- # Prefix is Ctrl-a (not Ctrl-b)
67
- <Ctrl-a> c # New window
68
- <Ctrl-a> | # Split vertically
69
- <Ctrl-a> - # Split horizontally
70
- <Ctrl-a> h/j/k/l # Navigate panes (vim-style)
71
- <Ctrl-a> f # Fuzzy session switcher
72
- ```
73
-
74
- ### Step 5: Neovim IDE
75
-
76
- Open Neovim:
77
-
78
- ```bash
79
- nvim .
80
-
81
- # Inside Neovim:
82
- <Space> # Leader key, shows command menu
83
- <Space>ff # Find files
84
- <Space>fg # Live grep
85
- <Space>e # Toggle file tree
86
- ```
87
-
88
- ### Step 6: Docker workflow
89
-
90
- Docker aliases:
91
-
92
- ```bash
93
- dps # List running containers
94
- dco up -d # Docker compose up
95
- dlogsf container # Follow container logs
96
- lzd # Open lazydocker TUI
97
- ```
98
-
99
- ### Step 7: Kubernetes (if enabled)
100
-
101
- Kubernetes aliases:
102
-
103
- ```bash
104
- k get pods # kubectl get pods
105
- kctx # Switch context
106
- kn # Switch namespace
107
- k9 # Open k9s TUI
108
- ```
109
-
110
- ## Core architecture
111
-
112
- - **Chezmoi**: Replaces legacy Makefiles and symlinks with a robust template engine.
113
- - **Universal templates**: `run_onchange_*.sh.tmpl` scripts adapt to OS (Darwin/Linux) automatically.
114
- - **Performance**: Startup time benchmarks at **~16ms** (target: <20ms).
115
-
116
- ## Universal installer
117
-
118
- - **Bootstrap**: `install.sh` enables one-line installation through `curl`.
13
+ ### 2. **Universal Installer (Zero-Dep)**
14
+ - **Bootstrap**: `install.sh` enables one-line installation via `curl`.
119
15
  - **Teleport**: `dot teleport user@host` pushes configs ephemerally to remote servers.
120
- - **Verification**: All syntax checks pass.
121
-
122
- ## Deep integration
16
+ - **Verification**: Syntax checked and validated.
123
17
 
124
- - **macOS**: `defaults` hardening (screensaver, firewall, Finder).
18
+ ### 3. **Deep Integration**
19
+ - **macOS**: `defaults` hardening (Screensaver, Firewall, Finder).
125
20
  - **Fonts**: Auto-installation of `JetBrainsMono Nerd Font`.
126
- - **Compliance**: Strict XDG Base Directory enforcement.
127
-
128
- ## Self-healing and compliance
21
+ - **Compliance**: STRICT XDG Base Directory enforcement.
129
22
 
23
+ ### 4. **Self-Healing & Compliance**
130
24
  - **Doctor**: `dot doctor` diagnoses drift, paths, and dependencies.
131
- - **Audit**: Dotfiles logs all changes to `~/.local/share/dotfiles.log`.
132
- - **Privacy**: The `privacy-mode` alias disables telemetry.
25
+ - **Audit**: `logging` of all changes to `~/.dotfiles_audit.log`.
26
+ - **Privacy**: `privacy-mode` alias disables telemetry.
133
27
 
134
- ## Verification
28
+ ## 🧪 Verification Results
135
29
 
136
30
  | Test | Status | Notes |
137
31
  | :--- | :--- | :--- |
138
- | **Syntax** | PASSED | `install.sh`, `pkg.sh`, `teleport.sh` verified. |
139
- | **Performance** | PASSED | **~16ms** Zsh startup time. |
140
- | **Drift** | VARIES | Audit logs may cause minor state drift reports. |
141
- | **Docker** | PASSED | **Ubuntu 26.04** bootstrap verified (`dotfiles:0.2.480`). |
142
-
143
- ## Quick reference card
144
-
145
- | Action | Command |
146
- |--------|---------|
147
- | Update dotfiles | `dot update` |
148
- | Check health | `dot doctor` |
149
- | Show drift | `dot drift` |
150
- | Apply changes | `dot apply` |
151
- | Edit source | `dot edit` |
152
- | Benchmark shell | `dot benchmark` |
153
- | New project | `dot new python myapp` |
154
- | Enter sandbox | `dot sandbox` |
155
-
156
- ## Video tutorial
157
-
158
- A future release will include a video walkthrough. Until then, use this document and the individual tool documentation.
159
-
160
- ## Next steps
161
-
162
- - Customize your shell prompt in `~/.config/starship.toml`
163
- - Add custom aliases in `~/.dotfiles/.chezmoitemplates/aliases/`
164
- - Configure Neovim plugins in `~/.config/nvim/`
165
- - Set up secrets with `dot secrets-init`
32
+ | **Syntax** | PASSED | `install.sh`, `pkg.sh`, `teleport.sh` verified. |
33
+ | **Performance** | PASSED | **~16ms** Zsh startup time. |
34
+ | **Drift** | ⚠️ VARIES | Minor state drift may be reported due to audit logs. |
35
+ | **Drift** | ⚠️ VARIES | Minor state drift may be reported due to audit logs. |
36
+ | **Docker** | ✅ PASSED | **Ubuntu 26.04** bootstrap verified (`dotfiles:0.2.471`). |
37
+
38
+ ## 📦 Artifacts
39
+ - **Installer**: `curl -sL dotfiles.io/install.sh | sh`
40
+ - **Package**: `dist/dotfiles-v0.2.471.tar.gz`
41
+ - **Docs**: Full `README.md`, `COMPLIANCE.md`, `OPERATIONS.md`.
42
+
43
+ ## 🔮 Next Steps
44
+ - Merge Pull Request.
45
+ - Deploy to production workstations.
46
+ - Begin Phase 28 (Cloud-Native Bootstrapping).
package/package.json CHANGED
@@ -1,13 +1,17 @@
1
1
  {
2
2
  "name": "@sebastienrousseau/dotfiles",
3
- "version": "0.2.481",
3
+ "version": "0.2.499",
4
4
  "description": "The Trusted Shell Platform — Universal dotfiles managed by Chezmoi. Features Bash & Zsh for macOS, Linux & WSL. Rust modern tooling & enterprise-grade security.",
5
5
  "main": "install.sh",
6
6
  "bin": {
7
7
  "dotfiles-install": "./install.sh"
8
8
  },
9
9
  "scripts": {
10
- "test": "bash -n install.sh && echo 'Syntax OK'",
10
+ "test": "bash ./scripts/qa/reliability-audit.sh",
11
+ "test:quick": "bash ./scripts/qa/reliability-audit.sh --quick",
12
+ "test:unit": "bash ./scripts/qa/reliability-audit.sh --unit-only",
13
+ "test:integration": "bash ./scripts/qa/reliability-audit.sh --with-integration",
14
+ "examples": "bash ./scripts/qa/validate-examples.sh",
11
15
  "lint": "shellcheck install.sh scripts/**/*.sh"
12
16
  },
13
17
  "repository": {
@@ -29,11 +33,19 @@
29
33
  "cli",
30
34
  "automation",
31
35
  "devops",
32
- "security"
36
+ "security",
37
+ "nix",
38
+ "home-manager",
39
+ "starship",
40
+ "mise",
41
+ "age-encryption",
42
+ "terminal",
43
+ "configuration-management",
44
+ "infrastructure-as-code"
33
45
  ],
34
46
  "author": {
35
47
  "name": "Sebastien Rousseau",
36
- "email": "sebastian.rousseau@gmail.com",
48
+ "email": "sebastienrousseau@users.noreply.github.com",
37
49
  "url": "https://sebastienrousseau.com"
38
50
  },
39
51
  "license": "MIT",
@@ -46,7 +58,7 @@
46
58
  "url": "https://github.com/sponsors/sebastienrousseau"
47
59
  },
48
60
  "engines": {
49
- "node": ">=18.0.0"
61
+ "node": ">=18.0.0 <26.0.0"
50
62
  },
51
63
  "publishConfig": {
52
64
  "access": "public",
@@ -0,0 +1,142 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # 🅳🅾🆃🅵🅸🅻🅴🆂 (v0.2.471) - <https://dotfiles.io>
4
+ # Made with ♥ in London, UK by Sebastien Rousseau
5
+ # Copyright (c) 2015-2025. All rights reserved
6
+ # License: MIT
7
+
8
+ ## 🆅🅰🆁🅸🅰🅱🅻🅴🆂 - Set Dotfiles variables.
9
+ DF_DOTFILESDIR="${HOME}/.dotfiles" # Location of dotfiles.
10
+ DF_TIMESTAMP=$(date +"%Y%m%d_%H%M%S") # Timestamp for backup directory
11
+ DF_BACKUPDIR="${HOME}/.dotfiles_backup" # Base backup directory
12
+ DF="dotfiles" # Directory name for dotfiles backup
13
+
14
+ # ANSI color codes - defined here instead of relying on external file
15
+ RED='\033[0;31m'
16
+ GREEN='\033[0;32m'
17
+ YELLOW='\033[0;33m'
18
+ CYAN='\033[0;36m'
19
+ NC='\033[0m' # No Color
20
+
21
+ ## 🅱🅰🅲🅺🆄🅿 - Backup existing files.
22
+ backup() {
23
+ echo ""
24
+ echo -e "${RED}❭${NC} Starting Backup Procedure."
25
+ echo ""
26
+
27
+ # Create base backup directory if it doesn't exist
28
+ if [[ -d "${DF_BACKUPDIR}" ]]; then
29
+ echo -e "${RED} ✘${NC} Backup directory already exists."
30
+ else
31
+ echo -e "${GREEN} ✔${NC} Creating backup directory '${GREEN}${DF_BACKUPDIR}${NC}'..."
32
+ mkdir -p "${DF_BACKUPDIR}"
33
+ if [[ $? -ne 0 ]]; then
34
+ echo -e "${RED} ✘${NC} Failed to create backup directory. Exiting."
35
+ return 1
36
+ fi
37
+ fi
38
+
39
+ # Create timestamped backup directory
40
+ CURRENT_BACKUP_DIR="${DF_BACKUPDIR}/${DF_TIMESTAMP}"
41
+ mkdir -p "${CURRENT_BACKUP_DIR}"
42
+ if [[ $? -ne 0 ]]; then
43
+ echo -e "${RED} ✘${NC} Failed to create timestamped backup directory. Exiting."
44
+ return 1
45
+ fi
46
+
47
+ # Backup existing Dotfiles directory.
48
+ if [[ -d "${HOME}"/.dotfiles ]]; then
49
+ echo -e "${GREEN} ✔${NC} Backing up previous Dotfiles installation to '${GREEN}${CURRENT_BACKUP_DIR}/${DF}${NC}'..."
50
+ mkdir -p "${CURRENT_BACKUP_DIR}/${DF}"
51
+ if [[ $? -ne 0 ]]; then
52
+ echo -e "${RED} ✘${NC} Failed to create dotfiles backup directory. Skipping dotfiles backup."
53
+ else
54
+ # Use rsync instead of mv to preserve original until we know the backup succeeded
55
+ rsync -a "${DF_DOTFILESDIR}/" "${CURRENT_BACKUP_DIR}/${DF}/"
56
+ if [[ $? -ne 0 ]]; then
57
+ echo -e "${RED} ✘${NC} Failed to backup dotfiles directory."
58
+ fi
59
+ fi
60
+ fi
61
+
62
+ # File list (use trailing slash for directories)
63
+ FILES="
64
+ .alias
65
+ .bash_aliases
66
+ .bash_profile
67
+ .bash_prompt
68
+ .bashrc
69
+ .curlrc
70
+ .dir_colors
71
+ .exports
72
+ .functions
73
+ .gemrc
74
+ .gitattributes
75
+ .gitconfig
76
+ .gitignore
77
+ .gitmessage
78
+ .inputrc
79
+ .nanorc
80
+ .npmrc
81
+ .path
82
+ .profile
83
+ .tmux.conf
84
+ .vimrc
85
+ .wgetrc
86
+ .yarnrc
87
+ .zshenv
88
+ .zshrc
89
+ .zprofile
90
+ cacert.pem
91
+ "
92
+
93
+ # Create dotfiles directory in the backup location
94
+ mkdir -p "${CURRENT_BACKUP_DIR}/files"
95
+
96
+ # Track if we've successfully backed up any files
97
+ BACKUP_COUNT=0
98
+
99
+ for file in ${FILES}; do
100
+ if [[ -f "${HOME}/${file}" ]]; then
101
+ echo -e "${GREEN} ✔${NC} Backing up '${YELLOW}${file}${NC}'"
102
+ cp -f "${HOME}/${file}" "${CURRENT_BACKUP_DIR}/files/${file}"
103
+ if [[ $? -eq 0 ]]; then
104
+ ((BACKUP_COUNT++))
105
+ else
106
+ echo -e "${RED} ✘${NC} Failed to backup '${YELLOW}${file}${NC}'"
107
+ fi
108
+ fi
109
+ done
110
+
111
+ if [[ ${BACKUP_COUNT} -gt 0 ]]; then
112
+ echo -e "${GREEN} ✔${NC} ${BACKUP_COUNT} files have been backed up to '${CYAN}${CURRENT_BACKUP_DIR}/files${NC}'"
113
+ else
114
+ echo -e "${YELLOW} ⚠${NC} No files were backed up."
115
+ fi
116
+
117
+ echo ""
118
+ echo -e "${GREEN}❭${NC} Backup procedure completed."
119
+ echo ""
120
+ }
121
+
122
+ # Process command line arguments
123
+ case "$1" in
124
+ backup)
125
+ backup
126
+ ;;
127
+ help|--help|-h)
128
+ echo "Usage: $0 [command]"
129
+ echo ""
130
+ echo "Commands:"
131
+ echo " backup Backup dotfiles and configuration files"
132
+ echo " help Display this help message"
133
+ echo ""
134
+ ;;
135
+ "")
136
+ echo "No command specified. Use '$0 help' for usage information."
137
+ ;;
138
+ *)
139
+ echo "Unknown command: $1"
140
+ echo "Use '$0 help' for usage information."
141
+ ;;
142
+ esac
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # 🅳🅾🆃🅵🅸🅻🅴🆂 (v0.2.471) - <https://dotfiles.io>
4
+ # Made with ♥ in London, UK by Sebastien Rousseau
5
+ # Copyright (c) 2015-2025. All rights reserved
6
+ # License: MIT
7
+
8
+ ## 🅱🅰🅽🅽🅴🆁 - Display banner.
9
+
10
+ # shellcheck disable=SC2154
11
+ clear
12
+ cat <<EOF
13
+
14
+ ┌───────────────────────────────────────────────┐
15
+ │ $(echo -e "\033[1;96mDotfiles (v${DF_VERSION})\033[0m\n") │
16
+ ├───────────────────────────────────────────────┤
17
+ │ $(echo -e "\033[0;93mSimply designed to fit your shell life\033[0m\n") │
18
+ └───────────────────────────────────────────────┘
19
+
20
+ EOF
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # standard-benchmarks.sh
4
+ # Measures shell startup time to ensure performance goals (<20ms) are met.
5
+
6
+ set -euo pipefail
7
+
8
+ log_info() { echo -e "\n[INFO] $*"; }
9
+
10
+ # Check for hyperfine (preferred) or fall back to simplified loop
11
+ if command -v hyperfine >/dev/null; then
12
+ log_info "Running benchmark with hyperfine..."
13
+ hyperfine --warmup 3 --min-runs 10 "zsh -i -c exit"
14
+ else
15
+ log_info "Hyperfine not found. Using simple loop..."
16
+ echo "Running 10 iterations of 'zsh -i -c exit'..."
17
+ for _ in {1..10}; do
18
+ time zsh -i -c exit
19
+ done
20
+ fi
@@ -0,0 +1,41 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # 🅳🅾🆃🅵🅸🅻🅴🆂 (v0.2.471) - <https://dotfiles.io>
4
+ # Made with ♥ in London, UK by Sebastien Rousseau
5
+ # Copyright (c) 2015-2025. All rights reserved
6
+ # License: MIT
7
+
8
+ # shellcheck disable=SC1091
9
+ . "./lib/configurations/default/constants.sh"
10
+
11
+ # shellcheck disable=SC1091
12
+ . "./scripts/backup.sh"
13
+
14
+ # shellcheck disable=SC1091
15
+ . "./scripts/download.sh"
16
+
17
+ # shellcheck disable=SC1091
18
+ . "./scripts/unpack.sh"
19
+
20
+ # shellcheck disable=SC1091
21
+ . "./scripts/copy.sh"
22
+
23
+ ## 🅱🆄🅸🅻🅳 - Build the dotfiles on your system.
24
+ build() {
25
+
26
+ # shellcheck disable=SC2154
27
+ echo "${RED}❭${NC} Preparing the dotfiles on your system."
28
+
29
+ backup &&
30
+ download &&
31
+ unpack &&
32
+ copy
33
+
34
+ }
35
+
36
+ args=$* # Arguments passed to script.
37
+ export args="${args}" # Exporting arguments.
38
+ if [[ ${args} = "build" ]]; then
39
+ echo "$*"
40
+ build
41
+ fi
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # 🅳🅾🆃🅵🅸🅻🅴🆂 (v0.2.471) - <https://dotfiles.io>
4
+ # Made with ♥ in London, UK by Sebastien Rousseau
5
+ # Copyright (c) 2015-2025. All rights reserved
6
+ # License: MIT
7
+
8
+ ## 🅲🅻🅴🅰🅽 - Clean up.
9
+ clean() {
10
+
11
+ # shellcheck disable=SC1091
12
+ . "./lib/configurations/default/constants.sh"
13
+
14
+ echo ""
15
+ # shellcheck disable=SC2154
16
+ echo "${RED}❭${NC} Starting Cleanup."
17
+ echo ""
18
+
19
+ # shellcheck disable=SC2154
20
+ echo "${GREEN} ✔${NC} Cleaning up installation files."
21
+ rm -fr dist/
22
+ rm -f tsconfig.tsbuildinfo
23
+
24
+ }
25
+
26
+ args=$* # Arguments passed to script.
27
+ export args="${args}" # Exporting arguments.
28
+ if [[ ${args} = "clean" ]]; then
29
+ echo "$*"
30
+ clean
31
+ fi
@@ -0,0 +1,54 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # 🅳🅾🆃🅵🅸🅻🅴🆂 (v0.2.471) - <https://dotfiles.io>
4
+ # Made with ♥ in London, UK by Sebastien Rousseau
5
+ # Copyright (c) 2015-2025. All rights reserved
6
+ # License: MIT
7
+
8
+ ## 🅲🅾🅼🅿🅸🅻🅴 🅳🅾🆃🅵🅸🅻🅴🆂 - Compile dotfiles.
9
+
10
+ compile() {
11
+
12
+ # shellcheck disable=SC1091
13
+ . "./lib/configurations/default/constants.sh"
14
+
15
+ echo ""
16
+ # shellcheck disable=SC2154
17
+ echo "${RED}❭${NC} Starting Compilation."
18
+ echo ""
19
+
20
+ echo "${GREEN} ✔${NC} Copying libraries."
21
+ # shellcheck disable=SC1091
22
+ cp -R ./lib ./dist/
23
+
24
+ echo "${GREEN} ✔${NC} Copying scripts."
25
+ # shellcheck disable=SC1091
26
+ cp -R ./scripts ./dist/
27
+
28
+ echo "${GREEN} ✔${NC} Removing temporary files."
29
+ # shellcheck disable=SC1091
30
+ rimraf \"./dist/lib/**/*.tmp\"
31
+
32
+ echo "${GREEN} ✔${NC} Copying JavaScript binaries."
33
+ cp -f -R ./bin ./dist/
34
+
35
+ echo "${GREEN} ✔${NC} Copying Makefile."
36
+ cp -f ./Makefile ./dist
37
+
38
+ echo "${GREEN} ✔${NC} Compressing JavaScript files."
39
+ jsmin ./bin/backup.js >dist/bin/backup.js && jsmin ./bin/constants.js >dist/bin/constants.js && jsmin ./bin/copy.js >dist/bin/copy.js && jsmin ./bin/dotfiles.js >dist/bin/dotfiles.js && jsmin ./bin/download.js >dist/bin/download.js && jsmin ./bin/index.js >dist/bin/index.js && jsmin ./bin/transfer.js >dist/bin/transfer.js && jsmin ./bin/unpack.js >dist/bin/unpack.js
40
+
41
+ echo "${GREEN} ✔${NC} Determining the file sizes."
42
+ filesizes ./dist/ >./dist/filesizes.txt
43
+
44
+ # shellcheck disable=SC2154
45
+ echo "${GREEN} ✔${NC} Compilation completed."
46
+ echo ""
47
+ }
48
+
49
+ args=$* # Arguments passed to script.
50
+ export args="${args}" # Exporting arguments.
51
+ if [[ ${args} = "compile" ]]; then
52
+ echo "$*"
53
+ compile
54
+ fi
@@ -0,0 +1,108 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # 🅳🅾🆃🅵🅸🅻🅴🆂 (v0.2.471) - <https://dotfiles.io>
4
+ # Made with ♥ in London, UK by Sebastien Rousseau
5
+ # Copyright (c) 2015-2025. All rights reserved
6
+ # License: MIT
7
+
8
+ ## 🅲🅾🅿🆈 - Copy the dotfiles on your system.
9
+ copy() {
10
+
11
+ # shellcheck disable=SC1091
12
+ . "./lib/configurations/default/constants.sh"
13
+
14
+ echo ""
15
+ # shellcheck disable=SC2154
16
+ echo "${RED}❭${NC} Starting Copying Procedure."
17
+ echo ""
18
+
19
+ # shellcheck disable=SC2154
20
+ # if [[ -d "${DF_DIR}" ]]; then
21
+ # echo "${RED}❭${NC} Copying Binaries to ${DF_DIR}."
22
+ # cp -f -R ./bin/ "${DF_DIR}"bin/
23
+ # else
24
+ # echo "${RED}❭${NC} Copying Binaries to ${DF_DIR}."
25
+ # mkdir -p "${DF_DIR}"
26
+ # cp -f -R ./bin/ "${DF_DIR}"bin/
27
+ # fi
28
+
29
+ # shellcheck disable=SC2154
30
+ if [[ -d "${DF_DIR}" ]]; then
31
+ echo "${RED}❭${NC} Copying ${GREEN}Dotfiles v${DF_VERSION}${NC} to ${CYAN}${DF_DIR}${NC}"
32
+ cp -f -R ./lib/ "${DF_DIR}"lib/
33
+ else
34
+ echo "${RED}❭${NC} Copying ${GREEN}Dotfiles v${DF_VERSION}${NC} to ${CYAN}${DF_DIR}${NC}"
35
+ mkdir -p "${DF_DIR}"
36
+ cp -f -R ./lib/ "${DF_DIR}"lib/
37
+ fi
38
+
39
+ # shellcheck disable=SC2154
40
+ # if [[ -d "${DF_DIR}" ]]; then
41
+ # echo "${RED}❭${NC} Copying Scripts to ${CYAN}${DF_DIR}${NC}"
42
+ # cp -f -R ./scripts/ "${DF_DIR}"scripts/
43
+ # else
44
+ # echo "${RED}❭${NC} Copying Scripts to ${CYAN}${DF_DIR}${NC}"
45
+ # mkdir -p "${DF_DIR}"
46
+ # cp -f -R ./scripts/ "${DF_DIR}"scripts/
47
+ # fi
48
+
49
+ # cacert -- Copying cacert.pem file.
50
+ # shellcheck disable=SC2154
51
+ cp -f "${PWD}"/lib/configurations/curl/cacert.pem "${HOME}"/.cacert.pem &&
52
+ echo "${GREEN} ✔${NC} Copying '${YELLOW}cacert.pem${NC}'" &&
53
+
54
+ # bashrc -- Copying .bashrc file.
55
+ cp -f "${PWD}"/lib/configurations/bash/bashrc "${HOME}"/.bashrc &&
56
+ echo "${GREEN} ✔${NC} Copying '${YELLOW}.bashrc${NC}'" &&
57
+
58
+ # curlrc -- Copying .curlrc file.
59
+ cp -f "${PWD}"/lib/configurations/curl/curlrc "${HOME}"/.curlrc &&
60
+ echo "${GREEN} ✔${NC} Copying '${YELLOW}.curlrc${NC}'" &&
61
+
62
+ # gemrc -- Copying .gemrc file.
63
+ cp -f "${PWD}"/lib/configurations/gem/gemrc "${HOME}"/.gemrc &&
64
+ echo "${GREEN} ✔${NC} Copying '${YELLOW}.gemrc${NC}'" &&
65
+
66
+ # inputrc -- Copying .inputrc file.
67
+ cp -f "${PWD}"/lib/configurations/input/inputrc "${HOME}"/.inputrc &&
68
+ echo "${GREEN} ✔${NC} Copying '${YELLOW}.inputrc${NC}'" &&
69
+
70
+ # jshintrc -- Copying .jshintrc file.
71
+ cp -f "${PWD}"/lib/configurations/jshint/jshintrc "${HOME}"/.jshintrc &&
72
+ echo "${GREEN} ✔${NC} Copying '${YELLOW}.jshintrc${NC}'" &&
73
+
74
+ # nanorc -- Copying .nanorc file.
75
+ cp -f "${PWD}"/lib/configurations/nano/nanorc "${HOME}"/.nanorc &&
76
+ echo "${GREEN} ✔${NC} Copying '${YELLOW}.nanorc${NC}'" &&
77
+
78
+ # profile -- Copying .profile file.
79
+ cp -f "${PWD}"/lib/configurations/profile/profile "${HOME}"/.profile &&
80
+ echo "${GREEN} ✔${NC} Copying '${YELLOW}.profile${NC}'" &&
81
+
82
+ # tmux -- Copying .tmux.conf file.
83
+ cp -f "${PWD}"/lib/configurations/tmux/tmux "${HOME}"/.tmux.conf &&
84
+ echo "${GREEN} ✔${NC} Copying '${YELLOW}.tmux.conf${NC}'" &&
85
+
86
+ # vimrc -- Copying .vimrc file.
87
+ cp -f "${PWD}"/lib/configurations/vim/vimrc "${HOME}"/.vimrc &&
88
+ echo "${GREEN} ✔${NC} Copying '${YELLOW}.vimrc${NC}'" &&
89
+
90
+ # wgetrc -- Copying .wgetrc file.
91
+ cp -f "${PWD}"/lib/configurations/wget/wgetrc "${HOME}"/.wgetrc &&
92
+ echo "${GREEN} ✔${NC} Copying '${YELLOW}.wgetrc${NC}'" &&
93
+
94
+ # zshrc -- Copying .zshrc file.
95
+ cp -f "${PWD}"/lib/configurations/zsh/zshrc "${HOME}"/.zshrc &&
96
+ echo "${GREEN} ✔${NC} Copying '${YELLOW}.zshrc${NC}'"
97
+
98
+ # shellcheck disable=SC2154
99
+ echo "${GREEN} ✔${NC} All files have been copied up'"
100
+ echo ""
101
+ }
102
+
103
+ args=$* # Arguments passed to script.
104
+ export args="${args}" # Exporting arguments.
105
+ if [[ ${args} = "copy" ]]; then
106
+ echo "$*"
107
+ copy
108
+ fi
@@ -7,7 +7,7 @@ import os
7
7
  import re
8
8
  import sys
9
9
 
10
- BASE_DIR = os.path.expanduser("~/.dotfiles/.chezmoitemplates")
10
+ BASE_DIR = os.path.expanduser("~/.local/share/chezmoi/.chezmoitemplates")
11
11
  ALIASES_DIR = os.path.join(BASE_DIR, "aliases")
12
12
  FUNCTIONS_DIR = os.path.join(BASE_DIR, "functions")
13
13