machineconfig 1.95__py3-none-any.whl → 1.96__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 (499) hide show
  1. machineconfig/cluster/cloud_manager.py +445 -343
  2. machineconfig/cluster/data_transfer.py +63 -57
  3. machineconfig/cluster/distribute.py +284 -280
  4. machineconfig/cluster/file_manager.py +234 -237
  5. machineconfig/cluster/job_params.py +133 -133
  6. machineconfig/cluster/loader_runner.py +183 -149
  7. machineconfig/cluster/remote_machine.py +269 -252
  8. machineconfig/cluster/script_execution.py +215 -209
  9. machineconfig/cluster/script_notify_upon_completion.py +50 -43
  10. machineconfig/cluster/self_ssh.py +52 -54
  11. machineconfig/cluster/sessions_managers/__init__.py +0 -0
  12. machineconfig/cluster/sessions_managers/archive/__init__.py +0 -0
  13. machineconfig/{jobs/python → cluster/sessions_managers/archive}/create_zellij_template.py +5 -3
  14. machineconfig/cluster/sessions_managers/archive/session_managers.py +184 -0
  15. machineconfig/cluster/sessions_managers/demo_rich_zellij.py +0 -0
  16. machineconfig/cluster/sessions_managers/enhanced_command_runner.py +160 -0
  17. machineconfig/cluster/sessions_managers/wt_local.py +494 -0
  18. machineconfig/cluster/sessions_managers/wt_local_manager.py +577 -0
  19. machineconfig/cluster/sessions_managers/wt_remote.py +288 -0
  20. machineconfig/cluster/sessions_managers/wt_remote_manager.py +483 -0
  21. machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +196 -0
  22. machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +418 -0
  23. machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +175 -0
  24. machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +300 -0
  25. machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +228 -0
  26. machineconfig/cluster/sessions_managers/zellij_local.py +418 -0
  27. machineconfig/cluster/sessions_managers/zellij_local_manager.py +533 -0
  28. machineconfig/cluster/sessions_managers/zellij_remote.py +229 -0
  29. machineconfig/cluster/sessions_managers/zellij_remote_manager.py +188 -0
  30. machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +64 -0
  31. machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +126 -0
  32. machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +334 -0
  33. machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +68 -0
  34. machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +119 -0
  35. machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +85 -0
  36. machineconfig/cluster/templates/cli_click.py +0 -1
  37. machineconfig/cluster/templates/cli_gooey.py +102 -104
  38. machineconfig/cluster/templates/run_cloud.py +51 -51
  39. machineconfig/cluster/templates/run_cluster.py +103 -59
  40. machineconfig/cluster/templates/run_remote.py +57 -58
  41. machineconfig/cluster/templates/utils.py +69 -36
  42. machineconfig/jobs/__pycache__/__init__.cpython-311.pyc +0 -0
  43. machineconfig/jobs/python/__pycache__/__init__.cpython-311.pyc +0 -0
  44. machineconfig/jobs/python/check_installations.py +258 -190
  45. machineconfig/jobs/python/create_bootable_media.py +7 -3
  46. machineconfig/jobs/python/python_cargo_build_share.py +50 -50
  47. machineconfig/jobs/python/python_ve_symlink.py +6 -6
  48. machineconfig/jobs/python/vscode/__pycache__/select_interpreter.cpython-311.pyc +0 -0
  49. machineconfig/jobs/python/vscode/api.py +1 -1
  50. machineconfig/jobs/python/vscode/link_ve.py +2 -2
  51. machineconfig/jobs/python/vscode/select_interpreter.py +9 -5
  52. machineconfig/jobs/python/vscode/sync_code.py +8 -5
  53. machineconfig/jobs/python_custom_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  54. machineconfig/jobs/python_custom_installers/archive/ngrok.py +1 -1
  55. machineconfig/jobs/python_custom_installers/dev/alacritty.py +3 -2
  56. machineconfig/jobs/python_custom_installers/dev/brave.py +7 -3
  57. machineconfig/jobs/python_custom_installers/dev/bypass_paywall.py +3 -4
  58. machineconfig/jobs/python_custom_installers/dev/code.py +3 -1
  59. machineconfig/jobs/python_custom_installers/dev/cursor.py +66 -5
  60. machineconfig/jobs/python_custom_installers/dev/docker_desktop.py +0 -1
  61. machineconfig/jobs/python_custom_installers/dev/espanso.py +13 -9
  62. machineconfig/jobs/python_custom_installers/dev/goes.py +2 -8
  63. machineconfig/jobs/python_custom_installers/dev/lvim.py +3 -2
  64. machineconfig/jobs/python_custom_installers/dev/nerdfont.py +1 -1
  65. machineconfig/jobs/python_custom_installers/dev/redis.py +7 -3
  66. machineconfig/jobs/python_custom_installers/dev/wezterm.py +8 -4
  67. machineconfig/jobs/python_custom_installers/dev/winget.py +194 -0
  68. machineconfig/jobs/python_custom_installers/{dev/docker.py → docker.py} +8 -3
  69. machineconfig/jobs/python_custom_installers/gh.py +4 -3
  70. machineconfig/jobs/python_custom_installers/hx.py +9 -8
  71. machineconfig/jobs/python_custom_installers/scripts/linux/vscode.sh +97 -30
  72. machineconfig/jobs/python_custom_installers/{dev/warp-cli.py → warp-cli.py} +1 -1
  73. machineconfig/jobs/python_generic_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  74. machineconfig/jobs/python_generic_installers/config.json +133 -9
  75. machineconfig/jobs/python_generic_installers/dev/config.json +208 -37
  76. machineconfig/jobs/python_generic_installers/update.py +3 -0
  77. machineconfig/jobs/python_linux_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  78. machineconfig/jobs/python_linux_installers/config.json +42 -6
  79. machineconfig/jobs/python_linux_installers/dev/config.json +79 -11
  80. machineconfig/jobs/python_windows_installers/config.json +6 -0
  81. machineconfig/profile/__pycache__/__init__.cpython-311.pyc +0 -0
  82. machineconfig/profile/__pycache__/create.cpython-311.pyc +0 -0
  83. machineconfig/profile/__pycache__/shell.cpython-311.pyc +0 -0
  84. machineconfig/profile/create.py +5 -5
  85. machineconfig/profile/create_hardlinks.py +5 -5
  86. machineconfig/profile/shell.py +44 -17
  87. machineconfig/scripts/__pycache__/__init__.cpython-311.pyc +0 -0
  88. machineconfig/scripts/__pycache__/__init__.cpython-313.pyc +0 -0
  89. machineconfig/scripts/linux/fire_agents +27 -0
  90. machineconfig/scripts/linux/wifi_conn +24 -0
  91. machineconfig/scripts/python/__pycache__/__init__.cpython-311.pyc +0 -0
  92. machineconfig/scripts/python/__pycache__/__init__.cpython-313.pyc +0 -0
  93. machineconfig/scripts/python/__pycache__/cloud_copy.cpython-311.pyc +0 -0
  94. machineconfig/scripts/python/__pycache__/cloud_mount.cpython-311.pyc +0 -0
  95. machineconfig/scripts/python/__pycache__/cloud_sync.cpython-311.pyc +0 -0
  96. machineconfig/scripts/python/__pycache__/croshell.cpython-311.pyc +0 -0
  97. machineconfig/scripts/python/__pycache__/devops.cpython-311.pyc +0 -0
  98. machineconfig/scripts/python/__pycache__/devops_backup_retrieve.cpython-311.pyc +0 -0
  99. machineconfig/scripts/python/__pycache__/devops_devapps_install.cpython-311.pyc +0 -0
  100. machineconfig/scripts/python/__pycache__/devops_update_repos.cpython-311.pyc +0 -0
  101. machineconfig/scripts/python/__pycache__/fire_agents.cpython-311.pyc +0 -0
  102. machineconfig/scripts/python/__pycache__/fire_jobs.cpython-311.pyc +0 -0
  103. machineconfig/scripts/python/__pycache__/fire_jobs.cpython-313.pyc +0 -0
  104. machineconfig/scripts/python/__pycache__/get_zellij_cmd.cpython-311.pyc +0 -0
  105. machineconfig/scripts/python/__pycache__/repos.cpython-311.pyc +0 -0
  106. machineconfig/scripts/python/archive/im2text.py +1 -3
  107. machineconfig/scripts/python/choose_wezterm_theme.py +3 -3
  108. machineconfig/scripts/python/cloud_copy.py +10 -10
  109. machineconfig/scripts/python/cloud_manager.py +77 -99
  110. machineconfig/scripts/python/cloud_mount.py +13 -12
  111. machineconfig/scripts/python/cloud_repo_sync.py +14 -11
  112. machineconfig/scripts/python/croshell.py +24 -21
  113. machineconfig/scripts/python/devops.py +12 -17
  114. machineconfig/scripts/python/devops_add_identity.py +32 -10
  115. machineconfig/scripts/python/devops_add_ssh_key.py +10 -10
  116. machineconfig/scripts/python/devops_backup_retrieve.py +9 -8
  117. machineconfig/scripts/python/devops_devapps_install.py +6 -6
  118. machineconfig/scripts/python/devops_update_repos.py +4 -3
  119. machineconfig/scripts/python/dotfile.py +10 -7
  120. machineconfig/scripts/python/fire_agents.py +69 -0
  121. machineconfig/scripts/python/fire_jobs.py +56 -65
  122. machineconfig/scripts/python/ftpx.py +8 -8
  123. machineconfig/scripts/python/get_zellij_cmd.py +3 -3
  124. machineconfig/scripts/python/gh_models.py +6 -4
  125. machineconfig/scripts/python/helpers/__pycache__/__init__.cpython-311.pyc +0 -0
  126. machineconfig/scripts/python/helpers/__pycache__/__init__.cpython-313.pyc +0 -0
  127. machineconfig/scripts/python/helpers/__pycache__/cloud_helpers.cpython-311.pyc +0 -0
  128. machineconfig/scripts/python/helpers/__pycache__/helpers2.cpython-311.pyc +0 -0
  129. machineconfig/scripts/python/helpers/__pycache__/helpers4.cpython-311.pyc +0 -0
  130. machineconfig/scripts/python/helpers/__pycache__/helpers4.cpython-313.pyc +0 -0
  131. machineconfig/scripts/python/helpers/__pycache__/repo_sync_helpers.cpython-311.pyc +0 -0
  132. machineconfig/scripts/python/helpers/cloud_helpers.py +12 -12
  133. machineconfig/scripts/python/helpers/helpers2.py +9 -8
  134. machineconfig/scripts/python/helpers/helpers4.py +23 -35
  135. machineconfig/scripts/python/helpers/repo_sync_helpers.py +17 -16
  136. machineconfig/scripts/python/mount_nfs.py +8 -11
  137. machineconfig/scripts/python/mount_nw_drive.py +4 -4
  138. machineconfig/scripts/python/mount_ssh.py +2 -2
  139. machineconfig/scripts/python/onetimeshare.py +56 -57
  140. machineconfig/scripts/python/pomodoro.py +55 -55
  141. machineconfig/scripts/python/repos.py +26 -18
  142. machineconfig/scripts/python/scheduler.py +70 -53
  143. machineconfig/scripts/python/snapshot.py +21 -24
  144. machineconfig/scripts/python/start_slidev.py +6 -5
  145. machineconfig/scripts/python/start_terminals.py +3 -1
  146. machineconfig/scripts/python/viewer.py +5 -4
  147. machineconfig/scripts/python/viewer_template.py +138 -140
  148. machineconfig/scripts/python/wifi_conn.py +412 -60
  149. machineconfig/scripts/python/wsl_windows_transfer.py +18 -3
  150. machineconfig/settings/linters/.pylintrc +6 -7
  151. machineconfig/settings/lvim/windows/config.lua +0 -0
  152. machineconfig/settings/shells/bash/init.sh +6 -0
  153. machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +7 -6
  154. machineconfig/settings/shells/pwsh/init.ps1 +6 -6
  155. machineconfig/settings/shells/wt/settings.json +51 -266
  156. machineconfig/setup_linux/web_shortcuts/interactive.sh +5 -2
  157. machineconfig/setup_windows/wt_and_pwsh/set_pwsh_theme.py +3 -6
  158. machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +11 -9
  159. machineconfig/utils/ai/url2md.py +2 -2
  160. machineconfig/utils/cloud/onedrive/setup_oauth.py +59 -0
  161. machineconfig/utils/cloud/onedrive/transaction.py +796 -0
  162. machineconfig/utils/code.py +22 -13
  163. machineconfig/utils/installer.py +78 -35
  164. machineconfig/utils/installer_utils/installer_abc.py +7 -6
  165. machineconfig/utils/installer_utils/installer_class.py +44 -25
  166. machineconfig/utils/io_save.py +107 -0
  167. machineconfig/utils/links.py +19 -15
  168. machineconfig/utils/options.py +4 -8
  169. machineconfig/utils/path.py +91 -78
  170. machineconfig/utils/path_reduced.py +608 -0
  171. machineconfig/utils/procs.py +110 -45
  172. machineconfig/utils/scheduling.py +312 -222
  173. machineconfig/utils/utils.py +7 -7
  174. machineconfig/utils/utils2.py +42 -0
  175. machineconfig/utils/utils5.py +84 -0
  176. machineconfig/utils/ve.py +49 -87
  177. {machineconfig-1.95.dist-info → machineconfig-1.96.dist-info}/METADATA +2 -2
  178. machineconfig-1.96.dist-info/RECORD +437 -0
  179. machineconfig/cluster/session_managers.py +0 -183
  180. machineconfig/cluster/templates/f.py +0 -4
  181. machineconfig/jobs/python/__pycache__/check_installations.cpython-311.pyc +0 -0
  182. machineconfig/jobs/python/__pycache__/checkout_version.cpython-311.pyc +0 -0
  183. machineconfig/jobs/python/__pycache__/python_ve_symlink.cpython-311.pyc +0 -0
  184. machineconfig/jobs/python/checkout_version.py +0 -123
  185. machineconfig/jobs/python/vscode/__pycache__/api.cpython-311.pyc +0 -0
  186. machineconfig/jobs/python/vscode/__pycache__/link_ve.cpython-311.pyc +0 -0
  187. machineconfig/jobs/python_custom_installers/__pycache__/hx.cpython-311.pyc +0 -0
  188. machineconfig/jobs/python_windows_installers/__pycache__/__init__.cpython-311.pyc +0 -0
  189. machineconfig/scripts/python/.mypy_cache/.gitignore +0 -2
  190. machineconfig/scripts/python/.mypy_cache/3.11/@plugins_snapshot.json +0 -1
  191. machineconfig/scripts/python/.mypy_cache/3.11/__future__.data.json +0 -1
  192. machineconfig/scripts/python/.mypy_cache/3.11/__future__.meta.json +0 -1
  193. machineconfig/scripts/python/.mypy_cache/3.11/_ast.data.json +0 -1
  194. machineconfig/scripts/python/.mypy_cache/3.11/_ast.meta.json +0 -1
  195. machineconfig/scripts/python/.mypy_cache/3.11/_bz2.data.json +0 -1
  196. machineconfig/scripts/python/.mypy_cache/3.11/_bz2.meta.json +0 -1
  197. machineconfig/scripts/python/.mypy_cache/3.11/_codecs.data.json +0 -1
  198. machineconfig/scripts/python/.mypy_cache/3.11/_codecs.meta.json +0 -1
  199. machineconfig/scripts/python/.mypy_cache/3.11/_collections_abc.data.json +0 -1
  200. machineconfig/scripts/python/.mypy_cache/3.11/_collections_abc.meta.json +0 -1
  201. machineconfig/scripts/python/.mypy_cache/3.11/_compression.data.json +0 -1
  202. machineconfig/scripts/python/.mypy_cache/3.11/_compression.meta.json +0 -1
  203. machineconfig/scripts/python/.mypy_cache/3.11/_decimal.data.json +0 -1
  204. machineconfig/scripts/python/.mypy_cache/3.11/_decimal.meta.json +0 -1
  205. machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib.data.json +0 -1
  206. machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib.meta.json +0 -1
  207. machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib_external.data.json +0 -1
  208. machineconfig/scripts/python/.mypy_cache/3.11/_frozen_importlib_external.meta.json +0 -1
  209. machineconfig/scripts/python/.mypy_cache/3.11/_io.data.json +0 -1
  210. machineconfig/scripts/python/.mypy_cache/3.11/_io.meta.json +0 -1
  211. machineconfig/scripts/python/.mypy_cache/3.11/_locale.data.json +0 -1
  212. machineconfig/scripts/python/.mypy_cache/3.11/_locale.meta.json +0 -1
  213. machineconfig/scripts/python/.mypy_cache/3.11/_stat.data.json +0 -1
  214. machineconfig/scripts/python/.mypy_cache/3.11/_stat.meta.json +0 -1
  215. machineconfig/scripts/python/.mypy_cache/3.11/_struct.data.json +0 -1
  216. machineconfig/scripts/python/.mypy_cache/3.11/_struct.meta.json +0 -1
  217. machineconfig/scripts/python/.mypy_cache/3.11/_thread.data.json +0 -1
  218. machineconfig/scripts/python/.mypy_cache/3.11/_thread.meta.json +0 -1
  219. machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/__init__.data.json +0 -1
  220. machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/__init__.meta.json +0 -1
  221. machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/importlib.data.json +0 -1
  222. machineconfig/scripts/python/.mypy_cache/3.11/_typeshed/importlib.meta.json +0 -1
  223. machineconfig/scripts/python/.mypy_cache/3.11/_warnings.data.json +0 -1
  224. machineconfig/scripts/python/.mypy_cache/3.11/_warnings.meta.json +0 -1
  225. machineconfig/scripts/python/.mypy_cache/3.11/_weakref.data.json +0 -1
  226. machineconfig/scripts/python/.mypy_cache/3.11/_weakref.meta.json +0 -1
  227. machineconfig/scripts/python/.mypy_cache/3.11/_weakrefset.data.json +0 -1
  228. machineconfig/scripts/python/.mypy_cache/3.11/_weakrefset.meta.json +0 -1
  229. machineconfig/scripts/python/.mypy_cache/3.11/abc.data.json +0 -1
  230. machineconfig/scripts/python/.mypy_cache/3.11/abc.meta.json +0 -1
  231. machineconfig/scripts/python/.mypy_cache/3.11/argparse.data.json +0 -1
  232. machineconfig/scripts/python/.mypy_cache/3.11/argparse.meta.json +0 -1
  233. machineconfig/scripts/python/.mypy_cache/3.11/ast.data.json +0 -1
  234. machineconfig/scripts/python/.mypy_cache/3.11/ast.meta.json +0 -1
  235. machineconfig/scripts/python/.mypy_cache/3.11/binascii.data.json +0 -1
  236. machineconfig/scripts/python/.mypy_cache/3.11/binascii.meta.json +0 -1
  237. machineconfig/scripts/python/.mypy_cache/3.11/builtins.data.json +0 -1
  238. machineconfig/scripts/python/.mypy_cache/3.11/builtins.meta.json +0 -1
  239. machineconfig/scripts/python/.mypy_cache/3.11/bz2.data.json +0 -1
  240. machineconfig/scripts/python/.mypy_cache/3.11/bz2.meta.json +0 -1
  241. machineconfig/scripts/python/.mypy_cache/3.11/calendar.data.json +0 -1
  242. machineconfig/scripts/python/.mypy_cache/3.11/calendar.meta.json +0 -1
  243. machineconfig/scripts/python/.mypy_cache/3.11/codecs.data.json +0 -1
  244. machineconfig/scripts/python/.mypy_cache/3.11/codecs.meta.json +0 -1
  245. machineconfig/scripts/python/.mypy_cache/3.11/collections/__init__.data.json +0 -1
  246. machineconfig/scripts/python/.mypy_cache/3.11/collections/__init__.meta.json +0 -1
  247. machineconfig/scripts/python/.mypy_cache/3.11/collections/abc.data.json +0 -1
  248. machineconfig/scripts/python/.mypy_cache/3.11/collections/abc.meta.json +0 -1
  249. machineconfig/scripts/python/.mypy_cache/3.11/configparser.data.json +0 -1
  250. machineconfig/scripts/python/.mypy_cache/3.11/configparser.meta.json +0 -1
  251. machineconfig/scripts/python/.mypy_cache/3.11/contextlib.data.json +0 -1
  252. machineconfig/scripts/python/.mypy_cache/3.11/contextlib.meta.json +0 -1
  253. machineconfig/scripts/python/.mypy_cache/3.11/dataclasses.data.json +0 -1
  254. machineconfig/scripts/python/.mypy_cache/3.11/dataclasses.meta.json +0 -1
  255. machineconfig/scripts/python/.mypy_cache/3.11/datetime.data.json +0 -1
  256. machineconfig/scripts/python/.mypy_cache/3.11/datetime.meta.json +0 -1
  257. machineconfig/scripts/python/.mypy_cache/3.11/decimal.data.json +0 -1
  258. machineconfig/scripts/python/.mypy_cache/3.11/decimal.meta.json +0 -1
  259. machineconfig/scripts/python/.mypy_cache/3.11/dis.data.json +0 -1
  260. machineconfig/scripts/python/.mypy_cache/3.11/dis.meta.json +0 -1
  261. machineconfig/scripts/python/.mypy_cache/3.11/email/__init__.data.json +0 -1
  262. machineconfig/scripts/python/.mypy_cache/3.11/email/__init__.meta.json +0 -1
  263. machineconfig/scripts/python/.mypy_cache/3.11/email/_policybase.data.json +0 -1
  264. machineconfig/scripts/python/.mypy_cache/3.11/email/_policybase.meta.json +0 -1
  265. machineconfig/scripts/python/.mypy_cache/3.11/email/charset.data.json +0 -1
  266. machineconfig/scripts/python/.mypy_cache/3.11/email/charset.meta.json +0 -1
  267. machineconfig/scripts/python/.mypy_cache/3.11/email/contentmanager.data.json +0 -1
  268. machineconfig/scripts/python/.mypy_cache/3.11/email/contentmanager.meta.json +0 -1
  269. machineconfig/scripts/python/.mypy_cache/3.11/email/errors.data.json +0 -1
  270. machineconfig/scripts/python/.mypy_cache/3.11/email/errors.meta.json +0 -1
  271. machineconfig/scripts/python/.mypy_cache/3.11/email/header.data.json +0 -1
  272. machineconfig/scripts/python/.mypy_cache/3.11/email/header.meta.json +0 -1
  273. machineconfig/scripts/python/.mypy_cache/3.11/email/message.data.json +0 -1
  274. machineconfig/scripts/python/.mypy_cache/3.11/email/message.meta.json +0 -1
  275. machineconfig/scripts/python/.mypy_cache/3.11/email/policy.data.json +0 -1
  276. machineconfig/scripts/python/.mypy_cache/3.11/email/policy.meta.json +0 -1
  277. machineconfig/scripts/python/.mypy_cache/3.11/enum.data.json +0 -1
  278. machineconfig/scripts/python/.mypy_cache/3.11/enum.meta.json +0 -1
  279. machineconfig/scripts/python/.mypy_cache/3.11/fnmatch.data.json +0 -1
  280. machineconfig/scripts/python/.mypy_cache/3.11/fnmatch.meta.json +0 -1
  281. machineconfig/scripts/python/.mypy_cache/3.11/functools.data.json +0 -1
  282. machineconfig/scripts/python/.mypy_cache/3.11/functools.meta.json +0 -1
  283. machineconfig/scripts/python/.mypy_cache/3.11/gc.data.json +0 -1
  284. machineconfig/scripts/python/.mypy_cache/3.11/gc.meta.json +0 -1
  285. machineconfig/scripts/python/.mypy_cache/3.11/genericpath.data.json +0 -1
  286. machineconfig/scripts/python/.mypy_cache/3.11/genericpath.meta.json +0 -1
  287. machineconfig/scripts/python/.mypy_cache/3.11/getpass.data.json +0 -1
  288. machineconfig/scripts/python/.mypy_cache/3.11/getpass.meta.json +0 -1
  289. machineconfig/scripts/python/.mypy_cache/3.11/git/__init__.data.json +0 -1
  290. machineconfig/scripts/python/.mypy_cache/3.11/git/__init__.meta.json +0 -1
  291. machineconfig/scripts/python/.mypy_cache/3.11/git/cmd.data.json +0 -1
  292. machineconfig/scripts/python/.mypy_cache/3.11/git/cmd.meta.json +0 -1
  293. machineconfig/scripts/python/.mypy_cache/3.11/git/compat.data.json +0 -1
  294. machineconfig/scripts/python/.mypy_cache/3.11/git/compat.meta.json +0 -1
  295. machineconfig/scripts/python/.mypy_cache/3.11/git/config.data.json +0 -1
  296. machineconfig/scripts/python/.mypy_cache/3.11/git/config.meta.json +0 -1
  297. machineconfig/scripts/python/.mypy_cache/3.11/git/db.data.json +0 -1
  298. machineconfig/scripts/python/.mypy_cache/3.11/git/db.meta.json +0 -1
  299. machineconfig/scripts/python/.mypy_cache/3.11/git/diff.data.json +0 -1
  300. machineconfig/scripts/python/.mypy_cache/3.11/git/diff.meta.json +0 -1
  301. machineconfig/scripts/python/.mypy_cache/3.11/git/exc.data.json +0 -1
  302. machineconfig/scripts/python/.mypy_cache/3.11/git/exc.meta.json +0 -1
  303. machineconfig/scripts/python/.mypy_cache/3.11/git/index/__init__.data.json +0 -1
  304. machineconfig/scripts/python/.mypy_cache/3.11/git/index/__init__.meta.json +0 -1
  305. machineconfig/scripts/python/.mypy_cache/3.11/git/index/base.data.json +0 -1
  306. machineconfig/scripts/python/.mypy_cache/3.11/git/index/base.meta.json +0 -1
  307. machineconfig/scripts/python/.mypy_cache/3.11/git/index/fun.data.json +0 -1
  308. machineconfig/scripts/python/.mypy_cache/3.11/git/index/fun.meta.json +0 -1
  309. machineconfig/scripts/python/.mypy_cache/3.11/git/index/typ.data.json +0 -1
  310. machineconfig/scripts/python/.mypy_cache/3.11/git/index/typ.meta.json +0 -1
  311. machineconfig/scripts/python/.mypy_cache/3.11/git/index/util.data.json +0 -1
  312. machineconfig/scripts/python/.mypy_cache/3.11/git/index/util.meta.json +0 -1
  313. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/__init__.data.json +0 -1
  314. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/__init__.meta.json +0 -1
  315. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/base.data.json +0 -1
  316. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/base.meta.json +0 -1
  317. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/blob.data.json +0 -1
  318. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/blob.meta.json +0 -1
  319. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/commit.data.json +0 -1
  320. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/commit.meta.json +0 -1
  321. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/fun.data.json +0 -1
  322. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/fun.meta.json +0 -1
  323. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/__init__.data.json +0 -1
  324. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/__init__.meta.json +0 -1
  325. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/base.data.json +0 -1
  326. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/base.meta.json +0 -1
  327. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/root.data.json +0 -1
  328. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/root.meta.json +0 -1
  329. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/util.data.json +0 -1
  330. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/submodule/util.meta.json +0 -1
  331. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tag.data.json +0 -1
  332. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tag.meta.json +0 -1
  333. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tree.data.json +0 -1
  334. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/tree.meta.json +0 -1
  335. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/util.data.json +0 -1
  336. machineconfig/scripts/python/.mypy_cache/3.11/git/objects/util.meta.json +0 -1
  337. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/__init__.data.json +0 -1
  338. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/__init__.meta.json +0 -1
  339. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/head.data.json +0 -1
  340. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/head.meta.json +0 -1
  341. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/log.data.json +0 -1
  342. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/log.meta.json +0 -1
  343. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/reference.data.json +0 -1
  344. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/reference.meta.json +0 -1
  345. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/remote.data.json +0 -1
  346. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/remote.meta.json +0 -1
  347. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/symbolic.data.json +0 -1
  348. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/symbolic.meta.json +0 -1
  349. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/tag.data.json +0 -1
  350. machineconfig/scripts/python/.mypy_cache/3.11/git/refs/tag.meta.json +0 -1
  351. machineconfig/scripts/python/.mypy_cache/3.11/git/remote.data.json +0 -1
  352. machineconfig/scripts/python/.mypy_cache/3.11/git/remote.meta.json +0 -1
  353. machineconfig/scripts/python/.mypy_cache/3.11/git/repo/__init__.data.json +0 -1
  354. machineconfig/scripts/python/.mypy_cache/3.11/git/repo/__init__.meta.json +0 -1
  355. machineconfig/scripts/python/.mypy_cache/3.11/git/repo/base.data.json +0 -1
  356. machineconfig/scripts/python/.mypy_cache/3.11/git/repo/base.meta.json +0 -1
  357. machineconfig/scripts/python/.mypy_cache/3.11/git/repo/fun.data.json +0 -1
  358. machineconfig/scripts/python/.mypy_cache/3.11/git/repo/fun.meta.json +0 -1
  359. machineconfig/scripts/python/.mypy_cache/3.11/git/types.data.json +0 -1
  360. machineconfig/scripts/python/.mypy_cache/3.11/git/types.meta.json +0 -1
  361. machineconfig/scripts/python/.mypy_cache/3.11/git/util.data.json +0 -1
  362. machineconfig/scripts/python/.mypy_cache/3.11/git/util.meta.json +0 -1
  363. machineconfig/scripts/python/.mypy_cache/3.11/glob.data.json +0 -1
  364. machineconfig/scripts/python/.mypy_cache/3.11/glob.meta.json +0 -1
  365. machineconfig/scripts/python/.mypy_cache/3.11/gzip.data.json +0 -1
  366. machineconfig/scripts/python/.mypy_cache/3.11/gzip.meta.json +0 -1
  367. machineconfig/scripts/python/.mypy_cache/3.11/importlib/__init__.data.json +0 -1
  368. machineconfig/scripts/python/.mypy_cache/3.11/importlib/__init__.meta.json +0 -1
  369. machineconfig/scripts/python/.mypy_cache/3.11/importlib/_abc.data.json +0 -1
  370. machineconfig/scripts/python/.mypy_cache/3.11/importlib/_abc.meta.json +0 -1
  371. machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap.data.json +0 -1
  372. machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap.meta.json +0 -1
  373. machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap_external.data.json +0 -1
  374. machineconfig/scripts/python/.mypy_cache/3.11/importlib/_bootstrap_external.meta.json +0 -1
  375. machineconfig/scripts/python/.mypy_cache/3.11/importlib/abc.data.json +0 -1
  376. machineconfig/scripts/python/.mypy_cache/3.11/importlib/abc.meta.json +0 -1
  377. machineconfig/scripts/python/.mypy_cache/3.11/importlib/machinery.data.json +0 -1
  378. machineconfig/scripts/python/.mypy_cache/3.11/importlib/machinery.meta.json +0 -1
  379. machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/__init__.data.json +0 -1
  380. machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/__init__.meta.json +0 -1
  381. machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/_meta.data.json +0 -1
  382. machineconfig/scripts/python/.mypy_cache/3.11/importlib/metadata/_meta.meta.json +0 -1
  383. machineconfig/scripts/python/.mypy_cache/3.11/importlib/readers.data.json +0 -1
  384. machineconfig/scripts/python/.mypy_cache/3.11/importlib/readers.meta.json +0 -1
  385. machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/__init__.data.json +0 -1
  386. machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/__init__.meta.json +0 -1
  387. machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/_common.data.json +0 -1
  388. machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/_common.meta.json +0 -1
  389. machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/abc.data.json +0 -1
  390. machineconfig/scripts/python/.mypy_cache/3.11/importlib/resources/abc.meta.json +0 -1
  391. machineconfig/scripts/python/.mypy_cache/3.11/inspect.data.json +0 -1
  392. machineconfig/scripts/python/.mypy_cache/3.11/inspect.meta.json +0 -1
  393. machineconfig/scripts/python/.mypy_cache/3.11/io.data.json +0 -1
  394. machineconfig/scripts/python/.mypy_cache/3.11/io.meta.json +0 -1
  395. machineconfig/scripts/python/.mypy_cache/3.11/itertools.data.json +0 -1
  396. machineconfig/scripts/python/.mypy_cache/3.11/itertools.meta.json +0 -1
  397. machineconfig/scripts/python/.mypy_cache/3.11/locale.data.json +0 -1
  398. machineconfig/scripts/python/.mypy_cache/3.11/locale.meta.json +0 -1
  399. machineconfig/scripts/python/.mypy_cache/3.11/logging/__init__.data.json +0 -1
  400. machineconfig/scripts/python/.mypy_cache/3.11/logging/__init__.meta.json +0 -1
  401. machineconfig/scripts/python/.mypy_cache/3.11/mimetypes.data.json +0 -1
  402. machineconfig/scripts/python/.mypy_cache/3.11/mimetypes.meta.json +0 -1
  403. machineconfig/scripts/python/.mypy_cache/3.11/mmap.data.json +0 -1
  404. machineconfig/scripts/python/.mypy_cache/3.11/mmap.meta.json +0 -1
  405. machineconfig/scripts/python/.mypy_cache/3.11/numbers.data.json +0 -1
  406. machineconfig/scripts/python/.mypy_cache/3.11/numbers.meta.json +0 -1
  407. machineconfig/scripts/python/.mypy_cache/3.11/opcode.data.json +0 -1
  408. machineconfig/scripts/python/.mypy_cache/3.11/opcode.meta.json +0 -1
  409. machineconfig/scripts/python/.mypy_cache/3.11/os/__init__.data.json +0 -1
  410. machineconfig/scripts/python/.mypy_cache/3.11/os/__init__.meta.json +0 -1
  411. machineconfig/scripts/python/.mypy_cache/3.11/os/path.data.json +0 -1
  412. machineconfig/scripts/python/.mypy_cache/3.11/os/path.meta.json +0 -1
  413. machineconfig/scripts/python/.mypy_cache/3.11/pathlib.data.json +0 -1
  414. machineconfig/scripts/python/.mypy_cache/3.11/pathlib.meta.json +0 -1
  415. machineconfig/scripts/python/.mypy_cache/3.11/platform.data.json +0 -1
  416. machineconfig/scripts/python/.mypy_cache/3.11/platform.meta.json +0 -1
  417. machineconfig/scripts/python/.mypy_cache/3.11/posixpath.data.json +0 -1
  418. machineconfig/scripts/python/.mypy_cache/3.11/posixpath.meta.json +0 -1
  419. machineconfig/scripts/python/.mypy_cache/3.11/re.data.json +0 -1
  420. machineconfig/scripts/python/.mypy_cache/3.11/re.meta.json +0 -1
  421. machineconfig/scripts/python/.mypy_cache/3.11/resource.data.json +0 -1
  422. machineconfig/scripts/python/.mypy_cache/3.11/resource.meta.json +0 -1
  423. machineconfig/scripts/python/.mypy_cache/3.11/shlex.data.json +0 -1
  424. machineconfig/scripts/python/.mypy_cache/3.11/shlex.meta.json +0 -1
  425. machineconfig/scripts/python/.mypy_cache/3.11/shutil.data.json +0 -1
  426. machineconfig/scripts/python/.mypy_cache/3.11/shutil.meta.json +0 -1
  427. machineconfig/scripts/python/.mypy_cache/3.11/signal.data.json +0 -1
  428. machineconfig/scripts/python/.mypy_cache/3.11/signal.meta.json +0 -1
  429. machineconfig/scripts/python/.mypy_cache/3.11/src/__init__.data.json +0 -1
  430. machineconfig/scripts/python/.mypy_cache/3.11/src/__init__.meta.json +0 -1
  431. machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/__init__.data.json +0 -1
  432. machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/__init__.meta.json +0 -1
  433. machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/__init__.data.json +0 -1
  434. machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/__init__.meta.json +0 -1
  435. machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/python/__init__.data.json +0 -1
  436. machineconfig/scripts/python/.mypy_cache/3.11/src/machineconfig/scripts/python/__init__.meta.json +0 -1
  437. machineconfig/scripts/python/.mypy_cache/3.11/sre_compile.data.json +0 -1
  438. machineconfig/scripts/python/.mypy_cache/3.11/sre_compile.meta.json +0 -1
  439. machineconfig/scripts/python/.mypy_cache/3.11/sre_constants.data.json +0 -1
  440. machineconfig/scripts/python/.mypy_cache/3.11/sre_constants.meta.json +0 -1
  441. machineconfig/scripts/python/.mypy_cache/3.11/sre_parse.data.json +0 -1
  442. machineconfig/scripts/python/.mypy_cache/3.11/sre_parse.meta.json +0 -1
  443. machineconfig/scripts/python/.mypy_cache/3.11/stat.data.json +0 -1
  444. machineconfig/scripts/python/.mypy_cache/3.11/stat.meta.json +0 -1
  445. machineconfig/scripts/python/.mypy_cache/3.11/string.data.json +0 -1
  446. machineconfig/scripts/python/.mypy_cache/3.11/string.meta.json +0 -1
  447. machineconfig/scripts/python/.mypy_cache/3.11/struct.data.json +0 -1
  448. machineconfig/scripts/python/.mypy_cache/3.11/struct.meta.json +0 -1
  449. machineconfig/scripts/python/.mypy_cache/3.11/subprocess.data.json +0 -1
  450. machineconfig/scripts/python/.mypy_cache/3.11/subprocess.meta.json +0 -1
  451. machineconfig/scripts/python/.mypy_cache/3.11/sys/__init__.data.json +0 -1
  452. machineconfig/scripts/python/.mypy_cache/3.11/sys/__init__.meta.json +0 -1
  453. machineconfig/scripts/python/.mypy_cache/3.11/tarfile.data.json +0 -1
  454. machineconfig/scripts/python/.mypy_cache/3.11/tarfile.meta.json +0 -1
  455. machineconfig/scripts/python/.mypy_cache/3.11/tempfile.data.json +0 -1
  456. machineconfig/scripts/python/.mypy_cache/3.11/tempfile.meta.json +0 -1
  457. machineconfig/scripts/python/.mypy_cache/3.11/textwrap.data.json +0 -1
  458. machineconfig/scripts/python/.mypy_cache/3.11/textwrap.meta.json +0 -1
  459. machineconfig/scripts/python/.mypy_cache/3.11/threading.data.json +0 -1
  460. machineconfig/scripts/python/.mypy_cache/3.11/threading.meta.json +0 -1
  461. machineconfig/scripts/python/.mypy_cache/3.11/time.data.json +0 -1
  462. machineconfig/scripts/python/.mypy_cache/3.11/time.meta.json +0 -1
  463. machineconfig/scripts/python/.mypy_cache/3.11/types.data.json +0 -1
  464. machineconfig/scripts/python/.mypy_cache/3.11/types.meta.json +0 -1
  465. machineconfig/scripts/python/.mypy_cache/3.11/typing.data.json +0 -1
  466. machineconfig/scripts/python/.mypy_cache/3.11/typing.meta.json +0 -1
  467. machineconfig/scripts/python/.mypy_cache/3.11/typing_extensions.data.json +0 -1
  468. machineconfig/scripts/python/.mypy_cache/3.11/typing_extensions.meta.json +0 -1
  469. machineconfig/scripts/python/.mypy_cache/3.11/urllib/__init__.data.json +0 -1
  470. machineconfig/scripts/python/.mypy_cache/3.11/urllib/__init__.meta.json +0 -1
  471. machineconfig/scripts/python/.mypy_cache/3.11/urllib/parse.data.json +0 -1
  472. machineconfig/scripts/python/.mypy_cache/3.11/urllib/parse.meta.json +0 -1
  473. machineconfig/scripts/python/.mypy_cache/3.11/uuid.data.json +0 -1
  474. machineconfig/scripts/python/.mypy_cache/3.11/uuid.meta.json +0 -1
  475. machineconfig/scripts/python/.mypy_cache/3.11/warnings.data.json +0 -1
  476. machineconfig/scripts/python/.mypy_cache/3.11/warnings.meta.json +0 -1
  477. machineconfig/scripts/python/.mypy_cache/3.11/weakref.data.json +0 -1
  478. machineconfig/scripts/python/.mypy_cache/3.11/weakref.meta.json +0 -1
  479. machineconfig/scripts/python/.mypy_cache/3.11/zipfile/__init__.data.json +0 -1
  480. machineconfig/scripts/python/.mypy_cache/3.11/zipfile/__init__.meta.json +0 -1
  481. machineconfig/scripts/python/.mypy_cache/3.11/zlib.data.json +0 -1
  482. machineconfig/scripts/python/.mypy_cache/3.11/zlib.meta.json +0 -1
  483. machineconfig/scripts/python/.mypy_cache/CACHEDIR.TAG +0 -3
  484. machineconfig/scripts/python/__pycache__/cloud_repo_sync.cpython-311.pyc +0 -0
  485. machineconfig/scripts/python/__pycache__/gh_models.cpython-311.pyc +0 -0
  486. machineconfig/scripts/python/__pycache__/url2md.cpython-311.pyc +0 -0
  487. machineconfig/scripts/python/__pycache__/viewer.cpython-311.pyc +0 -0
  488. machineconfig/scripts/python/__pycache__/vscode_api.cpython-311.pyc +0 -0
  489. machineconfig/settings/__pycache__/__init__.cpython-311.pyc +0 -0
  490. machineconfig/settings/linters/.ruff_cache/.gitignore +0 -2
  491. machineconfig/settings/linters/.ruff_cache/CACHEDIR.TAG +0 -1
  492. machineconfig/settings/shells/ipy/profiles/default/__pycache__/__init__.cpython-311.pyc +0 -0
  493. machineconfig/settings/shells/ipy/profiles/default/startup/__pycache__/__init__.cpython-311.pyc +0 -0
  494. machineconfig/settings/shells/ipy/profiles/default/startup/__pycache__/playext.cpython-311.pyc +0 -0
  495. machineconfig/utils/ve_utils/ve1.py +0 -111
  496. machineconfig/utils/ve_utils/ve2.py +0 -155
  497. machineconfig-1.95.dist-info/RECORD +0 -712
  498. {machineconfig-1.95.dist-info → machineconfig-1.96.dist-info}/WHEEL +0 -0
  499. {machineconfig-1.95.dist-info → machineconfig-1.96.dist-info}/top_level.txt +0 -0
