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
@@ -1,14 +1,11 @@
1
1
  """natural language to API
2
- https://github.com/ print("🔄 EXECUTING | Running Go installation...")
3
- try:
4
- subprocess.run(install_script, shell=True, text=True, check=True)
5
- print("✅ Go installation completed successfully")
6
- except subprocess.CalledProcessError as e:
7
- print(f"❌ Installation failed with exit code {e.returncode}")
8
- raisel/gorilla
2
+ https://github.com/ShishirPatil/gorilla
9
3
  """
10
4
 
11
5
  import subprocess
6
+ from rich import box
7
+ from rich.console import Console
8
+ from rich.panel import Panel
12
9
  from machineconfig.utils.schemas.installer.installer_types import InstallerData
13
10
 
14
11
  # config_dict: InstallerData = {
@@ -20,44 +17,52 @@ from machineconfig.utils.schemas.installer.installer_types import InstallerData
20
17
  ve_name = "goex"
21
18
 
22
19
 
23
- def main(installer_data: InstallerData):
20
+ def main(installer_data: InstallerData) -> None:
21
+ console = Console()
24
22
  _ = installer_data
25
- print(f"""
26
- {"=" * 150}
27
- 🦍 GORILLA INSTALLER | Natural language to API converter
28
- 🌐 Source: https://github.com/ShishirPatil/gorilla
29
- 📦 Virtual Environment: {ve_name}
30
- {"=" * 150}
31
- """)
32
-
33
- print("🔄 Preparing installation script...")
34
- install_script = """
23
+ console.print(
24
+ Panel.fit(
25
+ "\n".join(
26
+ [
27
+ "Natural language to API converter",
28
+ "🌐 Source: https://github.com/ShishirPatil/gorilla",
29
+ f"📦 Virtual Environment: {ve_name}",
30
+ ]
31
+ ),
32
+ title="🦍 Gorilla Installer",
33
+ border_style="blue",
34
+ box=box.ROUNDED,
35
+ )
36
+ )
35
37
 
38
+ console.print("🔄 Preparing installation script...", style="bold")
39
+ install_script = """
36
40
  cd ~/code/foreign
37
41
  git clone https://github.com/ShishirPatil/gorilla --depth 1
38
42
  cd gorilla/goex
39
43
  uv sync
40
- """
41
-
42
- print(f"""
43
- {"=" * 150}
44
- 📋 INSTALLATION STEPS:
45
- 1️⃣ Creating Python 3.13 virtual environment: {ve_name}
46
- 2️⃣ Cloning Gorilla repository to ~/code/foreign
47
- 3️⃣ Installing Gorilla in development mode
48
- {"=" * 150}
44
+ """
49
45
 
50
- ✅ Installation script prepared successfully!
51
- """)
46
+ console.print(
47
+ Panel.fit(
48
+ "\n".join(
49
+ [
50
+ f"1️⃣ Create Python 3.13 virtual environment: {ve_name}",
51
+ "2️⃣ Clone Gorilla repository to ~/code/foreign",
52
+ "3️⃣ Install Gorilla in development mode",
53
+ ]
54
+ ),
55
+ title="📋 Installation Steps",
56
+ subtitle="✅ Installation script prepared successfully!",
57
+ border_style="magenta",
58
+ box=box.ROUNDED,
59
+ )
60
+ )
52
61
 
53
- print("🔄 EXECUTING | Running Gorilla installation...")
62
+ console.print("🔄 EXECUTING | Running Gorilla installation...", style="bold yellow")
54
63
  try:
55
64
  subprocess.run(install_script, shell=True, text=True, check=True)
56
- print("✅ Gorilla installation completed successfully")
65
+ console.print("✅ Gorilla installation completed successfully", style="bold green")
57
66
  except subprocess.CalledProcessError as e:
58
- print(f"❌ Installation failed with exit code {e.returncode}")
67
+ console.print(f"❌ Installation failed with exit code {e.returncode}", style="bold red")
59
68
  raise
