machineconfig 2.0__py3-none-any.whl → 2.2__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 (253) hide show
  1. machineconfig/cluster/cloud_manager.py +0 -3
  2. machineconfig/cluster/data_transfer.py +0 -1
  3. machineconfig/cluster/file_manager.py +0 -1
  4. machineconfig/cluster/job_params.py +0 -3
  5. machineconfig/cluster/loader_runner.py +0 -3
  6. machineconfig/cluster/remote_machine.py +0 -1
  7. machineconfig/cluster/script_notify_upon_completion.py +0 -1
  8. machineconfig/cluster/sessions_managers/archive/create_zellij_template.py +5 -6
  9. machineconfig/cluster/sessions_managers/archive/session_managers.py +0 -1
  10. machineconfig/cluster/sessions_managers/enhanced_command_runner.py +17 -57
  11. machineconfig/cluster/sessions_managers/wt_local.py +36 -110
  12. machineconfig/cluster/sessions_managers/wt_local_manager.py +42 -112
  13. machineconfig/cluster/sessions_managers/wt_remote.py +23 -30
  14. machineconfig/cluster/sessions_managers/wt_remote_manager.py +20 -62
  15. machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +10 -15
  16. machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +27 -127
  17. machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +10 -43
  18. machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +22 -101
  19. machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +11 -39
  20. machineconfig/cluster/sessions_managers/zellij_local.py +49 -102
  21. machineconfig/cluster/sessions_managers/zellij_local_manager.py +34 -78
  22. machineconfig/cluster/sessions_managers/zellij_remote.py +17 -24
  23. machineconfig/cluster/sessions_managers/zellij_remote_manager.py +7 -13
  24. machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +4 -2
  25. machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +6 -6
  26. machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +18 -88
  27. machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +2 -6
  28. machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +12 -40
  29. machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +3 -2
  30. machineconfig/cluster/templates/cli_click.py +0 -1
  31. machineconfig/cluster/templates/cli_gooey.py +0 -2
  32. machineconfig/cluster/templates/cli_trogon.py +0 -1
  33. machineconfig/cluster/templates/run_cloud.py +0 -1
  34. machineconfig/cluster/templates/run_cluster.py +0 -1
  35. machineconfig/cluster/templates/run_remote.py +0 -1
  36. machineconfig/cluster/templates/utils.py +27 -46
  37. machineconfig/jobs/__pycache__/__init__.cpython-313.pyc +0 -0
  38. machineconfig/jobs/linux/msc/cli_agents.sh +16 -0
  39. machineconfig/jobs/python/check_installations.py +2 -1
  40. machineconfig/jobs/python/create_bootable_media.py +0 -2
  41. machineconfig/jobs/python/python_ve_symlink.py +9 -11
  42. machineconfig/jobs/python/tasks.py +0 -1
  43. machineconfig/jobs/python/vscode/api.py +5 -5
  44. machineconfig/jobs/python/vscode/link_ve.py +13 -14
  45. machineconfig/jobs/python/vscode/select_interpreter.py +21 -22
  46. machineconfig/jobs/python/vscode/sync_code.py +9 -13
  47. machineconfig/jobs/python_custom_installers/archive/ngrok.py +13 -13
  48. machineconfig/jobs/python_custom_installers/dev/aider.py +7 -15
  49. machineconfig/jobs/python_custom_installers/dev/alacritty.py +9 -18
  50. machineconfig/jobs/python_custom_installers/dev/brave.py +10 -19
  51. machineconfig/jobs/python_custom_installers/dev/bypass_paywall.py +8 -15
  52. machineconfig/jobs/python_custom_installers/dev/code.py +12 -32
  53. machineconfig/jobs/python_custom_installers/dev/cursor.py +3 -14
  54. machineconfig/jobs/python_custom_installers/dev/docker_desktop.py +8 -7
  55. machineconfig/jobs/python_custom_installers/dev/espanso.py +15 -19
  56. machineconfig/jobs/python_custom_installers/dev/goes.py +5 -12
  57. machineconfig/jobs/python_custom_installers/dev/lvim.py +9 -17
  58. machineconfig/jobs/python_custom_installers/dev/nerdfont.py +12 -19
  59. machineconfig/jobs/python_custom_installers/dev/redis.py +12 -20
  60. machineconfig/jobs/python_custom_installers/dev/wezterm.py +12 -19
  61. machineconfig/jobs/python_custom_installers/dev/winget.py +5 -23
  62. machineconfig/jobs/python_custom_installers/docker.py +12 -21
  63. machineconfig/jobs/python_custom_installers/gh.py +11 -19
  64. machineconfig/jobs/python_custom_installers/hx.py +32 -16
  65. machineconfig/jobs/python_custom_installers/warp-cli.py +12 -20
  66. machineconfig/jobs/python_generic_installers/__pycache__/__init__.cpython-313.pyc +0 -0
  67. machineconfig/jobs/python_generic_installers/config.json +1 -1
  68. machineconfig/jobs/python_linux_installers/__pycache__/__init__.cpython-313.pyc +0 -0
  69. machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +1 -1
  70. machineconfig/jobs/windows/msc/cli_agents.bat +0 -0
  71. machineconfig/jobs/windows/msc/cli_agents.ps1 +0 -0
  72. machineconfig/jobs/windows/start_terminal.ps1 +1 -1
  73. machineconfig/profile/create.py +38 -26
  74. machineconfig/profile/create_hardlinks.py +29 -20
  75. machineconfig/profile/shell.py +56 -32
  76. machineconfig/scripts/__init__.py +0 -2
  77. machineconfig/scripts/__pycache__/__init__.cpython-313.pyc +0 -0
  78. machineconfig/scripts/cloud/init.sh +2 -2
  79. machineconfig/scripts/linux/checkout_versions +1 -1
  80. machineconfig/scripts/linux/choose_wezterm_theme +1 -1
  81. machineconfig/scripts/linux/cloud_copy +1 -1
  82. machineconfig/scripts/linux/cloud_manager +1 -1
  83. machineconfig/scripts/linux/cloud_mount +1 -1
  84. machineconfig/scripts/linux/cloud_repo_sync +1 -1
  85. machineconfig/scripts/linux/cloud_sync +1 -1
  86. machineconfig/scripts/linux/croshell +1 -1
  87. machineconfig/scripts/linux/devops +7 -7
  88. machineconfig/scripts/linux/fire +1 -1
  89. machineconfig/scripts/linux/fire_agents +3 -2
  90. machineconfig/scripts/linux/ftpx +1 -1
  91. machineconfig/scripts/linux/gh_models +1 -1
  92. machineconfig/scripts/linux/kill_process +1 -1
  93. machineconfig/scripts/linux/mcinit +1 -1
  94. machineconfig/scripts/linux/repos +1 -1
  95. machineconfig/scripts/linux/scheduler +1 -1
  96. machineconfig/scripts/linux/start_slidev +1 -1
  97. machineconfig/scripts/linux/start_terminals +1 -1
  98. machineconfig/scripts/linux/url2md +1 -1
  99. machineconfig/scripts/linux/warp-cli.sh +122 -0
  100. machineconfig/scripts/linux/wifi_conn +1 -1
  101. machineconfig/scripts/python/__pycache__/__init__.cpython-313.pyc +0 -0
  102. machineconfig/scripts/python/__pycache__/devops.cpython-313.pyc +0 -0
  103. machineconfig/scripts/python/__pycache__/devops_devapps_install.cpython-313.pyc +0 -0
  104. machineconfig/scripts/python/__pycache__/devops_update_repos.cpython-313.pyc +0 -0
  105. machineconfig/scripts/python/__pycache__/fire_agents.cpython-313.pyc +0 -0
  106. machineconfig/scripts/python/ai/__init__.py +0 -0
  107. machineconfig/scripts/python/ai/generate_files.py +83 -0
  108. machineconfig/scripts/python/ai/instructions/python/dev.instructions.md +2 -2
  109. machineconfig/scripts/python/ai/mcinit.py +14 -7
  110. machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +10 -5
  111. machineconfig/scripts/python/archive/tmate_conn.py +5 -5
  112. machineconfig/scripts/python/archive/tmate_start.py +7 -7
  113. machineconfig/scripts/python/choose_wezterm_theme.py +35 -32
  114. machineconfig/scripts/python/cloud_copy.py +23 -14
  115. machineconfig/scripts/python/cloud_mount.py +36 -24
  116. machineconfig/scripts/python/cloud_repo_sync.py +40 -27
  117. machineconfig/scripts/python/cloud_sync.py +4 -4
  118. machineconfig/scripts/python/croshell.py +40 -29
  119. machineconfig/scripts/python/devops.py +45 -27
  120. machineconfig/scripts/python/devops_add_identity.py +15 -25
  121. machineconfig/scripts/python/devops_add_ssh_key.py +8 -8
  122. machineconfig/scripts/python/devops_backup_retrieve.py +18 -16
  123. machineconfig/scripts/python/devops_devapps_install.py +25 -20
  124. machineconfig/scripts/python/devops_update_repos.py +232 -59
  125. machineconfig/scripts/python/dotfile.py +17 -15
  126. machineconfig/scripts/python/fire_agents.py +48 -22
  127. machineconfig/scripts/python/fire_jobs.py +93 -58
  128. machineconfig/scripts/python/ftpx.py +26 -15
  129. machineconfig/scripts/python/get_zellij_cmd.py +8 -7
  130. machineconfig/scripts/python/helpers/cloud_helpers.py +33 -28
  131. machineconfig/scripts/python/helpers/helpers2.py +27 -16
  132. machineconfig/scripts/python/helpers/helpers4.py +45 -32
  133. machineconfig/scripts/python/helpers/helpers5.py +1 -1
  134. machineconfig/scripts/python/helpers/repo_sync_helpers.py +32 -10
  135. machineconfig/scripts/python/mount_nfs.py +9 -16
  136. machineconfig/scripts/python/mount_nw_drive.py +10 -5
  137. machineconfig/scripts/python/mount_ssh.py +9 -7
  138. machineconfig/scripts/python/repos.py +216 -58
  139. machineconfig/scripts/python/snapshot.py +0 -1
  140. machineconfig/scripts/python/start_slidev.py +11 -6
  141. machineconfig/scripts/python/start_terminals.py +22 -16
  142. machineconfig/scripts/python/viewer_template.py +0 -1
  143. machineconfig/scripts/python/wifi_conn.py +49 -75
  144. machineconfig/scripts/python/wsl_windows_transfer.py +9 -7
  145. machineconfig/scripts/windows/checkout_version.ps1 +1 -3
  146. machineconfig/scripts/windows/choose_wezterm_theme.ps1 +1 -3
  147. machineconfig/scripts/windows/cloud_copy.ps1 +2 -6
  148. machineconfig/scripts/windows/cloud_manager.ps1 +1 -1
  149. machineconfig/scripts/windows/cloud_repo_sync.ps1 +1 -2
  150. machineconfig/scripts/windows/cloud_sync.ps1 +2 -2
  151. machineconfig/scripts/windows/croshell.ps1 +2 -2
  152. machineconfig/scripts/windows/devops.ps1 +1 -4
  153. machineconfig/scripts/windows/dotfile.ps1 +1 -3
  154. machineconfig/scripts/windows/fire.ps1 +1 -1
  155. machineconfig/scripts/windows/ftpx.ps1 +2 -2
  156. machineconfig/scripts/windows/gpt.ps1 +1 -1
  157. machineconfig/scripts/windows/kill_process.ps1 +1 -2
  158. machineconfig/scripts/windows/mcinit.ps1 +1 -1
  159. machineconfig/scripts/windows/mount_nfs.ps1 +1 -1
  160. machineconfig/scripts/windows/mount_ssh.ps1 +1 -1
  161. machineconfig/scripts/windows/pomodoro.ps1 +1 -1
  162. machineconfig/scripts/windows/py2exe.ps1 +1 -3
  163. machineconfig/scripts/windows/repos.ps1 +1 -1
  164. machineconfig/scripts/windows/scheduler.ps1 +1 -1
  165. machineconfig/scripts/windows/snapshot.ps1 +2 -2
  166. machineconfig/scripts/windows/start_slidev.ps1 +1 -1
  167. machineconfig/scripts/windows/start_terminals.ps1 +1 -1
  168. machineconfig/scripts/windows/wifi_conn.ps1 +1 -1
  169. machineconfig/scripts/windows/wsl_windows_transfer.ps1 +1 -3
  170. machineconfig/settings/lf/linux/lfrc +2 -1
  171. machineconfig/settings/linters/.ruff_cache/.gitignore +2 -0
  172. machineconfig/settings/linters/.ruff_cache/CACHEDIR.TAG +1 -0
  173. machineconfig/settings/lvim/windows/archive/config_additional.lua +1 -1
  174. machineconfig/settings/svim/linux/init.toml +1 -1
  175. machineconfig/settings/svim/windows/init.toml +1 -1
  176. machineconfig/setup_linux/web_shortcuts/croshell.sh +3 -52
  177. machineconfig/setup_linux/web_shortcuts/interactive.sh +6 -6
  178. machineconfig/setup_linux/web_shortcuts/ssh.sh +0 -4
  179. machineconfig/setup_windows/web_shortcuts/all.ps1 +2 -2
  180. machineconfig/setup_windows/web_shortcuts/ascii_art.ps1 +1 -1
  181. machineconfig/setup_windows/web_shortcuts/croshell.ps1 +1 -1
  182. machineconfig/setup_windows/web_shortcuts/interactive.ps1 +5 -5
  183. machineconfig/setup_windows/wt_and_pwsh/install_fonts.ps1 +51 -15
  184. machineconfig/setup_windows/wt_and_pwsh/set_pwsh_theme.py +58 -13
  185. machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +45 -37
  186. machineconfig/utils/ai/generate_file_checklist.py +8 -10
  187. machineconfig/utils/ai/url2md.py +4 -2
  188. machineconfig/utils/cloud/onedrive/setup_oauth.py +1 -0
  189. machineconfig/utils/cloud/onedrive/transaction.py +63 -98
  190. machineconfig/utils/code.py +62 -41
  191. machineconfig/utils/installer.py +29 -35
  192. machineconfig/utils/installer_utils/installer_abc.py +11 -11
  193. machineconfig/utils/installer_utils/installer_class.py +155 -74
  194. machineconfig/utils/links.py +112 -31
  195. machineconfig/utils/notifications.py +211 -0
  196. machineconfig/utils/options.py +41 -42
  197. machineconfig/utils/path.py +13 -6
  198. machineconfig/utils/path_reduced.py +614 -311
  199. machineconfig/utils/procs.py +48 -42
  200. machineconfig/utils/scheduling.py +0 -1
  201. machineconfig/utils/source_of_truth.py +27 -0
  202. machineconfig/utils/ssh.py +146 -85
  203. machineconfig/utils/terminal.py +84 -37
  204. machineconfig/utils/upgrade_packages.py +91 -0
  205. machineconfig/utils/utils2.py +39 -50
  206. machineconfig/utils/utils5.py +195 -116
  207. machineconfig/utils/ve.py +13 -5
  208. {machineconfig-2.0.dist-info → machineconfig-2.2.dist-info}/METADATA +14 -13
  209. {machineconfig-2.0.dist-info → machineconfig-2.2.dist-info}/RECORD +212 -237
  210. machineconfig/jobs/__pycache__/__init__.cpython-311.pyc +0 -0
  211. machineconfig/jobs/python/__pycache__/__init__.cpython-311.pyc +0 -0
  212. machineconfig/jobs/python/__pycache__/python_ve_symlink.cpython-311.pyc +0 -0
  213. machineconfig/jobs/python/archive/python_tools.txt +0 -12
  214. machineconfig/jobs/python/vscode/__pycache__/select_interpreter.cpython-311.pyc +0 -0
  215. machineconfig/jobs/python_custom_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  216. machineconfig/jobs/python_generic_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  217. machineconfig/jobs/python_generic_installers/update.py +0 -3
  218. machineconfig/jobs/python_linux_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  219. machineconfig/profile/__pycache__/__init__.cpython-311.pyc +0 -0
  220. machineconfig/profile/__pycache__/create.cpython-311.pyc +0 -0
  221. machineconfig/profile/__pycache__/shell.cpython-311.pyc +0 -0
  222. machineconfig/scripts/__pycache__/__init__.cpython-311.pyc +0 -0
  223. machineconfig/scripts/linux/activate_ve +0 -87
  224. machineconfig/scripts/python/__pycache__/__init__.cpython-311.pyc +0 -0
  225. machineconfig/scripts/python/__pycache__/cloud_copy.cpython-311.pyc +0 -0
  226. machineconfig/scripts/python/__pycache__/cloud_mount.cpython-311.pyc +0 -0
  227. machineconfig/scripts/python/__pycache__/cloud_sync.cpython-311.pyc +0 -0
  228. machineconfig/scripts/python/__pycache__/croshell.cpython-311.pyc +0 -0
  229. machineconfig/scripts/python/__pycache__/devops.cpython-311.pyc +0 -0
  230. machineconfig/scripts/python/__pycache__/devops_backup_retrieve.cpython-311.pyc +0 -0
  231. machineconfig/scripts/python/__pycache__/devops_devapps_install.cpython-311.pyc +0 -0
  232. machineconfig/scripts/python/__pycache__/devops_update_repos.cpython-311.pyc +0 -0
  233. machineconfig/scripts/python/__pycache__/fire_agents.cpython-311.pyc +0 -0
  234. machineconfig/scripts/python/__pycache__/fire_jobs.cpython-311.pyc +0 -0
  235. machineconfig/scripts/python/__pycache__/fire_jobs.cpython-313.pyc +0 -0
  236. machineconfig/scripts/python/__pycache__/get_zellij_cmd.cpython-311.pyc +0 -0
  237. machineconfig/scripts/python/__pycache__/repos.cpython-311.pyc +0 -0
  238. machineconfig/scripts/python/ai/__pycache__/init.cpython-311.pyc +0 -0
  239. machineconfig/scripts/python/ai/__pycache__/mcinit.cpython-311.pyc +0 -0
  240. machineconfig/scripts/python/helpers/__pycache__/__init__.cpython-311.pyc +0 -0
  241. machineconfig/scripts/python/helpers/__pycache__/__init__.cpython-313.pyc +0 -0
  242. machineconfig/scripts/python/helpers/__pycache__/cloud_helpers.cpython-311.pyc +0 -0
  243. machineconfig/scripts/python/helpers/__pycache__/helpers2.cpython-311.pyc +0 -0
  244. machineconfig/scripts/python/helpers/__pycache__/helpers4.cpython-311.pyc +0 -0
  245. machineconfig/scripts/python/helpers/__pycache__/helpers4.cpython-313.pyc +0 -0
  246. machineconfig/scripts/python/helpers/__pycache__/repo_sync_helpers.cpython-311.pyc +0 -0
  247. machineconfig/scripts/windows/activate_ve.ps1 +0 -54
  248. machineconfig/setup_linux/web_shortcuts/all.sh +0 -48
  249. machineconfig/setup_linux/web_shortcuts/update_system.sh +0 -48
  250. machineconfig/utils/utils.py +0 -95
  251. /machineconfig/setup_linux/web_shortcuts/{tmp.sh → android.sh} +0 -0
  252. {machineconfig-2.0.dist-info → machineconfig-2.2.dist-info}/WHEEL +0 -0
  253. {machineconfig-2.0.dist-info → machineconfig-2.2.dist-info}/top_level.txt +0 -0
