machineconfig 7.98__py3-none-any.whl → 8.61__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 (353) hide show
  1. machineconfig/cluster/remote/run_cluster.py +1 -1
  2. machineconfig/cluster/remote/run_remote.py +1 -1
  3. machineconfig/cluster/sessions_managers/utils/maker.py +10 -8
  4. machineconfig/cluster/sessions_managers/wt_local.py +1 -1
  5. machineconfig/cluster/sessions_managers/wt_local_manager.py +1 -1
  6. machineconfig/cluster/sessions_managers/zellij_local.py +1 -1
  7. machineconfig/cluster/sessions_managers/zellij_local_manager.py +1 -1
  8. machineconfig/jobs/installer/checks/check_installations.py +133 -0
  9. machineconfig/jobs/installer/checks/install_utils.py +132 -0
  10. machineconfig/jobs/installer/checks/report_utils.py +39 -0
  11. machineconfig/jobs/installer/checks/vt_utils.py +89 -0
  12. machineconfig/jobs/installer/installer_data.json +271 -152
  13. machineconfig/jobs/installer/linux_scripts/docker.sh +6 -9
  14. machineconfig/jobs/installer/package_groups.py +11 -9
  15. machineconfig/jobs/installer/{custom → python_scripts}/boxes.py +1 -2
  16. machineconfig/jobs/installer/{custom_dev → python_scripts}/brave.py +1 -1
  17. machineconfig/jobs/installer/{custom_dev → python_scripts}/code.py +10 -8
  18. machineconfig/jobs/installer/{custom → python_scripts}/hx.py +30 -13
  19. machineconfig/jobs/installer/{custom_dev → python_scripts}/nerdfont.py +1 -1
  20. machineconfig/jobs/installer/{custom_dev → python_scripts}/nerfont_windows_helper.py +6 -5
  21. machineconfig/jobs/installer/{custom_dev → python_scripts}/sysabc.py +28 -43
  22. machineconfig/jobs/installer/{custom_dev → python_scripts}/wezterm.py +1 -1
  23. machineconfig/jobs/installer/{custom → python_scripts}/yazi.py +39 -19
  24. machineconfig/jobs/scripts/powershell_scripts/cmatrix.ps1 +52 -0
  25. machineconfig/jobs/scripts_dynamic/a.py +428 -0
  26. machineconfig/logger.py +1 -1
  27. machineconfig/profile/create_helper.py +21 -10
  28. machineconfig/profile/create_links.py +77 -20
  29. machineconfig/profile/create_links_export.py +63 -58
  30. machineconfig/profile/create_shell_profile.py +14 -0
  31. machineconfig/profile/mapper_data.toml +45 -0
  32. machineconfig/profile/mapper_dotfiles.toml +249 -0
  33. machineconfig/scripts/python/agents.py +76 -171
  34. machineconfig/scripts/python/ai/initai.py +3 -1
  35. machineconfig/scripts/python/ai/scripts/__init__.py +1 -0
  36. machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +2 -0
  37. machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +8 -6
  38. machineconfig/scripts/python/ai/solutions/claude/claude.py +1 -1
  39. machineconfig/scripts/python/ai/solutions/cline/cline.py +1 -1
  40. machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +1 -1
  41. machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +29 -0
  42. machineconfig/scripts/python/ai/solutions/crush/crush.py +1 -1
  43. machineconfig/scripts/python/ai/solutions/cursor/cursors.py +1 -1
  44. machineconfig/scripts/python/ai/solutions/gemini/gemini.py +1 -1
  45. machineconfig/scripts/python/ai/solutions/gemini/settings.json +3 -0
  46. machineconfig/scripts/python/ai/{solutions → utils}/generic.py +2 -15
  47. machineconfig/scripts/python/ai/utils/vscode_tasks.py +6 -3
  48. machineconfig/scripts/python/cloud.py +58 -11
  49. machineconfig/scripts/python/croshell.py +4 -155
  50. machineconfig/scripts/python/devops.py +57 -38
  51. machineconfig/scripts/python/devops_navigator.py +17 -3
  52. machineconfig/scripts/python/fire_jobs.py +10 -193
  53. machineconfig/scripts/python/ftpx.py +5 -224
  54. machineconfig/scripts/python/graph/cli_graph.json +8743 -0
  55. machineconfig/scripts/python/{env_manager → helper_env}/path_manager_tui.py +2 -2
  56. machineconfig/scripts/python/{env_manager → helpers/helper_env}/env_manager_tui.py +1 -1
  57. machineconfig/scripts/python/helpers/helper_env/path_manager_tui.py +228 -0
  58. machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/agentic_frameworks/fire_crush.py +1 -1
  59. machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/agentic_frameworks/fire_cursor_agents.py +1 -1
  60. machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/agentic_frameworks/fire_gemini.py +1 -1
  61. machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/agentic_frameworks/fire_qwen.py +1 -1
  62. machineconfig/scripts/python/helpers/helpers_agents/agents_impl.py +168 -0
  63. machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/fire_agents_help_launch.py +10 -7
  64. machineconfig/scripts/python/helpers/helpers_agents/privacy/configs/aichat/config.yaml +5 -0
  65. machineconfig/scripts/python/helpers/helpers_agents/privacy/configs/aider/.aider.conf.yml +2 -0
  66. machineconfig/scripts/python/helpers/helpers_agents/privacy/configs/copilot/config.yml +1 -0
  67. machineconfig/scripts/python/helpers/helpers_agents/privacy/configs/crush/crush.json +10 -0
  68. machineconfig/scripts/python/helpers/helpers_agents/privacy/configs/gemini/settings.json +12 -0
  69. machineconfig/scripts/python/helpers/helpers_agents/privacy/privacy.py +109 -0
  70. machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/templates/template.sh +3 -1
  71. machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/cloud_copy.py +6 -6
  72. machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/cloud_mount.py +10 -5
  73. machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/cloud_sync.py +4 -4
  74. machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/helpers2.py +1 -1
  75. machineconfig/scripts/python/helpers/helpers_croshell/croshell_impl.py +229 -0
  76. machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/scheduler.py +4 -4
  77. machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/start_slidev.py +7 -6
  78. machineconfig/scripts/python/helpers/helpers_devops/backup_config.py +149 -0
  79. machineconfig/scripts/python/helpers/helpers_devops/cli_backup_retrieve.py +262 -0
  80. machineconfig/scripts/python/helpers/helpers_devops/cli_config.py +130 -0
  81. machineconfig/scripts/python/helpers/helpers_devops/cli_config_dotfile.py +274 -0
  82. machineconfig/scripts/python/helpers/helpers_devops/cli_config_mount.py +77 -0
  83. machineconfig/scripts/python/helpers/helpers_devops/cli_data.py +71 -0
  84. machineconfig/scripts/python/helpers/helpers_devops/cli_nw.py +285 -0
  85. machineconfig/scripts/python/helpers/helpers_devops/cli_repos.py +274 -0
  86. machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/cli_self.py +84 -33
  87. machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/cli_share_file.py +44 -30
  88. machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/cli_share_server.py +26 -43
  89. machineconfig/scripts/python/helpers/helpers_devops/cli_share_temp.py +69 -0
  90. machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/cli_share_terminal.py +12 -6
  91. machineconfig/scripts/python/helpers/helpers_devops/cli_ssh.py +167 -0
  92. machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/devops_status.py +12 -6
  93. machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/devops_update_repos.py +1 -1
  94. machineconfig/scripts/python/{interactive.py → helpers/helpers_devops/interactive.py} +64 -50
  95. machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/commands.py +25 -0
  96. machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/device_entry.py +17 -0
  97. machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/devices.py +17 -0
  98. machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/linux.py +103 -0
  99. machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/macos.py +100 -0
  100. machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/selection.py +47 -0
  101. machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/utils.py +28 -0
  102. machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/windows.py +91 -0
  103. machineconfig/scripts/python/helpers/helpers_devops/run_script.py +197 -0
  104. machineconfig/scripts/python/helpers/helpers_devops/themes/choose_starship_theme.ps1 +41 -0
  105. machineconfig/scripts/python/helpers/helpers_devops/themes/choose_starship_theme.sh +48 -0
  106. machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/themes/choose_wezterm_theme.py +3 -3
  107. machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/file_wrangler.py +1 -0
  108. machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/fire_jobs_args_helper.py +1 -0
  109. machineconfig/scripts/python/helpers/helpers_fire_command/fire_jobs_impl.py +233 -0
  110. machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/fire_jobs_route_helper.py +3 -3
  111. machineconfig/scripts/python/helpers/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
  112. machineconfig/scripts/python/helpers/helpers_msearch/msearch_impl.py +248 -0
  113. machineconfig/scripts/python/{helpers_msearch → helpers/helpers_msearch}/scripts_linux/fzfg +4 -3
  114. machineconfig/scripts/python/helpers/helpers_msearch/scripts_linux/search_with_context.sh +48 -0
  115. machineconfig/scripts/python/{helpers_msearch → helpers/helpers_msearch}/scripts_windows/fzfg.ps1 +2 -7
  116. machineconfig/scripts/python/helpers/helpers_navigator/__init__.py +20 -0
  117. machineconfig/scripts/python/helpers/helpers_navigator/cli_graph_loader.py +234 -0
  118. machineconfig/scripts/python/{helpers_navigator → helpers/helpers_navigator}/command_builder.py +61 -13
  119. machineconfig/scripts/python/helpers/helpers_navigator/command_detail.py +153 -0
  120. machineconfig/scripts/python/helpers/helpers_navigator/command_tree.py +45 -0
  121. machineconfig/scripts/python/{helpers_navigator → helpers/helpers_navigator}/data_models.py +18 -11
  122. machineconfig/scripts/python/{helpers_navigator → helpers/helpers_navigator}/main_app.py +5 -5
  123. machineconfig/scripts/python/helpers/helpers_network/__init__.py +0 -0
  124. machineconfig/scripts/python/{helpers_network → helpers/helpers_network}/address.py +52 -10
  125. machineconfig/scripts/python/helpers/helpers_network/address_switch.py +78 -0
  126. machineconfig/scripts/python/helpers/helpers_network/ftpx_impl.py +276 -0
  127. machineconfig/scripts/python/helpers/helpers_network/ssh/__init__.py +0 -0
  128. machineconfig/scripts/python/helpers/helpers_network/ssh/ssh_add_identity.py +73 -0
  129. machineconfig/scripts/python/helpers/helpers_network/ssh/ssh_add_key_windows.py +23 -0
  130. machineconfig/scripts/python/helpers/helpers_network/ssh/ssh_add_ssh_key.py +169 -0
  131. machineconfig/scripts/python/helpers/helpers_network/ssh/ssh_cloud_init.py +33 -0
  132. machineconfig/scripts/python/helpers/helpers_network/ssh/ssh_debug_linux.py +338 -0
  133. machineconfig/scripts/python/helpers/helpers_network/ssh/ssh_debug_linux_utils.py +35 -0
  134. machineconfig/scripts/python/helpers/helpers_network/ssh/ssh_debug_windows.py +245 -0
  135. machineconfig/scripts/python/helpers/helpers_network/ssh/ssh_debug_windows_utils.py +34 -0
  136. machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/action.py +3 -3
  137. machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/action_helper.py +3 -3
  138. machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/cloud_repo_sync.py +120 -37
  139. machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/grource.py +3 -2
  140. machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/record.py +33 -13
  141. machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/repo_analyzer_2.py +63 -19
  142. machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/update.py +0 -6
  143. machineconfig/scripts/python/helpers/helpers_search/script_help.py +81 -0
  144. machineconfig/scripts/python/helpers/helpers_sessions/__init__.py +0 -0
  145. machineconfig/scripts/python/helpers/helpers_sessions/attach_impl.py +87 -0
  146. machineconfig/scripts/python/helpers/helpers_sessions/sessions_impl.py +114 -0
  147. machineconfig/scripts/python/{helpers_sessions → helpers/helpers_sessions}/sessions_multiprocess.py +1 -2
  148. machineconfig/scripts/python/helpers/helpers_sessions/utils.py +69 -0
  149. machineconfig/scripts/python/{helpers_utils → helpers/helpers_utils}/download.py +1 -1
  150. machineconfig/scripts/python/{helpers_devops/cli_utils.py → helpers/helpers_utils/pdf.py} +2 -2
  151. machineconfig/scripts/python/{helpers_utils/path.py → helpers/helpers_utils/python.py} +65 -40
  152. machineconfig/scripts/python/helpers/helpers_utils/specs.py +246 -0
  153. machineconfig/scripts/python/mcfg_entry.py +126 -48
  154. machineconfig/scripts/python/msearch.py +16 -61
  155. machineconfig/scripts/python/sessions.py +137 -191
  156. machineconfig/scripts/python/utils.py +104 -24
  157. machineconfig/settings/atuin/config.toml +294 -0
  158. machineconfig/settings/atuin/themes/catppuccin-mocha-mauve.toml +12 -0
  159. machineconfig/settings/linters/.ruff.toml +2 -1
  160. machineconfig/settings/mprocs/windows/mprocs.yaml +2 -2
  161. machineconfig/settings/shells/bash/init.sh +6 -10
  162. machineconfig/settings/shells/nushell/config.nu +23 -1
  163. machineconfig/settings/shells/nushell/env.nu +22 -48
  164. machineconfig/settings/shells/nushell/init.nu +64 -240
  165. machineconfig/settings/shells/pwsh/init.ps1 +71 -5
  166. machineconfig/settings/shells/pwsh/search_pwsh_history.ps1 +99 -0
  167. machineconfig/settings/shells/wezterm/wezterm.lua +4 -0
  168. machineconfig/settings/shells/wt/settings.json +31 -37
  169. machineconfig/settings/shells/zsh/init.sh +25 -5
  170. machineconfig/settings/television/cable_unix/bash-history.toml +1 -1
  171. machineconfig/settings/television/cable_windows/pwsh-history.toml +1 -1
  172. machineconfig/settings/tv/config.toml +234 -0
  173. machineconfig/settings/tv/themes/catppuccin-mocha-sky.toml +22 -0
  174. machineconfig/settings/wsl/.wslconfig +5 -30
  175. machineconfig/settings/wt/__init__.py +0 -0
  176. machineconfig/settings/yazi/yazi_linux.toml +18 -8
  177. machineconfig/settings/zellij/__init__.py +0 -0
  178. machineconfig/settings/zellij/config.kdl +0 -295
  179. machineconfig/settings/zellij/layouts/__init__.py +0 -0
  180. machineconfig/settings/zellij/layouts/st.kdl +39 -9
  181. machineconfig/settings/zellij/layouts/st2.kdl +6 -2
  182. machineconfig/setup_linux/__init__.py +0 -1
  183. machineconfig/setup_linux/apps_desktop.sh +8 -27
  184. machineconfig/setup_linux/web_shortcuts/interactive.sh +10 -10
  185. machineconfig/setup_linux/web_shortcuts/live_from_github.sh +3 -0
  186. machineconfig/setup_mac/__init__.py +0 -2
  187. machineconfig/setup_windows/__init__.py +2 -5
  188. machineconfig/setup_windows/web_shortcuts/interactive.ps1 +14 -13
  189. machineconfig/setup_windows/web_shortcuts/live_from_github.ps1 +4 -3
  190. machineconfig/setup_windows/web_shortcuts/quick_init.ps1 +3 -3
  191. machineconfig/type_hinting/sql/__init__.py +1 -0
  192. machineconfig/type_hinting/sql/base.py +216 -0
  193. machineconfig/type_hinting/sql/core_schema.py +64 -0
  194. machineconfig/type_hinting/sql/core_schema_typeddict.py +41 -0
  195. machineconfig/type_hinting/sql/typeddict_codegen.py +222 -0
  196. machineconfig/type_hinting/typedict/__init__.py +1 -0
  197. machineconfig/type_hinting/typedict/ast_utils.py +130 -0
  198. machineconfig/type_hinting/typedict/generator_helpers.py +319 -0
  199. machineconfig/type_hinting/typedict/generators.py +231 -0
  200. machineconfig/type_hinting/typedict/polars_schema.py +24 -0
  201. machineconfig/type_hinting/typedict/polars_schema_typeddict.py +63 -0
  202. machineconfig/utils/accessories.py +24 -0
  203. machineconfig/utils/code.py +78 -33
  204. machineconfig/utils/files/ascii_art.py +10 -14
  205. machineconfig/utils/files/headers.py +3 -5
  206. machineconfig/utils/files/read.py +8 -1
  207. machineconfig/utils/installer_utils/github_release_bulk.py +11 -91
  208. machineconfig/utils/installer_utils/github_release_scraper.py +99 -0
  209. machineconfig/utils/installer_utils/install_from_url.py +1 -1
  210. machineconfig/utils/installer_utils/installer_class.py +12 -4
  211. machineconfig/utils/installer_utils/installer_cli.py +7 -17
  212. machineconfig/utils/installer_utils/installer_helper.py +52 -36
  213. machineconfig/utils/installer_utils/installer_locator_utils.py +15 -25
  214. machineconfig/utils/installer_utils/installer_runner.py +4 -4
  215. machineconfig/utils/io.py +25 -8
  216. machineconfig/utils/meta.py +6 -4
  217. machineconfig/utils/options.py +49 -19
  218. machineconfig/utils/options_utils/__init__.py +0 -0
  219. machineconfig/utils/options_utils/options_tv_linux.py +211 -0
  220. machineconfig/utils/options_utils/options_tv_windows.py +88 -0
  221. machineconfig/utils/options_utils/tv_options.py +37 -0
  222. machineconfig/utils/path_extended.py +8 -7
  223. machineconfig/utils/procs.py +35 -27
  224. machineconfig/utils/scheduler.py +8 -2
  225. machineconfig/utils/schemas/fire_agents/fire_agents_input.py +1 -1
  226. machineconfig/utils/schemas/layouts/layout_types.py +10 -0
  227. machineconfig/utils/source_of_truth.py +7 -1
  228. machineconfig/utils/ssh.py +73 -23
  229. machineconfig/utils/ssh_utils/abc.py +1 -1
  230. machineconfig/utils/ssh_utils/copy_from_here.py +19 -14
  231. machineconfig/utils/ssh_utils/copy_to_here.py +2 -1
  232. machineconfig/utils/ssh_utils/utils.py +23 -7
  233. machineconfig/utils/ssh_utils/wsl.py +107 -170
  234. machineconfig/utils/ssh_utils/wsl_helper.py +217 -0
  235. machineconfig/utils/upgrade_packages.py +4 -8
  236. {machineconfig-7.98.dist-info → machineconfig-8.61.dist-info}/METADATA +30 -23
  237. machineconfig-8.61.dist-info/RECORD +539 -0
  238. {machineconfig-7.98.dist-info → machineconfig-8.61.dist-info}/entry_points.txt +0 -1
  239. machineconfig/jobs/installer/check_installations.py +0 -248
  240. machineconfig/profile/backup.toml +0 -49
  241. machineconfig/profile/mapper.toml +0 -263
  242. machineconfig/scripts/linux/other/share_cloud.sh +0 -64
  243. machineconfig/scripts/linux/other/share_nfs +0 -49
  244. machineconfig/scripts/linux/other/start_docker +0 -23
  245. machineconfig/scripts/linux/other/switch_ip +0 -20
  246. machineconfig/scripts/python/helpers/run_py_script.py +0 -79
  247. machineconfig/scripts/python/helpers/tmp_py_scripts/a.py +0 -26
  248. machineconfig/scripts/python/helpers_devops/cli_config.py +0 -105
  249. machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +0 -89
  250. machineconfig/scripts/python/helpers_devops/cli_data.py +0 -25
  251. machineconfig/scripts/python/helpers_devops/cli_nw.py +0 -214
  252. machineconfig/scripts/python/helpers_devops/cli_repos.py +0 -215
  253. machineconfig/scripts/python/helpers_devops/devops_backup_retrieve.py +0 -80
  254. machineconfig/scripts/python/helpers_devops/themes/choose_starship_theme.bash +0 -3
  255. machineconfig/scripts/python/helpers_navigator/__init__.py +0 -20
  256. machineconfig/scripts/python/helpers_navigator/command_detail.py +0 -44
  257. machineconfig/scripts/python/helpers_navigator/command_tree.py +0 -620
  258. machineconfig/scripts/python/helpers_network/devops_add_identity.py +0 -82
  259. machineconfig/scripts/python/helpers_network/devops_add_ssh_key.py +0 -153
  260. machineconfig/scripts/python/helpers_network/mount_drive +0 -128
  261. machineconfig/scripts/python/helpers_network/mount_nfs +0 -49
  262. machineconfig/scripts/python/helpers_network/mount_nfs.py +0 -85
  263. machineconfig/scripts/python/helpers_network/mount_nw_drive +0 -61
  264. machineconfig/scripts/python/helpers_network/mount_nw_drive.py +0 -48
  265. machineconfig/scripts/python/helpers_network/mount_smb +0 -3
  266. machineconfig/scripts/python/helpers_network/mount_ssh.py +0 -64
  267. machineconfig/scripts/python/helpers_network/ssh_debug_linux.py +0 -391
  268. machineconfig/scripts/python/helpers_network/ssh_debug_windows.py +0 -338
  269. machineconfig/scripts/python/helpers_network/wsl_windows_transfer.py +0 -67
  270. machineconfig/scripts/python/helpers_repos/entrypoint.py +0 -77
  271. machineconfig/scripts/python/terminal.py +0 -133
  272. machineconfig/scripts/windows/mounts/Restore-ThunderbirdProfile.ps1 +0 -92
  273. machineconfig/scripts/windows/mounts/mount_nfs.ps1 +0 -42
  274. machineconfig/scripts/windows/mounts/mount_nw.ps1 +0 -9
  275. machineconfig/scripts/windows/mounts/mount_smb.ps1 +0 -2
  276. machineconfig/scripts/windows/mounts/mount_ssh.ps1 +0 -13
  277. machineconfig/scripts/windows/mounts/share_cloud.cmd +0 -34
  278. machineconfig/scripts/windows/mounts/share_smb.ps1 +0 -16
  279. machineconfig/settings/zellij/config.orig.kdl +0 -295
  280. machineconfig/setup_linux/others/android.sh +0 -2
  281. machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -30
  282. machineconfig/setup_linux/ssh/openssh_all.sh +0 -25
  283. machineconfig/setup_linux/ssh/openssh_wsl.sh +0 -38
  284. machineconfig/setup_mac/ssh/openssh_setup.sh +0 -114
  285. machineconfig/setup_windows/others/docker.ps1 +0 -7
  286. machineconfig/setup_windows/others/obs.ps1 +0 -4
  287. machineconfig/setup_windows/others/power_options.ps1 +0 -7
  288. machineconfig/setup_windows/ssh/add-sshkey.ps1 +0 -29
  289. machineconfig/setup_windows/ssh/add_identity.ps1 +0 -11
  290. machineconfig/setup_windows/ssh/openssh-server.ps1 +0 -37
  291. machineconfig/setup_windows/ssh/openssh-server_add_key.ps1 +0 -7
  292. machineconfig/setup_windows/ssh/openssh-server_copy-ssh-id.ps1 +0 -14
  293. machineconfig/utils/options_tv.py +0 -119
  294. machineconfig/utils/tst.py +0 -20
  295. machineconfig-7.98.dist-info/RECORD +0 -504
  296. /machineconfig/{jobs/installer/custom_dev → cluster/sessions_managers/wt_utils/examples}/__init__.py +0 -0
  297. /machineconfig/{scripts/python/helpers_agents → jobs/installer/checks}/__init__.py +0 -0
  298. /machineconfig/{scripts/python/helpers_agents/agentic_frameworks → jobs/installer/python_scripts}/__init__.py +0 -0
  299. /machineconfig/jobs/installer/{custom_dev → python_scripts}/alacritty.py +0 -0
  300. /machineconfig/jobs/installer/{custom_dev → python_scripts}/bypass_paywall.py +0 -0
  301. /machineconfig/jobs/installer/{custom_dev → python_scripts}/cloudflare_warp_cli.py +0 -0
  302. /machineconfig/jobs/installer/{custom_dev → python_scripts}/cursor.py +0 -0
  303. /machineconfig/jobs/installer/{custom_dev → python_scripts}/dubdb_adbc.py +0 -0
  304. /machineconfig/jobs/installer/{custom_dev → python_scripts}/espanso.py +0 -0
  305. /machineconfig/jobs/installer/{custom → python_scripts}/gh.py +0 -0
  306. /machineconfig/jobs/installer/{custom_dev → python_scripts}/goes.py +0 -0
  307. /machineconfig/jobs/installer/{custom_dev → python_scripts}/lvim.py +0 -0
  308. /machineconfig/jobs/installer/{custom_dev → python_scripts}/redis.py +0 -0
  309. /machineconfig/jobs/installer/{custom_dev → python_scripts}/winget.py +0 -0
  310. /machineconfig/jobs/{installer/linux_scripts → scripts/bash_scripts}/lid.sh +0 -0
  311. /machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/unlock_bitlocker.ps1 +0 -0
  312. /machineconfig/scripts/python/ai/{solutions/_shared.py → utils/shared.py} +0 -0
  313. /machineconfig/scripts/python/{helpers_cloud → graph}/__init__.py +0 -0
  314. /machineconfig/scripts/python/{helpers_croshell → helpers}/__init__.py +0 -0
  315. /machineconfig/scripts/python/{env_manager → helpers/helper_env}/__init__.py +0 -0
  316. /machineconfig/scripts/python/{env_manager → helpers/helper_env}/path_manager_backend.py +0 -0
  317. /machineconfig/scripts/python/{helpers_devops → helpers/helpers_agents}/__init__.py +0 -0
  318. /machineconfig/scripts/python/{helpers_devops/themes → helpers/helpers_agents/agentic_frameworks}/__init__.py +0 -0
  319. /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/agentic_frameworks/fire_crush.json +0 -0
  320. /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/fire_agents_help_search.py +0 -0
  321. /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/fire_agents_helper_types.py +0 -0
  322. /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/fire_agents_load_balancer.py +0 -0
  323. /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/templates/prompt.txt +0 -0
  324. /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/templates/template.ps1 +0 -0
  325. /machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_cloud}/__init__.py +0 -0
  326. /machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/cloud_helpers.py +0 -0
  327. /machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/helpers5.py +0 -0
  328. /machineconfig/scripts/python/{helpers_network → helpers/helpers_croshell}/__init__.py +0 -0
  329. /machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/crosh.py +0 -0
  330. /machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/pomodoro.py +0 -0
  331. /machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/viewer.py +0 -0
  332. /machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/viewer_template.py +0 -0
  333. /machineconfig/scripts/python/{helpers_sessions → helpers/helpers_devops}/__init__.py +0 -0
  334. /machineconfig/{setup_windows/wt_and_pwsh → scripts/python/helpers/helpers_devops/mount_helpers}/__init__.py +0 -0
  335. /machineconfig/scripts/python/{helpers_devops/themes/choose_starship_theme.ps1 → helpers/helpers_devops/themes/__init__.py} +0 -0
  336. /machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/themes/choose_pwsh_theme.ps1 +0 -0
  337. /machineconfig/scripts/python/{helpers_fire_command/f.py → helpers/helpers_fire_command/__init__.py} +0 -0
  338. /machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/cloud_manager.py +0 -0
  339. /machineconfig/scripts/python/{helpers_fire_command/fire_jobs_streamlit_helper.py → helpers/helpers_fire_command/f.py} +0 -0
  340. /machineconfig/scripts/python/{helpers_msearch → helpers/helpers_msearch}/__init__.py +0 -0
  341. /machineconfig/scripts/python/{helpers_navigator → helpers/helpers_navigator}/search_bar.py +0 -0
  342. /machineconfig/scripts/python/{helpers_network → helpers/helpers_network}/onetimeshare.py +0 -0
  343. /machineconfig/scripts/python/{helpers_network → helpers/helpers_network}/wifi_conn.py +0 -0
  344. /machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/clone.py +0 -0
  345. /machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/repo_analyzer_1.py +0 -0
  346. /machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/sync.py +0 -0
  347. /machineconfig/scripts/python/helpers/{ast_search.py → helpers_search/ast_search.py} +0 -0
  348. /machineconfig/scripts/python/helpers/{qr_code.py → helpers_search/qr_code.py} +0 -0
  349. /machineconfig/scripts/python/helpers/{repo_rag.py → helpers_search/repo_rag.py} +0 -0
  350. /machineconfig/scripts/python/helpers/{symantic_search.py → helpers_search/symantic_search.py} +0 -0
  351. /machineconfig/{setup_windows/wt_and_pwsh → settings/wt}/set_wt_settings.py +0 -0
  352. {machineconfig-7.98.dist-info → machineconfig-8.61.dist-info}/WHEEL +0 -0
  353. {machineconfig-7.98.dist-info → machineconfig-8.61.dist-info}/top_level.txt +0 -0