60
-
61
-
62
- if __name__ == "__main__":
63
- pass
@@ -1,29 +1,37 @@
1
1
  """lvim"""
2
2
 
3
- from machineconfig.utils.terminal import Terminal
3
+ from rich import box
4
+ from rich.console import Console
5
+ from rich.panel import Panel
4
6
  import subprocess
5
7
  import platform
6
8
  from typing import Optional
7
9
  from machineconfig.utils.schemas.installer.installer_types import InstallerData
8
10
 
9
11
 
10
- _ = Terminal, subprocess
11
12
  # as per https://www.lunarvim.org/docs/installation
12
13
 
13
14
 
14
- def main(installer_data: InstallerData, version: Optional[str]):
15
+ def main(installer_data: InstallerData, version: Optional[str]) -> None:
16
+ console = Console()
15
17
  _ = installer_data
16
- print(f"""
17
- {"=" * 150}
18
- 🌙 LUNARVIM INSTALLER | Setting up Neovim-based IDE
19
- 🔄 Version: {"latest" if version is None else version}
20
- 📚 Branch: release-1.4/neovim-0.9
21
- {"=" * 150}
22
- """)
18
+ console.print(
19
+ Panel.fit(
20
+ "\n".join(
21
+ [
22
+ f"🔄 Version: {'latest' if version is None else version}",
23
+ "📚 Branch: release-1.4/neovim-0.9",
24
+ ]
25
+ ),
26
+ title="🌙 LunarVim Installer",
27
+ border_style="purple",
28
+ box=box.ROUNDED,
29
+ )
30
+ )
23
31
 
24
32
  _ = version
25
33
  if platform.system() == "Windows":
26
- print("🪟 Installing LunarVim on Windows...")
34
+ console.print("🪟 Installing LunarVim on Windows...", style="bold")
27
35
  program = """
28
36
 
29
37
  pwsh -c "`$LV_BRANCH='release-1.4/neovim-0.9'; iwr https://raw.githubusercontent.com/LunarVim/LunarVim/release-1.4/neovim-0.9/utils/installer/install.ps1 -UseBasicParsing | iex"
@@ -31,7 +39,7 @@ pwsh -c "`$LV_BRANCH='release-1.4/neovim-0.9'; iwr https://raw.githubusercontent
31
39
  """
32
40
  elif platform.system() in ["Linux", "Darwin"]:
33
41
  system_name = "Linux" if platform.system() == "Linux" else "macOS"
34
- print(f"🐧 Installing LunarVim on {system_name}...")
42
+ console.print(f"🐧 Installing LunarVim on {system_name}...", style="bold")
35
43
  program = """
36
44
 
37
45
  LV_BRANCH='release-1.4/neovim-0.9' bash <(curl -s https://raw.githubusercontent.com/LunarVim/LunarVim/release-1.4/neovim-0.9/utils/installer/install.sh)
@@ -39,33 +47,41 @@ LV_BRANCH='release-1.4/neovim-0.9' bash <(curl -s https://raw.githubusercontent.
39
47
  """
40
48
  else:
41
49
  error_msg = f"Unsupported platform: {platform.system()}"
42
- print(f"""
43
- {"⚠️" * 20}
44
- ❌ ERROR | {error_msg}
45
- {"⚠️" * 20}
46
- """)
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
+ )
47
59
  raise NotImplementedError(error_msg)
48
60
 