@@ -1,28 +1,19 @@
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
@@ -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,20 +37,20 @@ 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)
@@ -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,25 +2,18 @@
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
@@ -32,18 +25,18 @@ def main(version: Optional[str] = None):
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
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,44 @@
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
-
47
39
  _ = version
48
-
49
- print(f"""
50
- {'=' * 150}
51
- â„šī¸ INFO | VS Code features:
52
- 📝 Powerful code editor with IntelliSense
53
- 🧩 Thousands of extensions available
54
- 🔍 Integrated debugging
55
- 🔄 Git integration
56
- âš™ī¸ Highly customizable
57
- {'=' * 150}
58
- """)
59
-
60
40
  return install_script
61
41
 
62
42
 
63
- if __name__ == '__main__':
43
+ if __name__ == "__main__":
64
44
  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):
@@ -83,8 +74,7 @@ def install_windows(version: Optional[str] = None):
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}")
@@ -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,17 +20,17 @@ 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
@@ -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,14 +51,15 @@ 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
 
@@ -74,13 +70,13 @@ 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,25 +5,18 @@ 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...")
@@ -36,12 +29,12 @@ uv sync
36
29
  """
37
30
 
38
31
  print(f"""
39
- {'=' * 150}
32
+ {"=" * 150}
40
33
  📋 INSTALLATION STEPS:
