machineconfig 1.97__py3-none-any.whl → 2.1__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.

Potentially problematic release.


This version of machineconfig might be problematic. Click here for more details.

Files changed (268) hide show
  1. machineconfig/cluster/cloud_manager.py +22 -29
  2. machineconfig/cluster/data_transfer.py +2 -3
  3. machineconfig/cluster/distribute.py +0 -2
  4. machineconfig/cluster/file_manager.py +4 -5
  5. machineconfig/cluster/job_params.py +1 -4
  6. machineconfig/cluster/loader_runner.py +8 -11
  7. machineconfig/cluster/remote_machine.py +4 -5
  8. machineconfig/cluster/script_execution.py +2 -2
  9. machineconfig/cluster/script_notify_upon_completion.py +0 -1
  10. machineconfig/cluster/sessions_managers/archive/create_zellij_template.py +4 -6
  11. machineconfig/cluster/sessions_managers/archive/session_managers.py +0 -1
  12. machineconfig/cluster/sessions_managers/enhanced_command_runner.py +35 -75
  13. machineconfig/cluster/sessions_managers/wt_local.py +113 -185
  14. machineconfig/cluster/sessions_managers/wt_local_manager.py +127 -197
  15. machineconfig/cluster/sessions_managers/wt_remote.py +60 -67
  16. machineconfig/cluster/sessions_managers/wt_remote_manager.py +110 -149
  17. machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +61 -64
  18. machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +72 -172
  19. machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +27 -60
  20. machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +58 -137
  21. machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +46 -74
  22. machineconfig/cluster/sessions_managers/zellij_local.py +91 -147
  23. machineconfig/cluster/sessions_managers/zellij_local_manager.py +165 -190
  24. machineconfig/cluster/sessions_managers/zellij_remote.py +51 -58
  25. machineconfig/cluster/sessions_managers/zellij_remote_manager.py +40 -46
  26. machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +19 -17
  27. machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +30 -31
  28. machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +64 -134
  29. machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +7 -11
  30. machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +27 -55
  31. machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +14 -13
  32. machineconfig/cluster/templates/cli_click.py +0 -1
  33. machineconfig/cluster/templates/cli_gooey.py +0 -2
  34. machineconfig/cluster/templates/cli_trogon.py +0 -1
  35. machineconfig/cluster/templates/run_cloud.py +0 -1
  36. machineconfig/cluster/templates/run_cluster.py +0 -1
  37. machineconfig/cluster/templates/run_remote.py +0 -1
  38. machineconfig/cluster/templates/utils.py +27 -11
  39. machineconfig/jobs/__pycache__/__init__.cpython-313.pyc +0 -0
  40. machineconfig/jobs/linux/msc/cli_agents.sh +16 -0
  41. machineconfig/jobs/python/check_installations.py +9 -9
  42. machineconfig/jobs/python/create_bootable_media.py +0 -2
  43. machineconfig/jobs/python/python_cargo_build_share.py +2 -2
  44. machineconfig/jobs/python/python_ve_symlink.py +9 -11
  45. machineconfig/jobs/python/tasks.py +0 -1
  46. machineconfig/jobs/python/vscode/api.py +5 -5
  47. machineconfig/jobs/python/vscode/link_ve.py +20 -21
  48. machineconfig/jobs/python/vscode/select_interpreter.py +28 -29
  49. machineconfig/jobs/python/vscode/sync_code.py +14 -18
  50. machineconfig/jobs/python_custom_installers/__pycache__/__init__.cpython-313.pyc +0 -0
  51. machineconfig/jobs/python_custom_installers/archive/ngrok.py +15 -15
  52. machineconfig/jobs/python_custom_installers/dev/aider.py +10 -18
  53. machineconfig/jobs/python_custom_installers/dev/alacritty.py +12 -21
  54. machineconfig/jobs/python_custom_installers/dev/brave.py +13 -22
  55. machineconfig/jobs/python_custom_installers/dev/bypass_paywall.py +13 -20
  56. machineconfig/jobs/python_custom_installers/dev/code.py +17 -24
  57. machineconfig/jobs/python_custom_installers/dev/cursor.py +10 -21
  58. machineconfig/jobs/python_custom_installers/dev/docker_desktop.py +12 -11
  59. machineconfig/jobs/python_custom_installers/dev/espanso.py +19 -23
  60. machineconfig/jobs/python_custom_installers/dev/goes.py +9 -16
  61. machineconfig/jobs/python_custom_installers/dev/lvim.py +13 -21
  62. machineconfig/jobs/python_custom_installers/dev/nerdfont.py +15 -22
  63. machineconfig/jobs/python_custom_installers/dev/redis.py +15 -23
  64. machineconfig/jobs/python_custom_installers/dev/wezterm.py +15 -22
  65. machineconfig/jobs/python_custom_installers/dev/winget.py +32 -50
  66. machineconfig/jobs/python_custom_installers/docker.py +15 -24
  67. machineconfig/jobs/python_custom_installers/gh.py +18 -26
  68. machineconfig/jobs/python_custom_installers/hx.py +33 -17
  69. machineconfig/jobs/python_custom_installers/warp-cli.py +15 -23
  70. machineconfig/jobs/python_generic_installers/__pycache__/__init__.cpython-313.pyc +0 -0
  71. machineconfig/jobs/python_generic_installers/config.json +412 -389
  72. machineconfig/jobs/python_linux_installers/__pycache__/__init__.cpython-313.pyc +0 -0
  73. machineconfig/jobs/python_windows_installers/dev/config.json +1 -1
  74. machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +1 -1
  75. machineconfig/jobs/windows/msc/cli_agents.bat +0 -0
  76. machineconfig/jobs/windows/msc/cli_agents.ps1 +0 -0
  77. machineconfig/jobs/windows/start_terminal.ps1 +1 -1
  78. machineconfig/logger.py +50 -0
  79. machineconfig/profile/create.py +50 -36
  80. machineconfig/profile/create_hardlinks.py +33 -26
  81. machineconfig/profile/shell.py +87 -60
  82. machineconfig/scripts/__pycache__/__init__.cpython-313.pyc +0 -0
  83. machineconfig/scripts/cloud/init.sh +2 -2
  84. machineconfig/scripts/linux/checkout_versions +1 -1
  85. machineconfig/scripts/linux/choose_wezterm_theme +1 -1
  86. machineconfig/scripts/linux/cloud_copy +1 -1
  87. machineconfig/scripts/linux/cloud_manager +1 -1
  88. machineconfig/scripts/linux/cloud_mount +1 -1
  89. machineconfig/scripts/linux/cloud_repo_sync +1 -1
  90. machineconfig/scripts/linux/cloud_sync +1 -1
  91. machineconfig/scripts/linux/croshell +1 -1
  92. machineconfig/scripts/linux/devops +3 -5
  93. machineconfig/scripts/linux/fire +2 -1
  94. machineconfig/scripts/linux/fire_agents +3 -3
  95. machineconfig/scripts/linux/ftpx +1 -1
  96. machineconfig/scripts/linux/gh_models +1 -1
  97. machineconfig/scripts/linux/kill_process +1 -1
  98. machineconfig/scripts/linux/mcinit +2 -2
  99. machineconfig/scripts/linux/repos +1 -1
  100. machineconfig/scripts/linux/scheduler +1 -1
  101. machineconfig/scripts/linux/start_slidev +1 -1
  102. machineconfig/scripts/linux/start_terminals +1 -1
  103. machineconfig/scripts/linux/url2md +1 -1
  104. machineconfig/scripts/linux/warp-cli.sh +122 -0
  105. machineconfig/scripts/linux/wifi_conn +1 -1
  106. machineconfig/scripts/python/__pycache__/__init__.cpython-313.pyc +0 -0
  107. machineconfig/scripts/python/__pycache__/croshell.cpython-313.pyc +0 -0
  108. machineconfig/scripts/python/__pycache__/devops.cpython-313.pyc +0 -0
  109. machineconfig/scripts/python/__pycache__/devops_devapps_install.cpython-313.pyc +0 -0
  110. machineconfig/scripts/python/__pycache__/devops_update_repos.cpython-313.pyc +0 -0
  111. machineconfig/scripts/python/__pycache__/fire_jobs.cpython-313.pyc +0 -0
  112. machineconfig/scripts/python/ai/__init__.py +0 -0
  113. machineconfig/scripts/python/ai/__pycache__/__init__.cpython-313.pyc +0 -0
  114. machineconfig/scripts/python/ai/__pycache__/generate_files.cpython-313.pyc +0 -0
  115. machineconfig/scripts/python/ai/__pycache__/mcinit.cpython-313.pyc +0 -0
  116. machineconfig/scripts/python/ai/chatmodes/Thinking-Beast-Mode.chatmode.md +337 -0
  117. machineconfig/scripts/python/ai/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +644 -0
  118. machineconfig/scripts/python/ai/chatmodes/deepResearch.chatmode.md +81 -0
  119. machineconfig/scripts/python/ai/configs/.gemini/settings.json +81 -0
  120. machineconfig/scripts/python/ai/generate_files.py +84 -0
  121. machineconfig/scripts/python/ai/instructions/python/dev.instructions.md +45 -0
  122. machineconfig/scripts/python/ai/mcinit.py +107 -0
  123. machineconfig/scripts/python/ai/prompts/allLintersAndTypeCheckers.prompt.md +5 -0
  124. machineconfig/scripts/python/ai/prompts/research-report-skeleton.prompt.md +38 -0
  125. machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +52 -0
  126. machineconfig/scripts/python/archive/tmate_conn.py +5 -5
  127. machineconfig/scripts/python/archive/tmate_start.py +3 -3
  128. machineconfig/scripts/python/choose_wezterm_theme.py +2 -2
  129. machineconfig/scripts/python/cloud_copy.py +20 -19
  130. machineconfig/scripts/python/cloud_mount.py +10 -8
  131. machineconfig/scripts/python/cloud_repo_sync.py +15 -15
  132. machineconfig/scripts/python/cloud_sync.py +1 -1
  133. machineconfig/scripts/python/croshell.py +18 -16
  134. machineconfig/scripts/python/devops.py +6 -6
  135. machineconfig/scripts/python/devops_add_identity.py +9 -7
  136. machineconfig/scripts/python/devops_add_ssh_key.py +19 -19
  137. machineconfig/scripts/python/devops_backup_retrieve.py +14 -14
  138. machineconfig/scripts/python/devops_devapps_install.py +3 -3
  139. machineconfig/scripts/python/devops_update_repos.py +141 -53
  140. machineconfig/scripts/python/dotfile.py +3 -3
  141. machineconfig/scripts/python/fire_agents.py +202 -41
  142. machineconfig/scripts/python/fire_jobs.py +20 -21
  143. machineconfig/scripts/python/ftpx.py +4 -3
  144. machineconfig/scripts/python/gh_models.py +94 -94
  145. machineconfig/scripts/python/helpers/__pycache__/__init__.cpython-313.pyc +0 -0
  146. machineconfig/scripts/python/helpers/__pycache__/helpers4.cpython-313.pyc +0 -0
  147. machineconfig/scripts/python/helpers/cloud_helpers.py +3 -3
  148. machineconfig/scripts/python/helpers/helpers2.py +3 -3
  149. machineconfig/scripts/python/helpers/helpers4.py +8 -7
  150. machineconfig/scripts/python/helpers/helpers5.py +7 -7
  151. machineconfig/scripts/python/helpers/repo_sync_helpers.py +2 -2
  152. machineconfig/scripts/python/mount_nfs.py +4 -3
  153. machineconfig/scripts/python/mount_nw_drive.py +4 -4
  154. machineconfig/scripts/python/mount_ssh.py +4 -3
  155. machineconfig/scripts/python/repos.py +9 -9
  156. machineconfig/scripts/python/scheduler.py +1 -1
  157. machineconfig/scripts/python/start_slidev.py +9 -8
  158. machineconfig/scripts/python/start_terminals.py +1 -1
  159. machineconfig/scripts/python/viewer.py +40 -40
  160. machineconfig/scripts/python/wifi_conn.py +65 -66
  161. machineconfig/scripts/python/wsl_windows_transfer.py +2 -2
  162. machineconfig/scripts/windows/checkout_version.ps1 +1 -3
  163. machineconfig/scripts/windows/choose_wezterm_theme.ps1 +1 -3
  164. machineconfig/scripts/windows/cloud_copy.ps1 +2 -6
  165. machineconfig/scripts/windows/cloud_manager.ps1 +1 -1
  166. machineconfig/scripts/windows/cloud_repo_sync.ps1 +1 -2
  167. machineconfig/scripts/windows/cloud_sync.ps1 +2 -2
  168. machineconfig/scripts/windows/croshell.ps1 +2 -2
  169. machineconfig/scripts/windows/devops.ps1 +1 -4
  170. machineconfig/scripts/windows/dotfile.ps1 +1 -3
  171. machineconfig/scripts/windows/fire.ps1 +1 -1
  172. machineconfig/scripts/windows/ftpx.ps1 +2 -2
  173. machineconfig/scripts/windows/gpt.ps1 +1 -1
  174. machineconfig/scripts/windows/kill_process.ps1 +1 -2
  175. machineconfig/scripts/windows/mcinit.ps1 +2 -2
  176. machineconfig/scripts/windows/mount_nfs.ps1 +1 -1
  177. machineconfig/scripts/windows/mount_ssh.ps1 +1 -1
  178. machineconfig/scripts/windows/pomodoro.ps1 +1 -1
  179. machineconfig/scripts/windows/py2exe.ps1 +1 -3
  180. machineconfig/scripts/windows/repos.ps1 +1 -1
  181. machineconfig/scripts/windows/scheduler.ps1 +1 -1
  182. machineconfig/scripts/windows/snapshot.ps1 +2 -2
  183. machineconfig/scripts/windows/start_slidev.ps1 +1 -1
  184. machineconfig/scripts/windows/start_terminals.ps1 +1 -1
  185. machineconfig/scripts/windows/wifi_conn.ps1 +1 -1
  186. machineconfig/scripts/windows/wsl_windows_transfer.ps1 +1 -3
  187. machineconfig/settings/lf/linux/lfrc +1 -1
  188. machineconfig/settings/linters/.ruff.toml +2 -2
  189. machineconfig/settings/linters/.ruff_cache/.gitignore +2 -0
  190. machineconfig/settings/linters/.ruff_cache/CACHEDIR.TAG +1 -0
  191. machineconfig/settings/lvim/windows/archive/config_additional.lua +1 -1
  192. machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +71 -71
  193. machineconfig/settings/shells/wt/settings.json +8 -8
  194. machineconfig/settings/svim/linux/init.toml +1 -1
  195. machineconfig/settings/svim/windows/init.toml +1 -1
  196. machineconfig/setup_linux/web_shortcuts/croshell.sh +0 -54
  197. machineconfig/setup_linux/web_shortcuts/interactive.sh +6 -6
  198. machineconfig/setup_linux/web_shortcuts/tmp.sh +2 -0
  199. machineconfig/setup_windows/web_shortcuts/all.ps1 +2 -2
  200. machineconfig/setup_windows/web_shortcuts/ascii_art.ps1 +1 -1
  201. machineconfig/setup_windows/web_shortcuts/croshell.ps1 +1 -1
  202. machineconfig/setup_windows/web_shortcuts/interactive.ps1 +5 -5
  203. machineconfig/setup_windows/wt_and_pwsh/install_fonts.ps1 +51 -15
  204. machineconfig/setup_windows/wt_and_pwsh/set_pwsh_theme.py +75 -18
  205. machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +52 -42
  206. machineconfig/utils/ai/browser_user_wrapper.py +5 -5
  207. machineconfig/utils/ai/generate_file_checklist.py +19 -22
  208. machineconfig/utils/ai/url2md.py +5 -3
  209. machineconfig/utils/cloud/onedrive/setup_oauth.py +5 -4
  210. machineconfig/utils/cloud/onedrive/transaction.py +192 -227
  211. machineconfig/utils/code.py +71 -43
  212. machineconfig/utils/installer.py +77 -85
  213. machineconfig/utils/installer_utils/installer_abc.py +29 -17
  214. machineconfig/utils/installer_utils/installer_class.py +188 -83
  215. machineconfig/utils/io_save.py +3 -15
  216. machineconfig/utils/links.py +22 -11
  217. machineconfig/utils/notifications.py +197 -0
  218. machineconfig/utils/options.py +38 -25
  219. machineconfig/utils/path.py +18 -6
  220. machineconfig/utils/path_reduced.py +637 -316
  221. machineconfig/utils/procs.py +69 -63
  222. machineconfig/utils/scheduling.py +11 -13
  223. machineconfig/utils/ssh.py +351 -0
  224. machineconfig/utils/terminal.py +225 -0
  225. machineconfig/utils/utils.py +13 -12
  226. machineconfig/utils/utils2.py +43 -10
  227. machineconfig/utils/utils5.py +242 -46
  228. machineconfig/utils/ve.py +11 -6
  229. {machineconfig-1.97.dist-info → machineconfig-2.1.dist-info}/METADATA +15 -9
  230. {machineconfig-1.97.dist-info → machineconfig-2.1.dist-info}/RECORD +232 -235
  231. machineconfig/cluster/self_ssh.py +0 -57
  232. machineconfig/jobs/__pycache__/__init__.cpython-311.pyc +0 -0
  233. machineconfig/jobs/python/__pycache__/__init__.cpython-311.pyc +0 -0
  234. machineconfig/jobs/python/archive/python_tools.txt +0 -12
  235. machineconfig/jobs/python/vscode/__pycache__/select_interpreter.cpython-311.pyc +0 -0
  236. machineconfig/jobs/python_custom_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  237. machineconfig/jobs/python_generic_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  238. machineconfig/jobs/python_generic_installers/update.py +0 -3
  239. machineconfig/jobs/python_linux_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  240. machineconfig/profile/__pycache__/__init__.cpython-311.pyc +0 -0
  241. machineconfig/profile/__pycache__/create.cpython-311.pyc +0 -0
  242. machineconfig/profile/__pycache__/shell.cpython-311.pyc +0 -0
  243. machineconfig/scripts/__pycache__/__init__.cpython-311.pyc +0 -0
  244. machineconfig/scripts/linux/activate_ve +0 -87
  245. machineconfig/scripts/python/__pycache__/__init__.cpython-311.pyc +0 -0
  246. machineconfig/scripts/python/__pycache__/cloud_copy.cpython-311.pyc +0 -0
  247. machineconfig/scripts/python/__pycache__/cloud_mount.cpython-311.pyc +0 -0
  248. machineconfig/scripts/python/__pycache__/cloud_sync.cpython-311.pyc +0 -0
  249. machineconfig/scripts/python/__pycache__/croshell.cpython-311.pyc +0 -0
  250. machineconfig/scripts/python/__pycache__/devops.cpython-311.pyc +0 -0
  251. machineconfig/scripts/python/__pycache__/devops_backup_retrieve.cpython-311.pyc +0 -0
  252. machineconfig/scripts/python/__pycache__/devops_devapps_install.cpython-311.pyc +0 -0
  253. machineconfig/scripts/python/__pycache__/devops_update_repos.cpython-311.pyc +0 -0
  254. machineconfig/scripts/python/__pycache__/fire_agents.cpython-311.pyc +0 -0
  255. machineconfig/scripts/python/__pycache__/fire_jobs.cpython-311.pyc +0 -0
  256. machineconfig/scripts/python/__pycache__/get_zellij_cmd.cpython-311.pyc +0 -0
  257. machineconfig/scripts/python/__pycache__/repos.cpython-311.pyc +0 -0
  258. machineconfig/scripts/python/ai/__pycache__/init.cpython-311.pyc +0 -0
  259. machineconfig/scripts/python/ai/init.py +0 -56
  260. machineconfig/scripts/python/ai/rules/python/dev.md +0 -31
  261. machineconfig/scripts/python/helpers/__pycache__/__init__.cpython-311.pyc +0 -0
  262. machineconfig/scripts/python/helpers/__pycache__/cloud_helpers.cpython-311.pyc +0 -0
  263. machineconfig/scripts/python/helpers/__pycache__/helpers2.cpython-311.pyc +0 -0
  264. machineconfig/scripts/python/helpers/__pycache__/helpers4.cpython-311.pyc +0 -0
  265. machineconfig/scripts/python/helpers/__pycache__/repo_sync_helpers.cpython-311.pyc +0 -0
  266. machineconfig/scripts/windows/activate_ve.ps1 +0 -54
  267. {machineconfig-1.97.dist-info → machineconfig-2.1.dist-info}/WHEEL +0 -0
  268. {machineconfig-1.97.dist-info → machineconfig-2.1.dist-info}/top_level.txt +0 -0