49
- print(f"""
50
- {"=" * 150}
51
- ℹ️ INFO | LunarVim features:
52
- 📝 IDE-like experience for Neovim
53
- 🔌 Built-in plugin management
54
- 🛠️ LSP configuration out of the box
55
- 🔍 Powerful fuzzy finding
56
- ⚙️ Simple and unified configuration
57
- {"=" * 150}
61
+ console.print(
62
+ Panel.fit(
63
+ "\n".join(
64
+ [
65
+ "📝 IDE-like experience for Neovim",
66
+ "🔌 Built-in plugin management",
67
+ "🛠️ LSP configuration out of the box",
68
+ "🔍 Powerful fuzzy finding",
69
+ "⚙️ Simple and unified configuration",
70
+ "⚠️ Installer will prompt for user input during installation.",
71
+ ]
72
+ ),
73
+ title="ℹ️ LunarVim Features",
74
+ border_style="magenta",
75
+ box=box.ROUNDED,
76
+ )
77
+ )
58
78
 
59
- ⚠️ NOTE: The installer will prompt for user input during installation.
60
- """)
61
-
62
- print("🔄 EXECUTING | Running LunarVim installation...")
79
+ console.print("🔄 EXECUTING | Running LunarVim installation...", style="bold yellow")
63
80
  try:
64
- # Run with shell=True and allow interaction for user input
65
81
  subprocess.run(program, shell=True, check=True)
66
- print("✅ LunarVim installation completed successfully")
82
+ console.print("✅ LunarVim installation completed successfully", style="bold green")
67
83
  except subprocess.CalledProcessError as e:
68
- print(f"❌ Installation failed with exit code {e.returncode}")
84
+ console.print(f"❌ Installation failed with exit code {e.returncode}", style="bold red")
69
85
  raise
70
86
 
71
87
 
@@ -3,83 +3,107 @@
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
  def main(installer_data: InstallerData, version: Optional[str]) -> None:
10
13
  """Main entry point for Nerd Fonts installation.
11
-
14
+
12
15
  Args:
13
16
  installer_data: Installation configuration data
14
17
  version: Specific version to install (None for latest)
15
18
  """
19
+ console = Console()
16
20
  _ = installer_data
17
- print(f"""
18
- {"=" * 150}
19
- 🔤 NERD FONTS INSTALLER | Installing programming fonts with icons
20
- 💻 Platform: {platform.system()}
21
- 🔄 Version: {"latest" if version is None else version}
22
- {"=" * 150}
23
- """)
21
+ console.print(
22
+ Panel.fit(
23
+ "\n".join([f"💻 Platform: {platform.system()}", f"🔄 Version: {'latest' if version is None else version}"]),
24
+ title="🔤 Nerd Fonts Installer",
25
+ border_style="blue",
26
+ box=box.ROUNDED,
27
+ )
28
+ )
24
29
 
25
30
  _ = version
26
31
  current_platform = platform.system()
27
-
32
+
28
33
  if current_platform == "Windows":
29
- print("🪟 Installing Nerd Fonts on Windows...")
34
+ console.print("🪟 Installing Nerd Fonts on Windows...", style="bold")
30
35
  from machineconfig.jobs.installer.custom_dev.nerfont_windows_helper import install_nerd_fonts
31
-
36
+
32
37
  try:
33
38
  install_nerd_fonts()
34
- print(f"""
35
- {"=" * 150}
36
- SUCCESS | Nerd Fonts installation completed successfully on Windows
37
- 💡 TIP: Restart your terminal applications to see the new fonts
38
- {"=" * 150}
39
- """)
40
- except Exception as e:
39
+ console.print(
40
+ Panel.fit(
41
+ "\n".join(["💡 Restart terminal applications to see the new fonts."]),
42
+ title="✅ Nerd Fonts Installed",
43
+ border_style="green",
44
+ box=box.ROUNDED,
45
+ )
46
+ )
47
+ except Exception as e: # noqa: BLE001
41
48
  error_msg = f"Windows Nerd Fonts installation failed: {e}"
