machineconfig 3.99__py3-none-any.whl → 7.66__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 (418) hide show
  1. machineconfig/__init__.py +0 -28
  2. machineconfig/cluster/remote/distribute.py +0 -1
  3. machineconfig/cluster/remote/file_manager.py +0 -2
  4. machineconfig/cluster/remote/script_execution.py +1 -2
  5. machineconfig/cluster/sessions_managers/{enhanced_command_runner.py → helpers/enhanced_command_runner.py} +4 -6
  6. machineconfig/cluster/sessions_managers/helpers/load_balancer_helper.py +145 -0
  7. machineconfig/cluster/sessions_managers/utils/load_balancer.py +53 -0
  8. machineconfig/cluster/sessions_managers/utils/maker.py +69 -0
  9. machineconfig/cluster/sessions_managers/wt_local.py +128 -330
  10. machineconfig/cluster/sessions_managers/wt_local_manager.py +53 -187
  11. machineconfig/cluster/sessions_managers/wt_remote.py +51 -43
  12. machineconfig/cluster/sessions_managers/wt_remote_manager.py +49 -197
  13. machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +6 -19
  14. machineconfig/cluster/sessions_managers/wt_utils/manager_persistence.py +52 -0
  15. machineconfig/cluster/sessions_managers/wt_utils/monitoring_helpers.py +50 -0
  16. machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +4 -2
  17. machineconfig/cluster/sessions_managers/wt_utils/status_reporting.py +76 -0
  18. machineconfig/cluster/sessions_managers/wt_utils/wt_helpers.py +199 -0
  19. machineconfig/cluster/sessions_managers/zellij_local.py +81 -375
  20. machineconfig/cluster/sessions_managers/zellij_local_manager.py +22 -172
  21. machineconfig/cluster/sessions_managers/zellij_remote.py +40 -41
  22. machineconfig/cluster/sessions_managers/zellij_remote_manager.py +13 -10
  23. machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +4 -8
  24. machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +5 -20
  25. machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +3 -9
  26. machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +3 -1
  27. machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper.py +298 -0
  28. machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_restart.py +77 -0
  29. machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_with_panes.py +228 -0
  30. machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_manager_helper.py +165 -0
  31. machineconfig/jobs/{python → installer}/check_installations.py +2 -16
  32. machineconfig/jobs/installer/custom/boxes.py +61 -0
  33. machineconfig/jobs/installer/custom/gh.py +69 -53
  34. machineconfig/jobs/installer/custom/hx.py +77 -20
  35. machineconfig/jobs/installer/custom_dev/alacritty.py +45 -30
  36. machineconfig/jobs/installer/custom_dev/brave.py +43 -35
  37. machineconfig/jobs/installer/custom_dev/bypass_paywall.py +31 -20
  38. machineconfig/jobs/installer/custom_dev/cloudflare_warp_cli.py +23 -0
  39. machineconfig/jobs/installer/custom_dev/code.py +33 -21
  40. machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +30 -0
  41. machineconfig/jobs/installer/custom_dev/espanso.py +64 -41
  42. machineconfig/jobs/installer/custom_dev/goes.py +41 -36
  43. machineconfig/jobs/installer/custom_dev/lvim.py +49 -33
  44. machineconfig/jobs/installer/custom_dev/nerdfont.py +71 -47
  45. machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +32 -26
  46. machineconfig/jobs/installer/custom_dev/redis.py +51 -33
  47. machineconfig/jobs/installer/custom_dev/sysabc.py +119 -0
  48. machineconfig/jobs/installer/custom_dev/wezterm.py +55 -39
  49. machineconfig/jobs/installer/custom_dev/winget.py +1 -0
  50. machineconfig/jobs/installer/installer_data.json +3406 -0
  51. machineconfig/jobs/installer/linux_scripts/brave.sh +4 -14
  52. machineconfig/jobs/installer/linux_scripts/{warp-cli.sh → cloudflare_warp_cli.sh} +5 -17
  53. machineconfig/jobs/installer/linux_scripts/docker.sh +5 -17
  54. machineconfig/jobs/installer/linux_scripts/docker_start.sh +6 -14
  55. machineconfig/jobs/installer/linux_scripts/edge.sh +3 -11
  56. machineconfig/jobs/{linux/msc → installer/linux_scripts}/lid.sh +2 -8
  57. machineconfig/jobs/installer/linux_scripts/nerdfont.sh +5 -17
  58. machineconfig/jobs/{linux/msc → installer/linux_scripts}/network.sh +2 -8
  59. machineconfig/jobs/installer/linux_scripts/ngrok.sh +6 -0
  60. machineconfig/jobs/installer/linux_scripts/q.sh +9 -0
  61. machineconfig/jobs/installer/linux_scripts/redis.sh +6 -17
  62. machineconfig/jobs/installer/linux_scripts/vscode.sh +5 -17
  63. machineconfig/jobs/installer/linux_scripts/wezterm.sh +4 -12
  64. machineconfig/jobs/installer/package_groups.py +255 -0
  65. machineconfig/logger.py +0 -1
  66. machineconfig/profile/backup.toml +49 -0
  67. machineconfig/profile/bash_shell_profiles.md +11 -0
  68. machineconfig/profile/create_helper.py +74 -0
  69. machineconfig/profile/create_links.py +288 -0
  70. machineconfig/profile/create_links_export.py +100 -0
  71. machineconfig/profile/create_shell_profile.py +136 -0
  72. machineconfig/profile/mapper.toml +258 -0
  73. machineconfig/scripts/Restore-ThunderbirdProfile.ps1 +92 -0
  74. machineconfig/scripts/__init__.py +0 -4
  75. machineconfig/scripts/linux/{share_cloud.sh → other/share_cloud.sh} +14 -25
  76. machineconfig/scripts/linux/wrap_mcfg +47 -0
  77. machineconfig/scripts/nu/wrap_mcfg.nu +69 -0
  78. machineconfig/scripts/python/agents.py +198 -0
  79. machineconfig/scripts/python/ai/command_runner/command_runner.sh +9 -0
  80. machineconfig/scripts/python/ai/command_runner/prompt.txt +9 -0
  81. machineconfig/scripts/python/ai/generate_files.py +307 -42
  82. machineconfig/scripts/python/ai/initai.py +3 -28
  83. machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +17 -18
  84. machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +17 -18
  85. machineconfig/scripts/python/ai/solutions/_shared.py +9 -1
  86. machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +1 -1
  87. machineconfig/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +16 -0
  88. machineconfig/scripts/python/ai/solutions/generic.py +27 -4
  89. machineconfig/scripts/python/ai/vscode_tasks.py +37 -0
  90. machineconfig/scripts/python/cloud.py +29 -0
  91. machineconfig/scripts/python/croshell.py +117 -181
  92. machineconfig/scripts/python/define.py +31 -0
  93. machineconfig/scripts/python/devops.py +44 -124
  94. machineconfig/scripts/python/devops_navigator.py +10 -0
  95. machineconfig/scripts/python/env_manager/__init__.py +1 -0
  96. machineconfig/scripts/python/env_manager/path_manager_backend.py +47 -0
  97. machineconfig/scripts/python/env_manager/path_manager_tui.py +228 -0
  98. machineconfig/scripts/python/explore.py +49 -0
  99. machineconfig/scripts/python/fire_jobs.py +106 -244
  100. machineconfig/scripts/python/ftpx.py +125 -68
  101. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.json +14 -0
  102. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.py +37 -0
  103. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_cursor_agents.py +22 -0
  104. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_gemini.py +42 -0
  105. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_qwen.py +30 -0
  106. machineconfig/scripts/python/helpers_agents/fire_agents_help_launch.py +110 -0
  107. machineconfig/scripts/python/helpers_agents/fire_agents_helper_types.py +34 -0
  108. machineconfig/scripts/python/helpers_agents/fire_agents_load_balancer.py +22 -0
  109. machineconfig/scripts/python/helpers_agents/templates/prompt.txt +6 -0
  110. machineconfig/scripts/python/helpers_agents/templates/template.ps1 +14 -0
  111. machineconfig/scripts/python/helpers_agents/templates/template.sh +24 -0
  112. machineconfig/scripts/python/{cloud_copy.py → helpers_cloud/cloud_copy.py} +30 -23
  113. machineconfig/scripts/python/{cloud_mount.py → helpers_cloud/cloud_mount.py} +11 -19
  114. machineconfig/scripts/python/{cloud_sync.py → helpers_cloud/cloud_sync.py} +12 -18
  115. machineconfig/scripts/python/{helpers → helpers_cloud}/helpers2.py +3 -3
  116. machineconfig/scripts/python/helpers_croshell/crosh.py +39 -0
  117. machineconfig/scripts/python/{start_slidev.py → helpers_croshell/start_slidev.py} +17 -7
  118. machineconfig/scripts/python/helpers_devops/cli_config.py +95 -0
  119. machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +89 -0
  120. machineconfig/scripts/python/helpers_devops/cli_data.py +25 -0
  121. machineconfig/scripts/python/helpers_devops/cli_nw.py +134 -0
  122. machineconfig/scripts/python/helpers_devops/cli_repos.py +182 -0
  123. machineconfig/scripts/python/helpers_devops/cli_self.py +134 -0
  124. machineconfig/scripts/python/helpers_devops/cli_share_file.py +137 -0
  125. machineconfig/scripts/python/helpers_devops/cli_share_server.py +141 -0
  126. machineconfig/scripts/python/helpers_devops/cli_terminal.py +156 -0
  127. machineconfig/scripts/python/helpers_devops/cli_utils.py +96 -0
  128. machineconfig/scripts/python/{devops_backup_retrieve.py → helpers_devops/devops_backup_retrieve.py} +7 -10
  129. machineconfig/scripts/python/helpers_devops/devops_status.py +511 -0
  130. machineconfig/scripts/python/helpers_devops/devops_update_repos.py +269 -0
  131. machineconfig/scripts/python/helpers_devops/themes/choose_pwsh_theme.ps1 +81 -0
  132. machineconfig/scripts/python/helpers_devops/themes/choose_starship_theme.bash +3 -0
  133. machineconfig/scripts/python/{choose_wezterm_theme.py → helpers_devops/themes/choose_wezterm_theme.py} +2 -2
  134. machineconfig/scripts/python/helpers_fire_command/__init__.py +0 -0
  135. machineconfig/scripts/python/{helpers/helpers4.py → helpers_fire_command/file_wrangler.py} +57 -87
  136. machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py +145 -0
  137. machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +110 -0
  138. machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
  139. machineconfig/scripts/python/helpers_msearch/__init__.py +5 -0
  140. machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/fzfag +1 -1
  141. machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/fzfg +1 -1
  142. machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/fzfrga +1 -1
  143. machineconfig/scripts/python/helpers_navigator/__init__.py +20 -0
  144. machineconfig/scripts/python/helpers_navigator/command_builder.py +111 -0
  145. machineconfig/scripts/python/helpers_navigator/command_detail.py +44 -0
  146. machineconfig/scripts/python/helpers_navigator/command_tree.py +588 -0
  147. machineconfig/scripts/python/helpers_navigator/data_models.py +28 -0
  148. machineconfig/scripts/python/helpers_navigator/main_app.py +272 -0
  149. machineconfig/scripts/python/helpers_navigator/search_bar.py +15 -0
  150. machineconfig/scripts/python/helpers_repos/action.py +209 -0
  151. machineconfig/scripts/python/helpers_repos/action_helper.py +150 -0
  152. machineconfig/scripts/python/{repos_helper_clone.py → helpers_repos/clone.py} +6 -7
  153. machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +218 -0
  154. machineconfig/scripts/python/helpers_repos/count_lines.py +348 -0
  155. machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +17 -0
  156. machineconfig/scripts/python/helpers_repos/entrypoint.py +77 -0
  157. machineconfig/scripts/python/helpers_repos/grource.py +340 -0
  158. machineconfig/scripts/python/{repos_helper_record.py → helpers_repos/record.py} +7 -4
  159. machineconfig/scripts/python/helpers_repos/sync.py +66 -0
  160. machineconfig/scripts/python/{repos_helper_update.py → helpers_repos/update.py} +3 -3
  161. machineconfig/scripts/python/helpers_sessions/__init__.py +0 -0
  162. machineconfig/scripts/python/helpers_sessions/sessions_multiprocess.py +58 -0
  163. machineconfig/scripts/python/helpers_utils/download.py +152 -0
  164. machineconfig/scripts/python/helpers_utils/path.py +108 -0
  165. machineconfig/scripts/python/interactive.py +79 -160
  166. machineconfig/scripts/python/machineconfig.py +63 -0
  167. machineconfig/scripts/python/msearch.py +21 -0
  168. machineconfig/scripts/python/nw/__init__.py +0 -0
  169. machineconfig/scripts/python/{devops_add_identity.py → nw/devops_add_identity.py} +1 -3
  170. machineconfig/scripts/python/{devops_add_ssh_key.py → nw/devops_add_ssh_key.py} +74 -44
  171. machineconfig/scripts/{linux → python/nw}/mount_nfs +1 -1
  172. machineconfig/scripts/python/{mount_nfs.py → nw/mount_nfs.py} +19 -16
  173. machineconfig/scripts/{linux → python/nw}/mount_nw_drive +1 -2
  174. machineconfig/scripts/python/{mount_ssh.py → nw/mount_ssh.py} +7 -8
  175. machineconfig/scripts/python/{onetimeshare.py → nw/onetimeshare.py} +0 -1
  176. machineconfig/scripts/python/nw/ssh_debug_linux.py +391 -0
  177. machineconfig/scripts/python/nw/ssh_debug_windows.py +338 -0
  178. machineconfig/scripts/python/{wifi_conn.py → nw/wifi_conn.py} +1 -53
  179. machineconfig/scripts/python/{wsl_windows_transfer.py → nw/wsl_windows_transfer.py} +6 -5
  180. machineconfig/scripts/python/sessions.py +167 -0
  181. machineconfig/scripts/python/terminal.py +127 -0
  182. machineconfig/scripts/python/utils.py +66 -0
  183. machineconfig/scripts/windows/{mount_nfs.ps1 → mounts/mount_nfs.ps1} +1 -3
  184. machineconfig/scripts/windows/{mount_ssh.ps1 → mounts/mount_ssh.ps1} +1 -1
  185. machineconfig/scripts/windows/{share_smb.ps1 → mounts/share_smb.ps1} +0 -6
  186. machineconfig/scripts/windows/wrap_mcfg.ps1 +60 -0
  187. machineconfig/settings/broot/br.sh +0 -4
  188. machineconfig/settings/broot/conf.toml +1 -1
  189. machineconfig/settings/helix/config.toml +16 -0
  190. machineconfig/settings/helix/languages.toml +13 -4
  191. machineconfig/settings/helix/yazi-picker.sh +12 -0
  192. machineconfig/settings/lf/linux/exe/lfcd.sh +1 -0
  193. machineconfig/settings/lf/linux/exe/previewer.sh +9 -3
  194. machineconfig/settings/lf/linux/lfrc +10 -12
  195. machineconfig/settings/lf/windows/fzf_edit.ps1 +2 -2
  196. machineconfig/settings/lf/windows/lfrc +18 -38
  197. machineconfig/settings/lf/windows/mkfile.ps1 +1 -1
  198. machineconfig/settings/linters/.ruff.toml +1 -1
  199. machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -6
  200. machineconfig/settings/marimo/marimo.toml +80 -0
  201. machineconfig/settings/marimo/snippets/globalize.py +34 -0
  202. machineconfig/settings/pistol/pistol.conf +1 -1
  203. machineconfig/settings/shells/bash/init.sh +55 -31
  204. machineconfig/settings/shells/nushell/config.nu +1 -34
  205. machineconfig/settings/shells/nushell/init.nu +127 -0
  206. machineconfig/settings/shells/pwsh/init.ps1 +60 -43
  207. machineconfig/settings/shells/starship/starship.toml +16 -0
  208. machineconfig/settings/shells/wezterm/wezterm.lua +2 -0
  209. machineconfig/settings/shells/wt/settings.json +32 -17
  210. machineconfig/settings/shells/zsh/init.sh +89 -0
  211. machineconfig/settings/svim/linux/init.toml +0 -4
  212. machineconfig/settings/svim/windows/init.toml +0 -3
  213. machineconfig/settings/yazi/init.lua +57 -0
  214. machineconfig/settings/yazi/keymap_linux.toml +79 -0
  215. machineconfig/settings/yazi/keymap_windows.toml +78 -0
  216. machineconfig/settings/yazi/shell/yazi_cd.ps1 +33 -0
  217. machineconfig/settings/yazi/shell/yazi_cd.sh +8 -0
  218. machineconfig/settings/yazi/yazi.toml +13 -0
  219. machineconfig/setup_linux/__init__.py +10 -0
  220. machineconfig/setup_linux/apps_desktop.sh +89 -0
  221. machineconfig/setup_linux/apps_gui.sh +64 -0
  222. machineconfig/setup_linux/{nix → others}/cli_installation.sh +9 -29
  223. machineconfig/setup_linux/ssh/openssh_all.sh +25 -0
  224. machineconfig/setup_linux/ssh/openssh_wsl.sh +38 -0
  225. machineconfig/setup_linux/uv.sh +15 -0
  226. machineconfig/setup_linux/web_shortcuts/interactive.sh +26 -6
  227. machineconfig/setup_mac/__init__.py +16 -0
  228. machineconfig/setup_mac/apps_gui.sh +248 -0
  229. machineconfig/setup_mac/ssh/openssh_setup.sh +114 -0
  230. machineconfig/setup_mac/uv.sh +36 -0
  231. machineconfig/setup_windows/__init__.py +8 -0
  232. machineconfig/setup_windows/others/power_options.ps1 +7 -0
  233. machineconfig/setup_windows/ssh/add-sshkey.ps1 +29 -0
  234. machineconfig/setup_windows/ssh/add_identity.ps1 +11 -0
  235. machineconfig/setup_windows/ssh/openssh-server.ps1 +37 -0
  236. machineconfig/setup_windows/uv.ps1 +10 -0
  237. machineconfig/setup_windows/web_shortcuts/interactive.ps1 +27 -9
  238. machineconfig/setup_windows/web_shortcuts/quick_init.ps1 +16 -0
  239. machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +37 -23
  240. machineconfig/utils/accessories.py +7 -5
  241. machineconfig/utils/cloud/onedrive/README.md +139 -0
  242. machineconfig/utils/code.py +140 -93
  243. machineconfig/utils/files/art/fat_croco.txt +10 -0
  244. machineconfig/utils/files/art/halfwit_croco.txt +9 -0
  245. machineconfig/utils/files/art/happy_croco.txt +22 -0
  246. machineconfig/utils/files/art/water_croco.txt +11 -0
  247. machineconfig/utils/files/ascii_art.py +118 -0
  248. machineconfig/utils/files/dbms.py +257 -0
  249. machineconfig/utils/files/headers.py +68 -0
  250. machineconfig/utils/files/ouch/__init__.py +0 -0
  251. machineconfig/utils/files/ouch/decompress.py +45 -0
  252. machineconfig/utils/files/read.py +95 -0
  253. machineconfig/utils/installer_utils/github_release_bulk.py +2 -12
  254. machineconfig/utils/installer_utils/installer_class.py +68 -126
  255. machineconfig/utils/installer_utils/installer_cli.py +181 -0
  256. machineconfig/utils/installer_utils/{installer_abc.py → installer_locator_utils.py} +38 -85
  257. machineconfig/utils/{installer.py → installer_utils/installer_runner.py} +69 -69
  258. machineconfig/utils/io.py +77 -23
  259. machineconfig/utils/links.py +309 -100
  260. machineconfig/utils/meta.py +255 -0
  261. machineconfig/utils/notifications.py +1 -1
  262. machineconfig/utils/options.py +10 -25
  263. machineconfig/utils/path_extended.py +94 -104
  264. machineconfig/utils/path_helper.py +75 -22
  265. machineconfig/utils/procs.py +50 -74
  266. machineconfig/utils/scheduler.py +94 -97
  267. machineconfig/utils/scheduling.py +0 -3
  268. machineconfig/utils/schemas/fire_agents/fire_agents_input.py +5 -17
  269. machineconfig/utils/schemas/installer/installer_types.py +0 -1
  270. machineconfig/utils/schemas/layouts/layout_types.py +2 -1
  271. machineconfig/utils/source_of_truth.py +3 -6
  272. machineconfig/utils/ssh.py +742 -254
  273. machineconfig/utils/ssh_utils/utils.py +0 -0
  274. machineconfig/utils/terminal.py +3 -140
  275. machineconfig/utils/tst.py +20 -0
  276. machineconfig/utils/upgrade_packages.py +109 -28
  277. machineconfig/utils/ve.py +13 -5
  278. machineconfig-7.66.dist-info/METADATA +124 -0
  279. machineconfig-7.66.dist-info/RECORD +451 -0
  280. machineconfig-7.66.dist-info/entry_points.txt +15 -0
  281. machineconfig/cluster/templates/utils.py +0 -51
  282. machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -49
  283. machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -85
  284. machineconfig/jobs/installer/packages_custom_dev.json +0 -226
  285. machineconfig/jobs/installer/packages_custom_essential.json +0 -39
  286. machineconfig/jobs/installer/packages_github_dev.json +0 -1110
  287. machineconfig/jobs/installer/packages_github_essential.json +0 -804
  288. machineconfig/jobs/linux/msc/cli_agents.sh +0 -37
  289. machineconfig/jobs/python/create_bootable_media.py +0 -16
  290. machineconfig/jobs/python/python_cargo_build_share.py +0 -59
  291. machineconfig/jobs/python/python_ve_symlink.py +0 -29
  292. machineconfig/jobs/python/tasks.py +0 -3
  293. machineconfig/jobs/python/vscode/api.py +0 -49
  294. machineconfig/jobs/python/vscode/sync_code.py +0 -58
  295. machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -14
  296. machineconfig/jobs/windows/start_terminal.ps1 +0 -6
  297. machineconfig/jobs/windows/startup_file.cmd +0 -2
  298. machineconfig/profile/create.py +0 -170
  299. machineconfig/profile/shell.py +0 -176
  300. machineconfig/scripts/cloud/init.sh +0 -119
  301. machineconfig/scripts/linux/choose_wezterm_theme +0 -3
  302. machineconfig/scripts/linux/cloud_copy +0 -2
  303. machineconfig/scripts/linux/cloud_mount +0 -2
  304. machineconfig/scripts/linux/cloud_repo_sync +0 -2
  305. machineconfig/scripts/linux/cloud_sync +0 -2
  306. machineconfig/scripts/linux/croshell +0 -3
  307. machineconfig/scripts/linux/devops +0 -2
  308. machineconfig/scripts/linux/fire +0 -2
  309. machineconfig/scripts/linux/fire_agents +0 -2
  310. machineconfig/scripts/linux/ftpx +0 -2
  311. machineconfig/scripts/linux/fzf2g +0 -21
  312. machineconfig/scripts/linux/fzffg +0 -25
  313. machineconfig/scripts/linux/gh_models +0 -2
  314. machineconfig/scripts/linux/initai +0 -2
  315. machineconfig/scripts/linux/kill_process +0 -2
  316. machineconfig/scripts/linux/programs +0 -21
  317. machineconfig/scripts/linux/repos +0 -2
  318. machineconfig/scripts/linux/scheduler +0 -2
  319. machineconfig/scripts/linux/share_smb +0 -1
  320. machineconfig/scripts/linux/start_slidev +0 -2
  321. machineconfig/scripts/linux/start_terminals +0 -3
  322. machineconfig/scripts/linux/warp-cli.sh +0 -122
  323. machineconfig/scripts/linux/wifi_conn +0 -2
  324. machineconfig/scripts/linux/z_ls +0 -104
  325. machineconfig/scripts/python/ai/solutions/copilot/prompts/allLintersAndTypeCheckers.prompt.md +0 -5
  326. machineconfig/scripts/python/cloud_repo_sync.py +0 -186
  327. machineconfig/scripts/python/devops_devapps_install.py +0 -159
  328. machineconfig/scripts/python/devops_update_repos.py +0 -180
  329. machineconfig/scripts/python/dotfile.py +0 -52
  330. machineconfig/scripts/python/fire_agents.py +0 -175
  331. machineconfig/scripts/python/fire_agents_help_launch.py +0 -143
  332. machineconfig/scripts/python/fire_agents_load_balancer.py +0 -50
  333. machineconfig/scripts/python/fire_jobs_args_helper.py +0 -75
  334. machineconfig/scripts/python/fire_jobs_layout_helper.py +0 -74
  335. machineconfig/scripts/python/get_zellij_cmd.py +0 -15
  336. machineconfig/scripts/python/gh_models.py +0 -104
  337. machineconfig/scripts/python/helpers/repo_sync_helpers.py +0 -114
  338. machineconfig/scripts/python/repos.py +0 -80
  339. machineconfig/scripts/python/repos_helper_action.py +0 -335
  340. machineconfig/scripts/python/share_terminal.py +0 -104
  341. machineconfig/scripts/python/snapshot.py +0 -25
  342. machineconfig/scripts/python/start_terminals.py +0 -121
  343. machineconfig/scripts/python/t4.py +0 -17
  344. machineconfig/scripts/windows/choose_wezterm_theme.ps1 +0 -1
  345. machineconfig/scripts/windows/cloud_copy.ps1 +0 -1
  346. machineconfig/scripts/windows/cloud_mount.ps1 +0 -1
  347. machineconfig/scripts/windows/cloud_repo_sync.ps1 +0 -1
  348. machineconfig/scripts/windows/cloud_sync.ps1 +0 -1
  349. machineconfig/scripts/windows/croshell.ps1 +0 -1
  350. machineconfig/scripts/windows/devops.ps1 +0 -1
  351. machineconfig/scripts/windows/dotfile.ps1 +0 -1
  352. machineconfig/scripts/windows/fire.ps1 +0 -1
  353. machineconfig/scripts/windows/ftpx.ps1 +0 -1
  354. machineconfig/scripts/windows/gpt.ps1 +0 -1
  355. machineconfig/scripts/windows/grep.ps1 +0 -2
  356. machineconfig/scripts/windows/initai.ps1 +0 -1
  357. machineconfig/scripts/windows/kill_process.ps1 +0 -1
  358. machineconfig/scripts/windows/nano.ps1 +0 -3
  359. machineconfig/scripts/windows/pomodoro.ps1 +0 -1
  360. machineconfig/scripts/windows/reload_path.ps1 +0 -3
  361. machineconfig/scripts/windows/repos.ps1 +0 -1
  362. machineconfig/scripts/windows/scheduler.ps1 +0 -1
  363. machineconfig/scripts/windows/snapshot.ps1 +0 -1
  364. machineconfig/scripts/windows/start_slidev.ps1 +0 -1
  365. machineconfig/scripts/windows/start_terminals.ps1 +0 -1
  366. machineconfig/scripts/windows/wifi_conn.ps1 +0 -2
  367. machineconfig/scripts/windows/wsl_rdp_windows_port_forwarding.ps1 +0 -46
  368. machineconfig/scripts/windows/wsl_ssh_windows_port_forwarding.ps1 +0 -76
  369. machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -16
  370. machineconfig/setup_linux/others/openssh-server_add_pub_key.sh +0 -57
  371. machineconfig/setup_linux/web_shortcuts/ascii_art.sh +0 -93
  372. machineconfig/setup_linux/web_shortcuts/croshell.sh +0 -11
  373. machineconfig/setup_linux/web_shortcuts/ssh.sh +0 -52
  374. machineconfig/setup_windows/web_shortcuts/all.ps1 +0 -18
  375. machineconfig/setup_windows/web_shortcuts/ascii_art.ps1 +0 -36
  376. machineconfig/setup_windows/web_shortcuts/croshell.ps1 +0 -16
  377. machineconfig/setup_windows/web_shortcuts/ssh.ps1 +0 -11
  378. machineconfig/utils/ai/generate_file_checklist.py +0 -68
  379. machineconfig-3.99.dist-info/METADATA +0 -167
  380. machineconfig-3.99.dist-info/RECORD +0 -409
  381. machineconfig-3.99.dist-info/entry_points.txt +0 -18
  382. machineconfig/cluster/{templates → remote}/run_cloud.py +0 -0
  383. machineconfig/cluster/{templates → remote}/run_cluster.py +0 -0
  384. machineconfig/cluster/{templates → remote}/run_remote.py +0 -0
  385. machineconfig/scripts/linux/{share_nfs → other/share_nfs} +0 -0
  386. machineconfig/scripts/linux/{start_docker → other/start_docker} +0 -0
  387. machineconfig/scripts/linux/{switch_ip → other/switch_ip} +0 -0
  388. machineconfig/{jobs/python → scripts/python/helpers_agents}/__init__.py +0 -0
  389. machineconfig/scripts/python/{helpers → helpers_agents/agentic_frameworks}/__init__.py +0 -0
  390. machineconfig/scripts/python/{fire_agents_help_search.py → helpers_agents/fire_agents_help_search.py} +0 -0
  391. machineconfig/{jobs/windows/msc/cli_agents.bat → scripts/python/helpers_cloud/__init__.py} +0 -0
  392. machineconfig/scripts/python/{helpers → helpers_cloud}/cloud_helpers.py +1 -1
  393. /machineconfig/scripts/python/{helpers → helpers_cloud}/helpers5.py +0 -0
  394. /machineconfig/{jobs/windows/msc/cli_agents.ps1 → scripts/python/helpers_croshell/__init__.py} +0 -0
  395. /machineconfig/scripts/python/{pomodoro.py → helpers_croshell/pomodoro.py} +0 -0
  396. /machineconfig/scripts/python/{scheduler.py → helpers_croshell/scheduler.py} +0 -0
  397. /machineconfig/scripts/python/{viewer.py → helpers_croshell/viewer.py} +0 -0
  398. /machineconfig/scripts/python/{viewer_template.py → helpers_croshell/viewer_template.py} +0 -0
  399. /machineconfig/scripts/python/{fire_jobs_streamlit_helper.py → helpers_devops/__init__.py} +0 -0
  400. /machineconfig/scripts/{windows/share_nfs.ps1 → python/helpers_devops/themes/__init__.py} +0 -0
  401. /machineconfig/{settings/yazi/keymap.toml → scripts/python/helpers_devops/themes/choose_starship_theme.ps1} +0 -0
  402. /machineconfig/scripts/python/{cloud_manager.py → helpers_fire_command/cloud_manager.py} +0 -0
  403. /machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/skrg +0 -0
  404. /machineconfig/scripts/{windows → python/helpers_msearch/scripts_windows}/fzfb.ps1 +0 -0
  405. /machineconfig/scripts/{windows → python/helpers_msearch/scripts_windows}/fzfg.ps1 +0 -0
  406. /machineconfig/scripts/{windows → python/helpers_msearch/scripts_windows}/fzfrga.bat +0 -0
  407. /machineconfig/scripts/{linux → python/nw}/mount_drive +0 -0
  408. /machineconfig/scripts/python/{mount_nw_drive.py → nw/mount_nw_drive.py} +0 -0
  409. /machineconfig/scripts/{linux → python/nw}/mount_smb +0 -0
  410. /machineconfig/scripts/windows/{mount_nw.ps1 → mounts/mount_nw.ps1} +0 -0
  411. /machineconfig/scripts/windows/{mount_smb.ps1 → mounts/mount_smb.ps1} +0 -0
  412. /machineconfig/scripts/windows/{share_cloud.cmd → mounts/share_cloud.cmd} +0 -0
  413. /machineconfig/scripts/windows/{unlock_bitlocker.ps1 → mounts/unlock_bitlocker.ps1} +0 -0
  414. /machineconfig/setup_linux/{web_shortcuts → others}/android.sh +0 -0
  415. /machineconfig/{jobs/windows/archive → setup_windows/ssh}/openssh-server_add_key.ps1 +0 -0
  416. /machineconfig/{jobs/windows/archive → setup_windows/ssh}/openssh-server_copy-ssh-id.ps1 +0 -0
  417. {machineconfig-3.99.dist-info → machineconfig-7.66.dist-info}/WHEEL +0 -0
  418. {machineconfig-3.99.dist-info → machineconfig-7.66.dist-info}/top_level.txt +0 -0