@@ -2,8 +2,12 @@
2
2
  "speedtest": {
3
3
  "repo_url": "https://install.speedtest.net/app/cli/ookla-speedtest-1.2.0-linux-x86_64.tgz",
4
4
  "doc": "🚀 Test your internet connection speed and ping using speedtest.net from the CLI",
5
- "filename_template_windows_amd_64": "speedtest",
6
- "filename_template_linux_amd_64": "speedtest",
5
+ "filename_template_windows_amd_64": "https://install.speedtest.net/app/cli/ookla-speedtest-1.2.0-win64.zip",
6
+ "filename_template_windows_arm_64": "",
7
+ "filename_template_linux_amd_64": "https://install.speedtest.net/app/cli/ookla-speedtest-1.2.0-linux-x86_64.tgz",
8
+ "filename_template_linux_arm_64": "https://install.speedtest.net/app/cli/ookla-speedtest-1.2.0-linux-aarch64.tgz",
9
+ "filename_template_macos_amd_64": "https://install.speedtest.net/app/cli/ookla-speedtest-1.2.0-macosx-x86_64.tgz",
10
+ "filename_template_macos_arm_64": "https://install.speedtest.net/app/cli/ookla-speedtest-1.2.0-macosx-universal.tgz",
7
11
  "strip_v": false,
8
12
  "exe_name": "speedtest"
9
13
  },