@@ -1,37 +1,29 @@
1
1
  from typing import Optional
2
2
  import platform
3
3
 
4
- config_dict = {
5
- "repo_url": "CUSTOM",
6
- "doc": "Aider Chat",
7
- "filename_template_windows_amd_64": "aider-chat-{}.exe",
8
- "filename_template_linux_amd_64": "aider-chat-{}.deb",
9
- "strip_v": True,
10
- "exe_name": "aider-chat"
11
- }
4
+ config_dict = {"repo_url": "CUSTOM", "doc": "Aider Chat", "filename_template_windows_amd_64": "aider-chat-{}.exe", "filename_template_linux_amd_64": "aider-chat-{}.deb", "strip_v": True, "exe_name": "aider-chat"}
12
5
 
13
6
 
14
7
  def main(version: Optional[str] = None):
15
8
  print(f"""
16
- {'=' * 150}
9
+ {"=" * 150}
17
10
  🤖 AIDER INSTALLER | Installing AI code assistant
18
11
  💻 Platform: {platform.system()}
19
- 🔄 Version: {'latest' if version is None else version}
20
- {'=' * 150}
12
+ 🔄 Version: {"latest" if version is None else version}
13
+ {"=" * 150}
21
14
  """)
22
-
15
+
23
16
  install_script = "uv tool install --force --python python3.12 aider-chat@latest"