@@ -3,67 +3,82 @@
3
3
  import platform
4
4
  import subprocess
5
5
  from typing import Optional
6
+ from rich import box
7
+ from rich.console import Console
8
+ from rich.panel import Panel
6
9
  from machineconfig.utils.schemas.installer.installer_types import InstallerData
7
10
 
8
11
 
9
12
  # config_dict: InstallerData = {"appName": "Alacritty", "repoURL": "CMD", "doc": "Terminal Console"}
10
13
 
11
14
 
12
- def main(installer_data: InstallerData, version: Optional[str]):
15
+ def main(installer_data: InstallerData, version: Optional[str]) -> None:
16
+ console = Console()
13
17
  _ = installer_data
14
- print(f"""
15
- {"=" * 150}
16
- 🖥️ ALACRITTY INSTALLER | Installing GPU-accelerated terminal emulator
17
- 💻 Platform: {platform.system()}
18
- 🔄 Version: {"latest" if version is None else version}
19
- {"=" * 150}
20
- """)
18
+ console.print(
19
+ Panel.fit(
20
+ "\n".join([f"💻 Platform: {platform.system()}", f"🔄 Version: {'latest' if version is None else version}"]),
21
+ title="🖥️ Alacritty Installer",
22
+ border_style="cyan",
23
+ box=box.ROUNDED,
24
+ )
25
+ )
21
26
 