@@ -11,7 +15,11 @@
11
15
  "repo_url": "https://github.com/doronbehar/pistol",
12
16
  "doc": "👁️ file previewer.",
13
17
  "filename_template_windows_amd_64": "",
18
+ "filename_template_windows_arm_64": "",
14
19
  "filename_template_linux_amd_64": "pistol-static-linux-x86_64",
20
+ "filename_template_linux_arm_64": "pistol-static-linux-aarch64",
21
+ "filename_template_macos_amd_64": "",
22
+ "filename_template_macos_arm_64": "",
15
23
  "strip_v": true,
16
24
  "exe_name": "pistol"
17
25
  },
@@ -19,7 +27,11 @@
19
27
  "repo_url": "curl -sL https://aka.ms/DevTunnelCliInstall | bash",
20
28
  "doc": "🔄 devtunnel secure introspectable tunnels to localhost",
21
29
  "filename_template_windows_amd_64": "",
30
+ "filename_template_windows_arm_64": "",
22
31
  "filename_template_linux_amd_64": "",
32
+ "filename_template_linux_arm_64": "",
33
+ "filename_template_macos_amd_64": "",
34
+ "filename_template_macos_arm_64": "",
23
35
  "strip_v": false,
24
36
  "exe_name": "devtunnel"
25
37
  },