24
-
17
+
25
18
  print(f"""
26
- {'=' * 150}
19
+ {"=" * 150}
27
20
  ✅ SUCCESS | Installation command prepared:
28
21
  📄 Command: {install_script}
29
- {'=' * 150}
22
+ {"=" * 150}
30
23
  """)
31
-
24
+
32
25
  return install_script
33
26
 
34
27
 
35
- if __name__ == '__main__':
28
+ if __name__ == "__main__":
36
29
  pass
37
-
@@ -1,29 +1,21 @@
1
- """alacritty
2
- """
1
+ """alacritty"""
3
2
 
4
3
  import platform
5
4
  from typing import Optional
6
5
 
7
6
 
8
- config_dict = {
9
- "repo_url": "CUSTOM",
10
- "doc": "Terminal Console",
11
- "filename_template_windows_amd_64": "",
12
- "filename_template_linux_amd_64": "",
13
- "strip_v": False,
14
- "exe_name": "alacritty"
15
- }
7
+ config_dict = {"repo_url": "CUSTOM", "doc": "Terminal Console", "filename_template_windows_amd_64": "", "filename_template_linux_amd_64": "", "strip_v": False, "exe_name": "alacritty"}
16
8
 
17
9
 
18
10
  def main(version: Optional[str]):
19
11
  print(f"""
20
- {'=' * 150}
12
+ {"=" * 150}
21
13
  🖥️ ALACRITTY INSTALLER | Installing GPU-accelerated terminal emulator
22
14
  💻 Platform: {platform.system()}
23
- 🔄 Version: {'latest' if version is None else version}
24
- {'=' * 150}
15
+ 🔄 Version: {"latest" if version is None else version}
16
+ {"=" * 150}
25
17
  """)