22
27
  _ = version
23
28
  if platform.system() == "Windows":
24
- print("🪟 Installing Alacritty on Windows using Cargo...")
29
+ console.print("🪟 Installing Alacritty on Windows using Cargo...", style="bold")
25
30
  program = """
26
31
 
27
32
  cargo install alacritty
28
- mkdir -p ~/.config/alacritty/themes
29
- git clone https://github.com/alacritty/alacritty-theme ~/.config/alacritty/themes
33
+ mkdir -p $HOME/.config/alacritty/themes
34
+ git clone https://github.com/alacritty/alacritty-theme $HOME/.config/alacritty/themes
30
35
 
31
36
  """
32
37
  elif platform.system() in ["Linux", "Darwin"]:
33
38
  system_name = "Linux" if platform.system() == "Linux" else "macOS"
34
- print(f"🐧 Installing Alacritty on {system_name} using Cargo...")
39
+ console.print(f"🐧 Installing Alacritty on {system_name} using Cargo...", style="bold")
35
40
  program = """
36
41
 
37
42
 
38
43
  cargo install alacritty
39
- mkdir -p ~/.config/alacritty/themes
40
- git clone https://github.com/alacritty/alacritty-theme ~/.config/alacritty/themes
44
+ mkdir -p $HOME/.config/alacritty/themes
45
+ git clone https://github.com/alacritty/alacritty-theme $HOME/.config/alacritty/themes
41
46
 
42
47
  """