@@ -27,7 +39,11 @@
27
39
  "repo_url": "https://github.com/imsnif/diskonaut",
28
40
  "doc": "💾 like dua, diskonaut is a terminal disk space navigator.",
29
41
  "filename_template_windows_amd_64": "",
42
+ "filename_template_windows_arm_64": "",
30
43
  "filename_template_linux_amd_64": "diskonaut-{}-unknown-linux-musl.tar.gz",
44
+ "filename_template_linux_arm_64": "",
45
+ "filename_template_macos_amd_64": "",
46
+ "filename_template_macos_arm_64": "",
31
47
  "strip_v": true,
32
48
  "exe_name": "diskonaut"
33
49
  },
@@ -35,39 +51,59 @@
35
51
  "repo_url": "https://github.com/sayanarijit/xplr",
36
52
  "doc": "📂 A terminal file explorer with vi keybindings",
37
53
  "filename_template_windows_amd_64": "",
54
+ "filename_template_windows_arm_64": "",
38
55
  "filename_template_linux_amd_64": "xplr-linux.tar.gz",
56
+ "filename_template_linux_arm_64": "xplr-linux-aarch64.tar.gz",
57
+ "filename_template_macos_amd_64": "xplr-macos.tar.gz",
58
+ "filename_template_macos_arm_64": "xplr-macos.tar.gz",
39
59
  "strip_v": false,