26
-
18
+
27
19
  _ = version
28
20
  if platform.system() == "Windows":
29
21
  print("🪟 Installing Alacritty on Windows using Cargo...")
@@ -48,21 +40,21 @@ git clone https://github.com/alacritty/alacritty-theme ~/.config/alacritty/theme
48
40
  else:
49
41
  error_msg = f"Unsupported platform: {platform.system()}"
50
42
  print(f"""
51
- {'⚠️' * 20}
43
+ {"⚠️" * 20}
52
44
  ❌ ERROR | {error_msg}
53
- {'⚠️' * 20}
45
+ {"⚠️" * 20}
54
46
  """)
55
47
  raise NotImplementedError(error_msg)
56
-
48
+
57
49
  print(f"""
58
- {'=' * 150}
50
+ {"=" * 150}
59
51
  ℹ️ INFO | Installation will proceed with the following steps:
60
52
  1️⃣ Install Alacritty using Cargo
61
53
  2️⃣ Create config directories
62
54
  3️⃣ Clone theme repository
63
- {'=' * 150}
55
+ {"=" * 150}
64
56
  """)
65
-
57
+
66
58
  # _res = Terminal(stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE).run_script(script=program, shell="default").print(desc="Running custom installer", capture=True)
67
59
  # run script here as it requires user input