43
48
  else:
44
49
  error_msg = f"Unsupported platform: {platform.system()}"
45
- print(f"""
46
- {"⚠️" * 20}
47
- ❌ ERROR | {error_msg}
48
- {"⚠️" * 20}
49
- """)
50
+ console.print(
51
+ Panel.fit(
52
+ "\n".join([error_msg]),
53
+ title="❌ Error",
54
+ subtitle="⚠️ Unsupported platform",
55
+ border_style="red",
56
+ box=box.ROUNDED,
57
+ )
58
+ )
50
59
  raise NotImplementedError(error_msg)
51
60
 
52
- print(f"""
53
- {"=" * 150}
54
- ℹ️ INFO | Installation will proceed with the following steps:
55
- 1️⃣ Install Alacritty using Cargo
56
- 2️⃣ Create config directories
57
- 3️⃣ Clone theme repository
58
- {"=" * 150}
59
- """)
61
+ console.print(
62
+ Panel.fit(
63
+ "\n".join(
64
+ [
65
+ "1️⃣ Install Alacritty using Cargo",
66
+ "2️⃣ Create config directories",
67
+ "3️⃣ Clone theme repository",
68
+ ]
69
+ ),
70
+ title="ℹ️ Installation Plan",
71
+ border_style="magenta",
72
+ box=box.ROUNDED,
73
+ )
74
+ )
60
75
 
