machineconfig 5.56__tar.gz → 5.59__tar.gz

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 (419) hide show
  1. {machineconfig-5.56/src/machineconfig.egg-info → machineconfig-5.59}/PKG-INFO +1 -1
  2. {machineconfig-5.56 → machineconfig-5.59}/pyproject.toml +1 -1
  3. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/linux_scripts/q.sh +1 -0
  4. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +13 -14
  5. machineconfig-5.59/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +31 -0
  6. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/code.py +11 -21
  7. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/installer_utils/installer_class.py +4 -4
  8. machineconfig-5.59/src/machineconfig/utils/meta.py +166 -0
  9. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/ssh.py +10 -13
  10. {machineconfig-5.56 → machineconfig-5.59/src/machineconfig.egg-info}/PKG-INFO +1 -1
  11. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig.egg-info/SOURCES.txt +1 -0
  12. machineconfig-5.56/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +0 -31
  13. {machineconfig-5.56 → machineconfig-5.59}/MANIFEST.in +0 -0
  14. {machineconfig-5.56 → machineconfig-5.59}/README.md +0 -0
  15. {machineconfig-5.56 → machineconfig-5.59}/setup.cfg +0 -0
  16. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/__init__.py +0 -0
  17. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/__init__.py +0 -0
  18. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
  19. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
  20. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/remote/distribute.py +0 -0
  21. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/remote/file_manager.py +0 -0
  22. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/remote/job_params.py +0 -0
  23. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
  24. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
  25. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/remote/run_cloud.py +0 -0
  26. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/remote/run_cluster.py +0 -0
  27. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/remote/run_remote.py +0 -0
  28. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/remote/script_execution.py +0 -0
  29. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
  30. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
  31. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/helpers/zellij_local_helper.py +0 -0
  32. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/helpers/zellij_local_helper_restart.py +0 -0
  33. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/helpers/zellij_local_helper_with_panes.py +0 -0
  34. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/helpers/zellij_local_manager_helper.py +0 -0
  35. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/utils/enhanced_command_runner.py +0 -0
  36. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/utils/load_balancer.py +0 -0
  37. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/utils/load_balancer_helper.py +0 -0
  38. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/wt_local.py +0 -0
  39. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +0 -0
  40. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
  41. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +0 -0
  42. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
  43. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
  44. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
  45. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
  46. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +0 -0
  47. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/zellij_local.py +0 -0
  48. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +0 -0
  49. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
  50. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
  51. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
  52. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
  53. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +0 -0
  54. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +0 -0
  55. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
  56. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
  57. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +0 -0
  58. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/templates/__init__.py +0 -0
  59. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
  60. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/__init__.py +0 -0
  61. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/__init__.py +0 -0
  62. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/check_installations.py +0 -0
  63. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/custom/gh.py +0 -0
  64. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/custom/hx.py +0 -0
  65. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/custom_dev/__init__.py +0 -0
  66. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/custom_dev/alacritty.py +0 -0
  67. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/custom_dev/brave.py +0 -0
  68. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/custom_dev/bypass_paywall.py +0 -0
  69. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/custom_dev/code.py +0 -0
  70. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/custom_dev/cursor.py +0 -0
  71. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +0 -0
  72. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/custom_dev/espanso.py +0 -0
  73. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/custom_dev/goes.py +0 -0
  74. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/custom_dev/lvim.py +0 -0
  75. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/custom_dev/nerdfont.py +0 -0
  76. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +0 -0
  77. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/custom_dev/redis.py +0 -0
  78. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/custom_dev/wezterm.py +0 -0
  79. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/custom_dev/winget.py +0 -0
  80. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/installer_data.json +0 -0
  81. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/linux_scripts/brave.sh +0 -0
  82. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/linux_scripts/docker.sh +0 -0
  83. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/linux_scripts/docker_start.sh +0 -0
  84. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/linux_scripts/edge.sh +0 -0
  85. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/linux_scripts/nerdfont.sh +0 -0
  86. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/linux_scripts/ngrok.sh +0 -0
  87. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -0
  88. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/linux_scripts/redis.sh +0 -0
  89. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -0
  90. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/linux_scripts/vscode.sh +0 -0
  91. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/linux_scripts/warp-cli.sh +0 -0
  92. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/linux_scripts/wezterm.sh +0 -0
  93. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/package_groups.py +0 -0
  94. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +0 -0
  95. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/linux/msc/cli_agents.sh +0 -0
  96. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/linux/msc/lid.sh +0 -0
  97. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/linux/msc/network.sh +0 -0
  98. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/python/__init__.py +0 -0
  99. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/python/python_ve_symlink.py +0 -0
  100. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/python/vscode/api.py +0 -0
  101. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/python/vscode/sync_code.py +0 -0
  102. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -0
  103. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/windows/archive/openssh-server_add_key.ps1 +0 -0
  104. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/windows/archive/openssh-server_copy-ssh-id.ps1 +0 -0
  105. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/windows/msc/cli_agents.bat +0 -0
  106. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/jobs/windows/msc/cli_agents.ps1 +0 -0
  107. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/logger.py +0 -0
  108. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/profile/__init__.py +0 -0
  109. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/profile/backup.toml +0 -0
  110. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/profile/bash_shell_profiles.md +0 -0
  111. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/profile/create_helper.py +0 -0
  112. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/profile/create_links.py +0 -0
  113. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/profile/create_links_export.py +0 -0
  114. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/profile/create_shell_profile.py +0 -0
  115. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/profile/mapper.toml +0 -0
  116. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/profile/records/generic/shares.toml +0 -0
  117. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
  118. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
  119. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
  120. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
  121. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/Restore-ThunderbirdProfile.ps1 +0 -0
  122. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/__init__.py +0 -0
  123. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/linux/fzf2g +0 -0
  124. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/linux/fzfag +0 -0
  125. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/linux/fzffg +0 -0
  126. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/linux/fzfg +0 -0
  127. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/linux/fzfrga +0 -0
  128. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/linux/other/share_cloud.sh +0 -0
  129. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/linux/other/share_nfs +0 -0
  130. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/linux/other/share_smb +0 -0
  131. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/linux/other/start_docker +0 -0
  132. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/linux/other/switch_ip +0 -0
  133. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/linux/skrg +0 -0
  134. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/linux/warp-cli.sh +0 -0
  135. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/linux/z_ls +0 -0
  136. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/__init__.py +0 -0
  137. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/agents.py +0 -0
  138. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
  139. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
  140. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/initai.py +0 -0
  141. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +0 -0
  142. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -0
  143. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/solutions/__init__.py +0 -0
  144. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/solutions/_shared.py +0 -0
  145. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/solutions/claude/claude.py +0 -0
  146. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/solutions/cline/cline.py +0 -0
  147. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
  148. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
  149. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md +0 -0
  150. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
  151. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
  152. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/solutions/copilot/privacy.md +0 -0
  153. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +0 -0
  154. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
  155. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/solutions/crush/crush.json +0 -0
  156. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/solutions/crush/crush.py +0 -0
  157. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/solutions/crush/privacy.md +0 -0
  158. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/solutions/cursor/cursors.py +0 -0
  159. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/solutions/gemini/gemini.py +0 -0
  160. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/solutions/gemini/settings.json +0 -0
  161. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/solutions/generic.py +0 -0
  162. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
  163. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json +0 -0
  164. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py +0 -0
  165. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/cloud.py +0 -0
  166. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/cloud_helpers/__init__.py +0 -0
  167. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/cloud_helpers/cloud_copy.py +0 -0
  168. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/cloud_helpers/cloud_helpers.py +0 -0
  169. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/cloud_helpers/cloud_mount.py +0 -0
  170. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/cloud_helpers/cloud_sync.py +0 -0
  171. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/cloud_helpers/helpers2.py +0 -0
  172. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/cloud_helpers/helpers5.py +0 -0
  173. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/croshell.py +0 -0
  174. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/croshell_helpers/__init__.py +0 -0
  175. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/croshell_helpers/pomodoro.py +0 -0
  176. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/croshell_helpers/scheduler.py +0 -0
  177. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/croshell_helpers/start_slidev.py +0 -0
  178. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/croshell_helpers/viewer.py +0 -0
  179. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/croshell_helpers/viewer_template.py +0 -0
  180. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/devops.py +0 -0
  181. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/devops_helpers/__init__.py +0 -0
  182. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/devops_helpers/cli_config.py +0 -0
  183. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/devops_helpers/cli_config_dotfile.py +0 -0
  184. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/devops_helpers/cli_data.py +0 -0
  185. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/devops_helpers/cli_nw.py +0 -0
  186. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/devops_helpers/cli_repos.py +0 -0
  187. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/devops_helpers/cli_self.py +0 -0
  188. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/devops_helpers/cli_share_server.py +0 -0
  189. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/devops_helpers/cli_terminal.py +0 -0
  190. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/devops_helpers/devops_add_identity.py +0 -0
  191. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/devops_helpers/devops_add_ssh_key.py +0 -0
  192. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/devops_helpers/devops_backup_retrieve.py +0 -0
  193. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/devops_helpers/devops_status.py +0 -0
  194. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/devops_helpers/devops_update_repos.py +0 -0
  195. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/devops_helpers/themes/__init__.py +0 -0
  196. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/devops_helpers/themes/choose_pwsh_theme.ps1 +0 -0
  197. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/devops_helpers/themes/choose_wezterm_theme.py +0 -0
  198. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/devops_navigator.py +0 -0
  199. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/devops_navigator.py.backup +0 -0
  200. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/fire_jobs.py +0 -0
  201. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/ftpx.py +0 -0
  202. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/helpers_fire/__init__.py +0 -0
  203. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/__init__.py +0 -0
  204. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.json +0 -0
  205. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.py +0 -0
  206. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_cursor_agents.py +0 -0
  207. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_gemini.py +0 -0
  208. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_qwen.py +0 -0
  209. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/helpers_fire/fire_agents_help_launch.py +0 -0
  210. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/helpers_fire/fire_agents_help_search.py +0 -0
  211. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/helpers_fire/fire_agents_helper_types.py +0 -0
  212. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/helpers_fire/fire_agents_load_balancer.py +0 -0
  213. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/helpers_fire/helpers4.py +0 -0
  214. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/helpers_fire/prompt.txt +0 -0
  215. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/helpers_fire/template.ps1 +0 -0
  216. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/helpers_fire/template.sh +0 -0
  217. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/helpers_fire_command/__init__.py +0 -0
  218. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/helpers_fire_command/cloud_manager.py +0 -0
  219. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py +0 -0
  220. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +0 -0
  221. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
  222. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/helpers_repos/__init__.py +0 -0
  223. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/helpers_repos/grource.py +0 -0
  224. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/helpers_repos/secure_repo.py +0 -0
  225. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/interactive.py +0 -0
  226. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/nw/__init__.py +0 -0
  227. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/nw/mount_drive +0 -0
  228. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/nw/mount_nfs +0 -0
  229. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/nw/mount_nfs.py +0 -0
  230. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/nw/mount_nw_drive +0 -0
  231. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/nw/mount_nw_drive.py +0 -0
  232. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/nw/mount_smb +0 -0
  233. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/nw/mount_ssh.py +0 -0
  234. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/nw/onetimeshare.py +0 -0
  235. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/nw/wifi_conn.py +0 -0
  236. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/nw/wsl_windows_transfer.py +0 -0
  237. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/repos_helpers/action.py +0 -0
  238. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/repos_helpers/clone.py +0 -0
  239. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/repos_helpers/count_lines.py +0 -0
  240. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/repos_helpers/count_lines_frontend.py +0 -0
  241. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/repos_helpers/entrypoint.py +0 -0
  242. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/repos_helpers/record.py +0 -0
  243. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/repos_helpers/sync.py +0 -0
  244. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/repos_helpers/update.py +0 -0
  245. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/sessions.py +0 -0
  246. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/sessions_helpers/__init__.py +0 -0
  247. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/python/sessions_helpers/sessions_multiprocess.py +0 -0
  248. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
  249. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
  250. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
  251. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/windows/mounts/mount_nfs.ps1 +0 -0
  252. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/windows/mounts/mount_nw.ps1 +0 -0
  253. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/windows/mounts/mount_smb.ps1 +0 -0
  254. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/windows/mounts/mount_ssh.ps1 +0 -0
  255. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/windows/mounts/share_cloud.cmd +0 -0
  256. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/windows/mounts/share_smb.ps1 +0 -0
  257. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1 +0 -0
  258. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/__init__.py +0 -0
  259. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/broot/br.sh +0 -0
  260. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
  261. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/broot/conf.toml +0 -0
  262. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/glow/glow.yml +0 -0
  263. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
  264. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/helix/config.toml +0 -0
  265. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/helix/languages.toml +0 -0
  266. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/keras/keras.json +0 -0
  267. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
  268. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
  269. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
  270. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
  271. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
  272. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
  273. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
  274. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
  275. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
  276. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
  277. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/linux/colors +0 -0
  278. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
  279. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
  280. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
  281. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
  282. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/linux/exe/previewer.sh +0 -0
  283. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
  284. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/linux/icons +0 -0
  285. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/linux/lfrc +0 -0
  286. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
  287. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
  288. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
  289. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
  290. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
  291. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
  292. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
  293. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
  294. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
  295. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
  296. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/windows/colors +0 -0
  297. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
  298. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/windows/icons +0 -0
  299. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
  300. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
  301. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/windows/lfrc +0 -0
  302. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
  303. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
  304. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
  305. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
  306. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/linters/.flake8 +0 -0
  307. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/linters/.mypy.ini +0 -0
  308. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/linters/.pylintrc +0 -0
  309. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/linters/.ruff.toml +0 -0
  310. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
  311. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
  312. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
  313. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
  314. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
  315. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/mprocs/windows/other +0 -0
  316. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/pistol/pistol.conf +0 -0
  317. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/presenterm/config.yaml +0 -0
  318. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/procs/.procs.toml +0 -0
  319. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
  320. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/rofi/config.rasi +0 -0
  321. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
  322. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
  323. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
  324. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/shells/bash/init.sh +0 -0
  325. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
  326. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
  327. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
  328. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
  329. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
  330. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
  331. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
  332. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/shells/pwsh/init.ps1 +0 -0
  333. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
  334. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
  335. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
  336. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
  337. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/shells/wt/settings.json +0 -0
  338. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/streamlit/config.toml +0 -0
  339. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/svim/linux/init.toml +0 -0
  340. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/svim/windows/init.toml +0 -0
  341. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
  342. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/tere/terecd.sh +0 -0
  343. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
  344. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
  345. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/wsl/.wslconfig +0 -0
  346. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/yazi/keymap.toml +0 -0
  347. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/yazi/theme.toml +0 -0
  348. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/yazi/yazi.toml +0 -0
  349. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/zed/settings.json +0 -0
  350. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/zellij/commands/monitor +0 -0
  351. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
  352. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/zellij/config.kdl +0 -0
  353. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
  354. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/zellij/layouts/hist +0 -0
  355. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
  356. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
  357. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
  358. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
  359. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/setup_linux/__init__.py +0 -0
  360. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/setup_linux/apps.sh +0 -0
  361. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/setup_linux/apps_desktop.sh +0 -0
  362. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/setup_linux/apps_gui.sh +0 -0
  363. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/setup_linux/nix/cli_installation.sh +0 -0
  364. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
  365. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/setup_linux/ssh/openssh_all.sh +0 -0
  366. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/setup_linux/ssh/openssh_wsl.sh +0 -0
  367. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/setup_linux/uv.sh +0 -0
  368. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/setup_linux/web_shortcuts/android.sh +0 -0
  369. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +0 -0
  370. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/setup_windows/__init__.py +0 -0
  371. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/setup_windows/apps.ps1 +0 -0
  372. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
  373. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
  374. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/setup_windows/others/power_options.ps1 +0 -0
  375. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/setup_windows/ssh/add-sshkey.ps1 +0 -0
  376. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/setup_windows/ssh/add_identity.ps1 +0 -0
  377. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/setup_windows/ssh/openssh-server.ps1 +0 -0
  378. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/setup_windows/uv.ps1 +0 -0
  379. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
  380. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
  381. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/__init__.py +0 -0
  382. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/accessories.py +0 -0
  383. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/ai/__init__.py +0 -0
  384. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/ai/generate_file_checklist.py +0 -0
  385. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/cloud/onedrive/README.md +0 -0
  386. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
  387. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
  388. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/files/ascii_art.py +0 -0
  389. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/files/dbms.py +0 -0
  390. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/files/headers.py +0 -0
  391. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/files/ouch/__init__.py +0 -0
  392. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/files/ouch/decompress.py +0 -0
  393. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/files/read.py +0 -0
  394. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/installer.py +0 -0
  395. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/installer_utils/__init__.py +0 -0
  396. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/installer_utils/github_release_bulk.py +0 -0
  397. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/installer_utils/installer.py +0 -0
  398. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/installer_utils/installer_abc.py +0 -0
  399. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/io.py +0 -0
  400. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/links.py +0 -0
  401. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/notifications.py +0 -0
  402. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/options.py +0 -0
  403. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/path_extended.py +0 -0
  404. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/path_helper.py +0 -0
  405. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/procs.py +0 -0
  406. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/scheduler.py +0 -0
  407. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/scheduling.py +0 -0
  408. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +0 -0
  409. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/schemas/installer/installer_types.py +0 -0
  410. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/schemas/layouts/layout_types.py +0 -0
  411. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
  412. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/source_of_truth.py +0 -0
  413. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/terminal.py +0 -0
  414. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/upgrade_packages.py +0 -0
  415. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig/utils/ve.py +0 -0
  416. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig.egg-info/dependency_links.txt +0 -0
  417. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig.egg-info/entry_points.txt +0 -0
  418. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig.egg-info/requires.txt +0 -0
  419. {machineconfig-5.56 → machineconfig-5.59}/src/machineconfig.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: machineconfig