68
60
  return program
@@ -70,4 +62,3 @@ git clone https://github.com/alacritty/alacritty-theme ~/.config/alacritty/theme
70
62
 
71
63
  if __name__ == "__main__":
72
64
  pass
73
-
@@ -1,30 +1,21 @@
1
- """brave installer
2
- """
1
+ """brave installer"""
3
2
 
4
3
  import platform
5
4
  from typing import Optional
6
5
 
7
6
 
8
- config_dict = {
9
- "repo_url": "CUSTOM",
10
- "doc": "Chrome with no ads",
11
- "filename_template_windows_amd_64": "",
12
- "filename_template_linux_amd_64": "",
13
- "strip_v": False,
14
- "exe_name": "brave"
15
- }
16
-
7
+ config_dict = {"repo_url": "CUSTOM", "doc": "Chrome with no ads", "filename_template_windows_amd_64": "", "filename_template_linux_amd_64": "", "strip_v": False, "exe_name": "brave"}
17
8
 
18
9
 
19
10
  def main(version: Optional[str]):
20
11
  print(f"""
21
- {'=' * 150}
12
+ {"=" * 150}
22
13
  🦁 BRAVE BROWSER | Installing privacy-focused web browser
23
14
  💻 Platform: {platform.system()}
24
- 🔄 Version: {'latest' if version is None else version}
25
- {'=' * 150}
15
+ 🔄 Version: {"latest" if version is None else version}
16
+ {"=" * 150}
26
17
  """)
27
-
18
+
28
19
  _ = version
29
20
  if platform.system() == "Windows":
30
21
  print("🪟 Installing Brave Browser on Windows using winget...")
@@ -38,6 +29,7 @@ winget install --Name "Brave Browser" --Id Brave.Brave --source winget --accept-
38
29
  print(f"🐧 Installing Brave Browser on {system_name}...")
39
30
  import machineconfig.jobs.python_custom_installers as module
40
31
  from pathlib import Path
32
+
41
33
  if platform.system() == "Linux":
42
34
  program = Path(module.__file__).parent.joinpath("scripts/linux/brave.sh").read_text(encoding="utf-8")
43
35
  else: # Darwin/macOS
@@ -45,22 +37,22 @@ winget install --Name "Brave Browser" --Id Brave.Brave --source winget --accept-
45
37
  else:
46
38
  error_msg = f"Unsupported platform: {platform.system()}"
47
39
  print(f"""
48
- {'⚠️' * 20}
40
+ {"⚠️" * 20}
49
41
  ❌ ERROR | {error_msg}
50
- {'⚠️' * 20}
42
+ {"⚠️" * 20}
51
43
  """)
52
44
  raise NotImplementedError(error_msg)
53
-
45
+
54
46
  print(f"""
55
- {'=' * 150}
47
+ {"=" * 150}
56
48
  ℹ️ INFO | Brave Browser features:
57
49
  🔒 Built-in ad blocking
58
50
  🛡️ Privacy-focused browsing
59
51
  💨 Faster page loading
60
52
  🪙 Optional crypto rewards
61
- {'=' * 150}
53
+ {"=" * 150}
62
54
  """)
63
-
55
+
64
56
  # _res = Terminal(stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE).run_script(script=program, shell="default").print(desc="Running custom installer", capture=True)
65
57
  # run script here as it requires user input
66
58
  return program
@@ -68,4 +60,3 @@ winget install --Name "Brave Browser" --Id Brave.Brave --source winget --accept-
68
60
 
69
61
  if __name__ == "__main__":
70
62
  pass
71
-
@@ -2,48 +2,41 @@
2
2
 
3
3
  # from platform import system
4
4
  from typing import Optional
5
- from machineconfig.utils.path_reduced import P as PathExtended
5
+ from machineconfig.utils.path_reduced import PathExtended as PathExtended
6
6
 
7
7
 
8
- config_dict = {
9
- "repo_url": "CUSTOM",
10
- "doc": """Plugin for chrome to bypass paywalls""",
11
- "filename_template_windows_amd_64": "VSCodeSetup-{}.exe",
12
- "filename_template_linux_amd_64": "code_{}.deb",
13
- "strip_v": True,
14
- "exe_name": "pluginName"
15
- }
8
+ config_dict = {"repo_url": "CUSTOM", "doc": """Plugin for chrome to bypass paywalls""", "filename_template_windows_amd_64": "VSCodeSetup-{}.exe", "filename_template_linux_amd_64": "code_{}.deb", "strip_v": True, "exe_name": "pluginName"}
16
9
 