42
- print(f"""
43
- {"⚠️" * 20}
44
- ❌ ERROR | {error_msg}
45
- 💡 TIP: Try running as administrator or install manually from https://www.nerdfonts.com
46
- {"⚠️" * 20}
47
- """)
49
+ console.print(
50
+ Panel.fit(
51
+ "\n".join(
52
+ [
53
+ error_msg,
54
+ "💡 Try running as administrator or install manually from https://www.nerdfonts.com",
55
+ ]
56
+ ),
57
+ title="❌ Error",
58
+ subtitle="⚠️ Installation issue",
59
+ border_style="red",
60
+ box=box.ROUNDED,
61
+ )
62
+ )
48
63
  raise RuntimeError(error_msg) from e
49
-
64
+
50
65
  elif current_platform in ["Linux", "Darwin"]:
51
- print(f"🐧 Installing Nerd Fonts on {current_platform} using installation script...")
66
+ console.print(f"🐧 Installing Nerd Fonts on {current_platform} using installation script...", style="bold")
52
67
  import machineconfig.jobs.installer as module
53
68
  from pathlib import Path
54
69
 
55
70
  program = Path(module.__file__).parent.joinpath("linux_scripts/nerdfont.sh").read_text(encoding="utf-8")
56
-
57
- print(f"""
58
- {"=" * 150}
59
- ℹ️ INFO | Nerd Fonts features:
60
- 🎨 Programming fonts patched with icons
61
- 🔣 Includes icons from popular sets (FontAwesome, Devicons, etc.)
62
- 🖥️ Perfect for terminals and coding environments
63
- 🧰 Works with many terminal applications and editors
64
- {"=" * 150}
65
- """)
66
-
67
- print("🔄 EXECUTING | Running Nerd Fonts installation...")
71
+
72
+ console.print(
73
+ Panel.fit(
74
+ "\n".join(
75
+ [
76
+ "🎨 Programming fonts patched with icons",
77
+ "🔣 Includes icons from popular sets (FontAwesome, Devicons, etc.)",
78
+ "🖥️ Perfect for terminals and coding environments",
79
+ "🧰 Works with many terminal applications and editors",
80
+ ]
81
+ ),
82
+ title="ℹ️ Nerd Fonts Features",
83
+ border_style="magenta",
84
+ box=box.ROUNDED,
85
+ )
86
+ )
87
+
88
+ console.print("🔄 EXECUTING | Running Nerd Fonts installation...", style="bold yellow")
68
89
  try:
69
90
  subprocess.run(program, shell=True, text=True, check=True)
70
- print("✅ Nerd Fonts installation completed successfully")
91
+ console.print("✅ Nerd Fonts installation completed successfully", style="bold green")
71
92
  except subprocess.CalledProcessError as e:
72
- print(f"❌ Installation failed with exit code {e.returncode}")
93
+ console.print(f"❌ Installation failed with exit code {e.returncode}", style="bold red")
73
94
  raise
74
-
95
+
75
96
  else:
76
97
  error_msg = f"Unsupported platform: {current_platform}"
77
- print(f"""
78
- {"⚠️" * 20}
79
- ERROR | {error_msg}
80
- 💡 TIP: Supported platforms are Windows, Linux, and macOS (Darwin)
81
- {"⚠️" * 20}
82
- """)
98
+ console.print(
99
+ Panel.fit(
100
+ "\n".join([error_msg, "💡 Supported platforms are Windows, Linux, and macOS (Darwin)"]),
101
+ title="❌ Error",
102
+ subtitle="⚠️ Unsupported platform",
103
+ border_style="red",
104
+ box=box.ROUNDED,
105
+ )
106
+ )
83
107
  raise NotImplementedError(error_msg)
84
108
 
85
109
 
@@ -8,38 +8,40 @@ using PowerShell scripts and font enumeration.
8
8
  import subprocess
9
9
  from typing import Iterable
10
10
 
11
+ from rich import box
12
+ from rich.console import Console
13
+ from rich.panel import Panel
14
+
11
15
  from machineconfig.utils.path_extended import PathExtended
12
16
  from machineconfig.utils.source_of_truth import LIBRARY_ROOT
13
17
  from machineconfig.utils.installer_utils.installer_class import Installer