3
- Version: 5.56
3
+ Version: 5.59
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "machineconfig"
9
- version = "5.56"
9
+ version = "5.59"
10
10
  description = "Dotfiles management package"
11
11
  readme = "README.md"
12
12
  license = {text = "Apache 2.0"}
@@ -1,5 +1,6 @@
1
1
  #!/bin/bash
2
2
 
3
+ mkdir -p $HOME/Downloads || true
3
4
  cd $HOME/Downloads
4
5
  curl --proto '=https' --tlsv1.2 -sSf "https://desktop-release.q.us-east-1.amazonaws.com/latest/q-x86_64-linux.zip" -o "q.zip"
5
6
  unzip q.zip
@@ -11,7 +11,6 @@ from machineconfig.utils.code import get_shell_file_executing_python_script, wri
11
11
  import platform
12
12
  import subprocess
13
13
  from typing import Optional, Literal
14
- from pathlib import Path
15
14
 
16
15
 
17
16
  console = Console()
@@ -96,13 +95,14 @@ git pull originEnc master
96
95
 
97
96
  # ================================================================================
98
97
  option1 = "Delete remote copy and push local:"
99
- program_1_py = f"""
100
- from machineconfig.scripts.python.helpers.repo_sync_helpers import delete_remote_repo_copy_and_push_local as func
101
- func(remote_repo=r'{str(repo_remote_root)}', local_repo=r'{str(repo_local_root)}', cloud=r'{cloud_resolved}')
102
- """
103
- shell_file_1 = get_shell_file_executing_python_script(python_script=program_1_py, ve_path=str(Path.home().joinpath("code", "machineconfig", ".venv")))
98
+ def func2(remote_repo: str, local_repo: str, cloud: str):
99
+ from machineconfig.scripts.python.repos_helpers.sync import delete_remote_repo_copy_and_push_local
100
+ delete_remote_repo_copy_and_push_local(remote_repo=remote_repo, local_repo=local_repo, cloud=cloud)
101
+ return "done"
102
+ from machineconfig.utils.meta import function_to_script
103
+ program_1_py = function_to_script(func=func2, call_with_args=None, call_with_kwargs={"remote_repo": str(repo_remote_root), "local_repo": str(repo_local_root), "cloud": cloud_resolved})
104
+ shell_file_1 = get_shell_file_executing_python_script(python_script=program_1_py, ve_path=None, executable="uv run --with machineconfig")
104
105
  # ================================================================================