40
60
  "exe_name": "xplr"
41
61
  },
42
62
  "btop": {
43
63
  "repo_url": "https://github.com/aristocratos/btop",
44
64
  "doc": "📊 btop is a resource monitor for Linux, FreeBSD and MacOS.",
45
- "filename_template_linux_amd_64": "btop-x86_64-linux-musl.tbz",
46
65
  "filename_template_windows_amd_64": "",
66
+ "filename_template_windows_arm_64": "",
67
+ "filename_template_linux_amd_64": "btop-x86_64-linux-musl.tbz",
68
+ "filename_template_linux_arm_64": "btop-aarch64-linux-musl.tbz",
69
+ "filename_template_macos_amd_64": "",
70
+ "filename_template_macos_arm_64": "",
47
71
  "strip_v": false,
48
72
  "exe_name": "btop"
49
73
  },
50
74
  "gotty": {
51
75
  "repo_url": "https://github.com/sorenisanerd/gotty",
52
76
  "doc": "🌐 gotty is a simple command line tool that turns your CLI tools into web applications.",
53
- "filename_template_linux_amd_64": "gotty_{}_linux_amd64.tar.gz",
54
77
  "filename_template_windows_amd_64": "",
78
+ "filename_template_windows_arm_64": "",
79
+ "filename_template_linux_amd_64": "gotty_{}_linux_amd64.tar.gz",
80
+ "filename_template_linux_arm_64": "gotty_{}_linux_arm64.tar.gz",
81
+ "filename_template_macos_amd_64": "gotty_{}_darwin_amd64.tar.gz",
82
+ "filename_template_macos_arm_64": "gotty_{}_darwin_arm64.tar.gz",
55
83
  "strip_v": false,
56
84
  "exe_name": "gotty"
57
85
  },
58
86
  "joshuto": {
59
87
  "repo_url": "https://github.com/kamiyaa/joshuto",
60
88
  "doc": "📂 A terminal file manager written in Rust.",
61
- "filename_template_linux_amd_64": "joshuto-{}-x86_64-unknown-linux-musl.tar.gz",
62
89
  "filename_template_windows_amd_64": "",
90
+ "filename_template_windows_arm_64": "",
91
+ "filename_template_linux_amd_64": "joshuto-{}-x86_64-unknown-linux-musl.tar.gz",
92
+ "filename_template_linux_arm_64": "joshuto-{}-aarch64-unknown-linux-musl.tar.gz",
93
+ "filename_template_macos_amd_64": "joshuto-{}-x86_64-apple-darwin.tar.gz",
94
+ "filename_template_macos_arm_64": "joshuto-{}-aarch64-apple-darwin.tar.gz",
63
95
  "strip_v": false,
64
96
  "exe_name": "joshuto"
65
97
  },
66
98
  "zellij": {
67
99
  "repo_url": "https://github.com/zellij-org/zellij",
68
100
  "doc": "🖥️ Zellij is a terminal workspace with support for multiple plugins, such as a terminal, status bar, tabs, splits, etc.",
69
- "filename_template_linux_amd_64": "zellij-x86_64-unknown-linux-musl.tar.gz",
70
101
  "filename_template_windows_amd_64": "",
102
+ "filename_template_windows_arm_64": "",
103
+ "filename_template_linux_amd_64": "zellij-x86_64-unknown-linux-musl.tar.gz",
104
+ "filename_template_linux_arm_64": "zellij-aarch64-unknown-linux-musl.tar.gz",
105
+ "filename_template_macos_amd_64": "zellij-x86_64-apple-darwin.tar.gz",
106
+ "filename_template_macos_arm_64": "zellij-aarch64-apple-darwin.tar.gz",
71
107
  "strip_v": false,
72
108
  "exe_name": "zellij"
73
109
  }
@@ -3,7 +3,11 @@
3
3
  "repo_url": "https://github.com/sudipghimire533/ytui-music",
4
4
  "doc": "🎵 A terminal based YouTube music player written in Rust.",
5
5
  "filename_template_windows_amd_64": "",
6
+ "filename_template_windows_arm_64": "",
6
7
  "filename_template_linux_amd_64": "ytui_music-linux-amd64",
8
+ "filename_template_linux_arm_64": "",
9
+ "filename_template_macos_amd_64": "",
10
+ "filename_template_macos_arm_64": "",
7
11
  "strip_v": true,