14
18
  from machineconfig.utils.schemas.installer.installer_types import InstallerData
15
19
 
16
20
 
17
- # Nerd Fonts installer configuration data
18
21
  nerd_fonts: InstallerData = {
19
22
  "appName": "Cascadia Code Nerd Font",
20
23
  "repoURL": "https://github.com/ryanoasis/nerd-fonts",
21
24
  "doc": "Nerd Fonts is a project that patches developer targeted fonts with a high number of glyphs (icons)",
22
25
  "fileNamePattern": {
23
26
  "amd64": {
24
- "windows": "CaskaydiaCoveNerdFontWindows.zip",
25
- "linux": "CaskaydiaCoveNerdFontLinux.zip",
26
- "macos": "CaskaydiaCoveNerdFontMac.zip",
27
+ "windows": "CascadiaCode.zip",
28
+ "linux": "CascadiaCode.zip",
29
+ "macos": "CascadiaCode.zip",
27
30
  },
28
31
  "arm64": {
29
- "windows": "CaskaydiaCoveNerdFontWindows.zip",
30
- "linux": "CaskaydiaCoveNerdFontLinux.zip",
31
- "macos": "CaskaydiaCoveNerdFontMac.zip",
32
+ "windows": "CascadiaCode.zip",
33
+ "linux": "CascadiaCode.zip",
34
+ "macos": "CascadiaCode.zip",
32
35
  }
33
36
  }
34
37
  }
35
38
 
36
39
 
37
- # Patterns to match any installed variant (NF, Nerd Font, Mono, Propo, style weights) of Cascadia/Caskaydia
38
- # We'll compile them at runtime for flexibility. Keep them simple to avoid false positives.
39
- REQUIRED_FONT_PATTERNS: tuple[str, ...] = (
40
- r"caskaydiacove.*(nf|nerd ?font)",
41
- r"cascadiacode.*(nf|nerd ?font)"
42
- )
40
+ console = Console()
41
+
42
+
43
+ def render_banner(message: str, title: str, border_style: str, box_style: box.Box) -> None:
44
+ console.print(Panel.fit(message, title=title, border_style=border_style, box=box_style, padding=(1, 4)))
43
45
 
44
46
 
45
47
  def _list_installed_fonts() -> list[str]:
@@ -64,7 +66,7 @@ def _list_installed_fonts() -> list[str]:
64
66
  fonts = [x.strip().replace("_", "") for x in res.stdout.splitlines() if x.strip() != ""]
65
67
  return fonts
66
68
  except Exception as exc: # noqa: BLE001
67
- print(f"⚠️ Could not enumerate installed fonts (continuing with install). Reason: {exc}")
69
+ console.print(f"⚠️ Could not enumerate installed fonts (continuing with install). Reason: {exc}")
68
70
  return []
69
71
 
70
72
 
@@ -81,7 +83,7 @@ def _missing_required_fonts(installed_fonts: Iterable[str]) -> list[str]:
81
83
 
82
84
  installed_norm = [f.lower().replace(" ", "") for f in installed_fonts]
83
85
  missing: list[str] = []
84
- for pattern in REQUIRED_FONT_PATTERNS:
86
+ for pattern in ["cascadiacode*"]:
85
87
  regex = re.compile(pattern)
86
88
  if not any(regex.search(f) for f in installed_norm):
87
89
  missing.append(pattern)
@@ -100,30 +102,32 @@ def install_nerd_fonts() -> None:
100
102
  Raises:
101
103
  subprocess.CalledProcessError: If PowerShell installation fails