17
10
 
18
11
  def main(version: Optional[str] = None):
19
12
  print(f"""
20
- {'=' * 150}
13
+ {"=" * 150}
21
14
  🔓 BYPASS PAYWALL | Installing paywall bypass extension for Chrome
22
- 🔄 Version: {'latest' if version is None else version}
23
- {'=' * 150}
15
+ 🔄 Version: {"latest" if version is None else version}
16
+ {"=" * 150}
24
17
  """)
25
-
18
+
26
19
  _ = version
27
20
  # see remove paywalls and enhance YT experience by Chris Titus
28
21
  folder = r"C:\\"
29
-
22
+
30
23
  print("📥 Downloading extension from GitHub repository...")
31
24
  PathExtended("https://github.com/iamadamdev/bypass-paywalls-chrome/archive/master.zip").download().unzip(folder=folder, content=True)
32
25
  extension_folder = PathExtended(folder).joinpath("bypass-paywalls-chrome-master")
33
-
26
+
34
27
  print(f"""
35
- {'=' * 150}
28
+ {"=" * 150}
36
29
  ✅ SUCCESS | Extension downloaded successfully
37
30
  📂 Location: {extension_folder}
38
- ℹ️ Next steps:
31
+ ℹ️ Next steps:
39
32
  1️⃣ Open Chrome and navigate to chrome://extensions
40
33
  2️⃣ Enable Developer Mode (toggle in top right)
41
34
  3️⃣ Click "Load unpacked" and select the extension folder
42
- {'=' * 150}
35
+ {"=" * 150}
43
36
  """)
44
-
37
+
45
38
  return ""
46
39
 
47
40
 
48
- if __name__ == '__main__':
41
+ if __name__ == "__main__":
49
42
  pass
@@ -1,64 +1,57 @@
1
- """vs code installer as per https://code.visualstudio.com/docs/setup/linux
2
- """
1
+ """vs code installer as per https://code.visualstudio.com/docs/setup/linux"""
3
2
 
4
3
  from typing import Optional
5
4
  import platform
6
5
 
7
6
 
8
- config_dict = {
9
- "repo_url": "CUSTOM",
10
- "doc": "Visual Studio Code",
11
- "filename_template_windows_amd_64": "VSCodeSetup-{}.exe",
12
- "filename_template_linux_amd_64": "code_{}.deb",
13
- "strip_v": True,
14
- "exe_name": "code"
15
- }
7
+ config_dict = {"repo_url": "CUSTOM", "doc": "Visual Studio Code", "filename_template_windows_amd_64": "VSCodeSetup-{}.exe", "filename_template_linux_amd_64": "code_{}.deb", "strip_v": True, "exe_name": "code"}
16
8
 
17
9
 
18
10
  def main(version: Optional[str] = None):
19
11
  print(f"""
20
- {'=' * 150}
12
+ {"=" * 150}
21
13
  💻 VS CODE INSTALLER | Setting up Visual Studio Code
22
14
  🖥️ Platform: {platform.system()}
23
- 🔄 Version: {'latest' if version is None else version}
24
- {'=' * 150}
15
+ 🔄 Version: {"latest" if version is None else version}
16
+ {"=" * 150}
25
17
  """)
26
18
 
27
- if platform.system() == 'Linux':
19
+ if platform.system() == "Linux":
28
20
  print("🐧 Installing VS Code on Linux using official script...")
29
21
  import machineconfig.jobs.python_custom_installers as module
30
22
  from pathlib import Path
23
+
31
24
  install_script = Path(module.__file__).parent.joinpath("scripts/linux/vscode.sh").read_text(encoding="utf-8")
32
- elif platform.system() == 'Darwin':
25
+ elif platform.system() == "Darwin":
33
26
  print("🍎 Installing VS Code on macOS using Homebrew...")
34
27
  install_script = """brew install --cask visual-studio-code"""
35
- elif platform.system() == 'Windows':
28
+ elif platform.system() == "Windows":
36
29
  print("🪟 Installing VS Code on Windows using winget...")
37
30
  install_script = """winget install --no-upgrade --name "Microsoft Visual Studio Code" --Id "Microsoft.VisualStudioCode" --source winget --scope user --accept-package-agreements --accept-source-agreements"""
38
31
  else:
39
32
  error_msg = f"Unsupported platform: {platform.system()}"
40
33
  print(f"""
41
- {'⚠️' * 20}
34
+ {"⚠️" * 20}
42
35
  ❌ ERROR | {error_msg}
43
- {'⚠️' * 20}
36
+ {"⚠️" * 20}
44
37
  """)
45
38
  raise NotImplementedError(error_msg)
46
-
39
+
47
40
  _ = version
48
-
41
+
49
42
  print(f"""
50
- {'=' * 150}
43
+ {"=" * 150}
51
44
  ℹ️ INFO | VS Code features:
52
45
  📝 Powerful code editor with IntelliSense
53
46
  🧩 Thousands of extensions available
54
47
  🔍 Integrated debugging
55
48
  🔄 Git integration
56
49
  ⚙️ Highly customizable
57
- {'=' * 150}
50
+ {"=" * 150}
58
51
  """)
59
-
52
+
60
53
  return install_script
61
54
 
62
55
 
63
- if __name__ == '__main__':
56
+ if __name__ == "__main__":
64
57
  pass
@@ -1,5 +1,3 @@
1
-
2
-
3
1
  import os
4
2
  import shutil
5
3
  from pathlib import Path
@@ -8,14 +6,7 @@ import subprocess
8
6
  from typing import Optional
9
7
 
10
8
 