41
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
  """)
@@ -1,5 +1,4 @@
1
- """lvim
2
- """
1
+ """lvim"""
3
2
 
4
3
  from machineconfig.utils.terminal import Terminal
5
4
  import subprocess
@@ -11,23 +10,16 @@ _ = Terminal, subprocess
11
10
  # as per https://www.lunarvim.org/docs/installation
12
11
 
13
12
 
14
- config_dict = {
15
- "repo_url": "CUSTOM",
16
- "doc": "Terminal text editor based on neovim.",
17
- "filename_template_windows_amd_64": "",
18
- "filename_template_linux_amd_64": "",
19
- "strip_v": False,
20
- "exe_name": "lvim"
21
- }
13
+ config_dict = {"repo_url": "CUSTOM", "doc": "Terminal text editor based on neovim.", "filename_template_windows_amd_64": "", "filename_template_linux_amd_64": "", "strip_v": False, "exe_name": "lvim"}
22
14
 
23
15
 
24
16
  def main(version: Optional[str]):
25
17
  print(f"""
26
- {'=' * 150}
18
+ {"=" * 150}
27
19
  🌙 LUNARVIM INSTALLER | Setting up Neovim-based IDE
28
- 🔄 Version: {'latest' if version is None else version}
20
+ 🔄 Version: {"latest" if version is None else version}
29
21
  📚 Branch: release-1.4/neovim-0.9