@@ -109,15 +109,12 @@ echo """✅ INSTALLATION COMPLETE | Docker has been installed successfully
109
109
  For systemd systems: systemctl start dockerd
110
110
  For WSL without systemd: sudo service docker start
111
111
  - For more information, visit: https://docs.docker.com/engine/install/linux-postinstall/
112
+
113
+ sudo systemctl start docker
114
+ sudo systemctl enable docker
115
+ sudo usermod -aG docker alex
116
+ logout
117
+
112
118
  """
113
119
 
114
120
  # Additional notes:
115
- # - In older WSL, after installation, 'docker run hello-world' may fail with connection error
116
- # See: https://stackoverflow.com/questions/44678725/cannot-connect-to-the-docker-daemon-at-unix-var-run-docker-sock-is-the-docker
117
- #
118
- # - No internet in WSL docker instance: add /etc/docker/daemon.json
119
- # See: https://github.com/MicrosoftDocs/WSL/issues/422
120
- #
121
- # - For Databricks environments only:
122
- # sudo nala install fuse-overlayfs
123
-
@@ -14,7 +14,6 @@ AGENTS = [
14
14
  "gemini",
15
15
  "crush",
16
16
  "opencode-ai",
17
- # "ollama",
18
17
  "chatgpt",
19
18
  "mods",
20
19
  "q",
@@ -24,7 +23,9 @@ AGENTS = [
24
23
  "kilocode",
25
24
  "cline",
26
25
  "auggie",
26
+ # "codex",
27
27
  # "gorilla",
28
+ # "ollama",
28
29
  ]
29
30
 
30
31
 
@@ -116,6 +117,7 @@ PACKAGES_DEV_UTILS = [
116
117
 
117
118
  # Code Analysis, Git & Docs - Code analysis, statistics, documentation, and Git tools
118
119
  PACKAGES_CODE_ANALYSIS = [
120
+ "nano",
119
121
  "lazygit",
120
122
  "onefetch",
121
123
  "gitcs",
@@ -150,22 +152,23 @@ PACKAGES_PRODUCTIVITY = [
150
152
  ]
151
153
 
152
154
 
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
155
  TERMINAL_EYE_CANDY = [
160
156
  "lolcatjs",
161
157
  "figlet-cli",
162
158
  "boxes",
159
+ "cowsay",
163
160
  # "transmission",
164
161
  # "bytehound",
165
162
  # "xcrawl3r",
166
163
  # "obsidian",
167
164
  # "istio",
168
165
  # "cointop",
166
+ # sudo nala install cowsay -y || true
167
+ # sudo nala install lolcat -y || true
168
+ # sudo nala install boxes -y || true
169
+ # sudo nala install figlet -y || true
170
+ # sudo nala install fortune -y || true
171
+ # sudo nala install toilet -y || true
169
172
  ]
170
173
 
171
174
 
@@ -189,8 +192,8 @@ PACKAGES_SYSTEM_MONITORS = [
189
192
 
190
193
  # Search & Archive Tools - File and content search utilities, archive management
191
194
  PACKAGES_FILE = [
195
+
192
196
  "nerdfont",
193
- "winget",
194
197
  "fd",
195
198
  "fzf",
196
199
  "tv",
@@ -253,4 +256,3 @@ PACKAGE_GROUP2NAMES: dict[str, list[str]] = {
253
256
  "sys-monitor": PACKAGES_SYSTEM_MONITORS,
254
257
  "search": PACKAGES_FILE,
255
258
  }
256
-
@@ -40,8 +40,7 @@ def main(installer_data: InstallerData, version: Optional[str] = None) -> None:
40
40
  )
41
41
 
42
42
  installer = Installer(installer_data=installer_data_modified)
43
- downloaded, _version_to_be_installed = installer.binary_download(version=version)
44
- decomp_path = downloaded.decompress()
43
+ decomp_path, _version_to_be_installed = installer.binary_download(version=version)
45
44
  from pathlib import Path
46
45
  for item in decomp_path.rglob("*"):
47
46
  if "boxes.exe" in item.name:
@@ -73,7 +73,7 @@ winget install --no-upgrade --name "Brave" --Id "Brave.Br
73
73
  from machineconfig.utils.code import print_code, run_shell_script
74
74
  try:
75
75
  print_code(code=program, lexer="shell", desc="Installation Script Preview")
76
- run_shell_script(program)
76
+ run_shell_script(program, display_script=True, clean_env=False)
77
77
  console.print("✅ Installation completed successfully!", style="bold green")
78
78
  except subprocess.CalledProcessError as e:
79
79
  console.print(f"❌ Installation failed with exit code {e.returncode}", style="bold red")
@@ -2,7 +2,6 @@
2
2
 
3
3
  from typing import Optional
4
4
  import platform
5
- import subprocess
6
5
  from rich import box
7
6
  from rich.console import Console
8
7
  from rich.panel import Panel
@@ -50,13 +49,16 @@ winget install --no-upgrade --name "Microsoft Visual Studio Code" --Id "Microsof
50
49
  raise NotImplementedError(error_msg)
51
50
  _ = version
52
51
 
53
- console.print("🔄 EXECUTING | Running VS Code installation...", style="bold yellow")
54
- try:
55
- subprocess.run(install_script, shell=True, text=True, check=True)
56
- console.print("✅ VS Code installation completed successfully", style="bold green")
57
- except subprocess.CalledProcessError as e:
58
- console.print(f"❌ Installation failed with exit code {e.returncode}", style="bold red")
59
- raise
52
+ # import subprocess
53
+ # console.print("🔄 EXECUTING | Running VS Code installation...", style="bold yellow")
54
+ # try:
55
+ # subprocess.run(install_script, shell=True, text=True, check=True)
56
+ # console.print("✅ VS Code installation completed successfully", style="bold green")
57
+ # except subprocess.CalledProcessError as e:
58
+ # console.print(f"❌ Installation failed with exit code {e.returncode}", style="bold red")
59
+ # raise
60
+ from machineconfig.utils.code import run_shell_script
61
+ run_shell_script(install_script, display_script=True, clean_env=False)
60
62
 
61
63
 
62
64
  if __name__ == "__main__":
@@ -14,7 +14,7 @@ from rich.panel import Panel
14
14
  from machineconfig.utils.schemas.installer.installer_types import InstallerData
15
15
 
16
16
 
17
- LANGUAGES_SUPPORTED_GRAMMER = ["python.so", "nu.so", "bash.so", "lua.so", "powershell.so"]
17
+ LANGUAGES_SUPPORTED = ["python", "nu", "bash", "lua", "powershell", "json", "json5", "toml", "ini", "yaml", "markdown", "markdoc", "markdown_inline"]
18
18
  config_dict: InstallerData = {
19
19
  "appName": "hx",
20
20
  "repoURL": "CMD",
@@ -50,9 +50,9 @@ def main(installer_data: InstallerData, version: Optional[str], install_lib: boo
50
50
 
51
51
  print("\n🔍 [Step 2/5] Locating executable and components...")
52
52
  if platform.system() == "Windows":
53
- hx_file_search = downloaded.search("hx.exe", folders=False, files=True, r=True)
53
+ hx_file_search = [p for p in downloaded.rglob("hx.exe") if p.is_file()]
54
54
  else:
55
- hx_file_search = downloaded.search("hx", folders=False, files=True, r=True)
55
+ hx_file_search = [p for p in downloaded.rglob("hx") if p.is_file()]
56
56
 
57
57
  if not hx_file_search:
58
58
  console.print(Panel("❌ ERROR: Could not find 'hx' executable in downloaded files.", title="Error", expand=False))
@@ -73,12 +73,29 @@ def main(installer_data: InstallerData, version: Optional[str], install_lib: boo
73
73
  print(" ✨ Executable and components located.")
74
74
 
75
75
  print("\n🗑️ [Step 3/5] Cleaning up previous installation (if any)...")
76
- runtime_path = PathExtended.home().joinpath(".config/helix/runtime")
77
- contrib_path = PathExtended.home().joinpath(".config/helix/contrib")
78
-
79
- print("\n📦 [Step 4/5] Installing Helix components...")
80
- target_config_dir = PathExtended.home().joinpath(".config/helix").expanduser()
81
- target_config_dir.mkdir(parents=True, exist_ok=True)
76
+ if platform.system() in ["Linux", "Darwin"]:
77
+ runtime_path = PathExtended.home().joinpath(".config/helix/runtime")
78
+ contrib_path = PathExtended.home().joinpath(".config/helix/contrib")
79
+ target_config_dir = PathExtended.home().joinpath(".config/helix").expanduser()
80
+ target_config_dir.mkdir(parents=True, exist_ok=True)
81
+ elif platform.system() == "Windows":
82
+ runtime_path = PathExtended.home().joinpath("AppData/Roaming/helix/runtime")
83
+ contrib_path = PathExtended.home().joinpath("AppData/Roaming/helix/contrib")
84
+ target_config_dir = PathExtended.home().joinpath("AppData/Roaming/helix").expanduser()
85
+ target_config_dir.mkdir(parents=True, exist_ok=True)
86
+ else:
87
+ console.print(
88
+ Panel(
89
+ f"""⚠️ WARNING | Unsupported operating system: {platform.system()}
90
+ | Installation aborted.""",
91
+ title="Warning",
92
+ expand=False,
93
+ )
94
+ )
95
+ print("\n🧹 [Step 5/5] Cleaning up temporary download files...")
96
+ downloaded.delete(sure=True)
97
+ print(" ✨ Cleanup complete.")
98
+ return f"Error: Unsupported OS: {platform.system()}"
82
99
 
83
100
  if platform.system() in ["Linux", "Darwin"]:
84
101
  target_bin_path = PathExtended(LINUX_INSTALL_PATH) if platform.system() == "Linux" else PathExtended("/usr/local/bin")
@@ -104,8 +121,8 @@ def main(installer_data: InstallerData, version: Optional[str], install_lib: boo
104
121
  continue
105
122
  if child.name == "grammars":
106
123
  # copy only the specific language files from runtime/grammars if they exist
107
- for a_language in LANGUAGES_SUPPORTED_GRAMMER:
108
- lang_file = child.joinpath(a_language)
124
+ for a_language in LANGUAGES_SUPPORTED:
125
+ lang_file = child.joinpath(f"{a_language}.so")
109
126
  if lang_file.exists() and lang_file.is_file():
110
127
  dest = target_runtime.joinpath("grammars")
111
128
  lang_file.copy(folder=dest, overwrite=True)
@@ -150,8 +167,8 @@ def main(installer_data: InstallerData, version: Optional[str], install_lib: boo
150
167
  if not child.exists():
151
168
  continue
152
169
  if child.name == "grammars":
153
- for a_language in LANGUAGES_SUPPORTED_GRAMMER:
154
- lang_file = child.joinpath(a_language)
170
+ for a_language in LANGUAGES_SUPPORTED:
171
+ lang_file = child.joinpath(f"{a_language}.dll")
155
172
  if lang_file.exists() and lang_file.is_file():
156
173
  dest = target_runtime.joinpath("grammars")
157
174
  lang_file.copy(folder=dest, overwrite=True)
@@ -32,7 +32,7 @@ def main(installer_data: InstallerData, version: Optional[str]) -> None:
32
32
 
33
33
  if current_platform == "Windows":
34
34
  console.print("🪟 Installing Nerd Fonts on Windows...", style="bold")
35
- from machineconfig.jobs.installer.custom_dev.nerfont_windows_helper import install_nerd_fonts
35
+ from machineconfig.jobs.installer.python_scripts.nerfont_windows_helper import install_nerd_fonts
36
36
 
37
37
  try:
38
38
  install_nerd_fonts()
@@ -13,6 +13,7 @@ from rich.console import Console
13
13
  from rich.panel import Panel
14
14
 
15
15
  from machineconfig.utils.path_extended import PathExtended
16
+ from machineconfig.utils.accessories import randstr
16
17
  from machineconfig.utils.source_of_truth import LIBRARY_ROOT
17
18
  from machineconfig.utils.installer_utils.installer_class import Installer
18
19
  from machineconfig.utils.schemas.installer.installer_types import InstallerData
@@ -125,16 +126,16 @@ def install_nerd_fonts() -> None:
125
126
  folder, _version_to_be_installed = Installer(installer_data=nerd_fonts).binary_download(version=None)
126
127
 
127
128
  console.print("🧹 Cleaning up unnecessary files...")
128
- [p.delete(sure=True) for p in folder.search("*Windows*")]
129
- [p.delete(sure=True) for p in folder.search("*readme*")]
130
- [p.delete(sure=True) for p in folder.search("*LICENSE*")]
129
+ [PathExtended(p).delete(sure=True) for p in folder.glob("*Windows*")]
130
+ [PathExtended(p).delete(sure=True) for p in folder.glob("*readme*")]
131
+ [PathExtended(p).delete(sure=True) for p in folder.glob("*LICENSE*")]
131
132
 
132
133
  print("Fonts to be installed:")
133
- for font in (folder.search("*.ttf") + folder.search("*.otf")):
134
+ for font in (list(folder.glob("*.ttf")) + list(folder.glob("*.otf"))):
134
135
  print(f" - {font}")
135
136
 
136
137
  console.print("⚙️ Installing fonts via PowerShell...")
137
- file = PathExtended.tmpfile(suffix=".ps1")
138
+ file = PathExtended("~/tmp_results/tmp_files").expanduser().joinpath(f"{randstr()}.ps1")
138
139
  file.parent.mkdir(parents=True, exist_ok=True)
139
140
 
140
141
  raw_content = LIBRARY_ROOT.joinpath("jobs/installer/powershell_scripts/install_fonts.ps1").read_text(encoding="utf-8").replace(r".\fonts-to-be-installed", str(folder))
@@ -22,7 +22,9 @@ if (-not $winget) {
22
22
  }
23
23
  Write-Host "Downloading winget installer..."
24
24
  # Invoke-WebRequest -Uri $DownloadUrl -OutFile $DestFile
25
- Start-BitsTransfer -Source $DownloadUrl -Destination $DestFile
25
+ # Start-BitsTransfer -Source $DownloadUrl -Destination $DestFile #
26
+ #Invoke-WebRequest -Uri $DownloadUrl -OutFile $DestFile -UseBasicParsing
27
+ curl.exe -L -o $DestFile $DownloadUrl
26
28
  Write-Host "Saved to: $DestFile"
27
29
  # We MUST run Add-AppxPackage in Windows PowerShell
28
30
  Write-Host "Installing package via Windows PowerShell..."
@@ -33,17 +35,18 @@ else {
33
35
  Write-Host "winget already available. Skipping installation."
34
36
  }
35
37
 
36
- # [System.Environment]::SetEnvironmentVariable('PYTHONUTF8', '1', 'User')
37
- # [System.Environment]::SetEnvironmentVariable('PYTHONIOENCODING', 'utf-8', 'User')
38
-
39
-
40
38
  winget install --no-upgrade --name "Powershell" --Id "Microsoft.PowerShell" --source winget --scope user --accept-package-agreements --accept-source-agreements # powershell require admin
41
39
  winget install --no-upgrade --name "Windows Terminal" --Id "Microsoft.WindowsTerminal" --source winget --scope user --accept-package-agreements --accept-source-agreements # Terminal is is installed by default on W 11
42
- # winget install --no-upgrade --name "GNU Nano" --Id "GNU.Nano" --source winget --scope user --accept-package-agreements --accept-source-agreements
40
+ winget install --no-upgrade --name "Git" --Id "Git.Git" --source winget --scope user --accept-package-agreements --accept-source-agreements
41
+ powershell -c "irm bun.sh/install.ps1|iex"
42
+
43
43
  # --GROUP:gui:Brave+VSCode+Git+WezTerm
44
44
  # --GROUP:dev2:VSRedistrib+VSBuildTools+Codeblocks+GnuWin32: Make+GnuPG+graphviz+WinFsp+SSHFS-win+xming+Node.js+Rustup+Cloudflare+Cloudflare WARP+Microsoft Garage Mouse without Borders
45
45
  # --GROUP:user:nu+Chrome+ChromeRemoteDesktop+Zoom+7zip+Firefox+Thunderbird+StreamlabsOBS+OBSStudio+MiKTeX+TexMaker+notepad+++Lapce+TesseractOCR+perl+DB Browser for SQLite+sql server management studio+Adobe Acrobat Reader DC+julia+Chafa+bottom+onefetch+Just+hyperfine+AWS CLI
46
46
  # Install-Module -Name Terminal-Icons -Repository PSGallery -Force -AcceptLicense -PassThru -Confirm # -RequiredVersion 2.5.10
47
+ # [System.Environment]::SetEnvironmentVariable('PYTHONUTF8', '1', 'User')
48
+ # [System.Environment]::SetEnvironmentVariable('PYTHONIOENCODING', 'utf-8', 'User')
49
+
47
50
 
48
51
  """
49
52
 
@@ -51,51 +54,33 @@ zsh = r"""
51
54
  /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
52
55
  echo "🔄 Updating Homebrew..."
53
56
  brew update || true
54
- # Note: git and nano are pre-installed on macOS, but we install via Homebrew to ensure latest versions
55
- # brew install git || true
56
- # brew install nano || true
57
- # brew install curl || true
58
- # Install NVM
59
- if [ ! -s "$HOME/.nvm/nvm.sh" ]; then
60
- echo "📥 Installing NVM (Node Version Manager)..."
61
- curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
62
- fi
63
- echo "🔧 Configuring NVM environment..."
64
- export NVM_DIR="$HOME/.nvm"
65
- [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
66
- echo "📥 Installing latest Node.js..."
67
- nvm install node || true
68
- # brew install make
69
- # brew install ffmpeg
70
- # brew install openssl
57
+
58
+ curl -fsSL https://bun.com/install | bash
59
+ # brew install openssl ffmpeg make curl nano git
71
60
  echo "✅ Essential tools installation complete."
72
61
  """
73
62
 
74
63
  bash = r"""
64
+
75
65
  sudo apt update -y || true
76
66
  sudo apt install nala -y || true
77
- sudo nala install curl wget gpg lsb-release apt-transport-https -y || true
78
- sudo nala install git net-tools htop nano -y || true
79
- sudo nala install build-essential python3-dev -y || true # C build toolchain: Where build-essential brings gcc, make, etc., and python3-dev ensures headers for your Python version.
80
- # sudo nala install libssl-dev -y
81
- # sudo nala install libaa-bin -y
82
-
83
- curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
84
- source ~/.bashrc || true
85
- nvm install node || true
86
-
87
- sudo nala install samba -y || true
88
- sudo nala install fuse3 -y || true
89
- sudo nala install nfs-common -y || true
67
+ sudo nala install curl wget gpg lsb-release apt-transport-https \
68
+ samba fuse3 nfs-common \
69
+ git net-tools htop nano \
70
+ build-essential \ # Where it brings gcc, make, etc.,
71
+ python3-dev \ # ensures headers for your Python version.
72
+ unzip \ # bun installer needs this to unzip files.
73
+ pkg-config \
74
+ libssl-dev \ # essential for SSL/TLS support in many applications, compiling rust binaries will need them.
75
+ -y || true
76
+
77
+ curl -fsSL https://bun.com/install | bash
78
+ . ~/.bashrc || true
79
+ sudo ln -s ~/.bun/bin/bun /usr/local/bin/node # trick programs that expect node to use bun runtime.
90
80
 
91
81
  # echo 'keyboard-configuration keyboard-configuration/layout select US English' | sudo debconf-set-selections
92
82
  # echo 'keyboard-configuration keyboard-configuration/layoutcode string us' | sudo debconf-set-selections
93
- # sudo DEBIAN_FRONTEND=noninteractive nala install -y cmatrix
94
- # sudo nala install hollywood -y || true
95
-
96
- # sudo nala install ffmpeg -y || true # Required by some dev tools
97
- # sudo nala install make -y || true # Required by LunarVim and SpaceVim
98
- # (curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh) || true
83
+ # sudo DEBIAN_FRONTEND=noninteractive nala install cmatrix hollywood ffmpeg -y make || true
99
84
 
100
85
  """
101
86
 
@@ -136,4 +121,4 @@ def main(installer_data: InstallerData, version: Optional[str]) -> None:
136
121
  raise NotImplementedError(error_msg)
137
122
  from machineconfig.utils.code import print_code, run_shell_script
138
123
  print_code(code=program, lexer="shell", desc="Installation Script Preview")
139
- run_shell_script(program)
124
+ run_shell_script(program, display_script=True, clean_env=False)
@@ -31,7 +31,7 @@ def main(installer_data: InstallerData, version: Optional[str]):
31
31
 
32
32
  _ = version
33
33
  if platform.system() == "Windows":
34
- program = """winget install --no-upgrade --name "WezTerm" --Id "wez.wezterm" --source winget --accept-package-agreements --accept-source-agreements
34
+ program = """winget install --no-upgrade --name "WezTerm" --Id "wez.wezterm" --source winget --accept-package-agreements --accept-source-agreements
35
35
  """
36
36
  elif platform.system() in ["Linux", "Darwin"]:
37
37
  system_name = "LINUX" if platform.system() == "Linux" else "MACOS"
@@ -1,5 +1,5 @@
1
1
 
2
- from typing import Optional
2
+ from typing import Optional, Any, Callable
3
3
  import platform
4
4
  from machineconfig.utils.installer_utils.installer_class import Installer
5
5
  from machineconfig.utils.schemas.installer.installer_types import InstallerData
@@ -47,39 +47,59 @@ def main(installer_data: InstallerData, version: Optional[str]):
47
47
 
48
48
  yazi_plugins_path = yazi_plugins_dir.joinpath("plugins")
49
49
  yazi_flavours_path = yazi_plugins_dir.joinpath("flavors")
50
- if yazi_plugins_path.exists():
51
- if yazi_plugins_path.is_file():
52
- yazi_plugins_path.unlink()
53
- elif yazi_plugins_path.is_dir():
54
- import shutil
55
- shutil.rmtree(yazi_plugins_path)
50
+ import shutil
51
+ import os
52
+ import stat
53
+ import time
54
+
55
+ def on_rm_error(_func: Callable[..., Any], path: str, exc: BaseException) -> None:
56
+ os.chmod(path, stat.S_IWRITE)
57
+ try:
58
+ os.unlink(path)
59
+ except Exception:
60
+ pass
61
+
62
+ def force_remove(path: Path) -> None:
63
+ if path.exists():
64
+ if path.is_file():
65
+ path.unlink()
66
+ elif path.is_dir():
67
+ shutil.rmtree(path, onexc=on_rm_error)
68
+ if path.exists():
69
+ time.sleep(0.1)
70
+ shutil.rmtree(path, ignore_errors=True)
71
+
72
+ force_remove(yazi_plugins_path)
56
73
  yazi_plugins_dir.mkdir(parents=True, exist_ok=True)
57
74
  import git
58
75
  git.Repo.clone_from("https://github.com/yazi-rs/plugins", yazi_plugins_path)
59
- if yazi_flavours_path.exists():
60
- if yazi_flavours_path.is_file():
61
- yazi_flavours_path.unlink()
62
- elif yazi_flavours_path.is_dir():
63
- import shutil
64
- shutil.rmtree(yazi_flavours_path)
76
+
77
+ force_remove(yazi_flavours_path)
65
78
  yazi_plugins_dir.mkdir(parents=True, exist_ok=True)
66
79
  import git
67
80
  git.Repo.clone_from("https://github.com/yazi-rs/flavors", yazi_flavours_path)
68
81
 
69
82
  # previewers:
83
+ from machineconfig.utils.installer_utils.installer_cli import install_if_missing
84
+ install_if_missing("glow")
85
+ install_if_missing("duckdb")
86
+
70
87
  if platform.system() == "Linux":
71
88
  script = r"""
72
89
  sudo nala install poppler-utils -y || true # For PDF preview, needed by yazi.
73
90
  """
74
91
  from machineconfig.utils.code import run_shell_script
75
- run_shell_script(script)
92
+ run_shell_script(script, display_script=True, clean_env=False)
76
93
  elif platform.system() == "Darwin":
77
94
  script = r"""
78
95
  brew install --upgrade poppler || true # For PDF preview, needed by yazi.
79
96
  """
80
97
  from machineconfig.utils.code import run_shell_script
81
- run_shell_script(script)
98
+ run_shell_script(script, display_script=True, clean_env=False)
82
99
  elif platform.system() == "Windows":
100
+ install_if_missing(which="git")
101
+ install_if_missing(which="7zip")
102
+ install_if_missing(which="file")
83
103
  popler_installer: InstallerData = {
84
104
  "appName": "poppler",
85
105
  "repoURL": "https://github.com/oschwartz10612/poppler-windows",
@@ -96,23 +116,23 @@ brew install --upgrade poppler || true # For PDF preview, needed by yazi.
96
116
  "macos": None,
97
117
  }
98
118
  }
99
- }
119
+ } # OR: winget install oschwartz10612.Poppler
100
120
  inst_poppler = Installer(installer_data=popler_installer)
101
121
  inst_poppler.install(version=None)
102
122
  # assuming ouch is already installed
103
123
  script = """
124
+
104
125
  ya pkg add 'ndtoan96/ouch' # make ouch default previewer in yazi for compressed files
105
126
  ya pkg add 'AnirudhG07/rich-preview' # rich-cli based previewer for yazi
106
- ya pack -a 'stelcodes/bunny'
127
+ ya pkg add 'stelcodes/bunny'
107
128
  ya pkg add 'Tyarel8/goto-drives'
108
129
  ya pkg add 'uhs-robert/sshfs'
109
130
  ya pkg add 'boydaihungst/file-extra-metadata'
110
131
  ya pkg add 'wylie102/duckdb'
111
132
 
112
-
113
133
  """
114
134
  from machineconfig.utils.code import run_shell_script
115
- run_shell_script(script)
135
+ run_shell_script(script, display_script=True, clean_env=False)
116
136
 
117
137
 
118
138
  if __name__ == "__main__":
@@ -0,0 +1,52 @@
1
+ <#
2
+ .SYNOPSIS
3
+ Starts Windows Terminal with 6 panes running rusty-rain in different styles.
4
+ .DESCRIPTION
5
+ Uses `wt.exe` command chaining to create a custom grid layout.
6
+ Requires rusty-rain to be in your system PATH.
7
+ #>
8
+
9
+ # Define the executable command
10
+ $rr = "rusty-rain"
11
+
12
+ # --- Pane Configuration ---
13
+
14
+ # 1. Main Pane: Classic Matrix (Green Binary, White Head)
15
+ $cmd1 = "$rr --group bin --color green --head white"
16
+
17
+ # 2. Right Side: Red Alert (Japanese, Red, Shaded)
18
+ $cmd2 = "$rr --group jap --color red --shade"
19
+
20
+ # 3. Bottom Right: The Ocean (Shapes, Blue RGB, Rising Up)
21
+ $cmd3 = "$rr --group shapes --color 0,191,255 --direction up"
22
+
23
+ # 4. Bottom Strip 1: Developer Mode (Programming Langs, Yellow/Orange)
24
+ $cmd4 = "$rr --group pglangs --color 255,215,0"
25
+
26
+ # 5. Bottom Strip 2: Nature (Plants, Green, Slow)
27
+ $cmd5 = "$rr --group plants --color green --speed 50"
28
+
29
+ # 6. Inner Vertical: Chaos (Emojis, random colors implied, moving Left)
30
+ $cmd6 = "$rr --group emojis --direction left"
31
+
32
+ # --- Layout Construction ---
33
+ # Logic:
34
+ # 1. Create Tab (Pane 1)
35
+ # 2. Split Vertical 40% (Pane 2)
36
+ # 3. Split that Pane Horizontal 50% (Pane 3)
37
+ # 4. Focus Left (Back to Pane 1) -> Split Horizontal 30% (Pane 4)
38
+ # 5. Split that bottom pane Vertical 50% (Pane 5)
39
+ # 6. Focus Up (Back to Main) -> Split Vertical 30% (Pane 6)
40
+
41
+ $wtArgs = "new-tab -p `"Windows PowerShell`" $cmd1 ; " + `
42
+ "split-pane -V -s 0.4 $cmd2 ; " + `
43
+ "split-pane -H -s 0.5 $cmd3 ; " + `
44
+ "move-focus left ; " + `
45
+ "split-pane -H -s 0.3 $cmd4 ; " + `
46
+ "split-pane -V -s 0.5 $cmd5 ; " + `
47
+ "move-focus up ; " + `
48
+ "split-pane -V -s 0.3 $cmd6"
49
+
50
+ # --- Execution ---
51
+ Write-Host "Launching Rusty Rain Grid..." -ForegroundColor Cyan
52
+ Start-Process wt -ArgumentList $wtArgs