11
- config_dict = {
12
- "repo_url": "CUSTOM",
13
- "doc": "Cursor",
14
- "filename_template_windows_amd_64": "VSCodeSetup-{}.exe",
15
- "filename_template_linux_amd_64": "code_{}.deb",
16
- "strip_v": True,
17
- "exe_name": "cursor"
18
- }
9
+ config_dict = {"repo_url": "CUSTOM", "doc": "Cursor", "filename_template_windows_amd_64": "VSCodeSetup-{}.exe", "filename_template_linux_amd_64": "code_{}.deb", "strip_v": True, "exe_name": "cursor"}
19
10
 
20
11
 
21
12
  def install_linux(version: Optional[str] = None):
@@ -66,7 +57,7 @@ def install_windows(version: Optional[str] = None):
66
57
  _ = version
67
58
  home = Path.home()
68
59
  downloads_dir = home / "Downloads"
69
-
60
+
70
61
  # Search for Cursor installer in Downloads
71
62
  cursor_installer = None
72
63
  for pattern in ["**/Cursor*.exe", "**/cursor*.exe"]:
@@ -74,17 +65,16 @@ def install_windows(version: Optional[str] = None):
74
65
  if found:
75
66
  cursor_installer = found[0]
76
67
  break
77
-
68
+
78
69
  if cursor_installer is None:
79
70
  raise FileNotFoundError("Cursor installer (.exe) not found in Downloads folder.")
80
-
71
+
81
72
  print(f"Cursor installer found: {cursor_installer}")
82
-
73
+
83
74
  # Run the installer silently
84
75
  try:
85
76
  print("Running Cursor installer...")
86
- subprocess.run([str(cursor_installer), "/SILENT"],
87
- capture_output=True, text=True, check=True)
77
+ subprocess.run([str(cursor_installer), "/SILENT"], capture_output=True, text=True, check=True)
88
78
  print("Cursor installer completed successfully.")
89
79
  except subprocess.CalledProcessError as e:
90
80
  print(f"Installer failed with exit code {e.returncode}")
@@ -92,8 +82,7 @@ def install_windows(version: Optional[str] = None):
92
82
  # Try alternative silent install flags
93
83
  try:
94
84
  print("Trying alternative silent install...")
95
- subprocess.run([str(cursor_installer), "/S"],
96
- capture_output=True, text=True, check=True)
85
+ subprocess.run([str(cursor_installer), "/S"], capture_output=True, text=True, check=True)
97
86
  print("Cursor installer completed successfully with /S flag.")
98
87
  except subprocess.CalledProcessError as e2:
99
88
  print(f"Alternative installer also failed with exit code {e2.returncode}")
@@ -101,21 +90,21 @@ def install_windows(version: Optional[str] = None):
101
90
  # If silent install fails, run normally and let user handle it
102
91
  print("Running installer in normal mode (user interaction required)...")
103
92
  subprocess.run([str(cursor_installer)])
104
-
93
+
105
94
  # Clean up installer file
106
95
  try:
107
96
  cursor_installer.unlink()
108
97
  print(f"Installer file removed: {cursor_installer}")
109
98
  except OSError as e:
110
99
  print(f"Warning: Could not remove installer file: {e}")
111
-
100
+
112
101
  print("Cursor installation completed. Check your Start Menu or Desktop for Cursor.")
113
102
 
114
103
 
115
104
  def main(version: Optional[str] = None):
116
105
  """Main installation function that handles both Linux and Windows."""
117
106
  system = platform.system()
118
-
107
+
119
108
  if system == "Linux":
120
109
  install_linux(version)
121
110
  elif system == "Windows":
@@ -1,6 +1,7 @@
1
1
  """
2
2
  Installer
3
3
  """
4
+
4
5
  # from machineconfig.utils.installer import get_latest_release
5
6
  from typing import Optional
6
7
 
@@ -19,21 +20,21 @@ config_dict = {
19
20
  "filename_template_windows_amd_64": "gh_{}_windows_amd64.zip",
20
21
  "filename_template_linux_amd_64": "gh_{}_linux_amd64.tar.gz",
21
22
  "strip_v": True,
22
- "exe_name": "docker"
23
+ "exe_name": "docker",
23
24
  }
24
25
 
25
26
 
26
27
  def main(version: Optional[str]):
27
28
  print(f"""
28
- {'=' * 150}
29
+ {"=" * 150}
29
30
  🐳 DOCKER DESKTOP | Installing Docker Desktop for Ubuntu
30
- 🔄 Version: {'latest' if version is None else version}
31
+ 🔄 Version: {"latest" if version is None else version}
31
32
  📚 Source: https://docs.docker.com/desktop/install/ubuntu/
32
- {'=' * 150}
33
+ {"=" * 150}
33
34
  """)
34
-
35
+
35
36
  _ = version
36
-
37
+
37
38
  print("""
38
39
  📋 Installation steps:
39
40
  1️⃣ Adding Docker's official GPG key
@@ -41,7 +42,7 @@ def main(version: Optional[str]):
41
42
  3️⃣ Updating package lists
42
43
  4️⃣ Installing Docker components
43
44
  """)
44
-
45
+
45
46
  code = """
46
47
  # Add Docker's official GPG key:
47
48
  sudo apt-get update
@@ -61,16 +62,16 @@ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin
61
62
 
62
63
  """
63
64
  print(f"""
64
- {'=' * 150}
65
+ {"=" * 150}
65
66
  ℹ️ INFO | After installation:
66
67
  🔹 Run 'sudo docker run hello-world' to verify installation
67
68
  🔹 Add your user to the docker group with 'sudo usermod -aG docker $USER'
68
69
  🔹 Log out and back in to apply group changes
69
- {'=' * 150}
70
+ {"=" * 150}
70
71
  """)
71
-
72
+
72
73
  return code
73
74
 
74
75
 
75
- if __name__ == '__main__':
76
+ if __name__ == "__main__":
76
77
  pass
@@ -6,48 +6,43 @@ https://github.com/espanso/espanso
6
6
 
7
7
  from typing import Optional
8
8
 