105
-
106
106
  option2 = "Delete local repo and replace it with remote copy:"
107
107
  program_2 = f"""
108
108
  rm -rfd {repo_local_root}
@@ -114,16 +114,15 @@ sudo chmod 600 $HOME/.ssh/*
114
114
  sudo chmod 700 $HOME/.ssh
115
115
  sudo chmod +x $HOME/dotfiles/scripts/linux -R
116
116
  """
117
-
118
117
  shell_file_2 = write_shell_script_to_file(shell_script=program_2)
119
-
120
118
  # ================================================================================
121
119
  option3 = "Inspect repos:"
122
- program_3_py = f"""
123
- from machineconfig.scripts.python.helper.repo_sync_helpers import inspect_repos as func
124
- func(repo_local_root=r'{str(repo_local_root)}', repo_remote_root=r'{str(repo_remote_root)}')
125
- """
126
- shell_file_3 = get_shell_file_executing_python_script(python_script=program_3_py, ve_path=str(Path.home().joinpath("code", "machineconfig", ".venv")))
120
+ def func(repo_local_root: str, repo_remote_root: str):
121
+ from machineconfig.scripts.python.repos_helpers.sync import inspect_repos
122
+ inspect_repos(repo_local_root=repo_local_root, repo_remote_root=repo_remote_root)
123
+ return "done"
124
+ program_3_py = function_to_script(func=func, call_with_args=None, call_with_kwargs={"repo_local_root": str(repo_local_root), "repo_remote_root": str(repo_remote_root)})
125
+ shell_file_3 = get_shell_file_executing_python_script(python_script=program_3_py, ve_path=None, executable="uv run --with machineconfig")
127
126
  # ================================================================================
