machineconfig 5.15__py3-none-any.whl → 7.98__py3-none-any.whl

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 (472) hide show
  1. machineconfig/__init__.py +0 -28
  2. machineconfig/cluster/remote/cloud_manager.py +1 -1
  3. machineconfig/cluster/remote/distribute.py +0 -1
  4. machineconfig/cluster/remote/file_manager.py +0 -2
  5. machineconfig/cluster/remote/script_execution.py +0 -1
  6. machineconfig/cluster/sessions_managers/{utils → helpers}/enhanced_command_runner.py +4 -6
  7. machineconfig/cluster/sessions_managers/utils/load_balancer.py +1 -1
  8. machineconfig/cluster/sessions_managers/utils/maker.py +69 -0
  9. machineconfig/cluster/sessions_managers/wt_local.py +114 -289
  10. machineconfig/cluster/sessions_managers/wt_local_manager.py +70 -210
  11. machineconfig/cluster/sessions_managers/wt_remote.py +51 -43
  12. machineconfig/cluster/sessions_managers/wt_remote_manager.py +52 -198
  13. machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +6 -19
  14. machineconfig/cluster/sessions_managers/wt_utils/manager_persistence.py +52 -0
  15. machineconfig/cluster/sessions_managers/wt_utils/monitoring_helpers.py +50 -0
  16. machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +4 -2
  17. machineconfig/cluster/sessions_managers/wt_utils/status_reporting.py +76 -0
  18. machineconfig/cluster/sessions_managers/wt_utils/wt_helpers.py +199 -0
  19. machineconfig/cluster/sessions_managers/zellij_local.py +81 -375
  20. machineconfig/cluster/sessions_managers/zellij_local_manager.py +25 -170
  21. machineconfig/cluster/sessions_managers/zellij_remote.py +40 -41
  22. machineconfig/cluster/sessions_managers/zellij_remote_manager.py +16 -12
  23. machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +4 -8
  24. machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +5 -20
  25. machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +3 -9
  26. machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +3 -1
  27. machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper.py +298 -0
  28. machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_restart.py +77 -0
  29. machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_with_panes.py +228 -0
  30. machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_manager_helper.py +165 -0
  31. machineconfig/jobs/{python → installer}/check_installations.py +2 -3
  32. machineconfig/jobs/installer/custom/boxes.py +61 -0
  33. machineconfig/jobs/installer/custom/hx.py +76 -19
  34. machineconfig/jobs/installer/custom/yazi.py +119 -0
  35. machineconfig/jobs/installer/custom_dev/alacritty.py +4 -4
  36. machineconfig/jobs/installer/custom_dev/brave.py +5 -9
  37. machineconfig/jobs/installer/custom_dev/cloudflare_warp_cli.py +23 -0
  38. machineconfig/jobs/installer/custom_dev/code.py +4 -1
  39. machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +30 -0
  40. machineconfig/jobs/installer/custom_dev/nerdfont.py +1 -1
  41. machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +33 -28
  42. machineconfig/jobs/installer/custom_dev/sysabc.py +139 -0
  43. machineconfig/jobs/installer/custom_dev/wezterm.py +2 -19
  44. machineconfig/jobs/installer/custom_dev/winget.py +10 -14
  45. machineconfig/jobs/installer/installer_data.json +1487 -229
  46. machineconfig/jobs/installer/linux_scripts/brave.sh +4 -14
  47. machineconfig/jobs/installer/linux_scripts/{warp-cli.sh → cloudflare_warp_cli.sh} +5 -17
  48. machineconfig/jobs/installer/linux_scripts/docker.sh +5 -17
  49. machineconfig/jobs/installer/linux_scripts/docker_start.sh +6 -14
  50. machineconfig/jobs/installer/linux_scripts/edge.sh +3 -11
  51. machineconfig/jobs/{linux/msc → installer/linux_scripts}/lid.sh +2 -8
  52. machineconfig/jobs/installer/linux_scripts/nerdfont.sh +5 -17
  53. machineconfig/jobs/{linux/msc → installer/linux_scripts}/network.sh +2 -8
  54. machineconfig/jobs/installer/linux_scripts/q.sh +10 -6
  55. machineconfig/jobs/installer/linux_scripts/redis.sh +6 -17
  56. machineconfig/jobs/installer/linux_scripts/vscode.sh +5 -17
  57. machineconfig/jobs/installer/linux_scripts/wezterm.sh +4 -12
  58. machineconfig/jobs/installer/package_groups.py +106 -177
  59. machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +129 -34
  60. machineconfig/logger.py +0 -1
  61. machineconfig/profile/backup.toml +49 -0
  62. machineconfig/profile/bash_shell_profiles.md +11 -0
  63. machineconfig/profile/create_helper.py +62 -0
  64. machineconfig/profile/create_links.py +288 -0
  65. machineconfig/profile/create_links_export.py +100 -0
  66. machineconfig/profile/create_shell_profile.py +147 -0
  67. machineconfig/profile/mapper.toml +263 -0
  68. machineconfig/scripts/__init__.py +0 -4
  69. machineconfig/scripts/linux/{share_cloud.sh → other/share_cloud.sh} +14 -25
  70. machineconfig/scripts/linux/wrap_mcfg +46 -0
  71. machineconfig/scripts/nu/wrap_mcfg.nu +69 -0
  72. machineconfig/scripts/python/agents.py +123 -117
  73. machineconfig/scripts/python/ai/initai.py +3 -28
  74. machineconfig/scripts/python/ai/scripts/command_runner.ps1 +33 -0
  75. machineconfig/scripts/python/ai/scripts/command_runner.sh +9 -0
  76. machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +17 -18
  77. machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +17 -18
  78. machineconfig/scripts/python/ai/solutions/_shared.py +9 -1
  79. machineconfig/scripts/python/ai/solutions/copilot/{chatmodes/Thinking-Beast-Mode.chatmode.md → agents/Thinking-Beast-Mode.agent.md} +0 -1
  80. machineconfig/scripts/python/ai/solutions/copilot/{chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md → agents/Ultimate-Transparent-Thinking-Beast-Mode.agent.md} +0 -1
  81. machineconfig/scripts/python/ai/solutions/copilot/{chatmodes/deepResearch.chatmode.md → agents/deepResearch.agent.md} +2 -2
  82. machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +5 -5
  83. machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +5 -1
  84. machineconfig/scripts/python/ai/solutions/copilot/instructions/python/watch_exec.prompt.md +20 -0
  85. machineconfig/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +16 -0
  86. machineconfig/scripts/python/ai/solutions/generic.py +28 -5
  87. machineconfig/scripts/python/ai/utils/generate_files.py +348 -0
  88. machineconfig/scripts/python/ai/utils/vscode_tasks.py +37 -0
  89. machineconfig/scripts/python/cloud.py +29 -0
  90. machineconfig/scripts/python/croshell.py +137 -113
  91. machineconfig/scripts/python/devops.py +61 -101
  92. machineconfig/scripts/python/devops_navigator.py +6 -0
  93. machineconfig/scripts/python/env_manager/__init__.py +1 -0
  94. machineconfig/scripts/python/env_manager/env_manager_tui.py +204 -0
  95. machineconfig/scripts/python/env_manager/path_manager_backend.py +47 -0
  96. machineconfig/scripts/python/env_manager/path_manager_tui.py +228 -0
  97. machineconfig/scripts/python/fire_jobs.py +110 -150
  98. machineconfig/scripts/python/ftpx.py +51 -24
  99. machineconfig/scripts/python/helpers/ast_search.py +74 -0
  100. machineconfig/scripts/python/helpers/qr_code.py +166 -0
  101. machineconfig/scripts/python/helpers/repo_rag.py +325 -0
  102. machineconfig/scripts/python/helpers/run_py_script.py +79 -0
  103. machineconfig/scripts/python/helpers/symantic_search.py +25 -0
  104. machineconfig/scripts/python/helpers/tmp_py_scripts/a.py +26 -0
  105. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.json +14 -0
  106. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.py +39 -0
  107. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_cursor_agents.py +22 -0
  108. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_gemini.py +55 -0
  109. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_qwen.py +30 -0
  110. machineconfig/scripts/python/helpers_agents/fire_agents_help_launch.py +126 -0
  111. machineconfig/scripts/python/helpers_agents/fire_agents_helper_types.py +41 -0
  112. machineconfig/scripts/python/helpers_agents/templates/prompt.txt +10 -0
  113. machineconfig/scripts/python/helpers_agents/templates/template.ps1 +14 -0
  114. machineconfig/scripts/python/helpers_agents/templates/template.sh +32 -0
  115. machineconfig/scripts/python/{cloud_copy.py → helpers_cloud/cloud_copy.py} +30 -23
  116. machineconfig/scripts/python/{cloud_mount.py → helpers_cloud/cloud_mount.py} +29 -35
  117. machineconfig/scripts/python/{cloud_sync.py → helpers_cloud/cloud_sync.py} +12 -18
  118. machineconfig/scripts/python/{helpers → helpers_cloud}/helpers2.py +1 -1
  119. machineconfig/scripts/python/helpers_croshell/crosh.py +39 -0
  120. machineconfig/scripts/python/{start_slidev.py → helpers_croshell/start_slidev.py} +8 -9
  121. machineconfig/scripts/python/helpers_devops/cli_config.py +105 -0
  122. machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +89 -0
  123. machineconfig/scripts/python/helpers_devops/cli_data.py +25 -0
  124. machineconfig/scripts/python/helpers_devops/cli_nw.py +214 -0
  125. machineconfig/scripts/python/helpers_devops/cli_repos.py +215 -0
  126. machineconfig/scripts/python/helpers_devops/cli_self.py +172 -0
  127. machineconfig/scripts/python/helpers_devops/cli_share_file.py +137 -0
  128. machineconfig/scripts/python/helpers_devops/cli_share_server.py +142 -0
  129. machineconfig/scripts/python/{share_terminal.py → helpers_devops/cli_share_terminal.py} +45 -35
  130. machineconfig/scripts/python/helpers_devops/cli_utils.py +96 -0
  131. machineconfig/scripts/python/{devops_backup_retrieve.py → helpers_devops/devops_backup_retrieve.py} +7 -10
  132. machineconfig/scripts/python/helpers_devops/devops_status.py +499 -0
  133. machineconfig/scripts/python/{devops_update_repos.py → helpers_devops/devops_update_repos.py} +68 -49
  134. machineconfig/scripts/python/helpers_devops/themes/choose_pwsh_theme.ps1 +81 -0
  135. machineconfig/scripts/python/helpers_devops/themes/choose_starship_theme.bash +3 -0
  136. machineconfig/scripts/python/{choose_wezterm_theme.py → helpers_devops/themes/choose_wezterm_theme.py} +3 -3
  137. machineconfig/scripts/python/helpers_fire_command/__init__.py +0 -0
  138. machineconfig/scripts/python/helpers_fire_command/f.py +0 -0
  139. machineconfig/scripts/python/{helpers/helpers4.py → helpers_fire_command/file_wrangler.py} +56 -20
  140. machineconfig/scripts/python/{fire_jobs_args_helper.py → helpers_fire_command/fire_jobs_args_helper.py} +5 -1
  141. machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +121 -0
  142. machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
  143. machineconfig/scripts/python/helpers_msearch/__init__.py +5 -0
  144. machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/fzfg +3 -3
  145. machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfg.ps1 +59 -0
  146. machineconfig/scripts/python/helpers_navigator/__init__.py +20 -0
  147. machineconfig/scripts/python/helpers_navigator/command_builder.py +111 -0
  148. machineconfig/scripts/python/helpers_navigator/command_detail.py +44 -0
  149. machineconfig/scripts/python/helpers_navigator/command_tree.py +620 -0
  150. machineconfig/scripts/python/helpers_navigator/data_models.py +28 -0
  151. machineconfig/scripts/python/helpers_navigator/main_app.py +272 -0
  152. machineconfig/scripts/python/helpers_navigator/search_bar.py +15 -0
  153. machineconfig/scripts/python/helpers_network/__init__.py +0 -0
  154. machineconfig/scripts/python/helpers_network/address.py +132 -0
  155. machineconfig/scripts/python/{devops_add_identity.py → helpers_network/devops_add_identity.py} +0 -2
  156. machineconfig/scripts/python/helpers_network/devops_add_ssh_key.py +153 -0
  157. machineconfig/scripts/{linux → python/helpers_network}/mount_nfs +0 -1
  158. machineconfig/scripts/python/{mount_nfs.py → helpers_network/mount_nfs.py} +3 -3
  159. machineconfig/scripts/{linux → python/helpers_network}/mount_nw_drive +1 -2
  160. machineconfig/scripts/python/{mount_ssh.py → helpers_network/mount_ssh.py} +3 -3
  161. machineconfig/scripts/python/{onetimeshare.py → helpers_network/onetimeshare.py} +0 -1
  162. machineconfig/scripts/python/helpers_network/ssh_debug_linux.py +391 -0
  163. machineconfig/scripts/python/helpers_network/ssh_debug_windows.py +338 -0
  164. machineconfig/scripts/python/{wifi_conn.py → helpers_network/wifi_conn.py} +1 -53
  165. machineconfig/scripts/python/{wsl_windows_transfer.py → helpers_network/wsl_windows_transfer.py} +5 -4
  166. machineconfig/scripts/python/helpers_repos/action.py +209 -0
  167. machineconfig/scripts/python/helpers_repos/action_helper.py +150 -0
  168. machineconfig/scripts/python/{repos_helper_clone.py → helpers_repos/clone.py} +2 -3
  169. machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +218 -0
  170. machineconfig/scripts/python/{repos_helper.py → helpers_repos/entrypoint.py} +9 -17
  171. machineconfig/scripts/python/helpers_repos/grource.py +340 -0
  172. machineconfig/scripts/python/{repos_helper_record.py → helpers_repos/record.py} +4 -3
  173. machineconfig/scripts/python/helpers_repos/repo_analyzer_1.py +160 -0
  174. machineconfig/scripts/python/{count_lines.py → helpers_repos/repo_analyzer_2.py} +113 -192
  175. machineconfig/scripts/python/helpers_repos/sync.py +66 -0
  176. machineconfig/scripts/python/{repos_helper_update.py → helpers_repos/update.py} +3 -3
  177. machineconfig/scripts/python/helpers_sessions/__init__.py +0 -0
  178. machineconfig/scripts/python/helpers_sessions/sessions_multiprocess.py +65 -0
  179. machineconfig/scripts/python/helpers_utils/download.py +150 -0
  180. machineconfig/scripts/python/helpers_utils/path.py +185 -0
  181. machineconfig/scripts/python/interactive.py +64 -84
  182. machineconfig/scripts/python/mcfg_entry.py +58 -0
  183. machineconfig/scripts/python/msearch.py +71 -0
  184. machineconfig/scripts/python/sessions.py +119 -45
  185. machineconfig/scripts/python/terminal.py +133 -0
  186. machineconfig/scripts/python/utils.py +64 -0
  187. machineconfig/scripts/windows/mounts/Restore-ThunderbirdProfile.ps1 +92 -0
  188. machineconfig/scripts/windows/{mount_nfs.ps1 → mounts/mount_nfs.ps1} +1 -3
  189. machineconfig/scripts/windows/{mount_ssh.ps1 → mounts/mount_ssh.ps1} +1 -1
  190. machineconfig/scripts/windows/{share_smb.ps1 → mounts/share_smb.ps1} +0 -6
  191. machineconfig/scripts/windows/wrap_mcfg.ps1 +63 -0
  192. machineconfig/settings/broot/br.sh +0 -4
  193. machineconfig/settings/broot/conf.toml +1 -1
  194. machineconfig/settings/helix/config.toml +16 -0
  195. machineconfig/settings/helix/languages.toml +13 -4
  196. machineconfig/settings/helix/yazi-picker.sh +12 -0
  197. machineconfig/settings/lf/linux/exe/lfcd.sh +1 -0
  198. machineconfig/settings/lf/linux/exe/previewer.sh +9 -3
  199. machineconfig/settings/lf/linux/lfrc +10 -12
  200. machineconfig/settings/lf/windows/lfcd.ps1 +1 -1
  201. machineconfig/settings/lf/windows/lfrc +18 -38
  202. machineconfig/settings/lf/windows/mkfile.ps1 +1 -1
  203. machineconfig/settings/linters/.ruff.toml +1 -1
  204. machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -6
  205. machineconfig/settings/marimo/marimo.toml +80 -0
  206. machineconfig/settings/marimo/snippets/globalize.py +34 -0
  207. machineconfig/settings/pistol/pistol.conf +1 -1
  208. machineconfig/settings/shells/bash/init.sh +82 -31
  209. machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +1 -1
  210. machineconfig/settings/shells/nushell/config.nu +2 -35
  211. machineconfig/settings/shells/nushell/env.nu +45 -6
  212. machineconfig/settings/shells/nushell/init.nu +314 -0
  213. machineconfig/settings/shells/pwsh/init.ps1 +61 -43
  214. machineconfig/settings/shells/starship/starship.toml +16 -0
  215. machineconfig/settings/shells/wezterm/wezterm.lua +2 -0
  216. machineconfig/settings/shells/wt/settings.json +32 -17
  217. machineconfig/settings/shells/zsh/init.sh +89 -0
  218. machineconfig/settings/svim/linux/init.toml +0 -4
  219. machineconfig/settings/svim/windows/init.toml +0 -3
  220. machineconfig/settings/television/cable_unix/alias.toml +8 -0
  221. machineconfig/settings/television/cable_unix/aws-buckets.toml +14 -0
  222. machineconfig/settings/television/cable_unix/aws-instances.toml +13 -0
  223. machineconfig/settings/television/cable_unix/bash-history.toml +8 -0
  224. machineconfig/settings/television/cable_unix/channels.toml +19 -0
  225. machineconfig/settings/television/cable_unix/dirs.toml +13 -0
  226. machineconfig/settings/television/cable_unix/distrobox-list.toml +42 -0
  227. machineconfig/settings/television/cable_unix/docker-images.toml +13 -0
  228. machineconfig/settings/television/cable_unix/dotfiles.toml +11 -0
  229. machineconfig/settings/television/cable_unix/env.toml +17 -0
  230. machineconfig/settings/television/cable_unix/files.toml +11 -0
  231. machineconfig/settings/television/cable_unix/fish-history.toml +8 -0
  232. machineconfig/settings/television/cable_unix/git-branch.toml +11 -0
  233. machineconfig/settings/television/cable_unix/git-diff.toml +10 -0
  234. machineconfig/settings/television/cable_unix/git-log.toml +12 -0
  235. machineconfig/settings/television/cable_unix/git-reflog.toml +12 -0
  236. machineconfig/settings/television/cable_unix/git-repos.toml +16 -0
  237. machineconfig/settings/television/cable_unix/guix.toml +20 -0
  238. machineconfig/settings/television/cable_unix/just-recipes.toml +18 -0
  239. machineconfig/settings/television/cable_unix/k8s-deployments.toml +36 -0
  240. machineconfig/settings/television/cable_unix/k8s-pods.toml +50 -0
  241. machineconfig/settings/television/cable_unix/k8s-services.toml +36 -0
  242. machineconfig/settings/television/cable_unix/man-pages.toml +24 -0
  243. machineconfig/settings/television/cable_unix/nu-history.toml +7 -0
  244. machineconfig/settings/television/cable_unix/procs.toml +20 -0
  245. machineconfig/settings/television/cable_unix/text.toml +17 -0
  246. machineconfig/settings/television/cable_unix/tldr.toml +18 -0
  247. machineconfig/settings/television/cable_unix/zsh-history.toml +9 -0
  248. machineconfig/settings/television/cable_windows/alias.toml +7 -0
  249. machineconfig/settings/television/cable_windows/dirs.toml +13 -0
  250. machineconfig/settings/television/cable_windows/docker-images.toml +13 -0
  251. machineconfig/settings/television/cable_windows/dotfiles.toml +11 -0
  252. machineconfig/settings/television/cable_windows/env.toml +17 -0
  253. machineconfig/settings/television/cable_windows/files.toml +14 -0
  254. machineconfig/settings/television/cable_windows/git-branch.toml +11 -0
  255. machineconfig/settings/television/cable_windows/git-diff.toml +10 -0
  256. machineconfig/settings/television/cable_windows/git-log.toml +11 -0
  257. machineconfig/settings/television/cable_windows/git-reflog.toml +11 -0
  258. machineconfig/settings/television/cable_windows/git-repos.toml +15 -0
  259. machineconfig/settings/television/cable_windows/nu-history.toml +7 -0
  260. machineconfig/settings/television/cable_windows/pwsh-history.toml +6 -0
  261. machineconfig/settings/television/cable_windows/text.toml +17 -0
  262. machineconfig/settings/yazi/init.lua +61 -0
  263. machineconfig/settings/yazi/keymap_linux.toml +94 -0
  264. machineconfig/settings/yazi/keymap_windows.toml +78 -0
  265. machineconfig/settings/yazi/shell/yazi_cd.ps1 +33 -0
  266. machineconfig/settings/yazi/shell/yazi_cd.sh +8 -0
  267. machineconfig/settings/yazi/theme.toml +4 -0
  268. machineconfig/settings/yazi/yazi_linux.toml +84 -0
  269. machineconfig/settings/yazi/yazi_windows.toml +58 -0
  270. machineconfig/setup_linux/__init__.py +11 -0
  271. machineconfig/setup_linux/apps_desktop.sh +89 -0
  272. machineconfig/setup_linux/apps_gui.sh +64 -0
  273. machineconfig/setup_linux/ssh/openssh_all.sh +25 -0
  274. machineconfig/setup_linux/ssh/openssh_wsl.sh +38 -0
  275. machineconfig/setup_linux/uv.sh +15 -0
  276. machineconfig/setup_linux/web_shortcuts/interactive.sh +26 -6
  277. machineconfig/setup_linux/web_shortcuts/live_from_github.sh +31 -0
  278. machineconfig/setup_mac/__init__.py +16 -0
  279. machineconfig/setup_mac/apps_gui.sh +248 -0
  280. machineconfig/setup_mac/ssh/openssh_setup.sh +114 -0
  281. machineconfig/setup_mac/uv.sh +36 -0
  282. machineconfig/setup_windows/__init__.py +11 -0
  283. machineconfig/setup_windows/others/power_options.ps1 +7 -0
  284. machineconfig/setup_windows/ssh/add-sshkey.ps1 +29 -0
  285. machineconfig/setup_windows/ssh/add_identity.ps1 +11 -0
  286. machineconfig/setup_windows/ssh/openssh-server.ps1 +37 -0
  287. machineconfig/setup_windows/uv.ps1 +17 -0
  288. machineconfig/setup_windows/web_shortcuts/interactive.ps1 +27 -10
  289. machineconfig/setup_windows/web_shortcuts/live_from_github.ps1 +30 -0
  290. machineconfig/setup_windows/web_shortcuts/quick_init.ps1 +17 -0
  291. machineconfig/utils/accessories.py +7 -5
  292. machineconfig/utils/cloud/onedrive/README.md +139 -0
  293. machineconfig/utils/code.py +155 -105
  294. machineconfig/utils/files/art/fat_croco.txt +10 -0
  295. machineconfig/utils/files/art/halfwit_croco.txt +9 -0
  296. machineconfig/utils/files/art/happy_croco.txt +22 -0
  297. machineconfig/utils/files/art/water_croco.txt +11 -0
  298. machineconfig/utils/files/ascii_art.py +1 -1
  299. machineconfig/utils/files/dbms.py +257 -0
  300. machineconfig/utils/files/headers.py +11 -14
  301. machineconfig/utils/files/ouch/__init__.py +0 -0
  302. machineconfig/utils/files/ouch/decompress.py +45 -0
  303. machineconfig/utils/files/read.py +10 -18
  304. machineconfig/utils/installer_utils/github_release_bulk.py +156 -119
  305. machineconfig/utils/installer_utils/install_from_url.py +183 -0
  306. machineconfig/utils/installer_utils/installer_class.py +64 -181
  307. machineconfig/utils/installer_utils/installer_cli.py +175 -0
  308. machineconfig/utils/installer_utils/installer_helper.py +129 -0
  309. machineconfig/utils/installer_utils/{installer_abc.py → installer_locator_utils.py} +66 -97
  310. machineconfig/utils/{installer.py → installer_utils/installer_runner.py} +49 -82
  311. machineconfig/utils/io.py +77 -23
  312. machineconfig/utils/links.py +254 -162
  313. machineconfig/utils/meta.py +256 -0
  314. machineconfig/utils/notifications.py +1 -1
  315. machineconfig/utils/options.py +46 -18
  316. machineconfig/utils/options_tv.py +119 -0
  317. machineconfig/utils/path_extended.py +48 -101
  318. machineconfig/utils/path_helper.py +76 -23
  319. machineconfig/utils/procs.py +50 -70
  320. machineconfig/utils/scheduler.py +88 -124
  321. machineconfig/utils/scheduling.py +0 -3
  322. machineconfig/utils/schemas/fire_agents/fire_agents_input.py +1 -1
  323. machineconfig/utils/schemas/layouts/layout_types.py +1 -1
  324. machineconfig/utils/source_of_truth.py +3 -6
  325. machineconfig/utils/ssh.py +263 -274
  326. machineconfig/utils/ssh_utils/abc.py +5 -0
  327. machineconfig/utils/ssh_utils/copy_from_here.py +111 -0
  328. machineconfig/utils/ssh_utils/copy_to_here.py +302 -0
  329. machineconfig/utils/ssh_utils/utils.py +142 -0
  330. machineconfig/utils/ssh_utils/wsl.py +210 -0
  331. machineconfig/utils/terminal.py +3 -113
  332. machineconfig/utils/tst.py +20 -0
  333. machineconfig/utils/upgrade_packages.py +114 -28
  334. machineconfig/utils/ve.py +12 -4
  335. machineconfig-7.98.dist-info/METADATA +132 -0
  336. machineconfig-7.98.dist-info/RECORD +504 -0
  337. machineconfig-7.98.dist-info/entry_points.txt +13 -0
  338. machineconfig/cluster/sessions_managers/ffile.py +0 -4
  339. machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -49
  340. machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -85
  341. machineconfig/jobs/linux/msc/cli_agents.sh +0 -16
  342. machineconfig/jobs/python/python_ve_symlink.py +0 -37
  343. machineconfig/jobs/python/vscode/api.py +0 -57
  344. machineconfig/jobs/python/vscode/sync_code.py +0 -73
  345. machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -14
  346. machineconfig/jobs/windows/start_terminal.ps1 +0 -6
  347. machineconfig/jobs/windows/startup_file.cmd +0 -2
  348. machineconfig/profile/create.py +0 -303
  349. machineconfig/profile/shell.py +0 -176
  350. machineconfig/scripts/cloud/init.sh +0 -119
  351. machineconfig/scripts/linux/agents +0 -2
  352. machineconfig/scripts/linux/choose_wezterm_theme +0 -3
  353. machineconfig/scripts/linux/cloud_copy +0 -2
  354. machineconfig/scripts/linux/cloud_mount +0 -2
  355. machineconfig/scripts/linux/cloud_repo_sync +0 -2
  356. machineconfig/scripts/linux/cloud_sync +0 -2
  357. machineconfig/scripts/linux/croshell +0 -3
  358. machineconfig/scripts/linux/devops +0 -2
  359. machineconfig/scripts/linux/fire +0 -2
  360. machineconfig/scripts/linux/ftpx +0 -2
  361. machineconfig/scripts/linux/fzf2g +0 -21
  362. machineconfig/scripts/linux/fzfag +0 -17
  363. machineconfig/scripts/linux/fzffg +0 -25
  364. machineconfig/scripts/linux/fzfrga +0 -21
  365. machineconfig/scripts/linux/gh_models +0 -2
  366. machineconfig/scripts/linux/initai +0 -2
  367. machineconfig/scripts/linux/kill_process +0 -2
  368. machineconfig/scripts/linux/scheduler +0 -2
  369. machineconfig/scripts/linux/sessions +0 -2
  370. machineconfig/scripts/linux/share_smb +0 -1
  371. machineconfig/scripts/linux/skrg +0 -4
  372. machineconfig/scripts/linux/start_slidev +0 -2
  373. machineconfig/scripts/linux/start_terminals +0 -3
  374. machineconfig/scripts/linux/warp-cli.sh +0 -122
  375. machineconfig/scripts/linux/wifi_conn +0 -2
  376. machineconfig/scripts/linux/z_ls +0 -104
  377. machineconfig/scripts/python/ai/generate_files.py +0 -83
  378. machineconfig/scripts/python/ai/solutions/copilot/prompts/allLintersAndTypeCheckers.prompt.md +0 -5
  379. machineconfig/scripts/python/cloud_repo_sync.py +0 -190
  380. machineconfig/scripts/python/count_lines_frontend.py +0 -16
  381. machineconfig/scripts/python/devops_add_ssh_key.py +0 -120
  382. machineconfig/scripts/python/dotfile.py +0 -78
  383. machineconfig/scripts/python/fire_agents_help_launch.py +0 -120
  384. machineconfig/scripts/python/fire_agents_helper_types.py +0 -12
  385. machineconfig/scripts/python/fire_jobs_route_helper.py +0 -65
  386. machineconfig/scripts/python/get_zellij_cmd.py +0 -15
  387. machineconfig/scripts/python/gh_models.py +0 -104
  388. machineconfig/scripts/python/helpers/repo_sync_helpers.py +0 -116
  389. machineconfig/scripts/python/repos.py +0 -132
  390. machineconfig/scripts/python/repos_helper_action.py +0 -378
  391. machineconfig/scripts/python/snapshot.py +0 -25
  392. machineconfig/scripts/python/start_terminals.py +0 -121
  393. machineconfig/scripts/python/t4.py +0 -17
  394. machineconfig/scripts/windows/agents.ps1 +0 -1
  395. machineconfig/scripts/windows/choose_wezterm_theme.ps1 +0 -1
  396. machineconfig/scripts/windows/cloud_copy.ps1 +0 -1
  397. machineconfig/scripts/windows/cloud_mount.ps1 +0 -1
  398. machineconfig/scripts/windows/cloud_repo_sync.ps1 +0 -1
  399. machineconfig/scripts/windows/cloud_sync.ps1 +0 -1
  400. machineconfig/scripts/windows/croshell.ps1 +0 -1
  401. machineconfig/scripts/windows/devops.ps1 +0 -1
  402. machineconfig/scripts/windows/dotfile.ps1 +0 -1
  403. machineconfig/scripts/windows/fire.ps1 +0 -1
  404. machineconfig/scripts/windows/ftpx.ps1 +0 -1
  405. machineconfig/scripts/windows/fzfb.ps1 +0 -3
  406. machineconfig/scripts/windows/fzfg.ps1 +0 -2
  407. machineconfig/scripts/windows/fzfrga.bat +0 -20
  408. machineconfig/scripts/windows/gpt.ps1 +0 -1
  409. machineconfig/scripts/windows/grep.ps1 +0 -2
  410. machineconfig/scripts/windows/initai.ps1 +0 -1
  411. machineconfig/scripts/windows/kill_process.ps1 +0 -1
  412. machineconfig/scripts/windows/nano.ps1 +0 -3
  413. machineconfig/scripts/windows/pomodoro.ps1 +0 -1
  414. machineconfig/scripts/windows/reload_path.ps1 +0 -3
  415. machineconfig/scripts/windows/scheduler.ps1 +0 -1
  416. machineconfig/scripts/windows/sessions.ps1 +0 -1
  417. machineconfig/scripts/windows/snapshot.ps1 +0 -1
  418. machineconfig/scripts/windows/start_slidev.ps1 +0 -1
  419. machineconfig/scripts/windows/start_terminals.ps1 +0 -1
  420. machineconfig/scripts/windows/wifi_conn.ps1 +0 -2
  421. machineconfig/scripts/windows/wsl_rdp_windows_port_forwarding.ps1 +0 -46
  422. machineconfig/scripts/windows/wsl_ssh_windows_port_forwarding.ps1 +0 -76
  423. machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -16
  424. machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -6
  425. machineconfig/settings/lf/windows/tst.ps1 +0 -1
  426. machineconfig/settings/yazi/yazi.toml +0 -4
  427. machineconfig/setup_linux/nix/cli_installation.sh +0 -157
  428. machineconfig/setup_linux/others/openssh-server_add_pub_key.sh +0 -57
  429. machineconfig/setup_linux/web_shortcuts/croshell.sh +0 -11
  430. machineconfig/setup_linux/web_shortcuts/ssh.sh +0 -52
  431. machineconfig/setup_windows/web_shortcuts/all.ps1 +0 -18
  432. machineconfig/setup_windows/web_shortcuts/ascii_art.ps1 +0 -36
  433. machineconfig/setup_windows/web_shortcuts/croshell.ps1 +0 -16
  434. machineconfig/setup_windows/web_shortcuts/ssh.ps1 +0 -11
  435. machineconfig/utils/ai/generate_file_checklist.py +0 -68
  436. machineconfig/utils/installer_utils/installer.py +0 -189
  437. machineconfig-5.15.dist-info/METADATA +0 -188
  438. machineconfig-5.15.dist-info/RECORD +0 -415
  439. machineconfig-5.15.dist-info/entry_points.txt +0 -18
  440. machineconfig/cluster/sessions_managers/{utils → helpers}/load_balancer_helper.py +0 -0
  441. machineconfig/scripts/linux/{share_nfs → other/share_nfs} +0 -0
  442. machineconfig/scripts/linux/{start_docker → other/start_docker} +0 -0
  443. machineconfig/scripts/linux/{switch_ip → other/switch_ip} +0 -0
  444. machineconfig/{jobs/python → scripts/python/ai/utils}/__init__.py +0 -0
  445. machineconfig/scripts/python/{helpers → helpers_agents}/__init__.py +0 -0
  446. machineconfig/{jobs/windows/msc/cli_agents.bat → scripts/python/helpers_agents/agentic_frameworks/__init__.py} +0 -0
  447. machineconfig/scripts/python/{fire_agents_help_search.py → helpers_agents/fire_agents_help_search.py} +0 -0
  448. machineconfig/scripts/python/{fire_agents_load_balancer.py → helpers_agents/fire_agents_load_balancer.py} +0 -0
  449. machineconfig/{jobs/windows/msc/cli_agents.ps1 → scripts/python/helpers_cloud/__init__.py} +0 -0
  450. machineconfig/scripts/python/{helpers → helpers_cloud}/cloud_helpers.py +1 -1
  451. /machineconfig/scripts/python/{helpers → helpers_cloud}/helpers5.py +0 -0
  452. /machineconfig/scripts/python/{fire_jobs_streamlit_helper.py → helpers_croshell/__init__.py} +0 -0
  453. /machineconfig/scripts/python/{pomodoro.py → helpers_croshell/pomodoro.py} +0 -0
  454. /machineconfig/scripts/python/{scheduler.py → helpers_croshell/scheduler.py} +0 -0
  455. /machineconfig/scripts/python/{viewer.py → helpers_croshell/viewer.py} +0 -0
  456. /machineconfig/scripts/python/{viewer_template.py → helpers_croshell/viewer_template.py} +0 -0
  457. /machineconfig/scripts/{windows/share_nfs.ps1 → python/helpers_devops/__init__.py} +0 -0
  458. /machineconfig/{settings/shells/pwsh/profile.ps1 → scripts/python/helpers_devops/themes/__init__.py} +0 -0
  459. /machineconfig/{settings/yazi/keymap.toml → scripts/python/helpers_devops/themes/choose_starship_theme.ps1} +0 -0
  460. /machineconfig/scripts/python/{cloud_manager.py → helpers_fire_command/cloud_manager.py} +0 -0
  461. /machineconfig/scripts/{linux → python/helpers_network}/mount_drive +0 -0
  462. /machineconfig/scripts/python/{mount_nw_drive.py → helpers_network/mount_nw_drive.py} +0 -0
  463. /machineconfig/scripts/{linux → python/helpers_network}/mount_smb +0 -0
  464. /machineconfig/scripts/windows/{mount_nw.ps1 → mounts/mount_nw.ps1} +0 -0
  465. /machineconfig/scripts/windows/{mount_smb.ps1 → mounts/mount_smb.ps1} +0 -0
  466. /machineconfig/scripts/windows/{share_cloud.cmd → mounts/share_cloud.cmd} +0 -0
  467. /machineconfig/scripts/windows/{unlock_bitlocker.ps1 → mounts/unlock_bitlocker.ps1} +0 -0
  468. /machineconfig/setup_linux/{web_shortcuts → others}/android.sh +0 -0
  469. /machineconfig/{jobs/windows/archive → setup_windows/ssh}/openssh-server_add_key.ps1 +0 -0
  470. /machineconfig/{jobs/windows/archive → setup_windows/ssh}/openssh-server_copy-ssh-id.ps1 +0 -0
  471. {machineconfig-5.15.dist-info → machineconfig-7.98.dist-info}/WHEEL +0 -0
  472. {machineconfig-5.15.dist-info → machineconfig-7.98.dist-info}/top_level.txt +0 -0