8
12
  "exe_name": "ytui-music"
9
13
  },
@@ -11,7 +15,11 @@
11
15
  "repo_url": "https://github.com/Siriusmart/youtube-tui",
12
16
  "doc": "🎵 A terminal based YouTube music player written in Rust.",
13
17
  "filename_template_windows_amd_64": "",
18
+ "filename_template_windows_arm_64": "",
14
19
  "filename_template_linux_amd_64": "youtube-tui-full_arch-x86_64",
20
+ "filename_template_linux_arm_64": "",
21
+ "filename_template_macos_amd_64": "",
22
+ "filename_template_macos_arm_64": "",
15
23
  "strip_v": true,
16
24
  "exe_name": "youtube-tui"
17
25
  },
@@ -19,7 +27,11 @@
19
27
  "repo_url": "https://github.com/tramhao/termusic",
20
28
  "doc": "🎵 A terminal-based music player written in Rust.",
21
29
  "filename_template_windows_amd_64": "termusic-{}-x86_64-windows.zip",
30
+ "filename_template_windows_arm_64": "",
22
31
  "filename_template_linux_amd_64": "termusic-{}-x86_64-linux.tar.xz",
32
+ "filename_template_linux_arm_64": "",
33
+ "filename_template_macos_amd_64": "termusic-{}-x86_64-macos.tar.xz",
34
+ "filename_template_macos_arm_64": "",
23
35
  "strip_v": false,
24
36
  "exe_name": "termusic"
25
37
  },
@@ -27,15 +39,23 @@
27
39
  "repo_url": "https://github.com/TrevorSatori/kronos",
28
40
  "doc": "🎵 A Customizable Terminal Music Player For Offline Listening",
29
41
  "filename_template_windows_amd_64": "",
42
+ "filename_template_windows_arm_64": "",
30
43
  "filename_template_linux_amd_64": "Kronos",
44
+ "filename_template_linux_arm_64": "",
45
+ "filename_template_macos_amd_64": "",
46
+ "filename_template_macos_arm_64": "",
31
47
  "strip_v": true,
32
48
  "exe_name": "kronos"
33
49
  },
34
50
  "transmission": {
35
51
  "repo_url": "https://github.com/transmission/transmission",
36
52
  "doc": "📥 A fast, easy, and free BitTorrent client.",
37
- "filename_template_windows_amd_64": "",
53
+ "filename_template_windows_amd_64": "transmission-{}-x64.msi",
54
+ "filename_template_windows_arm_64": "",
38
55
  "filename_template_linux_amd_64": "transmission-{}.tar.xz",
56
+ "filename_template_linux_arm_64": "",
57
+ "filename_template_macos_amd_64": "Transmission-{}.dmg",
58
+ "filename_template_macos_arm_64": "Transmission-{}.dmg",
39
59
  "strip_v": true,
40
60
  "exe_name": "transmission"
41
61
  },
@@ -43,7 +63,11 @@
43
63
  "repo_url": "https://github.com/jarun/nnn",
44
64
  "doc": "📂 A terminal-based file manager.",
45
65
  "filename_template_windows_amd_64": "",
46
- "filename_template_linux_amd_64": "nnn-{}.tar.gz",
66
+ "filename_template_windows_arm_64": "",
67
+ "filename_template_linux_amd_64": "",
68
+ "filename_template_linux_arm_64": "",
69
+ "filename_template_macos_amd_64": "",
70
+ "filename_template_macos_arm_64": "",
47
71
  "strip_v": false,
48
72
  "exe_name": "nnn"
49
73
  },
@@ -51,7 +75,11 @@
51
75
  "repo_url": "https://github.com/ogham/exa",
52
76
  "doc": "📂 A modern replacement for ls. lsd alternative.",
53
77
  "filename_template_windows_amd_64": "",
78
+ "filename_template_windows_arm_64": "",
54
79
  "filename_template_linux_amd_64": "exa-linux-x86_64-{}.zip",
80
+ "filename_template_linux_arm_64": "exa-linux-armv7-{}.zip",
81
+ "filename_template_macos_amd_64": "exa-macos-x86_64-{}.zip",
82
+ "filename_template_macos_arm_64": "",
55
83
  "strip_v": false,
56
84
  "exe_name": "exa"
57
85
  },
@@ -59,7 +87,11 @@
59
87
  "repo_url": "https://github.com/koute/bytehound",
60
88
  "doc": "🔍 Inspecting the memory usage of a running process",
61
89
  "filename_template_windows_amd_64": "",
90
+ "filename_template_windows_arm_64": "",
62
91
  "filename_template_linux_amd_64": "bytehound-x86_64-unknown-linux-gnu.tgz",
92
+ "filename_template_linux_arm_64": "",
93
+ "filename_template_macos_amd_64": "",
94
+ "filename_template_macos_arm_64": "",
63
95
  "strip_v": false,
64
96
  "exe_name": "bytehound"
65
97
  },
@@ -67,7 +99,11 @@
67
99
  "repo_url": "https://github.com/atuinsh/atuin",
68
100
  "doc": "🔍 Shell history search tool. Mcfly alternative",
69
101
  "filename_template_windows_amd_64": "",
70
- "filename_template_linux_amd_64": "atuin-x86_64-unknown-linux-musl.tar.gz",
102
+ "filename_template_windows_arm_64": "",
103
+ "filename_template_linux_amd_64": "atuin-x86_64-unknown-linux-gnu.tar.gz",
104
+ "filename_template_linux_arm_64": "atuin-aarch64-unknown-linux-gnu.tar.gz",
105
+ "filename_template_macos_amd_64": "atuin-x86_64-apple-darwin.tar.gz",
106
+ "filename_template_macos_arm_64": "atuin-aarch64-apple-darwin.tar.gz",
71
107
  "strip_v": false,
72
108
  "exe_name": "atuin"
73
109
  },
@@ -75,31 +111,47 @@
75
111
  "repo_url": "https://github.com/browsh-org/browsh",
76
112
  "doc": "🌐 browser in the shell",
77
113
  "filename_template_windows_amd_64": "browsh_{}_windows_amd64.exe",
78
- "filename_template_linux_amd_64": "browsh-{}.xpi",
114
+ "filename_template_windows_arm_64": "browsh_{}_windows_arm64.exe",
115
+ "filename_template_linux_amd_64": "browsh_{}_linux_amd64",
116
+ "filename_template_linux_arm_64": "browsh_{}_linux_arm64",
117
+ "filename_template_macos_amd_64": "browsh_{}_darwin_amd64",
118
+ "filename_template_macos_arm_64": "browsh_{}_darwin_arm64",
79
119
  "strip_v": true,
80
120
  "exe_name": "browsh"
81
121
  },
82
122
  "carbonyl": {
83
123
  "repo_url": "https://github.com/fathyb/carbonyl",
84
- "doc": "🌐 Brwoser in terminal. Browsh alternative.",
124
+ "doc": "A Chromium based browser built to run in a terminal",
85
125
  "filename_template_windows_amd_64": "",
86
- "filename_template_linux_amd_64": "carbonyl.linux-amd64.zip",
87
- "strip_v": false,
126
+ "filename_template_windows_arm_64": "",
127
+ "filename_template_linux_amd_64": "carbonyl.linux-x86_64.zip",
128
+ "filename_template_linux_arm_64": "carbonyl.linux-arm64.zip",
129
+ "filename_template_macos_amd_64": "carbonyl.macos-x86_64.zip",
130
+ "filename_template_macos_arm_64": "carbonyl.macos-arm64.zip",
131
+ "strip_v": true,
88
132
  "exe_name": "carbonyl"
89
133
  },
90
134
  "patat": {
91
135
  "repo_url": "https://github.com/jaspervdj/patat",
92
136
  "doc": "🎯 Terminal-based presentations using Pandoc. Presenterm alternative.",
93
137
  "filename_template_windows_amd_64": "",
138
+ "filename_template_windows_arm_64": "",
94
139
  "filename_template_linux_amd_64": "patat-{}-linux-x86_64.tar.gz",
140
+ "filename_template_linux_arm_64": "",
141
+ "filename_template_macos_amd_64": "",
142
+ "filename_template_macos_arm_64": "patat-{}-darwin-arm64.zip",
95
143
  "strip_v": false,
96
144
  "exe_name": "patat"
97
145
  },
98
146
  "SqliteBrowser": {
99
147
  "repo_url": "https://github.com/sqlitebrowser/sqlitebrowser",
100
148
  "doc": "🗃️ A visual tool to create, design, and edit database files compatible with SQLite.",
101
- "filename_template_windows_amd_64": "sqlitebrowser-{}-win64.zip",
102
- "filename_template_linux_amd_64": "DB_Browser_for_SQLite-{}-x86_64.AppImage",
149
+ "filename_template_windows_amd_64": "DB.Browser.for.SQLite-{}-win64.zip",
150
+ "filename_template_windows_arm_64": "",
151
+ "filename_template_linux_amd_64": "DB.Browser.for.SQLite-{}-x86.64-v2.AppImage",
152
+ "filename_template_linux_arm_64": "",
153
+ "filename_template_macos_amd_64": "DB.Browser.for.SQLite-{}.dmg",
154
+ "filename_template_macos_arm_64": "DB.Browser.for.SQLite-{}.dmg",
103
155
  "strip_v": false,
104
156
  "exe_name": "sqlite_browser"
105
157
  },
@@ -107,7 +159,11 @@
107
159
  "repo_url": "https://github.com/dbeaver/dbeaver",
108
160
  "doc": "🗃️ Free universal database tool and SQL client.",
109
161
  "filename_template_windows_amd_64": "dbeaver-ce-{}-win32.win32.x86_64.zip",
162
+ "filename_template_windows_arm_64": "",
110
163
  "filename_template_linux_amd_64": "dbeaver-ce-{}-linux.gtk.x86_64.tar.gz",
164
+ "filename_template_linux_arm_64": "dbeaver-ce-{}-linux.gtk.aarch64.tar.gz",
165
+ "filename_template_macos_amd_64": "dbeaver-ce-{}-macos-cocoa.x86_64.tar.gz",
166
+ "filename_template_macos_arm_64": "dbeaver-ce-{}-macos-cocoa.aarch64.tar.gz",
111
167
  "strip_v": true,