128
127
 
129
128
  option4 = "Remove problematic rclone file from repo and replace with remote:"
@@ -0,0 +1,31 @@
1
+
2
+
3
+ iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/uv.ps1").Content
4
+ function devops {
5
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig devops $args
6
+ }
7
+
8
+ function cloud {
9
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig cloud $args
10
+ }
11
+
12
+ function croshell {
13
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig croshell $args
14
+ }
15
+
16
+ function agents {
17
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig agents $args
18
+ }
19
+
20
+ function fire {
21
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig fire $args
22
+ }
23
+
24
+ function ftpx {
25
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig ftpx $args
26
+ }
27
+
28
+ function sessions {
29
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig sessions $args
30
+ }
31
+
@@ -10,14 +10,16 @@ from machineconfig.utils.ve import get_ve_activate_line
10
10
  from machineconfig.utils.path_extended import PathExtended
11
11
 
12
12
 
13
- def get_shell_script_executing_python_file(python_file: str, func: Optional[str], ve_path: str, strict_execution: bool = True):
14
- if func is None:
15
- exec_line = f"""python {python_file}"""
16
- else:
17
- exec_line = f"""python -m fire {python_file} {func}"""
13
+ def get_shell_script_executing_python_file(python_file: str, func: Optional[str], ve_path: Optional[str], executable: Optional[str], strict_execution: bool = True):
14
+ if executable is None: exe_resolved = "python"
15
+ else: exe_resolved = executable
16
+ if func is None: exec_line = f"""{exe_resolved} {python_file}"""
17
+ else: exec_line = f"""{exe_resolved} -m fire {python_file} {func}"""
18
+ if ve_path is None: ve_activate_line = ""
19
+ else: ve_activate_line = get_ve_activate_line(ve_path)
18
20
  shell_script = f"""
19
21
  echo "Executing `{exec_line}`"
20
- {get_ve_activate_line(ve_path)}
22
+ {ve_activate_line}
21
23
  {exec_line}
22
24
  deactivate || true
23
25
  """