61
- print("🔄 EXECUTING | Running Alacritty installation...")
76
+ console.print("🔄 EXECUTING | Running Alacritty installation...", style="bold yellow")
62
77
  try:
63
78
  subprocess.run(program, shell=True, text=True, check=True)
64
- print("✅ Alacritty installation completed successfully")
79
+ console.print("✅ Alacritty installation completed successfully", style="bold green")
65
80
  except subprocess.CalledProcessError as e:
66
- print(f"❌ Installation failed with exit code {e.returncode}")
81
+ console.print(f"❌ Installation failed with exit code {e.returncode}", style="bold red")
67
82
  raise
68
83
 
69
84
 
@@ -3,38 +3,36 @@
3
3
  import platform
4
4
  import subprocess
5
5
  from typing import Optional
6
-
6
+ from rich import box
7
+ from rich.console import Console
8
+ from rich.panel import Panel
7
9
  from machineconfig.utils.schemas.installer.installer_types import InstallerData
8
10
 
9
11
 
10
- # config_dict: InstallerData = {
11
- # "appName": "Brave",
12
- # "repoURL": "CMD",
13
- # "doc": "Privacy-focused web browser with built-in ad blocking",
14
- # }
15
-
16
12
 
17
- def main(installer_data: InstallerData, version: Optional[str]):
13
+ def main(installer_data: InstallerData, version: Optional[str]) -> None:
14
+ console = Console()
18
15
  _ = installer_data