112
168
  "exe_name": "dbeaver"
113
169
  },
@@ -115,23 +171,35 @@
115
171
  "repo_url": "https://github.com/achristmascarl/rainfrog",
116
172
  "doc": "🗃️ TUI DB Visualizer",
117
173
  "filename_template_windows_amd_64": "rainfrog-{}-x86_64-pc-windows-msvc.tar.gz",
174
+ "filename_template_windows_arm_64": "rainfrog-{}-aarch64-pc-windows-msvc.tar.gz",
118
175
  "filename_template_linux_amd_64": "rainfrog-{}-x86_64-unknown-linux-musl.tar.gz",
176
+ "filename_template_linux_arm_64": "rainfrog-{}-aarch64-unknown-linux-musl.tar.gz",
177
+ "filename_template_macos_amd_64": "rainfrog-{}-x86_64-apple-darwin.tar.gz",
178
+ "filename_template_macos_arm_64": "rainfrog-{}-aarch64-apple-darwin.tar.gz",
119
179
  "strip_v": false,
120
180
  "exe_name": "rainfrog"
121
181
  },
122
182
  "cpz": {
123
183
  "repo_url": "https://github.com/SUPERCILEX/fuc",
124
184
  "doc": "📋 Fast copy",
125
- "filename_template_windows_amd_64": "cpz-{}-windows.zip",
185
+ "filename_template_windows_amd_64": "x86_64-pc-windows-msvc-cpz.exe",
186
+ "filename_template_windows_arm_64": "aarch64-pc-windows-msvc-cpz.exe",
126
187
  "filename_template_linux_amd_64": "x86_64-unknown-linux-musl-cpz",
188
+ "filename_template_linux_arm_64": "aarch64-unknown-linux-gnu-cpz",
189
+ "filename_template_macos_amd_64": "x86_64-apple-darwin-cpz",
190
+ "filename_template_macos_arm_64": "aarch64-apple-darwin-cpz",
127
191
  "strip_v": true,
128
192
  "exe_name": "cpz"
129
193
  },
130
194
  "rmz": {
131
195
  "repo_url": "https://github.com/SUPERCILEX/fuc",
132
196
  "doc": "🗑️ Fast remove",
133
- "filename_template_windows_amd_64": "rmz-{}-windows.zip",
197
+ "filename_template_windows_amd_64": "x86_64-pc-windows-msvc-rmz.exe",
198
+ "filename_template_windows_arm_64": "aarch64-pc-windows-msvc-rmz.exe",
134
199
  "filename_template_linux_amd_64": "x86_64-unknown-linux-musl-rmz",
200
+ "filename_template_linux_arm_64": "aarch64-unknown-linux-gnu-rmz",
201
+ "filename_template_macos_amd_64": "x86_64-apple-darwin-rmz",
202
+ "filename_template_macos_arm_64": "aarch64-apple-darwin-rmz",
135
203
  "strip_v": true,
136
204
  "exe_name": "rmz"
137
205
  }
@@ -3,6 +3,7 @@
3
3
  "repo_url": "https://install.speedtest.net/app/cli/ookla-speedtest-1.2.0-win64.zip",
4
4
  "doc": "🚀 Test your internet connection speed and ping using speedtest.net from the CLI",
5
5
  "filename_template_windows_amd_64": "speedtest",
6
+ "filename_template_windows_arm_64": "speedtest",
6
7
  "filename_template_linux_amd_64": "speedtest",
7
8
  "strip_v": false,
8
9
  "exe_name": "speedtest"
@@ -11,6 +12,7 @@
11
12
  "repo_url": "https://github.com/ascii-boxes/boxes",
12
13
  "doc": "📦 ASCI draws boxes around text.",
13
14
  "filename_template_windows_amd_64": "boxes-{}-intel-win32.zip",
15
+ "filename_template_windows_arm_64": "",
14
16
  "filename_template_linux_amd_64": "",
15
17
  "strip_v": true,
16
18
  "exe_name": "boxes"
@@ -19,6 +21,7 @@
19
21
  "repo_url": "https://github.com/Genivia/ugrep",
20
22
  "doc": "🔍 A fast, portable, feature-rich command-line search tool",
21
23
  "filename_template_windows_amd_64": "ugrep-windows-x64.zip",
24
+ "filename_template_windows_arm_64": "",
22
25
  "filename_template_linux_amd_64": "",
23
26
  "strip_v": true,
24
27
  "exe_name": "ugrep"
@@ -27,6 +30,7 @@
27
30
  "repo_url": "https://download.sysinternals.com/files/ZoomIt.zip",
28
31
  "doc": "🔍 A screen zoom and annotation tool for presentations",
29
32
  "filename_template_windows_amd_64": "",
33
+ "filename_template_windows_arm_64": "",
30
34
  "filename_template_linux_amd_64": "",
31
35
  "strip_v": false,
32
36
  "exe_name": "ZoomIt.exe"
@@ -35,6 +39,7 @@
35
39
  "repo_url": "https://github.com/gsass1/NTop",
36
40
  "doc": "📊 Like htop, for Windows",
37
41
  "filename_template_windows_amd_64": "ntop.exe",
42
+ "filename_template_windows_arm_64": "",
38
43
  "filename_template_linux_amd_64": "",
39
44
  "strip_v": false,
40
45
  "exe_name": "ntop.exe"
@@ -43,6 +48,7 @@
43
48
  "repo_url": "winget install --Id Microsoft.devtunnel --scope user",
44
49
  "doc": "🔄 devtunnel secure introspectable tunnels to localhost",
45
50
  "filename_template_windows_amd_64": "",
51
+ "filename_template_windows_arm_64": "",
46
52
  "filename_template_linux_amd_64": "",
47
53
  "strip_v": false,
48
54
  "exe_name": "devtunnel"
@@ -5,17 +5,17 @@ This script Takes away all config files from the computer, place them in one dir
5
5
  """
6
6
 
7
7
 
8
- from crocodile.environment import system # ProgramFiles, WindowsApps # , exe
9
8
  from crocodile.meta import Terminal
10
- from crocodile.file_management import P
9
+ from machineconfig.utils.path_reduced import P as PathExtended
11
10
  from machineconfig.utils.utils import symlink_func, symlink_copy, LIBRARY_ROOT, REPO_ROOT, display_options
12
11
  from machineconfig.profile.shell import create_default_shell_profile
13
12
  # import os
13
+ import platform
14
14
  import subprocess
15
15
  from rich.console import Console
16
16
  from typing import Optional, Any, TypedDict
17
17
 
18
-
18
+ system = platform.system() # Linux or Windows
19
19
  ERROR_LIST: list[Any] = [] # append to this after every exception captured.
20
20
  CONFIG_ROOT = LIBRARY_ROOT.parent.parent.joinpath("settings")
21
21
  OTHER_SYSTEM = "windows" if system == "Linux" else "linux"
@@ -74,8 +74,8 @@ def main_symlinks(choice: Optional[str] = None):
74
74
  for program_key in program_keys:
75
75
  print(f"\n🔄 Processing {program_key} symlinks...")
76
76
  for file_key, file_map in symlink_mapper[program_key].items():
77
- this = P(file_map['this'])
78
- to_this = P(file_map['to_this'].replace("REPO_ROOT", REPO_ROOT.as_posix()).replace("LIBRARY_ROOT", LIBRARY_ROOT.as_posix()))
77
+ this = PathExtended(file_map['this'])
78
+ to_this = PathExtended(file_map['to_this'].replace("REPO_ROOT", REPO_ROOT.as_posix()).replace("LIBRARY_ROOT", LIBRARY_ROOT.as_posix()))
79
79
  if "contents" in file_map:
80
80
  try:
81
81
  for a_target in to_this.expanduser().search("*"):
@@ -5,9 +5,9 @@ This script Takes away all config files from the computer, place them in one dir
5
5
  """
6
6
 
7
7
 
8
- from crocodile.environment import system # ProgramFiles, WindowsApps # , exe
8
+ import platform
9
9
  from crocodile.meta import Terminal
10
- from crocodile.file_management import P
10
+ from machineconfig.utils.path_reduced import P as PathExtended
11
11
  from machineconfig.utils.utils import symlink_copy as symlink_func, LIBRARY_ROOT, REPO_ROOT, display_options
12
12
  from machineconfig.profile.shell import create_default_shell_profile
13
13
  # import os
@@ -15,7 +15,7 @@ import subprocess
15
15
  from rich.console import Console
16
16
  from typing import Optional, Any
17
17
 
18
-
18
+ system = platform.system() # Linux or Windows
19
19
  ERROR_LIST: list[Any] = [] # append to this after every exception captured.
20
20
  CONFIG_ROOT = LIBRARY_ROOT.parent.parent.joinpath("settings")
21
21
  OTHER_SYSTEM = "windows" if system == "Linux" else "linux"
@@ -63,8 +63,8 @@ def main_symlinks(choice: Optional[str] = None):
63
63
  for program_key in program_keys:
64
64
  print(f"\n🔄 Creating hardlinks for {program_key}...")
65
65
  for file_key, file_map in symlink_mapper[program_key].items():
66
- this = P(file_map['this'])
67
- to_this = P(file_map['to_this'].replace("REPO_ROOT", REPO_ROOT.as_posix()).replace("LIBRARY_ROOT", LIBRARY_ROOT.as_posix()))
66
+ this = PathExtended(file_map['this'])
67
+ to_this = PathExtended(file_map['to_this'].replace("REPO_ROOT", REPO_ROOT.as_posix()).replace("LIBRARY_ROOT", LIBRARY_ROOT.as_posix()))
68
68
  if "contents" in file_map:
69
69
  try:
70
70
  for a_target in to_this.expanduser().search("*"):
@@ -1,19 +1,20 @@
1
1
  """shell
2
2
  """
3
3
 
4
- from crocodile.environment import PathVar
5
- from crocodile.core import randstr
6
- from crocodile.file_management import P
4
+ from machineconfig.utils.utils2 import randstr
5
+ from machineconfig.utils.path_reduced import P as PathExtended, modify_text
7
6
  from crocodile.meta import Terminal
8
7
  from machineconfig.utils.utils import LIBRARY_ROOT, REPO_ROOT, display_options
9
8
  import platform
10
- from typing import Optional
9
+ import os
10
+ from typing import Literal, Optional
11
11
  from rich.console import Console