30
- {'=' * 150}
22
+ {"=" * 150}
31
23
  """)
32
24
 
33
25
  _ = version
@@ -49,21 +41,21 @@ LV_BRANCH='release-1.4/neovim-0.9' bash <(curl -s https://raw.githubusercontent.
49
41
  else:
50
42
  error_msg = f"Unsupported platform: {platform.system()}"
51
43
  print(f"""
52
- {'âš ī¸' * 20}
44
+ {"âš ī¸" * 20}
53
45
  ❌ ERROR | {error_msg}
54
- {'âš ī¸' * 20}
46
+ {"âš ī¸" * 20}
55
47
  """)
56
48
  raise NotImplementedError(error_msg)
57
49
 
58
50
  print(f"""
59
- {'=' * 150}
51
+ {"=" * 150}
60
52
  â„šī¸ INFO | LunarVim features:
61
53
  📝 IDE-like experience for Neovim
62
54
  🔌 Built-in plugin management
63
55
  đŸ› ī¸ LSP configuration out of the box
64
56
  🔍 Powerful fuzzy finding
65
57
  âš™ī¸ Simple and unified configuration
66
- {'=' * 150}
58
+ {"=" * 150}
67
59
 
68
60
  âš ī¸ NOTE: The installer will prompt for user input during installation.