19
- print(f"""
20
- {"=" * 150}
21
- 🦁 BRAVE BROWSER | Installing privacy-focused web browser
22
- 💻 Platform: {platform.system()}
23
- 🔄 Version: {"latest" if version is None else version}
24
- {"=" * 150}
25
- """)
16
+ console.print(
17
+ Panel.fit(
18
+ "\n".join([f"💻 Platform: {platform.system()}", f"🔄 Version: {'latest' if version is None else version}"]),
19
+ title="🦁 Brave Browser Installer",
20
+ border_style="orange1",
21
+ box=box.ROUNDED,
22
+ )
23
+ )
26
24
 
27
25
  _ = version
28
26
  if platform.system() == "Windows":
29
- print("🪟 Installing Brave Browser on Windows using winget...")
27
+ console.print("🪟 Installing Brave Browser on Windows using winget...", style="bold")
30
28
  program = """
31
29
 
32
- winget install --Name "Brave Browser" --Id Brave.Brave --source winget --accept-package-agreements --accept-source-agreements
30
+ winget install --no-upgrade --name "Brave" --Id "Brave.Brave" --source winget --scope user --accept-package-agreements --accept-source-agreements
33
31
 
34
32
  """
35
33
  elif platform.system() in ["Linux", "Darwin"]:
36
34
  system_name = "Linux" if platform.system() == "Linux" else "macOS"
37
- print(f"🐧 Installing Brave Browser on {system_name}...")
35
+ console.print(f"🐧 Installing Brave Browser on {system_name}...", style="bold")
38
36
  import machineconfig.jobs.installer as module
39
37
  from pathlib import Path
40
38
 
@@ -44,29 +42,39 @@ winget install --Name "Brave Browser" --Id Brave.Brave --source winget --accept-
44
42
  program = "brew install --cask brave-browser"
45
43
  else:
46
44
  error_msg = f"Unsupported platform: {platform.system()}"
47
- print(f"""
48
- {"⚠️" * 20}
49
- ❌ ERROR | {error_msg}
50
- {"⚠️" * 20}
51
- """)
45
+ console.print(
46
+ Panel.fit(
47
+ "\n".join([error_msg]),
48
+ title="❌ Error",
49
+ subtitle="⚠️ Unsupported platform",
50
+ border_style="red",
51
+ box=box.ROUNDED,
52
+ )
53
+ )
52
54
  raise NotImplementedError(error_msg)
53
55
 
54
- print(f"""
55
- {"=" * 150}
56
- ℹ️ INFO | Brave Browser features:
57
- 🔒 Built-in ad blocking
58
- 🛡️ Privacy-focused browsing
59
- 💨 Faster page loading
60
- 🪙 Optional crypto rewards
61
- {"=" * 150}
62
- """)
56
+ console.print(
57
+ Panel.fit(
58
+ "\n".join(
59
+ [
60
+ "🔒 Built-in ad blocking",
61
+ "🛡️ Privacy-focused browsing",
62
+ "💨 Faster page loading",
63
+ "🪙 Optional crypto rewards",
64
+ ]
65
+ ),
66
+ title="ℹ️ Brave Browser Features",
67
+ border_style="magenta",
68
+ box=box.ROUNDED,
69
+ )
70
+ )
63
71
 
64
- print("🔄 EXECUTING | Running Brave Browser installation...")
72
+ console.print("🔄 EXECUTING | Running Brave Browser installation...", style="bold yellow")
65
73
  try:
66
74
  subprocess.run(program, shell=True, text=True, check=True)
67
- print("✅ Brave Browser installation completed successfully")
75
+ console.print("✅ Brave Browser installation completed successfully", style="bold green")
68
76
  except subprocess.CalledProcessError as e:
69
- print(f"❌ Installation failed with exit code {e.returncode}")
77
+ console.print(f"❌ Installation failed with exit code {e.returncode}", style="bold red")
70
78
  raise
71
79
 
72
80
 
@@ -2,8 +2,11 @@
2
2
 
3
3
  # from platform import system
4
4
  from typing import Optional
5
+ from rich import box
6
+ from rich.console import Console
7
+ from rich.panel import Panel
5
8
  from machineconfig.utils.schemas.installer.installer_types import InstallerData
6
- from machineconfig.utils.path_extended import PathExtended as PathExtended
9
+ from machineconfig.utils.path_extended import PathExtended
7
10
 
8
11
 
9
12
  # config_dict: InstallerData = {
@@ -13,33 +16,41 @@ from machineconfig.utils.path_extended import PathExtended as PathExtended
13
16
  # }
