@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,175 +0,0 @@
1
- #!/usr/bin/env bash
2
- # Linux System Tuning (opt-in)
3
- # Managed by chezmoi - https://github.com/sebastienrousseau/dotfiles
4
- #
5
- # Usage: DOTFILES_TUNING=1 DOTFILES_PROFILE=laptop ./linux.sh
6
- # Profiles: laptop, desktop, server
7
-
8
- set -euo pipefail
9
-
10
- if [[ "${DOTFILES_TUNING:-0}" != "1" ]]; then
11
- echo "Tuning is disabled. Re-run with DOTFILES_TUNING=1 to apply."
12
- exit 0
13
- fi
14
-
15
- PROFILE="${DOTFILES_PROFILE:-laptop}"
16
-
17
- if [[ "$PROFILE" != "laptop" && "$PROFILE" != "desktop" && "$PROFILE" != "server" ]]; then
18
- echo "DOTFILES_PROFILE must be: laptop, desktop, or server. Got: $PROFILE"
19
- exit 1
20
- fi
21
-
22
- echo "Applying Linux tuning for profile: $PROFILE"
23
-
24
- apply_sysctl() {
25
- local key="$1"
26
- local value="$2"
27
- if command -v sudo >/dev/null; then
28
- echo " Setting $key = $value"
29
- sudo sysctl -w "$key=$value" >/dev/null 2>&1 || echo " Warning: Failed to set $key"
30
- fi
31
- }
32
-
33
- if ! command -v sudo >/dev/null; then
34
- echo "sudo not available; skipping sysctl tuning."
35
- exit 0
36
- fi
37
-
38
- # =============================================================================
39
- # File System Tuning
40
- # =============================================================================
41
- echo "Configuring file system settings..."
42
-
43
- # Increase inotify watchers for IDEs and file sync tools
44
- apply_sysctl "fs.inotify.max_user_watches" "524288"
45
- apply_sysctl "fs.inotify.max_user_instances" "512"
46
-
47
- # Increase file descriptor limits
48
- apply_sysctl "fs.file-max" "2097152"
49
-
50
- # =============================================================================
51
- # Memory Tuning - vm.swappiness
52
- # =============================================================================
53
- echo "Configuring memory settings..."
54
-
55
- case "$PROFILE" in
56
- laptop)
57
- # Laptop: Balance between RAM and battery (moderate swappiness)
58
- apply_sysctl "vm.swappiness" "10"
59
- apply_sysctl "vm.vfs_cache_pressure" "50"
60
- apply_sysctl "vm.dirty_ratio" "15"
61
- apply_sysctl "vm.dirty_background_ratio" "5"
62
- ;;
63
- desktop)
64
- # Desktop: Prefer RAM over swap (low swappiness, more RAM usage)
65
- apply_sysctl "vm.swappiness" "5"
66
- apply_sysctl "vm.vfs_cache_pressure" "50"
67
- apply_sysctl "vm.dirty_ratio" "20"
68
- apply_sysctl "vm.dirty_background_ratio" "5"
69
- ;;
70
- server)
71
- # Server: Minimal swapping for consistent performance
72
- apply_sysctl "vm.swappiness" "1"
73
- apply_sysctl "vm.vfs_cache_pressure" "100"
74
- apply_sysctl "vm.dirty_ratio" "10"
75
- apply_sysctl "vm.dirty_background_ratio" "3"
76
- ;;
77
- esac
78
-
79
- # =============================================================================
80
- # Network Tuning - TCP Keepalive
81
- # =============================================================================
82
- echo "Configuring TCP keepalive settings..."
83
-
84
- # TCP keepalive: Detect dead connections faster
85
- # Default: 7200s (2 hours) - we reduce to 60s for faster detection
86
- apply_sysctl "net.ipv4.tcp_keepalive_time" "60"
87
-
88
- # Interval between keepalive probes (default: 75s)
89
- apply_sysctl "net.ipv4.tcp_keepalive_intvl" "10"
90
-
91
- # Number of keepalive probes before connection is dropped (default: 9)
92
- apply_sysctl "net.ipv4.tcp_keepalive_probes" "6"
93
-
94
- # Enable TCP Fast Open for faster connections
95
- apply_sysctl "net.ipv4.tcp_fastopen" "3"
96
-
97
- # Increase TCP buffer sizes for better throughput
98
- apply_sysctl "net.core.rmem_max" "16777216"
99
- apply_sysctl "net.core.wmem_max" "16777216"
100
- apply_sysctl "net.ipv4.tcp_rmem" "4096 87380 16777216"
101
- apply_sysctl "net.ipv4.tcp_wmem" "4096 65536 16777216"
102
-
103
- # Connection tracking and queueing
104
- apply_sysctl "net.core.somaxconn" "4096"
105
- apply_sysctl "net.core.netdev_max_backlog" "4096"
106
-
107
- # Reuse TIME_WAIT sockets for new connections
108
- apply_sysctl "net.ipv4.tcp_tw_reuse" "1"
109
-
110
- # Reduce FIN timeout for faster connection cleanup
111
- apply_sysctl "net.ipv4.tcp_fin_timeout" "15"
112
-
113
- # =============================================================================
114
- # Security Tuning
115
- # =============================================================================
116
- echo "Configuring security settings..."
117
-
118
- # Disable IP source routing
119
- apply_sysctl "net.ipv4.conf.all.accept_source_route" "0"
120
- apply_sysctl "net.ipv4.conf.default.accept_source_route" "0"
121
-
122
- # Ignore ICMP redirects
123
- apply_sysctl "net.ipv4.conf.all.accept_redirects" "0"
124
- apply_sysctl "net.ipv4.conf.default.accept_redirects" "0"
125
-
126
- # Ignore bogus ICMP errors
127
- apply_sysctl "net.ipv4.icmp_ignore_bogus_error_responses" "1"
128
-
129
- # Enable SYN flood protection
130
- apply_sysctl "net.ipv4.tcp_syncookies" "1"
131
-
132
- # =============================================================================
133
- # Persist Settings
134
- # =============================================================================
135
- echo "Persisting settings to /etc/sysctl.d/99-dotfiles.conf..."
136
-
137
- if command -v sudo >/dev/null; then
138
- sudo tee /etc/sysctl.d/99-dotfiles.conf >/dev/null <<'EOF'
139
- # Dotfiles system tuning - auto-generated
140
- # https://github.com/sebastienrousseau/dotfiles
141
-
142
- # File system
143
- fs.inotify.max_user_watches = 524288
144
- fs.inotify.max_user_instances = 512
145
- fs.file-max = 2097152
146
-
147
- # Memory (adjust vm.swappiness per profile)
148
- vm.vfs_cache_pressure = 50
149
-
150
- # TCP Keepalive
151
- net.ipv4.tcp_keepalive_time = 60
152
- net.ipv4.tcp_keepalive_intvl = 10
153
- net.ipv4.tcp_keepalive_probes = 6
154
- net.ipv4.tcp_fastopen = 3
155
-
156
- # TCP Performance
157
- net.core.rmem_max = 16777216
158
- net.core.wmem_max = 16777216
159
- net.core.somaxconn = 4096
160
- net.core.netdev_max_backlog = 4096
161
- net.ipv4.tcp_tw_reuse = 1
162
- net.ipv4.tcp_fin_timeout = 15
163
-
164
- # Security
165
- net.ipv4.conf.all.accept_source_route = 0
166
- net.ipv4.conf.default.accept_source_route = 0
167
- net.ipv4.conf.all.accept_redirects = 0
168
- net.ipv4.conf.default.accept_redirects = 0
169
- net.ipv4.icmp_ignore_bogus_error_responses = 1
170
- net.ipv4.tcp_syncookies = 1
171
- EOF
172
- fi
173
-
174
- echo "Linux tuning complete for profile: $PROFILE"
175
- echo "Note: Some settings require a reboot to take full effect."
@@ -1,46 +0,0 @@
1
- #!/usr/bin/env bash
2
- # macOS tuning (opt-in)
3
-
4
- set -euo pipefail
5
-
6
- if [[ "${DOTFILES_TUNING:-0}" != "1" ]]; then
7
- echo "Tuning is disabled. Re-run with DOTFILES_TUNING=1 to apply."
8
- exit 0
9
- fi
10
-
11
- if [[ "${DOTFILES_PROFILE:-}" != "laptop" && "${DOTFILES_PROFILE:-}" != "desktop" && "${DOTFILES_PROFILE:-}" != "server" ]]; then
12
- echo "DOTFILES_PROFILE is not set to a known profile. Aborting."
13
- exit 1
14
- fi
15
-
16
- echo "Applying macOS tuning..."
17
-
18
- # Faster key repeat (requires logout/login to fully apply)
19
- defaults write -g InitialKeyRepeat -int 15
20
- defaults write -g KeyRepeat -int 2
21
-
22
- # Finder: show all filename extensions
23
- defaults write NSGlobalDomain AppleShowAllExtensions -bool true
24
-
25
- # Finder: use list view by default in all Finder windows
26
- # Four-letter codes for view modes: `icnv`, `clmv`, `glyv`, `Nlsv` (list)
27
- defaults write com.apple.finder FXPreferredViewStyle -string "Nlsv"
28
-
29
- # Finder: show path bar
30
- defaults write com.apple.finder ShowPathbar -bool true
31
-
32
- # Finder: show status bar
33
- defaults write com.apple.finder ShowStatusBar -bool true
34
-
35
- # Finder: keep folders on top when sorting by name
36
- defaults write com.apple.finder _FXSortFoldersFirst -bool true
37
-
38
- # Restart Finder to apply changes
39
- killall Finder >/dev/null 2>&1 || true
40
-
41
- # Dock: reduce show/hide delay
42
- defaults write com.apple.dock autohide-delay -float 0
43
- defaults write com.apple.dock autohide-time-modifier -float 0.2
44
- killall Dock >/dev/null 2>&1 || true
45
-
46
- echo "macOS tuning complete."
@@ -1,7 +0,0 @@
1
- # __PROJECT_NAME__
2
-
3
- Molecule scenario scaffold.
4
-
5
- ---
6
-
7
- Made with ❤️ by [Sebastien Rousseau](https://github.com/sebastienrousseau)
@@ -1,7 +0,0 @@
1
- ---
2
- - name: Converge
3
- hosts: all
4
- tasks:
5
- - name: Print a message
6
- ansible.builtin.debug:
7
- msg: "Molecule scenario: __PROJECT_NAME__"
@@ -1,16 +0,0 @@
1
- ---
2
- driver:
3
- name: docker
4
-
5
- platforms:
6
- - name: instance
7
- image: "geerlingguy/docker-ubuntu2204-ansible:latest"
8
- privileged: true
9
-
10
- provisioner:
11
- name: ansible
12
- playbooks:
13
- converge: converge.yml
14
-
15
- verifier:
16
- name: ansible
@@ -1,15 +0,0 @@
1
- # __PROJECT_NAME__
2
-
3
- Packer template scaffold.
4
-
5
- ## Build
6
-
7
- ```bash
8
- packer init .
9
- packer validate .
10
- packer build .
11
- ```
12
-
13
- ---
14
-
15
- Made with ❤️ by [Sebastien Rousseau](https://github.com/sebastienrousseau)
@@ -1,15 +0,0 @@
1
- packer {
2
- required_version = ">= 1.9.0"
3
- }
4
-
5
- source "null" "example" {
6
- communicator = "none"
7
- }
8
-
9
- build {
10
- sources = ["source.null.example"]
11
-
12
- provisioner "shell" {
13
- inline = ["echo 'Packer template: __PROJECT_NAME__'"]
14
- }
15
- }