@@ -1,28 +1,32 @@
1
- from typing import Literal, TypeAlias, Union
1
+
2
+ GUI = [
3
+ "brave",
4
+ "code",
5
+ "git",
6
+ # "wezterm", # needs admin
7
+ ]
2
8
 
3
9
  # AI/LLM Tools - AI-powered coding and chat assistants
4
- PACKAGES_AI_TOOLS = [
10
+ AGENTS = [
5
11
  "aider",
6
- "github-copilot-cli",
12
+ "aichat",
13
+ "copilot",
7
14
  "gemini",
8
15
  "crush",
9
16
  "opencode-ai",
10
- "ollama",
17
+ # "ollama",
11
18
  "chatgpt",
12
19
  "mods",
13
20
  "q",
21
+ "qwen-code",
14
22
  "cursor-cli",
15
23
  "droid",
24
+ "kilocode",
25
+ "cline",
16
26
  "auggie",
27
+ # "gorilla",
17
28
  ]
18
29
 
19
- # Tunneling/Port Forwarding - Tools for exposing local services
20
- PACKAGES_TUNNELING = [
21
- "ngrok",
22
- "devtunnel",
23
- "cloudflared",
24
- "forward-cli",
25
- ]
26
30
 
27
31
  # Terminal Emulators & Shells - Terminal applications, emulators, and shell environments
28
32
  PACKAGES_TERMINAL_EMULATORS = [
@@ -41,6 +45,8 @@ PACKAGES_BROWSERS = [
41
45
  "bypass-paywalls-chrome",
42
46
  "browsh",
43
47
  "carbonyl",
48
+ "m365",
49
+ "zoomit",
44
50
  ]
45
51
 
46
52
  # Code Editors & IDEs - Code editing tools
@@ -51,34 +57,22 @@ PACKAGES_CODE_EDITORS = [
51
57
  "lvim",
52
58
  ]
53
59
 
54
- # Presentation & Text UI Tools - Markdown viewers, presentations, prompts, and text decoration
55
- PACKAGES_PRESENTATION = [
56
- "patat",
57
- "marp",
58
- "presenterm",
59
- "glow",
60
- "gum",
61
- "boxes",
62
- "hx",
63
- ]
60
+
64
61
 
65
62
  # Database Tools - Database clients and visualizers
66
63
  PACKAGES_DATABASE = [
67
64
  "SqliteBrowser",
65
+ "sqlite3",
66
+ "redis",
67
+ "redis-cli",
68
+ "postgresql-client",
69
+ "duckdb",
68
70
  "DBeaver",
69
71
  "rainfrog",
70
- "duckdb",
71
- ]
72
72
 
73
- # Documentation & Conversion - Document conversion, diagram tools, and fast file operations
74
- PACKAGES_DOC_CONVERSION = [
75
- "mermaid-cli",
76
- "html2markdown",
77
- "pandoc",
78
- "cpz",
79
- "rmz",
80
73
  ]
81
74
 
75
+
82
76
  # Media & Entertainment - Music players and media tools
83
77
  PACKAGES_MEDIA = [
84
78
  "ytui-music",
@@ -90,6 +84,10 @@ PACKAGES_MEDIA = [
90
84
 
91
85
  # File Sharing & Cloud - File sharing, transfer, backup, sync, and QR tools
92
86
  PACKAGES_FILE_SHARING = [
87
+ "ngrok",
88
+ "devtunnel",
89
+ "cloudflared",
90
+ "forward-cli",
93
91
  "ffsend",
94
92
  "portal",
95
93
  "qrcp",
@@ -104,28 +102,25 @@ PACKAGES_FILE_SHARING = [
104
102
  "restic",
105
103
  "syncthing",
106
104
  "cloudreve",
105
+ "ots",
107
106
  ]
108
107
 
109
108
 
110
- # Git & Docker Tools - Version control and container utilities
111
- PACKAGES_GIT_DOCKER_TOOLS = [
112
- "lazygit",
113
- "onefetch",
114
- "gitcs",
115
- "lazydocker",
116
- ]
117
-
118
109
  # Development Tools - Various development utilities
119
110
  PACKAGES_DEV_UTILS = [
120
111
  "devcontainer",
121
112
  "rust-analyzer",
122
113
  "evcxr",
123
114
  "geckodriver",
124
- "hyperfine",
125
115
  ]
126
116
 
127
117
  # Code Analysis, Git & Docs - Code analysis, statistics, documentation, and Git tools
128
118
  PACKAGES_CODE_ANALYSIS = [
119
+ "lazygit",
120
+ "onefetch",
121
+ "gitcs",
122
+ "lazydocker",
123
+ "hyperfine",
129
124
  "kondo",
130
125
  "tokei",
131
126
  "navi",
@@ -133,6 +128,8 @@ PACKAGES_CODE_ANALYSIS = [
133
128
  "gitui",
134
129
  "delta",
135
130
  "gh",
131
+ "watchexec",
132
+ "jq",
136
133
  ]
137
134
 
138
135
  # Productivity & Utilities - Productivity tools, security, remote access, and terminal enhancements
@@ -140,49 +137,38 @@ PACKAGES_PRODUCTIVITY = [
140
137
  "espanso",
141
138
  "bitwarden",
142
139
  "openpomodoro-cli",
143
- "just",
144
140
  "rustdesk",
145
- "ots",
146
- "lolcatjs",
147
- "figlet-cli",
141
+ "mermaid-cli",
142
+ "html2markdown",
143
+ "pandoc",
144
+ "patat",
145
+ "marp",
146
+ "presenterm",
147
+ "glow",
148
+ "gum",
149
+ "hx",
148
150
  ]
149
151
 
150
- # Miscellaneous Tools - Other tools
151
- PACKAGES_MISC_DEV = [
152
- "Gorilla",
153
- "nerdfont",
154
- "Redis",
155
- "winget",
156
- "transmission",
157
- "exa",
158
- "bytehound",
159
- "atuin",
160
- "xcrawl3r",
161
- "obsidian",
162
- "istio",
163
- "cointop",
164
- "nnn",
165
- ]
166
152
 
167
- # Main DEV package list - combines all subgroups
168
- PACKAGES_NAMES_DEV = [
169
- *PACKAGES_AI_TOOLS,
170
- *PACKAGES_TUNNELING,
171
- *PACKAGES_TERMINAL_EMULATORS,
172
- *PACKAGES_BROWSERS,
173
- *PACKAGES_CODE_EDITORS,
174
- *PACKAGES_PRESENTATION,
175
- *PACKAGES_DATABASE,
176
- *PACKAGES_DOC_CONVERSION,
177
- *PACKAGES_MEDIA,
178
- *PACKAGES_FILE_SHARING,
179
- *PACKAGES_GIT_DOCKER_TOOLS,
180
- *PACKAGES_DEV_UTILS,
181
- *PACKAGES_CODE_ANALYSIS,
182
- *PACKAGES_PRODUCTIVITY,
183
- *PACKAGES_MISC_DEV,
153
+ # sudo nala install cowsay -y || true
154
+ # sudo nala install lolcat -y || true
155
+ # sudo nala install boxes -y || true
156
+ # sudo nala install figlet -y || true
157
+ # sudo nala install fortune -y || true
158
+ # sudo nala install toilet -y || true
159
+ TERMINAL_EYE_CANDY = [
160
+ "lolcatjs",
161
+ "figlet-cli",
162
+ "boxes",
163
+ # "transmission",
164
+ # "bytehound",
165
+ # "xcrawl3r",
166
+ # "obsidian",
167
+ # "istio",
168
+ # "cointop",
184
169
  ]
185
170
 
171
+
186
172
  # System & Network Monitoring - System resource monitors, process viewers, network analysis, and system info tools
187
173
  PACKAGES_SYSTEM_MONITORS = [
188
174
  "btop",
@@ -195,40 +181,41 @@ PACKAGES_SYSTEM_MONITORS = [
195
181
  "cpufetch",
196
182
  "fastfetch",
197
183
  "topgrade",
184
+ "speedtest",
198
185
  ]
199
186
 
200
187
 
201
- # File Tools - File browsing, navigation, listing, directory jumping, and disk usage analysis
202
- PACKAGES_FILE_TOOLS = [
203
- "xplr",
204
- "joshuto",
205
- "lf",
206
- "tere",
207
- "yazi",
208
- "lsd",
209
- "zoxide",
210
- "diskonaut",
211
- "dua",
212
- "dust",
213
- ]
214
-
215
- # File Viewers - File preview and viewing tools
216
- PACKAGES_FILE_VIEWERS = [
217
- "pistol",
218
- "bat",
219
- "viu",
220
- ]
221
188
 
222
189
 
223
190
  # Search & Archive Tools - File and content search utilities, archive management
224
- PACKAGES_SEARCH = [
191
+ PACKAGES_FILE = [
192
+ "nerdfont",
193
+ "winget",
225
194
  "fd",
226
195
  "fzf",
196
+ "tv",
227
197
  "broot",
228
198
  "rg",
229
199
  "rga",
230
200
  "ugrep",
231
201
  "ouch",
202
+ "pistol",
203
+ "bat",
204
+ "viu",
205
+ # "xplr",
206
+ # "joshuto",
207
+ # "lf",
208
+ # "nnn",
209
+ "yazi",
210
+ "tere",
211
+ # "exa",
212
+ "lsd",
213
+ "zoxide",
214
+ "diskonaut",
215
+ "dua",
216
+ "dust",
217
+ "cpz",
218
+ "rmz",
232
219
  ]
233
220
 
234
221
  # Terminal & Shell Enhancements - Terminal multiplexers, shell history, and prompts
@@ -236,92 +223,34 @@ PACKAGES_TERMINAL_SHELL = [
236
223
  "zellij",
237
224
  "mprocs",
238
225
  "mcfly",
226
+ "atuin",
239
227
  "starship",
240
- ]
241
-
242
-
243
-
244
- # Cloud & Utilities - Cloud storage, file watching, web terminal, and presentation tools
245
- PACKAGES_CLOUD_UTILS = [
246
- "rclone",
247
- "watchexec",
248
- "m365",
249
- "zoomit",
250
- "speedtest",
251
- ]
252
-
253
- # Web Sharing - Share terminal over web
254
- PACKAGES_WEB_TERMINAL = [
255
228
  "gotty",
256
229
  "ttyd",
230
+ "rclone",
231
+ "cb"
257
232
  ]
258
233
 
259
234
 
260
- # Main ESSENTIAL package list - combines all subgroups
261
- PACKAGES_NAMES_ESSENTIAL = [
262
- *PACKAGES_CODE_ANALYSIS,
263
- *PACKAGES_PRESENTATION,
264
- *PACKAGES_FILE_VIEWERS,
265
- *PACKAGES_FILE_TOOLS,
266
- *PACKAGES_SYSTEM_MONITORS,
267
- *PACKAGES_WEB_TERMINAL,
268
- *PACKAGES_TERMINAL_SHELL,
269
- *PACKAGES_SEARCH,
270
- *PACKAGES_AI_TOOLS,
271
- *PACKAGES_CLOUD_UTILS,
272
- ]
273
235
 
274
- PACKAGE_GROUPS: TypeAlias = Literal[
275
- "ESSENTIAL",
276
- "DEV",
277
- "AI_TOOLS",
278
- "TUNNELING",
279
- "TERMINAL_EMULATORS",
280
- "BROWSERS",
281
- "CODE_EDITORS",
282
- "PRESENTATION",
283
- "DATABASE",
284
- "DOC_CONVERSION",
285
- "MEDIA",
286
- "FILE_SHARING",
287
- "GIT_DOCKER_TOOLS",
288
- "DEV_UTILS",
289
- "CODE_ANALYSIS",
290
- "PRODUCTIVITY",
291
- "MISC_DEV",
292
- "SYSTEM_MONITORS",
293
- "FILE_TOOLS",
294
- "FILE_VIEWERS",
295
- "SEARCH",
296
- "TERMINAL_SHELL",
297
- "CLOUD_UTILS",
298
- "WEB_TERMINAL",
299
- ]
300
- PACKAGE_GROUP2NAMES: dict[PACKAGE_GROUPS, list[str]] = {
301
- "ESSENTIAL": PACKAGES_NAMES_ESSENTIAL,
302
- "DEV": PACKAGES_NAMES_DEV,
303
- "AI_TOOLS": PACKAGES_AI_TOOLS,
304
- "TUNNELING": PACKAGES_TUNNELING,
305
- "TERMINAL_EMULATORS": PACKAGES_TERMINAL_EMULATORS,
306
- "BROWSERS": PACKAGES_BROWSERS,
307
- "CODE_EDITORS": PACKAGES_CODE_EDITORS,
308
- "PRESENTATION": PACKAGES_PRESENTATION,
309
- "DATABASE": PACKAGES_DATABASE,
310
- "DOC_CONVERSION": PACKAGES_DOC_CONVERSION,
311
- "MEDIA": PACKAGES_MEDIA,
312
- "FILE_SHARING": PACKAGES_FILE_SHARING,
313
- "GIT_DOCKER_TOOLS": PACKAGES_GIT_DOCKER_TOOLS,
314
- "DEV_UTILS": PACKAGES_DEV_UTILS,
315
- "CODE_ANALYSIS": PACKAGES_CODE_ANALYSIS,
316
- "PRODUCTIVITY": PACKAGES_PRODUCTIVITY,
317
- "MISC_DEV": PACKAGES_MISC_DEV,
318
- "SYSTEM_MONITORS": PACKAGES_SYSTEM_MONITORS,
319
- "FILE_TOOLS": PACKAGES_FILE_TOOLS,
320
- "FILE_VIEWERS": PACKAGES_FILE_VIEWERS,
321
- "SEARCH": PACKAGES_SEARCH,
322
- "TERMINAL_SHELL": PACKAGES_TERMINAL_SHELL,
323
- "CLOUD_UTILS": PACKAGES_CLOUD_UTILS,
324
- "WEB_TERMINAL": PACKAGES_WEB_TERMINAL,
236
+ PACKAGE_GROUP2NAMES: dict[str, list[str]] = {
237
+ "sysabc": ["sysabc"],
238
+ "termabc": [*PACKAGES_CODE_ANALYSIS, *PACKAGES_SYSTEM_MONITORS, *PACKAGES_TERMINAL_SHELL, *PACKAGES_FILE,],
239
+ "gui": GUI,
240
+ "dev": [*PACKAGES_TERMINAL_EMULATORS, *PACKAGES_BROWSERS, *PACKAGES_CODE_EDITORS, *PACKAGES_DATABASE, *PACKAGES_MEDIA, *PACKAGES_FILE_SHARING, *PACKAGES_DEV_UTILS, *PACKAGES_CODE_ANALYSIS, *PACKAGES_PRODUCTIVITY, *TERMINAL_EYE_CANDY,],
241
+ "dev-utils": PACKAGES_DEV_UTILS,
242
+ "term-eye-candy": TERMINAL_EYE_CANDY,
243
+ "agents": AGENTS,
244
+ "terminal-emulator": PACKAGES_TERMINAL_EMULATORS,
245
+ "shell": PACKAGES_TERMINAL_SHELL,
246
+ "browsers": PACKAGES_BROWSERS,
247
+ "code-editors": PACKAGES_CODE_EDITORS,
248
+ "code-analysis": PACKAGES_CODE_ANALYSIS,
249
+ "db": PACKAGES_DATABASE,
250
+ "media": PACKAGES_MEDIA,
251
+ "file-sharing": PACKAGES_FILE_SHARING,
252
+ "productivity": PACKAGES_PRODUCTIVITY,
253
+ "sys-monitor": PACKAGES_SYSTEM_MONITORS,
254
+ "search": PACKAGES_FILE,
325
255
  }
326
256
 
327
- _ = Union, Literal
@@ -6,6 +6,19 @@ $objShell = New-Object -ComObject Shell.Application
6
6
  $objFolder = $objShell.Namespace($FONTS)
7
7
  $Fontdir = Get-ChildItem -Path $Path -File
8
8
 
9
+ $invalidCharPattern = "[{0}]" -f ([Regex]::Escape(([string]::Join('', [System.IO.Path]::GetInvalidFileNameChars()))))
10
+
11
+ function Get-FontBaseNameSafe {
12
+ param([string]$Input)
13
+ if ([string]::IsNullOrWhiteSpace($Input)) { return "" }
14
+ $candidate = ($Input -split ',')[0].Trim()
15
+ try { return [System.IO.Path]::GetFileNameWithoutExtension($candidate) }
16
+ catch {
17
+ $sanitized = [Regex]::Replace($candidate, $invalidCharPattern, '')
18
+ return ($sanitized -replace '\\.[^.]+$')
19
+ }
20
+ }
21
+
9
22
  # Normalization helper: remove spaces, underscores, hyphens, 'nerd', 'font', and collapse 'nf' for broad matching
10
23
  function Normalize-FontName {
11
24
  param([string]$Name)
@@ -17,47 +30,129 @@ function Normalize-FontName {
17
30
  return $n
18
31
  }
19
32
 
33
+ function Get-FontIdentityForms {
34
+ param([string]$Name)
35
+ if ([string]::IsNullOrWhiteSpace($Name)) { return @() }
36
+ $normalized = Normalize-FontName $Name
37
+ if ([string]::IsNullOrWhiteSpace($normalized)) { return @() }
38
+
39
+ $forms = @()
40
+ $forms += $normalized
41
+
42
+ $stylePattern = '(regular|italic|oblique|bold|bolditalic|semibold|semilight|light|extrabold|extralight|medium|thin|black|book|ultra|heavy|demi|retina|condensed|narrow|windowscompatible|complete|windowscomp|compatibility)+$'
43
+ $stem = $normalized
44
+ while ($stem -match $stylePattern) {
45
+ $stem = [Regex]::Replace($stem, $stylePattern, '')
46
+ if ([string]::IsNullOrWhiteSpace($stem)) { break }
47
+ $forms += $stem
48
+ }
49
+
50
+ $stemForVariants = $stem
51
+ foreach ($tail in @('mono', 'propo')) {
52
+ $tmp = $stemForVariants
53
+ while (-not [string]::IsNullOrWhiteSpace($tmp) -and $tmp.EndsWith($tail)) {
54
+ $tmp = $tmp.Substring(0, $tmp.Length - $tail.Length)
55
+ if ([string]::IsNullOrWhiteSpace($tmp)) { break }
56
+ $forms += $tmp
57
+ }
58
+ }
59
+
60
+ return ($forms | Where-Object { -not [string]::IsNullOrWhiteSpace($_) } | Select-Object -Unique)
61
+ }
62
+
63
+ function Test-FontFormsOverlapFuzzy {
64
+ param(
65
+ [string[]]$CandidateForms,
66
+ [string[]]$ExistingForms
67
+ )
68
+ foreach ($candidate in $CandidateForms) {
69
+ if ([string]::IsNullOrWhiteSpace($candidate)) { continue }
70
+ foreach ($existing in $ExistingForms) {
71
+ if ([string]::IsNullOrWhiteSpace($existing)) { continue }
72
+ if ($existing.Contains($candidate) -or $candidate.Contains($existing)) { return $true }
73
+ }
74
+ }
75
+ return $false
76
+ }
77
+
78
+ function Merge-UniqueForms {
79
+ param(
80
+ [string[]]$Existing,
81
+ [string[]]$Additional
82
+ )
83
+ return (($Existing + $Additional) | Where-Object { -not [string]::IsNullOrWhiteSpace($_) } | Select-Object -Unique)
84
+ }
85
+
20
86
  # Cache installed font basenames once (raw + normalized map)
21
87
  $installedFontFiles = Get-ChildItem C:\Windows\Fonts -File
22
- $installedFonts = @{}
23
- foreach ($f in $installedFontFiles) { $installedFonts[(Normalize-FontName $f.BaseName)] = 1 }
88
+ $installedFonts = @()
89
+ foreach ($f in $installedFontFiles) {
90
+ $installedFonts = Merge-UniqueForms $installedFonts (Get-FontIdentityForms $f.BaseName)
91
+ }
24
92
 
25
- Write-Host "Existing related fonts detected:" ($installedFonts.Keys | Where-Object { $_ -match 'caskaydiacove|cascadiacode' } | Sort-Object | Get-Unique) -ForegroundColor DarkGray
93
+ $relatedInstalled = $installedFonts | Where-Object { $_ -match 'caskaydiacove|cascadiacode' } | Sort-Object | Get-Unique
94
+ Write-Host "Existing related fonts detected:" $relatedInstalled -ForegroundColor DarkGray
95
+
96
+ $registryFonts = @()
97
+ $fontReg = $null
98
+ try {
99
+ $fontReg = Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts' -ErrorAction Stop
100
+ } catch {
101
+ Write-Host "Registry font list unavailable: $($_.Exception.Message)" -ForegroundColor DarkYellow
102
+ }
103
+ if ($null -ne $fontReg) {
104
+ foreach ($prop in $fontReg.PSObject.Properties) {
105
+ $val = ($prop.Value | Out-String).Trim()
106
+ $nm = ($prop.Name | Out-String).Trim()
107
+ $registryFonts = Merge-UniqueForms $registryFonts (Get-FontIdentityForms (Get-FontBaseNameSafe $val))
108
+ $registryFonts = Merge-UniqueForms $registryFonts (Get-FontIdentityForms (Get-FontBaseNameSafe $nm))
109
+ }
110
+ }
26
111
 
27
112
  foreach ($File in $Fontdir) {
28
- if ($File.Name -notmatch 'pfb$') {
29
- $candidateRaw = $File.BaseName
30
- $candidateNorm = Normalize-FontName $candidateRaw
31
-
32
- # 1. Exact file existence check (handles .ttf/.otf pairs) before invoking Shell CopyHere.
33
- $destFile = Join-Path -Path 'C:\Windows\Fonts' -ChildPath $File.Name
34
- if (Test-Path -LiteralPath $destFile) { Write-Host "Skip (file exists) $($File.Name)" -ForegroundColor Green; continue }
35
-
36
- # 2. Registry check: Fonts are registered under HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
37
- try {
38
- $fontReg = Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts' -ErrorAction Stop
39
- $regMatch = $false
40
- foreach ($prop in $fontReg.PSObject.Properties) {
41
- $val = ($prop.Value | Out-String).Trim()
42
- $nm = ($prop.Name | Out-String).Trim()
43
- $valNorm = Normalize-FontName ( [System.IO.Path]::GetFileNameWithoutExtension($val) )
44
- $nmNorm = Normalize-FontName $nm
45
- if ($valNorm -eq $candidateNorm -or $nmNorm -eq $candidateNorm -or $nmNorm -match [Regex]::Escape($candidateNorm)) { $regMatch = $true; break }
46
- }
47
- if ($regMatch) {
48
- Write-Host "Skip (registry) $($File.Name)" -ForegroundColor Green
49
- continue
50
- }
51
- } catch {
52
- Write-Host "Registry font query failed: $($_.Exception.Message) (continuing)" -ForegroundColor DarkYellow
53
- }
113
+ if ($File.Name -match 'pfb$') { continue }
54
114
 
55
- # 3. Original heuristic set: in-memory list
56
- if ($installedFonts.ContainsKey($candidateNorm)) { Write-Host "Skip (norm map) $($File.Name)" -ForegroundColor Green; continue }
57
- if ($installedFonts.Keys | Where-Object { $_ -match [Regex]::Escape($candidateNorm) }) { Write-Host "Skip (norm regex) $($File.Name)" -ForegroundColor Green; continue }
115
+ $candidateForms = Get-FontIdentityForms $File.BaseName
116
+ if ($candidateForms.Count -eq 0) { $candidateForms = @(Normalize-FontName $File.BaseName) }
117
+ $candidateNorm = if ($candidateForms.Count -gt 0) { $candidateForms[0] } else { '' }
58
118
 
59
- Write-Host "Installing font (no matches) $($File.Name) | norm=$candidateNorm" -ForegroundColor Yellow
60
- $objFolder.CopyHere($File.FullName)
119
+ # 1. Exact file existence check (handles .ttf/.otf pairs) before invoking Shell CopyHere.
120
+ $destFile = Join-Path -Path 'C:\Windows\Fonts' -ChildPath $File.Name
121
+ if (Test-Path -LiteralPath $destFile) {
122
+ Write-Host "Skip (file exists) $($File.Name)" -ForegroundColor Green
123
+ $installedFonts = Merge-UniqueForms $installedFonts $candidateForms
124
+ continue
61
125
  }
126
+
127
+ # 2. Registry check: Fonts are registered under HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
128
+ if ($registryFonts.Count -gt 0) {
129
+ $exactRegMatch = $candidateForms | Where-Object { $registryFonts -contains $_ }
130
+ if ($exactRegMatch.Count -gt 0) {
131
+ Write-Host "Skip (registry) $($File.Name)" -ForegroundColor Green
132
+ $installedFonts = Merge-UniqueForms $installedFonts $candidateForms
133
+ continue
134
+ }
135
+ if (Test-FontFormsOverlapFuzzy $candidateForms $registryFonts) {
136
+ Write-Host "Skip (registry family) $($File.Name)" -ForegroundColor Green
137
+ $installedFonts = Merge-UniqueForms $installedFonts $candidateForms
138
+ continue
139
+ }
140
+ }
141
+
142
+ # 3. Original heuristic set: in-memory list
143
+ if (($candidateForms | Where-Object { $installedFonts -contains $_ }).Count -gt 0) {
144
+ Write-Host "Skip (installed map) $($File.Name)" -ForegroundColor Green
145
+ $installedFonts = Merge-UniqueForms $installedFonts $candidateForms
146
+ continue
147
+ }
148
+ if (Test-FontFormsOverlapFuzzy $candidateForms $installedFonts) {
149
+ Write-Host "Skip (installed family) $($File.Name)" -ForegroundColor Green
150
+ $installedFonts = Merge-UniqueForms $installedFonts $candidateForms
151
+ continue
152
+ }
153
+
154
+ Write-Host "Installing font (no matches) $($File.Name) | norm=$candidateNorm" -ForegroundColor Yellow
155
+ $objFolder.CopyHere($File.FullName)
156
+ $installedFonts = Merge-UniqueForms $installedFonts $candidateForms
62
157
  }
63
158
  Write-Host "Font installation script completed." -ForegroundColor Cyan
machineconfig/logger.py CHANGED
@@ -1,4 +1,3 @@
1
- from __future__ import annotations
2
1
 
3
2
  import logging
4
3
  import os
@@ -0,0 +1,49 @@
1
+
2
+ # locations to be backed up to the cloud.
3
+
4
+ [thunderbird_windows]
5
+ path = '~/AppData/Roaming/Thunderbird/Profiles'
6
+ encrypt = 'True'
7
+ zip = 'True'
8
+ rel2home = 'True'
9
+ os_specific = 'True'
10
+
11
+
12
+ [thunderbird_linux]
13
+ path = '~/.thunderbird'
14
+ encrypt = 'True'
15
+ zip = 'True'
16
+ rel2home = 'True'
17
+ os_specific = 'True'
18
+
19
+
20
+ [zoxide_windows]
21
+ path = '~/AppData/Local/zoxide/db.zo'
22
+ encrypt = 'False'
23
+ zip = 'False'
24
+ rel2home = 'True'
25
+ os_specific = 'True'
26
+
27
+
28
+ [zoxide_linux]
29
+ path = '~/.local/share/zoxide/db.zo'
30
+ encrypt = 'False'
31
+ zip = 'False'
32
+ rel2home = 'True'
33
+ os_specific = 'True'
34
+
35
+
36
+ #[dotfiles]
37
+ # path = '~/dotfiles'
38
+ # encrypt = 'True'
39
+ # zip = 'True'
40
+ # rel2home = 'True'
41
+ # os_specific = 'True'
42
+
43
+
44
+ [ipython]
45
+ path = '~/.ipython'
46
+ encrypt = 'True'
47
+ zip = 'True'
48
+ rel2home = 'True'
49
+ os_specific = 'False'
@@ -0,0 +1,11 @@
1
+
2
+ # Non-login shells, .bashrc > .profile are read.
3
+ # for login shells, e.g. SSH, .bash_login > .bash_profile > .profile is read.
4
+
5
+ # The strategy to ensure consistent configuration for login and nonlogin shells is to put all the configuration in .bashrc, and then source it from .bash_profile and .profile.
6
+
7
+ # ensure .bash_profile only calls .profile
8
+ # ensure .profile calls .bashrc only at the end.
9
+
10
+ When you login: /etc/profile -> ~/.profile -> ~/.bash_profile -> ~/.bashrc
11
+ When you open a new terminal: ~/.bashrc