14
17
 
15
18
 
16
- def main(installer_data: InstallerData, version: Optional[str] = None):
19
+ def main(installer_data: InstallerData, version: Optional[str] = None) -> str:
20
+ console = Console()
17
21
  _ = installer_data
18
- print(f"""
19
- {"=" * 150}
20
- 🔓 BYPASS PAYWALL | Installing paywall bypass extension for Chrome
21
- 🔄 Version: {"latest" if version is None else version}
22
- {"=" * 150}
23
- """)
22
+ console.print(
23
+ Panel.fit(
24
+ "\n".join([f"🔄 Version: {'latest' if version is None else version}"]),
25
+ title="🔓 Bypass Paywall Installer",
26
+ border_style="cyan",
27
+ box=box.ROUNDED,
28
+ )
29
+ )
24
30
 
25
31
  _ = version
26
- # see remove paywalls and enhance YT experience by Chris Titus
27
32
  folder = r"C:\\"
28
33
 
29
- print("📥 Downloading extension from GitHub repository...")
34
+ console.print("📥 Downloading extension from GitHub repository...", style="bold")
30
35
  PathExtended("https://github.com/iamadamdev/bypass-paywalls-chrome/archive/master.zip").download().unzip(folder=folder, content=True)
31
36
  extension_folder = PathExtended(folder).joinpath("bypass-paywalls-chrome-master")
32
37
 
33
- print(f"""
34
- {"=" * 150}
35
- ✅ SUCCESS | Extension downloaded successfully
36
- 📂 Location: {extension_folder}
37
- ℹ️ Next steps:
38
- 1️⃣ Open Chrome and navigate to chrome://extensions
39
- 2️⃣ Enable Developer Mode (toggle in top right)
40
- 3️⃣ Click "Load unpacked" and select the extension folder
41
- {"=" * 150}
42
- """)
38
+ console.print(
39
+ Panel.fit(
40
+ "\n".join(
41
+ [
42
+ f"📂 Location: {extension_folder}",
43
+ "ℹ️ Next steps:",
44
+ "1️⃣ Open Chrome and navigate to chrome://extensions",
45
+ "2️⃣ Enable Developer Mode (toggle in top right)",
46
+ "3️⃣ Click 'Load unpacked' and select the extension folder",
47
+ ]
48
+ ),
49
+ title="✅ Extension Ready",
50
+ border_style="green",
51
+ box=box.ROUNDED,
52
+ )
53
+ )
43
54
 
44
55
  return ""
45
56
 
@@ -0,0 +1,23 @@
1
+
2
+ from typing import Optional
3
+ import platform
4
+ from machineconfig.utils.schemas.installer.installer_types import InstallerData
5
+
6
+
7
+ def main(installer_data: InstallerData, version: Optional[str]):
8
+ _ = installer_data, version
9
+ system = platform.system()
10
+ if system == "Windows":
11
+ raise NotImplementedError("Installer is not yet implemented for Windows.")
12
+ elif system == "Linux":
13
+ from pathlib import Path
14
+ import machineconfig.jobs.installer as module
15
+ program = Path(module.__file__).parent.joinpath("linux_scripts/cloudflare_warp_cli.sh").read_text(encoding="utf-8")
16
+ elif system == "Darwin":
17
+ program = "brew install --cask cloudflare-warp"
18
+ else:
19
+ raise NotImplementedError(f"Unsupported platform: {system}")
20
+ import subprocess
21
+ subprocess.run(program, shell=True, check=True)
22
+ return f"Cloudflare WARP CLI installed successfully on {system}."
23
+
@@ -3,47 +3,59 @@
3
3
  from typing import Optional
4
4
  import platform
5
5
  import subprocess
6
+ from rich import box
7
+ from rich.console import Console
8
+ from rich.panel import Panel
6
9
  from machineconfig.utils.schemas.installer.installer_types import InstallerData
7
10
 
8
11
 
9
- def main(installer_data: InstallerData, version: Optional[str] = None):
12
+ def main(installer_data: InstallerData, version: Optional[str] = None) -> None:
13
+ console = Console()
10
14
  _ = installer_data
11
- print(f"""
12
- {"=" * 150}
13
- 💻 VS CODE INSTALLER | Setting up Visual Studio Code
14
- 🖥️ Platform: {platform.system()}
15
- 🔄 Version: {"latest" if version is None else version}
16
- {"=" * 150}
17
- """)
15
+ console.print(
16
+ Panel.fit(
17
+ "\n".join([f"🖥️ Platform: {platform.system()}", f"🔄 Version: {'latest' if version is None else version}"]),
18
+ title="💻 VS Code Installer",
19
+ border_style="blue",
20
+ box=box.ROUNDED,
21
+ )
22
+ )
18
23
 
19
24
  if platform.system() == "Linux":
20
- print("🐧 Installing VS Code on Linux using official script...")
25
+ console.print("🐧 Installing VS Code on Linux using official script...", style="bold")
21
26
  import machineconfig.jobs.installer as module
22
27
  from pathlib import Path
23
28
 
24
29
  install_script = Path(module.__file__).parent.joinpath("linux_scripts/vscode.sh").read_text(encoding="utf-8")
25
30
  elif platform.system() == "Darwin":
26
- print("🍎 Installing VS Code on macOS using Homebrew...")
31
+ console.print("🍎 Installing VS Code on macOS using Homebrew...", style="bold")
27
32
  install_script = """brew install --cask visual-studio-code"""
28
33
  elif platform.system() == "Windows":