@@ -31,7 +33,7 @@ deactivate || true
31
33
  return shell_script
32
34
 
33
35
 
34
- def get_shell_file_executing_python_script(python_script: str, ve_path: str, verbose: bool = True):
36
+ def get_shell_file_executing_python_script(python_script: str, ve_path: Optional[str], executable: Optional[str], verbose: bool = True):
35
37
  if verbose:
36
38
  python_script = f"""
37
39
  code = r'''{python_script}'''
@@ -47,7 +49,7 @@ except ImportError:
47
49
  python_file = PathExtended.tmp().joinpath("tmp_scripts", "python", randstr() + ".py")
48
50
  python_file.parent.mkdir(parents=True, exist_ok=True)
49
51
  python_file.write_text(python_script, encoding="utf-8")
50
- shell_script = get_shell_script_executing_python_file(python_file=str(python_file), func=None, ve_path=ve_path)
52
+ shell_script = get_shell_script_executing_python_file(python_file=str(python_file), func=None, ve_path=ve_path, executable=executable)
51
53
  shell_file = write_shell_script_to_file(shell_script)
52
54
  return shell_file
53
55
 
@@ -113,9 +115,7 @@ def run_shell_script(script: str, display_script: bool = True, clean_env: bool =
113
115
  if display_script:
114
116
  from rich.syntax import Syntax
115
117
  console.print(Panel(Syntax(code=script, lexer=lexer), title=f"📄 shell script @ {temp_script_path}", subtitle="shell script being executed"), style="bold red")
116
-
117
118
  env = {} if clean_env else None
118
-
119
119
  if platform.system() == "Windows":
120
120
  import subprocess
121
121
  proc = subprocess.run(f'powershell -ExecutionPolicy Bypass -File "{temp_script_path}"', check=True, shell=True, env=env)
@@ -133,14 +133,4 @@ def run_shell_script(script: str, display_script: bool = True, clean_env: bool =
133
133
  console.print(f"⚠️ [yellow]Script executed with warnings (return code {proc.returncode}):[/yellow] [blue]{temp_script_path}[/blue]")
134
134
  temp_script_path.unlink(missing_ok=True)
135
135
  console.print(f"🗑️ [blue]Temporary script deleted:[/blue] [green]{temp_script_path}[/green]")
136
-
137
-
138
- # def run_command(command: str, description: str) -> bool:
139
- # """Execute a shell command and return success status."""
140
- # console.print(f"\n🔧 {description}", style="bold cyan")
141
- # try:
142
- # result = subprocess.run(command, shell=True, check=True, capture_output=False)
143
- # return result.returncode == 0
144
- # except subprocess.CalledProcessError as e:
145
- # console.print(f"❌ Error executing command: {e}", style="bold red")
146
- # return False
136
+ return proc
@@ -39,9 +39,7 @@ class Installer:
39
39
  result_old = subprocess.run(f"{exe_name} --version", shell=True, capture_output=True, text=True)
40
40
  old_version_cli = result_old.stdout.strip()
41
41
  print(f"📊 Current version: {old_version_cli or 'Not installed'}")
42
-
43
42
  self.install(version=version)
44
-
45
43
  result_new = subprocess.run(f"{exe_name} --version", shell=True, capture_output=True, text=True)
46
44
  new_version_cli = result_new.stdout.strip()
47
45
  print(f"📊 New version: {new_version_cli}")
@@ -77,8 +75,10 @@ class Installer:
77
75
  desc = package_manager + " installation"
78
76
  version_to_be_installed = package_manager + "Latest"
79
77
  print(f"🚀 Running: {installer_arch_os}")
80
- result = subprocess.run(installer_arch_os, shell=True, capture_output=True, text=True)
81
- success = result.returncode == 0 and result.stderr == ""
78
+ # result = subprocess.run(installer_arch_os, shell=True, capture_output=True, text=True)
79
+ from machineconfig.utils.code import run_shell_script
80
+ result = run_shell_script(installer_arch_os)
81
+ success = result.returncode == 0 and result.stderr == "".encode()
82
82
  if not success:
83
83
  print(f"❌ {desc} failed")
84
84
  if result.stdout:
@@ -0,0 +1,166 @@
1
+ """Metaprogramming utilities for analyzing and serializing Python functions."""
2
+
3
+ import ast
4
+ import inspect
5
+ import textwrap
6
+ from types import FunctionType, ModuleType
7
+ from typing import Any
8
+
9
+
10
+ def function_to_script(func: FunctionType, call_with_args: tuple[Any, ...] | None = None, call_with_kwargs: dict[str, Any] | None = None) -> str:
11
+ """Convert a function to a standalone executable Python script.
12
+
13
+ This function analyzes a given function and generates a complete Python script
14
+ that includes all necessary imports, global variables, the function definition,
15
+ and optionally a function call.
16
+
17
+ Args:
18
+ func: The function to convert to a script
19
+ call_with_args: Optional tuple of positional arguments to call the function with
20
+ call_with_kwargs: Optional dict of keyword arguments to call the function with
21
+
22
+ Returns:
23
+ A complete Python script as a string that can be executed independently
24
+
25
+ Raises:
26
+ ValueError: If the function cannot be inspected or analyzed
27
+ """
28
+ if not callable(func) or not hasattr(func, '__code__'):
29
+ raise ValueError(f"Expected a function, got {type(func)}")
30
+
31
+ call_with_args = call_with_args or ()
32
+ call_with_kwargs = call_with_kwargs or {}
33
+
34
+ imports = _extract_imports(func)
35
+ globals_needed = _extract_globals(func)
36
+ source_code = _get_function_source(func)
37
+ call_statement = _generate_call_statement(func, call_with_args, call_with_kwargs)
38
+
39
+ script_parts: list[str] = []
40
+
41
+ if imports:
42
+ script_parts.append(imports)
43
+ script_parts.append("")
44
+
45
+ if globals_needed:
46
+ script_parts.append(globals_needed)
47
+ script_parts.append("")
48
+
49
+ script_parts.append(source_code)
50
+ script_parts.append("")
51
+
52
+ if call_statement:
53
+ script_parts.append("")
54
+ script_parts.append("if __name__ == '__main__':")
55
+ script_parts.append(f" {call_statement}")
56
+
57
+ return "\n".join(script_parts)
58
+
59
+
60
+ def _get_function_source(func: FunctionType) -> str:
61
+ """Extract the source code of a function."""
62
+ try:
63
+ source = inspect.getsource(func)
64
+ return textwrap.dedent(source)
65
+ except (OSError, TypeError) as e:
66
+ raise ValueError(f"Cannot get source code for function {func.__name__}: {e}") from e
67
+
68
+
69
+ def _extract_imports(func: FunctionType) -> str:
70
+ """Extract all import statements needed by the function."""
71
+ import_statements: set[str] = set()
72
+
73
+ source = _get_function_source(func)
74
+ func_globals = func.__globals__
75
+
76
+ try:
77
+ tree = ast.parse(source)
78
+ except SyntaxError as e:
79
+ raise ValueError(f"Failed to parse function source: {e}") from e
80
+
81
+ used_names: set[str] = set()
82
+ for node in ast.walk(tree):
83
+ if isinstance(node, ast.Name):
84
+ used_names.add(node.id)
85
+ elif isinstance(node, ast.Attribute):
86
+ if isinstance(node.value, ast.Name):
87
+ used_names.add(node.value.id)
88
+
89
+ for name in used_names:
90
+ if name in func_globals:
91
+ obj = func_globals[name]
92
+
93
+ if isinstance(obj, ModuleType):
94
+ module_name = obj.__name__
95
+ if name == module_name.split('.')[-1]:
96
+ import_statements.add(f"import {module_name}")
97
+ else:
98
+ import_statements.add(f"import {module_name} as {name}")
99
+
100
+ elif hasattr(obj, '__module__') and obj.__module__ != '__main__':
101
+ try:
102
+ module_name = obj.__module__
103
+ obj_name = obj.__name__ if hasattr(obj, '__name__') else name
104
+
105
+ if module_name and module_name != 'builtins':
106
+ if obj_name == name:
107
+ import_statements.add(f"from {module_name} import {obj_name}")
108
+ else:
109
+ import_statements.add(f"from {module_name} import {obj_name} as {name}")
110
+ except AttributeError:
111
+ pass
112
+
113
+ return "\n".join(sorted(import_statements))
114
+
115
+
116
+ def _extract_globals(func: FunctionType) -> str:
117
+ """Extract global variables needed by the function."""
118
+ global_assignments: list[str] = []
119
+
120
+ source = _get_function_source(func)
121
+ func_globals = func.__globals__
122
+
123
+ try:
124
+ tree = ast.parse(source)
125
+ except SyntaxError as e:
126
+ raise ValueError(f"Failed to parse function source: {e}") from e
127
+
128
+ used_names: set[str] = set()
129
+ for node in ast.walk(tree):
130
+ if isinstance(node, ast.Name):
131
+ used_names.add(node.id)
132
+ elif isinstance(node, ast.Attribute):
133
+ if isinstance(node.value, ast.Name):
134
+ used_names.add(node.value.id)
135
+
136
+ for name in used_names:
137
+ if name in func_globals:
138
+ obj = func_globals[name]
139
+
140
+ if not isinstance(obj, (ModuleType, FunctionType, type)):
141
+ if not (hasattr(obj, '__module__') and hasattr(obj, '__name__')):
142
+ try:
143
+ repr_str = repr(obj)
144
+ if len(repr_str) < 1000 and '\n' not in repr_str:
145
+ global_assignments.append(f"{name} = {repr_str}")
146
+ except Exception:
147
+ global_assignments.append(f"# Warning: Could not serialize global variable '{name}'")
148
+
149
+ return "\n".join(global_assignments)
150
+
151
+
152
+ def _generate_call_statement(func: FunctionType, args: tuple[Any, ...], kwargs: dict[str, Any]) -> str:
153
+ """Generate a function call statement with the given arguments."""
154
+ if not args and not kwargs:
155
+ return f"{func.__name__}()"
156
+
157
+ arg_parts: list[str] = []
158
+
159
+ for arg in args:
160
+ arg_parts.append(repr(arg))
161
+
162
+ for key, value in kwargs.items():
163
+ arg_parts.append(f"{key}={repr(value)}")
164
+
165
+ args_str = ", ".join(arg_parts)
166
+ return f"{func.__name__}({args_str})"
@@ -214,12 +214,11 @@ class SSH: # inferior alternative: https://github.com/fabric/fabric
214
214
  res.print()
215
215
  self.terminal_responses.append(res)
216
216
  return res
217
-
218
217
  def run_py(self, cmd: str, desc: str = "", return_obj: bool = False, verbose: bool = True, strict_err: bool = False, strict_returncode: bool = False) -> Union[Any, Response]:
219
218
  assert '"' not in cmd, 'Avoid using `"` in your command. I dont know how to handle this when passing is as command to python in pwsh command.'
220
219
  if not return_obj:
221
220
  return self.run(
222
- cmd=f"""$HOME/.local/bin/devops self run-python -c "{cmd}\n""" + '"',
221
+ cmd=f"""$HOME/.local/bin/uv run --with machineconfig python -c "{cmd}\n""" + '"',
223
222
  desc=desc or f"run_py on {self.get_remote_repr()}",