102
104
  """
103
- print(f"\n{'=' * 80}\n📦 INSTALLING NERD FONTS 📦\n{'=' * 80}")
105
+ console.print()
106
+ render_banner("📦 INSTALLING NERD FONTS 📦", "Nerd Fonts Installer", "magenta", box.DOUBLE)
107
+ console.print()
104
108
 
105
109
  installed = _list_installed_fonts()
106
110
  missing = _missing_required_fonts(installed)
107
111
 
108
112
  if len(missing) == 0:
109
- print("✅ Required Nerd Fonts already installed. Skipping download & install.")
113
+ console.print("✅ Required Nerd Fonts already installed. Skipping download & install.")
110
114
  return
111
115
 
112
- print(f"🔍 Missing fonts detected: {', '.join(missing)}. Proceeding with installation...")
113
- print("🔍 Downloading Nerd Fonts package...")
116
+ console.print(f"🔍 Missing fonts detected: {', '.join(missing)}. Proceeding with installation...")
117
+ console.print("🔍 Downloading Nerd Fonts package...")
114
118
 
115
- folder, _version_to_be_installed = Installer(installer_data=nerd_fonts).download(version=None)
119
+ folder, _version_to_be_installed = Installer(installer_data=nerd_fonts).binary_download(version=None)
116
120
 
117
- print("🧹 Cleaning up unnecessary files...")
121
+ console.print("🧹 Cleaning up unnecessary files...")
118
122
  [p.delete(sure=True) for p in folder.search("*Windows*")]
119
123
  [p.delete(sure=True) for p in folder.search("*readme*")]
120
124
  [p.delete(sure=True) for p in folder.search("*LICENSE*")]
121
125
 
122
- print("⚙️ Installing fonts via PowerShell...")
126
+ console.print("⚙️ Installing fonts via PowerShell...")
123
127
  file = PathExtended.tmpfile(suffix=".ps1")
124
128
  file.parent.mkdir(parents=True, exist_ok=True)
125
129
 
126
- raw_content = LIBRARY_ROOT.joinpath("setup_windows/wt_and_pwsh/install_fonts.ps1").read_text(encoding="utf-8").replace(r".\fonts-to-be-installed", str(folder))
130
+ raw_content = LIBRARY_ROOT.joinpath("jobs/installer/pwsh_scripts/install_fonts.ps1").read_text(encoding="utf-8").replace(r".\fonts-to-be-installed", str(folder))
127
131
  # PowerShell 5.1 can choke on certain unicode chars in some locales; keep ASCII only.
128
132
  content = "".join(ch for ch in raw_content if ord(ch) < 128)
129
133
  file.write_text(content, encoding="utf-8")
@@ -131,13 +135,15 @@ def install_nerd_fonts() -> None:
131
135
  try:
132
136
  subprocess.run(rf"powershell.exe -executionpolicy Bypass -nologo -noninteractive -File {str(file)}", check=True)
133
137
  except subprocess.CalledProcessError as cpe:
134
- print(f"💥 Font installation script failed: {cpe}")
138
+ console.print(f"💥 Font installation script failed: {cpe}")
135
139
  raise
136
140
  finally:
137
- print("🗑️ Cleaning up temporary files...")
141
+ console.print("🗑️ Cleaning up temporary files...")
138
142
  if folder.exists():
139
143
  folder.delete(sure=True)
140
144
  if file.exists():
141
145
  file.delete(sure=True)
142
146
 
143
- print(f"\n✅ Nerd Fonts installation complete! ✅\n{'=' * 80}")
147
+ console.print()
148
+ render_banner("✅ Nerd Fonts installation complete! ✅", "Nerd Fonts Installer", "green", box.DOUBLE)
149
+ console.print()
@@ -3,34 +3,42 @@
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
  # config_dict: InstallerData = {"appName": "Redis", "repoURL": "CMD", "doc": "submillisecond fast key-value db"}
9
12
 
10
13
 
11
- def main(installer_data: InstallerData, version: Optional[str]):
14
+ def main(installer_data: InstallerData, version: Optional[str]) -> None:
15
+ console = Console()
12
16
  _ = installer_data
13
- print(f"""
14
- {"=" * 150}
15
- 🗃️ REDIS INSTALLER | Setting up in-memory database
16
- 💻 Platform: {platform.system()}
17
- 🔄 Version: {"latest" if version is None else version}
18
- {"=" * 150}
19
- """)
17
+ console.print(
18
+ Panel.fit(
19
+ "\n".join([f"💻 Platform: {platform.system()}", f"🔄 Version: {'latest' if version is None else version}"]),
20
+ title="🗃️ Redis Installer",
21
+ border_style="red",
22
+ box=box.ROUNDED,
23
+ )
24
+ )
20
25
 
21
26
  _ = version
22
27
  if platform.system() == "Windows":
23
28
  error_msg = "Redis installation not supported on Windows through this installer"
24
- print(f"""
25
- {"⚠️" * 20}
26
- ERROR | {error_msg}
27
- 💡 TIP: Consider using WSL2 or Docker to run Redis on Windows
28
- {"⚠️" * 20}
29
- """)
29
+ console.print(
30
+ Panel.fit(
31
+ "\n".join([error_msg, "💡 Consider using WSL2 or Docker to run Redis on Windows"]),
32
+ title="❌ Error",
33
+ subtitle="⚠️ Unsupported platform",
34
+ border_style="red",
35
+ box=box.ROUNDED,
36
+ )
37
+ )
30
38
  raise NotImplementedError(error_msg)
31
39
  elif platform.system() in ["Linux", "Darwin"]:
32
40
  system_name = "Linux" if platform.system() == "Linux" else "macOS"
33
- print(f"🐧 Installing Redis on {system_name} using installation script...")
41
+ console.print(f"🐧 Installing Redis on {system_name} using installation script...", style="bold")
34
42
  import machineconfig.jobs.installer as module
35
43
  from pathlib import Path
36
44
  if platform.system() == "Linux":
@@ -39,30 +47,40 @@ def main(installer_data: InstallerData, version: Optional[str]):
39
47
  program = "brew install redis"
40
48
  else:
41
49
  error_msg = f"Unsupported platform: {platform.system()}"
42
- print(f"""
43
- {"⚠️" * 20}
44
- ❌ ERROR | {error_msg}
45
- {"⚠️" * 20}
46
- """)
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
+ )
47
59
  raise NotImplementedError(error_msg)
48
60
 
49
- print(f"""
50
- {"=" * 150}
51
- ℹ️ INFO | Redis features:
52
- ⚡ In-memory data structure store
53
- 🔑 Key-value database with optional persistence
54
- 🚀 Sub-millisecond response times
55
- 💾 Supports strings, lists, sets, sorted sets, hashes
56
- 🔄 Built-in replication and Lua scripting
57
- {"=" * 150}
58
- """)
61
+ console.print(
62
+ Panel.fit(
63
+ "\n".join(
64
+ [
65
+ "⚡ In-memory data structure store",
66
+ "🔑 Key-value database with optional persistence",
67
+ "🚀 Sub-millisecond response times",
68
+ "💾 Supports strings, lists, sets, sorted sets, hashes",
69
+ "🔄 Built-in replication and Lua scripting",
70
+ ]
71
+ ),
72
+ title="ℹ️ Redis Features",
73
+ border_style="magenta",
74
+ box=box.ROUNDED,
75
+ )
76
+ )
59
77
 
60
- print("🔄 EXECUTING | Running Redis installation...")
78
+ console.print("🔄 EXECUTING | Running Redis installation...", style="bold yellow")
61
79
  try:
62
80
  subprocess.run(program, shell=True, text=True, check=True)
63
- print("✅ Redis installation completed successfully")
81
+ console.print("✅ Redis installation completed successfully", style="bold green")
64
82
  except subprocess.CalledProcessError as e:
65
- print(f"❌ Installation failed with exit code {e.returncode}")
83
+ console.print(f"❌ Installation failed with exit code {e.returncode}", style="bold red")
66
84
  raise
67
85
 
68
86