69
61
  """)
@@ -1,61 +1,54 @@
1
- """nerfont installer
2
- """
1
+ """nerfont 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": "lightweight containerization",
11
- "filename_template_windows_amd_64": "",
12
- "filename_template_linux_amd_64": "",
13
- "strip_v": False,
14
- "exe_name": "nerdfont"
15
- }
7
+ config_dict = {"repo_url": "CUSTOM", "doc": "lightweight containerization", "filename_template_windows_amd_64": "", "filename_template_linux_amd_64": "", "strip_v": False, "exe_name": "nerdfont"}
16
8
 
17
9
 
18
10
  def main(version: Optional[str]):
19
11
  print(f"""
20
- {'=' * 150}
12
+ {"=" * 150}
21
13
  🔤 NERD FONTS INSTALLER | Installing programming fonts with icons
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
  error_msg = "Nerd Fonts installation not supported on Windows through this installer"
30
22
  print(f"""
31
- {'âš ī¸' * 20}
23
+ {"âš ī¸" * 20}
32
24
  ❌ ERROR | {error_msg}
33
25
  💡 TIP: Please download and install manually from https://www.nerdfonts.com
34
- {'âš ī¸' * 20}
26
+ {"âš ī¸" * 20}
35
27
  """)
36
28
  raise NotImplementedError(error_msg)
37
29
  elif platform.system() in ["Linux", "Darwin"]:
38
30
  print("🐧 Installing Nerd Fonts on Linux using installation script...")
39
31
  import machineconfig.jobs.python_custom_installers as module
40
32
  from pathlib import Path
33
+
41
34
  program = Path(module.__file__).parent.joinpath("scripts/linux/nerdfont.sh").read_text(encoding="utf-8")
42
35
  else:
43
36
  error_msg = f"Unsupported platform: {platform.system()}"
44
37
  print(f"""
45
- {'âš ī¸' * 20}
38
+ {"âš ī¸" * 20}
46
39
  ❌ ERROR | {error_msg}
47
- {'âš ī¸' * 20}
40
+ {"âš ī¸" * 20}
48
41
  """)
49
42
  raise NotImplementedError(error_msg)
50
43
 
51
44
  print(f"""
52
- {'=' * 150}
45
+ {"=" * 150}
53
46
  â„šī¸ INFO | Nerd Fonts features:
54
47
  🎨 Programming fonts patched with icons
55
48
  đŸ”Ŗ Includes icons from popular sets (FontAwesome, Devicons, etc.)
56
49
  đŸ–Ĩī¸ Perfect for terminals and coding environments
57
50
  🧰 Works with many terminal applications and editors
58
- {'=' * 150}
51
+ {"=" * 150}
59
52
  """)
60
53
 
61
54
  # _res = Terminal(stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE).run_script(script=program, shell="default").print(desc="Running custom installer", capture=True)
@@ -1,37 +1,29 @@
1
- """nedis installer
2
- """
1
+ """nedis 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": "submillisecond fast key-value db",
11
- "filename_template_windows_amd_64": "",
12
- "filename_template_linux_amd_64": "",
13
- "strip_v": False,
14
- "exe_name": "redis"
15
- }
7
+ config_dict = {"repo_url": "CUSTOM", "doc": "submillisecond fast key-value db", "filename_template_windows_amd_64": "", "filename_template_linux_amd_64": "", "strip_v": False, "exe_name": "redis"}
16
8
 