224
223
  verbose=verbose,
225
224
  strict_err=strict_err,
@@ -252,18 +251,16 @@ print(path)""", desc=desc, verbose=verbose, strict_err=True, strict_returncode=T
252
251
  if r is False:
253
252
  raise RuntimeError(f"Meta.SSH Error: source `{source_obj}` is a directory! either set `r=True` for recursive sending or raise `z=True` flag to zip it first.")
254
253
  source_list: list[PathExtended] = source_obj.search("*", folders=False, files=True, r=True)
255
- remote_root = (
256
- self.run_py(
257
- f"""
258
- from machineconfig.utils.path_extended import PathExtended as P
259
- path=P(r'{PathExtended(target).as_posix()}').expanduser()
260
- {'path.delete(sure=True)' if overwrite else ''}
261
- print(path.create())""",
254
+ def func(item: PathExtended, overwrite: bool) -> None:
255
+ from machineconfig.utils.path_extended import PathExtended as P
256
+ path=P(r'{PathExtended(target).as_posix()}').expanduser()
257
+ if overwrite: path.delete(sure=True)
258
+ path.parent.mkdir(parents=True, exist_ok=True)
259
+ from machineconfig.utils.meta import function_to_script
260
+ command = function_to_script(func=func, call_with_kwargs={"item": PathExtended(target).as_posix(), "overwrite": overwrite})
261
+ remote_root = (self.run_py(command,
262
262
  desc=f"Creating Target directory `{PathExtended(target).as_posix()}` @ {self.get_remote_repr()}",
263
- verbose=False,
264
- ).op
265
- or ""
266
- )
263
+ verbose=False,).op or "")
267
264
  for idx, item in enumerate(source_list):
268
265
  print(f" {idx + 1:03d}. {item}")
269
266
  for item in source_list:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: machineconfig
3
- Version: 5.56
3
+ Version: 5.59
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -381,6 +381,7 @@ src/machineconfig/utils/code.py
381
381
  src/machineconfig/utils/installer.py
382
382
  src/machineconfig/utils/io.py
383
383
  src/machineconfig/utils/links.py
384
+ src/machineconfig/utils/meta.py
384
385
  src/machineconfig/utils/notifications.py
385
386
  src/machineconfig/utils/options.py
386
387
  src/machineconfig/utils/path_extended.py
@@ -1,31 +0,0 @@
1
-
2
-
3
- iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/uv.ps1").Content
4
- function devops {
5
- & "$HOME\.local\bin\uv.exe" run --python 3.13 --with machineconfig devops $args
6
- }
7
-
8
- function cloud {
9
- & "$HOME\.local\bin\uv.exe" run --python 3.13 --with machineconfig cloud $args
10
- }
11
-
12
- function croshell {
13
- & "$HOME\.local\bin\uv.exe" run --python 3.13 --with machineconfig croshell $args
14
- }
15
-
16
- function agents {
17
- & "$HOME\.local\bin\uv.exe" run --python 3.13 --with machineconfig agents $args
18
- }
19
-
20
- function fire {
21
- & "$HOME\.local\bin\uv.exe" run --python 3.13 --with machineconfig fire $args
22
- }
23
-
24
- function ftpx {
25
- & "$HOME\.local\bin\uv.exe" run --python 3.13 --with machineconfig ftpx $args
26
- }
27
-
28
- function sessions {
29
- & "$HOME\.local\bin\uv.exe" run --python 3.13 --with machineconfig sessions $args
30
- }
31
-
File without changes
File without changes
File without changes