29
- print("🪟 Installing VS Code on Windows using winget...")
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"""
34
+ console.print("🪟 Installing VS Code on Windows using winget...", style="bold")
35
+ install_script = """
36
+ winget install --no-upgrade --name "Microsoft Visual Studio Code" --Id "Microsoft.VisualStudioCode" --source winget --scope user --accept-package-agreements --accept-source-agreements
37
+
38
+ """
31
39
  else:
32
40
  error_msg = f"Unsupported platform: {platform.system()}"
33
- print(f"""
34
- {"⚠️" * 20}
35
- ❌ ERROR | {error_msg}
36
- {"⚠️" * 20}
37
- """)
41
+ console.print(
42
+ Panel.fit(
43
+ "\n".join([error_msg]),
44
+ title="❌ Error",
45
+ subtitle="⚠️ Unsupported platform",
46
+ border_style="red",
47
+ box=box.ROUNDED,
48
+ )
49
+ )
38
50
  raise NotImplementedError(error_msg)
39
51
  _ = version
40
-
41
- print("🔄 EXECUTING | Running VS Code installation...")
52
+
53
+ console.print("🔄 EXECUTING | Running VS Code installation...", style="bold yellow")
42
54
  try:
43
55
  subprocess.run(install_script, shell=True, text=True, check=True)
44
- print("✅ VS Code installation completed successfully")
56
+ console.print("✅ VS Code installation completed successfully", style="bold green")
45
57
  except subprocess.CalledProcessError as e:
46
- print(f"❌ Installation failed with exit code {e.returncode}")
58
+ console.print(f"❌ Installation failed with exit code {e.returncode}", style="bold red")
47
59
  raise
48
60
 
49
61
 
@@ -0,0 +1,30 @@
1
+
2
+
3
+
4
+ from machineconfig.utils.schemas.installer.installer_types import InstallerData
5
+ from typing import Optional
6
+
7
+ installer_data: InstallerData = {
8
+ "appName": "libduckdb.so",
9
+ "repoURL": "https://github.com/duckdb/duckdb",
10
+ "doc": "🗃️ An in-process SQL OLAP database management system",
11
+ "fileNamePattern": {
12
+ "amd64": {
13
+ "linux": "libduckdb-linux-amd64.zip",
14
+ "macos": None,
15
+ "windows": None
16
+ },
17
+ "arm64": {
18
+ "linux": "libduckdb-linux-arm64.zip",
19
+ "macos": None,
20
+ "windows": None
21
+ }
22
+ }
23
+ }
24
+
25
+
26
+ def main(installer_data: InstallerData, version: Optional[str]) -> None:
27
+ _ = version
28
+ from machineconfig.utils.installer_utils.installer_runner import Installer
29
+ installer = Installer(installer_data)
30
+ installer.install(version=None)
@@ -5,6 +5,9 @@ https://github.com/espanso/espanso
5
5
 
6
6
  from typing import Optional
7
7
  import subprocess
8
+ from rich import box
9
+ from rich.console import Console
10
+ from rich.panel import Panel
8
11
  from machineconfig.utils.schemas.installer.installer_types import InstallerData
9
12
 
10
13
  # config_dict: InstallerData = {
@@ -13,57 +16,71 @@ from machineconfig.utils.schemas.installer.installer_types import InstallerData
13
16
  # "doc": "A text expander.",
14
17
  # }
15
18
 
16
-
17
- def main(installer_data: InstallerData, version: Optional[str]):
19
+ def main(installer_data: InstallerData, version: Optional[str]) -> None:
20
+ console = Console()
18
21
  _ = installer_data
19
- print(f"""
20
- {"=" * 150}
21
- ⚡ ESPANSO INSTALLER | Setting up text expansion tool
22
- 🔄 Version: {"latest" if version is None else version}
23
- 🔗 Source: https://github.com/espanso/espanso
24
- {"=" * 150}
25
- """)
22
+ console.print(
23
+ Panel.fit(
24
+ "\n".join(
25
+ [
26
+ f"🔄 Version: {'latest' if version is None else version}",
27
+ "🔗 Source: https://github.com/espanso/espanso",
28
+ ]
29
+ ),
30
+ title="⚡ Espanso Installer",
31
+ border_style="yellow",
32
+ box=box.ROUNDED,
33
+ )
34
+ )
26
35
 
27
36
  _ = version
28
37
  import platform
29
38
 
30
39
  installer_data["repoURL"] = "https://github.com/espanso/espanso"
31
40
  if platform.system() == "Windows":
32
- print("🪟 Installing Espanso on Windows...")
41
+ console.print("🪟 Installing Espanso on Windows...", style="bold")
33
42
  elif platform.system() in ["Linux", "Darwin"]:
34
43
  if platform.system() == "Linux":
35
44
  import os
36
45
 
37
46
  env = os.environ["XDG_SESSION_TYPE"]
38
47
  if env == "wayland":
39
- print(f"""
40
- {"=" * 150}
41
- 🖥️ DISPLAY SERVER | Wayland detected
42
- 📦 Using Wayland-specific package
43
- {"=" * 150}
44
- """)
48
+ console.print(
49
+ Panel.fit(
50
+ "\n".join(["Wayland detected", "📦 Using Wayland-specific package"]),
51
+ title="🖥️ Display Server",
52
+ border_style="cyan",
53
+ box=box.ROUNDED,
54
+ )
55
+ )
45
56
  installer_data["fileNamePattern"]["amd64"]["linux"] = "espanso-debian-wayland-amd64.deb"
46
57
  else:
47
- print(f"""
48
- {"=" * 150}
49
- 🖥️ DISPLAY SERVER | X11 detected
50
- 📦 Using X11-specific package
51
- {"=" * 150}
52
- """)
58
+ console.print(
59
+ Panel.fit(
60
+ "\n".join(["X11 detected", "📦 Using X11-specific package"]),
61
+ title="🖥️ Display Server",
62
+ border_style="cyan",
63
+ box=box.ROUNDED,
64
+ )
65
+ )
53
66
  installer_data["fileNamePattern"]["amd64"]["linux"] = "espanso-debian-x11-amd64.deb"
54
67
  else: # Darwin/macOS
55
- print("🍎 Installing Espanso on macOS...")
68
+ console.print("🍎 Installing Espanso on macOS...", style="bold")
56
69
  installer_data["fileNamePattern"]["amd64"]["macos"] = "Espanso.dmg"
57
70
  else:
58
71
  error_msg = f"Unsupported platform: {platform.system()}"
59
- print(f"""
60
- {"⚠️" * 20}
61
- ❌ ERROR | {error_msg}
62
- {"⚠️" * 20}
63
- """)
72
+ console.print(
73
+ Panel.fit(
74
+ "\n".join([error_msg]),
75
+ title="❌ Error",
76
+ subtitle="⚠️ Unsupported platform",
77
+ border_style="red",
78
+ box=box.ROUNDED,
79
+ )
80
+ )
64
81
  raise NotImplementedError(error_msg)
65
82
 
66
- print("🚀 Installing Espanso using installer...")
83
+ console.print("🚀 Installing Espanso using installer...", style="bold yellow")
67
84
  from machineconfig.utils.installer_utils.installer_class import Installer
68
85
 
69
86
  installer = Installer(installer_data)
@@ -75,20 +92,26 @@ espanso start
75
92
  espanso install actually-all-emojis
76
93
  """
77
94
 
78
- print(f"""
79
- {"=" * 150}
80
- ✅ SUCCESS | Espanso installation completed
81
- 📋 Post-installation steps:
82
- 1️⃣ Register Espanso as a service
83
- 2️⃣ Start the Espanso service
84
- 3️⃣ Install the emoji package
85
- {"=" * 150}
86
- """)
95
+ console.print(
96
+ Panel.fit(
97
+ "\n".join(
98
+ [
99
+ "📋 Post-installation steps:",
100
+ "1️⃣ Register Espanso as a service",
101
+ "2️⃣ Start the Espanso service",
102
+ "3️⃣ Install the emoji package",
103
+ ]
104
+ ),
105
+ title="✅ Espanso Installation Completed",
106
+ border_style="green",
107
+ box=box.ROUNDED,
108
+ )
109
+ )
87
110
 
88
- print("🔄 EXECUTING | Running Espanso configuration...")
111
+ console.print("🔄 EXECUTING | Running Espanso configuration...", style="bold yellow")
89
112
  try:
90
113
  subprocess.run(config, shell=True, text=True, check=True)
91
- print("✅ Espanso configuration completed successfully")
114
+ console.print("✅ Espanso configuration completed successfully", style="bold green")
92
115
  except subprocess.CalledProcessError as e:
93
- print(f"❌ Configuration failed with exit code {e.returncode}")
116
+ console.print(f"❌ Configuration failed with exit code {e.returncode}", style="bold red")
94
117
  raise