17
9
 
18
10
  def main(version: Optional[str]):
19
11
  print(f"""
20
- {'=' * 150}
12
+ {"=" * 150}
21
13
  đŸ—ƒī¸ REDIS INSTALLER | Setting up in-memory database
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
  error_msg = "Redis installation not supported on Windows through this installer"
30
22
  print(f"""
31
- {'âš ī¸' * 20}
23
+ {"âš ī¸" * 20}
32
24
  ❌ ERROR | {error_msg}
33
25
  💡 TIP: Consider using WSL2 or Docker to run Redis on Windows
34
- {'âš ī¸' * 20}
26
+ {"âš ī¸" * 20}
35
27
  """)
36
28
  raise NotImplementedError(error_msg)
37
29
  elif platform.system() in ["Linux", "Darwin"]:
@@ -39,6 +31,7 @@ def main(version: Optional[str]):
39
31
  print(f"🐧 Installing Redis on {system_name} using installation script...")
40
32
  import machineconfig.jobs.python_custom_installers as module
41
33
  from pathlib import Path
34
+
42
35
  if platform.system() == "Linux":
43
36
  program = Path(module.__file__).parent.joinpath("scripts/linux/redis.sh").read_text(encoding="utf-8")
44
37
  else: # Darwin/macOS
@@ -46,21 +39,21 @@ def main(version: Optional[str]):
46
39
  else:
47
40
  error_msg = f"Unsupported platform: {platform.system()}"
48
41
  print(f"""
49
- {'âš ī¸' * 20}
42
+ {"âš ī¸" * 20}
50
43
  ❌ ERROR | {error_msg}
51
- {'âš ī¸' * 20}
44
+ {"âš ī¸" * 20}
52
45
  """)
53
46
  raise NotImplementedError(error_msg)
54
47
 
55
48
  print(f"""
56
- {'=' * 150}
49
+ {"=" * 150}
57
50
  â„šī¸ INFO | Redis features:
58
51
  ⚡ In-memory data structure store
59
52
  🔑 Key-value database with optional persistence
60
53
  🚀 Sub-millisecond response times
61
54
  💾 Supports strings, lists, sets, sorted sets, hashes
62
55
  🔄 Built-in replication and Lua scripting
63
- {'=' * 150}
56
+ {"=" * 150}
64
57
  """)
65
58
 
66
59
  # _res = Terminal(stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE).run_script(script=program, shell="default").print(desc="Running custom installer", capture=True)
@@ -70,4 +63,3 @@ def main(version: Optional[str]):
70
63
 
71
64
  if __name__ == "__main__":
72
65
  pass
73
-