9
- config_dict = {
10
- "repo_url": "CUSTOM",
11
- "doc": "A text expander.",
12
- "filename_template_windows_amd_64": "Espanso-Win-Installer-x86_64.exe",
13
- "filename_template_linux_amd_64": "",
14
- "strip_v": False,
15
- "exe_name": "espanso"
16
- }
9
+ config_dict = {"repo_url": "CUSTOM", "doc": "A text expander.", "filename_template_windows_amd_64": "Espanso-Win-Installer-x86_64.exe", "filename_template_linux_amd_64": "", "strip_v": False, "exe_name": "espanso"}
17
10
 
18
11
 
19
12
  def main(version: Optional[str]):
20
13
  print(f"""
21
- {'=' * 150}
14
+ {"=" * 150}
22
15
  ⚡ ESPANSO INSTALLER | Setting up text expansion tool
23
- 🔄 Version: {'latest' if version is None else version}
16
+ 🔄 Version: {"latest" if version is None else version}
24
17
  🔗 Source: https://github.com/espanso/espanso
25
- {'=' * 150}
18
+ {"=" * 150}
26
19
  """)
27
-
20
+
28
21
  _ = version
29
22
  import platform
23
+
30
24
  config_dict["repo_url"] = "https://github.com/espanso/espanso"
31
25
  if platform.system() == "Windows":
32
26
  print("🪟 Installing Espanso on Windows...")
33
27
  elif platform.system() in ["Linux", "Darwin"]:
34
28
  if platform.system() == "Linux":
35
29
  import os
30
+
36
31
  env = os.environ["XDG_SESSION_TYPE"]
37
32
  if env == "wayland":
38
33
  print(f"""
39
- {'=' * 150}
34
+ {"=" * 150}
40
35
  🖥️ DISPLAY SERVER | Wayland detected
41
36
  📦 Using Wayland-specific package
42
- {'=' * 150}
37
+ {"=" * 150}
43
38
  """)
44
39
  config_dict["filename_template_linux_amd_64"] = "espanso-debian-wayland-amd64.deb"
45
40
  else:
46
41
  print(f"""
47
- {'=' * 150}
42
+ {"=" * 150}
48
43
  🖥️ DISPLAY SERVER | X11 detected
49
44
  📦 Using X11-specific package
50
- {'=' * 150}
45
+ {"=" * 150}
51
46
  """)
52
47
  config_dict["filename_template_linux_amd_64"] = "espanso-debian-x11-amd64.deb"
53
48
  else: # Darwin/macOS
@@ -56,31 +51,32 @@ def main(version: Optional[str]):
56
51
  else:
57
52
  error_msg = f"Unsupported platform: {platform.system()}"
58
53
  print(f"""
59
- {'⚠️' * 20}
54
+ {"⚠️" * 20}
60
55
  ❌ ERROR | {error_msg}
61
- {'⚠️' * 20}
56
+ {"⚠️" * 20}
62
57
  """)
63
58
  raise NotImplementedError(error_msg)
64
59
 
65
60
  print("🚀 Installing Espanso using installer...")
66
61
  from machineconfig.utils.installer_utils.installer_class import Installer
62
+
67
63
  installer = Installer.from_dict(config_dict, name="espanso")
68
64
  installer.install(version=None)
69
-
65
+
70
66
  config = """
71
67
  espanso service register
72
68
  espanso start
73
69
  espanso install actually-all-emojis
74
70
  """
75
-
71
+
76
72
  print(f"""
77
- {'=' * 150}
73
+ {"=" * 150}
78
74
  ✅ SUCCESS | Espanso installation completed
79
75
  📋 Post-installation steps:
80
76
  1️⃣ Register Espanso as a service
81
77
  2️⃣ Start the Espanso service
82
78
  3️⃣ Install the emoji package
83
- {'=' * 150}
79
+ {"=" * 150}
84
80
  """)
85
-
81
+
86
82
  return config
@@ -5,27 +5,20 @@ https://github.com/ShishirPatil/gorilla
5
5
 
6
6
  # import subprocess
7
7
 
8
- config_dict = {
9
- "repo_url": "CUSTOM",
10
- "doc": "natural language to API",
11
- "filename_template_windows_amd_64": "",
12
- "filename_template_linux_amd_64": "",
13
- "strip_v": False,
14
- "exe_name": "goex"
15
- }
8
+ config_dict = {"repo_url": "CUSTOM", "doc": "natural language to API", "filename_template_windows_amd_64": "", "filename_template_linux_amd_64": "", "strip_v": False, "exe_name": "goex"}
16
9
 
17
10
  ve_name = "goex"
18
11
 
19
12
 
20
13
  def main():
21
14
  print(f"""
22
- {'=' * 150}
15
+ {"=" * 150}
23
16
  🦍 GORILLA INSTALLER | Natural language to API converter
24
17
  🌐 Source: https://github.com/ShishirPatil/gorilla
25
18
  📦 Virtual Environment: {ve_name}
26
- {'=' * 150}
19
+ {"=" * 150}
27
20
  """)
28
-
21
+
29
22
  print("🔄 Preparing installation script...")
30
23
  install_script = """
31
24
 
@@ -34,18 +27,18 @@ git clone https://github.com/ShishirPatil/gorilla --depth 1
34
27
  cd gorilla/goex
35
28
  uv sync
36
29
  """
37
-
30
+
38
31
  print(f"""
39
- {'=' * 150}
32
+ {"=" * 150}
40
33
  📋 INSTALLATION STEPS:
41
- 1️⃣ Creating Python 3.11 virtual environment: {ve_name}
34
+ 1️⃣ Creating Python 3.13 virtual environment: {ve_name}
42
35
  2️⃣ Cloning Gorilla repository to ~/code/foreign
43
36
  3️⃣ Installing Gorilla in development mode
44
- {'=' * 150}
37
+ {"=" * 150}
45
38
 
46
39
  ✅ Installation script prepared successfully!
47
40
  """)
48
-
41
+
49
42
  return install_script
50
43
 
51
44