12
12
  from rich.panel import Panel
13
13
 
14
14
 
15
15
  system = platform.system()
16
-
16
+ sep = ";" if system == "Windows" else ":" # PATH separator, this is special for PATH object, not to be confused with PathExtended.sep (normal paths), usually / or \
17
+ PATH = os.environ["PATH"].split(sep) # this is a list of paths in PATH variable, not a crocodile.file_management.P object.
17
18
  console = Console()
18
19
  BOX_WIDTH = 100 # Define BOX_WIDTH or get it from a config
19
20
 
@@ -26,8 +27,8 @@ BOX_WIDTH = 100 # Define BOX_WIDTH or get it from a config
26
27
  def create_default_shell_profile():
27
28
  profile_path = get_shell_profile_path()
28
29
  profile = profile_path.read_text()
29
- if system == "Windows": source = f". {LIBRARY_ROOT.joinpath('settings/shells/pwsh/init.ps1').collapseuser().to_str().replace('~', '$HOME')}"
30
- else: source = f"source {LIBRARY_ROOT.joinpath('settings/shells/bash/init.sh').collapseuser().to_str().replace('~', '$HOME')}"
30
+ if system == "Windows": source = f". {str(LIBRARY_ROOT.joinpath('settings/shells/pwsh/init.ps1').collapseuser()).replace('~', '$HOME')}"
31
+ else: source = f"source {str(LIBRARY_ROOT.joinpath('settings/shells/bash/init.sh').collapseuser()).replace('~', '$HOME')}"
31
32
 
32
33
  if source in profile:
33
34
  console.print(Panel("🔄 PROFILE | Skipping init script sourcing - already present in profile", title="[bold blue]Profile[/bold blue]", border_style="blue"))
@@ -39,7 +40,8 @@ def create_default_shell_profile():
39
40
  if "microsoft" in res.lower() or "wsl" in res.lower():
40
41
  profile += "\ncd ~" # this is to make sure that the current dir is not in the windows file system, which is terribly slow and its a bad idea to be there anyway.
41
42
  console.print("📌 WSL detected - adding 'cd ~' to profile to avoid Windows filesystem")
42
- profile_path.create(parents_only=True).write_text(profile)
43
+ profile_path.parent.mkdir(parents=True, exist_ok=True)
44
+ profile_path.write_text(profile)
43
45
  console.print(Panel("✅ Profile updated successfully", title="[bold blue]Profile[/bold blue]", border_style="blue"))
44
46
 
45
47
 
@@ -47,16 +49,38 @@ def get_shell_profile_path():
47
49
  if system == "Windows":
48
50
  obj = Terminal().run("$PROFILE", shell="pwsh")
49
51
  res = obj.op2path()
50
- if isinstance(res, P): profile_path = res
52
+ if isinstance(res, PathExtended): profile_path = res
51
53
  else:
52
54
  obj.print(capture=False)
53
55
  raise ValueError(f"Could not get profile path for Windows. Got {res}")
54
- elif system == "Linux": profile_path = P("~/.bashrc").expanduser()
56
+ elif system == "Linux": profile_path = PathExtended("~/.bashrc").expanduser()
55
57
  else: raise ValueError(f"Not implemented for this system {system}")
56
58
  console.print(Panel(f"🐚 SHELL PROFILE | Working with path: `{profile_path}`", title="[bold blue]Shell Profile[/bold blue]", border_style="blue"))
57
59
  return profile_path
58
60
 
59
61
 
62
+ def append_temporarily(dirs: list[str], kind: Literal['append', 'prefix', 'replace'] = "append"):
63
+ dirs_ = []
64
+ for path in dirs:
65
+ path_rel = PathExtended(path).collapseuser(strict=False)
66
+ if path_rel.as_posix() in PATH or str(path_rel) in PATH or str(path_rel.expanduser()) in PATH or path_rel.expanduser().as_posix() in PATH:
67
+ print(f"Path passed `{path}` is already in PATH, skipping the appending.")
68
+ else:
69
+ dirs_.append(path_rel.as_posix() if system == "Linux" else str(path_rel))
70
+ dirs = dirs_
71
+ if len(dirs) == 0: return ""
72
+
73
+ if system == "Windows":
74
+ """Source: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_environment_variables?view=powershell-7.2"""
75
+ if kind == "append": command = fr'$env:Path += ";{sep.join(dirs)}"' # Append to the Path variable in the current window:
76
+ elif kind == "prefix": command = fr'$env:Path = "{sep.join(dirs)};" + $env:Path' # Prefix the Path variable in the current window:
77
+ elif kind == "replace": command = fr'$env:Path = "{sep.join(dirs)}"' # Replace the Path variable in the current window (use with caution!):
78
+ else: raise KeyError
79
+ return command # if run is False else tm.run(command, shell="powershell")
80
+ elif system in ["Linux", "Darwin"]: result = f'export PATH="{sep.join(dirs)}:$PATH"'
81
+ else: raise ValueError
82
+ return result
83
+
60
84
  def main_env_path(choice: Optional[str] = None, profile_path: Optional[str] = None):
61
85
  env_path = LIBRARY_ROOT.joinpath("profile/env_path.toml").readit()
62
86
  dirs = env_path[f'path_{system.lower()}']['extension']
@@ -71,11 +95,14 @@ def main_env_path(choice: Optional[str] = None, profile_path: Optional[str] = No
71
95
  if choice == "none(EXIT)": return
72
96
 
73
97
  console.print(f"\n📌 Adding directories to PATH: {dirs}")
74
- addition = PathVar.append_temporarily(dirs=dirs)
75
- profile_path_obj = P(profile_path) if isinstance(profile_path, str) else get_shell_profile_path()
98
+ addition = append_temporarily(dirs=dirs)
99
+ profile_path_obj = PathExtended(profile_path) if isinstance(profile_path, str) else get_shell_profile_path()
76
100
  profile_path_obj.copy(name=profile_path_obj.name + ".orig_" + randstr())
77
101
  console.print(f"💾 Created backup of profile: {profile_path_obj.name}.orig_*")
78
- profile_path_obj.modify_text(addition, addition, replace_line=False, notfound_append=True)
102
+ # Inline deprecated P.modify_text: if file missing, seed with search text before modification
103
+ current = profile_path_obj.read_text() if profile_path_obj.exists() else addition
104
+ updated = modify_text(current, addition, addition, replace_line=False, notfound_append=True)
105
+ profile_path_obj.write_text(updated)
79
106
  console.print(Panel("✅ PATH variables added to profile successfully", title="[bold blue]Environment[/bold blue]", border_style="blue"))
80
107
 
81
108
 
@@ -95,13 +122,13 @@ def main_add_sources_to_shell_profile(profile_path: Optional[str] = None, choice
95
122
  elif choice == "none(EXIT)": return
96
123
 
97
124
  if isinstance(profile_path, str):
98
- profile_path_obj = P(profile_path)
125
+ profile_path_obj = PathExtended(profile_path)
99
126
  else: profile_path_obj = get_shell_profile_path()
100
127
  profile = profile_path_obj.read_text()
101
128
 
102
129
  for a_file in sources:
103
130
  tmp = a_file.replace("REPO_ROOT", REPO_ROOT.as_posix()).replace("LIBRARY_ROOT", LIBRARY_ROOT.as_posix())
104
- file = P(tmp).collapseuser() # this makes the shell profile interuseable across machines.
131
+ file = PathExtended(tmp).collapseuser() # this makes the shell profile interuseable across machines.
105
132
  file = file.as_posix() if system == "Linux" else str(file)
106
133
  if file not in profile:
107
134
  if system == "Windows":
@@ -134,11 +161,11 @@ def main_add_patches_to_shell_profile(profile_path: Optional[str] = None, choice
134
161
  patches = [choice]
135
162
  console.print(f"📌 Adding selected patch: {choice}")
136
163
 
137
- profile_path_obj = P(profile_path) if isinstance(profile_path, str) else get_shell_profile_path()
164
+ profile_path_obj = PathExtended(profile_path) if isinstance(profile_path, str) else get_shell_profile_path()
138
165
  profile = profile_path_obj.read_text()
139
166
 
140
167
  for patch_path in patches:
141
- patch_path_obj = P(patch_path)
168
+ patch_path_obj = PathExtended(patch_path)
142
169
  patch = patch_path_obj.read_text()
143
170
  if patch in profile:
144
171
  console.print(f"⏭️ Patch already present: {patch_path_obj.name}")
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env bash
2
+
3
+ . $HOME/scripts/activate_ve 've'
4
+
5
+ # Generate random string of length 5
6
+ random_str=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n 1)
7
+ export op_script=$HOME/tmp_results/shells/$random_str/python_return_command.sh
8
+ # op_script=$HOME/tmp_results/shells/$random_str/python_return_command.sh
9
+
10
+ if [ -f "$op_script" ]; then
11
+ rm $op_script
12
+ fi
13
+
14
+
15
+ python -m machineconfig.scripts.python.fire_agents "$@"
16
+
17
+ if [ -f "$op_script" ]; then
18
+ echo "Running $op_script"
19
+ chmod +x $op_script
20
+ set -- # clear all positional parameters
21
+ source $op_script # sourcing the script means the args passed to the this script are passed to the sourced script which cofuses the sources script as it contains activate_ve and it doesn't understand first.sh arguments.
22
+ fi
23
+
24
+
25
+ if [ -n "$VIRTUAL_ENV" ]; then
26
+ deactivate || true
27
+ fi
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # check below if VIRTUAL_ENV is set
4
+ # if [ -z "$VIRTUAL_ENV" ]; then
5
+ source $HOME/scripts/activate_ve 've'
6
+ # fi
7
+
8
+ op_script=$HOME/tmp_results/shells/python_return_command.sh
9
+ if [ -f "$op_script" ]; then
10
+ rm $op_script
11
+ fi
12
+
13
+ python machineconfig.scripts.python.wifi_conn
14
+
15
+ if [ -f "$op_script" ]; then
16
+ chmod +x $op_script
17
+ source $op_script
18
+ fi
19
+
20
+
21
+ # check below if VIRTUAL_ENV enviroment variable exist, then deactivate it, otherwise skip
22
+ if [ -n "$VIRTUAL_ENV" ]; then
23
+ deactivate
24
+ fi