machineconfig 6.79__tar.gz → 6.82__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 (448) hide show
  1. {machineconfig-6.79/src/machineconfig.egg-info → machineconfig-6.82}/PKG-INFO +1 -1
  2. {machineconfig-6.79 → machineconfig-6.82}/pyproject.toml +1 -1
  3. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
  4. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_devops/cli_config.py +1 -1
  5. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_devops/cli_self.py +3 -3
  6. machineconfig-6.82/src/machineconfig/scripts/python/helpers_repos/action.py +209 -0
  7. machineconfig-6.82/src/machineconfig/scripts/python/helpers_repos/action_helper.py +150 -0
  8. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +1 -1
  9. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/nw/mount_nfs +1 -1
  10. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
  11. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +1 -1
  12. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +1 -1
  13. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/ssh.py +2 -2
  14. {machineconfig-6.79 → machineconfig-6.82/src/machineconfig.egg-info}/PKG-INFO +1 -1
  15. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig.egg-info/SOURCES.txt +1 -0
  16. machineconfig-6.79/src/machineconfig/scripts/python/helpers_repos/action.py +0 -378
  17. {machineconfig-6.79 → machineconfig-6.82}/MANIFEST.in +0 -0
  18. {machineconfig-6.79 → machineconfig-6.82}/README.md +0 -0
  19. {machineconfig-6.79 → machineconfig-6.82}/setup.cfg +0 -0
  20. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/__init__.py +0 -0
  21. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/__init__.py +0 -0
  22. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
  23. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
  24. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/remote/distribute.py +0 -0
  25. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/remote/file_manager.py +0 -0
  26. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/remote/job_params.py +0 -0
  27. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
  28. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
  29. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/remote/run_cloud.py +0 -0
  30. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/remote/run_cluster.py +0 -0
  31. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/remote/run_remote.py +0 -0
  32. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/remote/script_execution.py +0 -0
  33. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
  34. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
  35. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/helpers/enhanced_command_runner.py +0 -0
  36. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/helpers/load_balancer_helper.py +0 -0
  37. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/utils/load_balancer.py +0 -0
  38. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/utils/maker.py +0 -0
  39. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/wt_local.py +0 -0
  40. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +0 -0
  41. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
  42. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +0 -0
  43. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
  44. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
  45. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
  46. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
  47. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +0 -0
  48. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/zellij_local.py +0 -0
  49. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +0 -0
  50. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
  51. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
  52. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
  53. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
  54. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +0 -0
  55. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +0 -0
  56. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
  57. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
  58. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +0 -0
  59. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper.py +0 -0
  60. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_restart.py +0 -0
  61. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_with_panes.py +0 -0
  62. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_manager_helper.py +0 -0
  63. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/templates/__init__.py +0 -0
  64. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
  65. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/__init__.py +0 -0
  66. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/__init__.py +0 -0
  67. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/check_installations.py +0 -0
  68. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/custom/boxes.py +0 -0
  69. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/custom/gh.py +0 -0
  70. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/custom/hx.py +0 -0
  71. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/custom_dev/__init__.py +0 -0
  72. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/custom_dev/alacritty.py +0 -0
  73. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/custom_dev/brave.py +0 -0
  74. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/custom_dev/bypass_paywall.py +0 -0
  75. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/custom_dev/code.py +0 -0
  76. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/custom_dev/cursor.py +0 -0
  77. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +0 -0
  78. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/custom_dev/espanso.py +0 -0
  79. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/custom_dev/goes.py +0 -0
  80. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/custom_dev/lvim.py +0 -0
  81. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/custom_dev/nerdfont.py +0 -0
  82. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +0 -0
  83. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/custom_dev/redis.py +0 -0
  84. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/custom_dev/wezterm.py +0 -0
  85. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/custom_dev/winget.py +0 -0
  86. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/installer_data.json +0 -0
  87. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/linux_scripts/brave.sh +0 -0
  88. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/linux_scripts/docker.sh +0 -0
  89. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/linux_scripts/docker_start.sh +0 -0
  90. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/linux_scripts/edge.sh +0 -0
  91. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/linux_scripts/lid.sh +0 -0
  92. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/linux_scripts/nerdfont.sh +0 -0
  93. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/linux_scripts/network.sh +0 -0
  94. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/linux_scripts/ngrok.sh +0 -0
  95. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -0
  96. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/linux_scripts/q.sh +0 -0
  97. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/linux_scripts/redis.sh +0 -0
  98. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -0
  99. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/linux_scripts/vscode.sh +0 -0
  100. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/linux_scripts/warp-cli.sh +0 -0
  101. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/linux_scripts/wezterm.sh +0 -0
  102. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/package_groups.py +0 -0
  103. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/powershell_scripts/archive_pygraphviz.ps1 +0 -0
  104. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +0 -0
  105. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/powershell_scripts/openssh-server_add_key.ps1 +0 -0
  106. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/jobs/installer/powershell_scripts/openssh-server_copy-ssh-id.ps1 +0 -0
  107. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/logger.py +0 -0
  108. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/profile/__init__.py +0 -0
  109. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/profile/backup.toml +0 -0
  110. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/profile/bash_shell_profiles.md +0 -0
  111. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/profile/create_helper.py +0 -0
  112. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/profile/create_links.py +0 -0
  113. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/profile/create_links_export.py +0 -0
  114. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/profile/create_shell_profile.py +0 -0
  115. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/profile/mapper.toml +0 -0
  116. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/profile/records/generic/shares.toml +0 -0
  117. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
  118. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
  119. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
  120. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
  121. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/Restore-ThunderbirdProfile.ps1 +0 -0
  122. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/__init__.py +0 -0
  123. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/linux/fzf2g +0 -0
  124. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/linux/fzfag +0 -0
  125. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/linux/fzffg +0 -0
  126. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/linux/fzfg +0 -0
  127. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/linux/fzfrga +0 -0
  128. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/linux/mcfgs +0 -0
  129. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/linux/other/share_cloud.sh +0 -0
  130. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/linux/other/share_nfs +0 -0
  131. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/linux/other/share_smb +0 -0
  132. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/linux/other/start_docker +0 -0
  133. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/linux/other/switch_ip +0 -0
  134. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/linux/skrg +0 -0
  135. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/linux/warp-cli.sh +0 -0
  136. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/linux/z_ls +0 -0
  137. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/__init__.py +0 -0
  138. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/agents.py +0 -0
  139. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
  140. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/command_runner/command_runner.sh +0 -0
  141. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/command_runner/prompt.txt +0 -0
  142. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
  143. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/initai.py +0 -0
  144. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +0 -0
  145. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -0
  146. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/solutions/__init__.py +0 -0
  147. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/solutions/_shared.py +0 -0
  148. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/solutions/claude/claude.py +0 -0
  149. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/solutions/cline/cline.py +0 -0
  150. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
  151. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
  152. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md +0 -0
  153. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
  154. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
  155. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/solutions/copilot/privacy.md +0 -0
  156. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +0 -0
  157. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
  158. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/solutions/crush/crush.json +0 -0
  159. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/solutions/crush/crush.py +0 -0
  160. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/solutions/crush/privacy.md +0 -0
  161. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/solutions/cursor/cursors.py +0 -0
  162. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/solutions/gemini/gemini.py +0 -0
  163. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/solutions/gemini/settings.json +0 -0
  164. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/solutions/generic.py +0 -0
  165. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
  166. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json +0 -0
  167. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py +0 -0
  168. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ai/vscode_tasks.py +0 -0
  169. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/cloud.py +0 -0
  170. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/croshell.py +0 -0
  171. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/devops.py +0 -0
  172. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/devops_navigator.py +0 -0
  173. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/env_manager/__init__.py +0 -0
  174. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/env_manager/path_manager_backend.py +0 -0
  175. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/fire_jobs.py +0 -0
  176. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/ftpx.py +0 -0
  177. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_cloud/__init__.py +0 -0
  178. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_cloud/cloud_copy.py +0 -0
  179. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_cloud/cloud_helpers.py +0 -0
  180. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_cloud/cloud_mount.py +0 -0
  181. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_cloud/cloud_sync.py +0 -0
  182. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_cloud/helpers2.py +0 -0
  183. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_cloud/helpers5.py +0 -0
  184. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_croshell/__init__.py +0 -0
  185. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_croshell/crosh.py +0 -0
  186. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_croshell/pomodoro.py +0 -0
  187. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_croshell/scheduler.py +0 -0
  188. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_croshell/start_slidev.py +0 -0
  189. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_croshell/viewer.py +0 -0
  190. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_croshell/viewer_template.py +0 -0
  191. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_devops/__init__.py +0 -0
  192. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +0 -0
  193. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_devops/cli_data.py +0 -0
  194. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_devops/cli_nw.py +0 -0
  195. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_devops/cli_repos.py +0 -0
  196. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_devops/cli_share_server.py +0 -0
  197. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_devops/cli_terminal.py +0 -0
  198. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_devops/cli_utils.py +0 -0
  199. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_devops/devops_backup_retrieve.py +0 -0
  200. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_devops/devops_status.py +0 -0
  201. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_devops/devops_update_repos.py +0 -0
  202. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_devops/themes/__init__.py +0 -0
  203. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_devops/themes/choose_pwsh_theme.ps1 +0 -0
  204. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_devops/themes/choose_starship_theme.bash +0 -0
  205. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_devops/themes/choose_starship_theme.ps1 +0 -0
  206. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_devops/themes/choose_wezterm_theme.py +0 -0
  207. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_fire/__init__.py +0 -0
  208. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/__init__.py +0 -0
  209. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.json +0 -0
  210. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.py +0 -0
  211. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_cursor_agents.py +0 -0
  212. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_gemini.py +0 -0
  213. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_qwen.py +0 -0
  214. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_fire/fire_agents_help_launch.py +0 -0
  215. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_fire/fire_agents_help_search.py +0 -0
  216. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_fire/fire_agents_helper_types.py +0 -0
  217. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_fire/fire_agents_load_balancer.py +0 -0
  218. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_fire/helpers4.py +0 -0
  219. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_fire/prompt.txt +0 -0
  220. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_fire/template.ps1 +0 -0
  221. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_fire/template.sh +0 -0
  222. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_fire_command/__init__.py +0 -0
  223. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_fire_command/cloud_manager.py +0 -0
  224. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py +0 -0
  225. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +0 -0
  226. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
  227. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_navigator/__init__.py +0 -0
  228. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_navigator/command_builder.py +0 -0
  229. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_navigator/command_detail.py +0 -0
  230. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_navigator/command_tree.py +0 -0
  231. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_navigator/data_models.py +0 -0
  232. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_navigator/main_app.py +0 -0
  233. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_navigator/search_bar.py +0 -0
  234. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_repos/clone.py +0 -0
  235. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_repos/count_lines.py +0 -0
  236. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +0 -0
  237. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_repos/entrypoint.py +0 -0
  238. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_repos/grource.py +0 -0
  239. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_repos/record.py +0 -0
  240. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_repos/secure_repo.py +0 -0
  241. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_repos/sync.py +0 -0
  242. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_repos/update.py +0 -0
  243. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_sessions/__init__.py +0 -0
  244. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/helpers_sessions/sessions_multiprocess.py +0 -0
  245. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/interactive.py +0 -0
  246. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/mcfg.py +0 -0
  247. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/nw/__init__.py +0 -0
  248. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/nw/add_ssh_key.py +0 -0
  249. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/nw/devops_add_identity.py +0 -0
  250. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/nw/devops_add_ssh_key.py +0 -0
  251. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/nw/mount_drive +0 -0
  252. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/nw/mount_nfs.py +0 -0
  253. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/nw/mount_nw_drive +0 -0
  254. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/nw/mount_nw_drive.py +0 -0
  255. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/nw/mount_smb +0 -0
  256. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/nw/mount_ssh.py +0 -0
  257. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/nw/onetimeshare.py +0 -0
  258. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/nw/ssh_debug_linux.py +0 -0
  259. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/nw/ssh_debug_windows.py +0 -0
  260. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/nw/wifi_conn.py +0 -0
  261. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/nw/wsl_windows_transfer.py +0 -0
  262. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/sessions.py +0 -0
  263. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/python/utils.py +0 -0
  264. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
  265. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
  266. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
  267. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/windows/mcfgs.ps1 +0 -0
  268. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/windows/mounts/mount_nfs.ps1 +0 -0
  269. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/windows/mounts/mount_nw.ps1 +0 -0
  270. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/windows/mounts/mount_smb.ps1 +0 -0
  271. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/windows/mounts/share_cloud.cmd +0 -0
  272. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/windows/mounts/share_smb.ps1 +0 -0
  273. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1 +0 -0
  274. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/__init__.py +0 -0
  275. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/broot/br.sh +0 -0
  276. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
  277. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/broot/conf.toml +0 -0
  278. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/glow/glow.yml +0 -0
  279. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
  280. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/helix/config.toml +0 -0
  281. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/helix/languages.toml +0 -0
  282. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/keras/keras.json +0 -0
  283. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
  284. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
  285. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
  286. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
  287. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
  288. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
  289. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
  290. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
  291. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
  292. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
  293. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/linux/colors +0 -0
  294. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
  295. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
  296. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
  297. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
  298. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/linux/exe/previewer.sh +0 -0
  299. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
  300. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/linux/icons +0 -0
  301. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/linux/lfrc +0 -0
  302. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
  303. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
  304. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
  305. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
  306. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
  307. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
  308. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
  309. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
  310. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
  311. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
  312. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/windows/colors +0 -0
  313. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
  314. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/windows/icons +0 -0
  315. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
  316. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
  317. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/windows/lfrc +0 -0
  318. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
  319. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
  320. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
  321. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
  322. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/linters/.flake8 +0 -0
  323. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/linters/.mypy.ini +0 -0
  324. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/linters/.pylintrc +0 -0
  325. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/linters/.ruff.toml +0 -0
  326. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
  327. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
  328. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
  329. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
  330. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/marimo/marimo.toml +0 -0
  331. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
  332. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/mprocs/windows/other +0 -0
  333. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/pistol/pistol.conf +0 -0
  334. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/presenterm/config.yaml +0 -0
  335. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/procs/.procs.toml +0 -0
  336. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
  337. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/rofi/config.rasi +0 -0
  338. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
  339. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
  340. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
  341. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/shells/bash/init.sh +0 -0
  342. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
  343. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
  344. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
  345. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
  346. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
  347. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
  348. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
  349. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/shells/pwsh/init.ps1 +0 -0
  350. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
  351. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
  352. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
  353. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
  354. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/shells/wt/settings.json +0 -0
  355. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/shells/zsh/init.sh +0 -0
  356. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/streamlit/config.toml +0 -0
  357. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/svim/linux/init.toml +0 -0
  358. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/svim/windows/init.toml +0 -0
  359. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
  360. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/tere/terecd.sh +0 -0
  361. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
  362. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
  363. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/wsl/.wslconfig +0 -0
  364. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/yazi/keymap.toml +0 -0
  365. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/yazi/theme.toml +0 -0
  366. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/yazi/yazi.toml +0 -0
  367. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/zed/settings.json +0 -0
  368. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/zellij/commands/monitor +0 -0
  369. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
  370. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/zellij/config.kdl +0 -0
  371. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
  372. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/zellij/layouts/hist +0 -0
  373. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
  374. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
  375. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
  376. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
  377. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_linux/__init__.py +0 -0
  378. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_linux/apps.sh +0 -0
  379. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_linux/apps_desktop.sh +0 -0
  380. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_linux/apps_gui.sh +0 -0
  381. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_linux/others/android.sh +0 -0
  382. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_linux/others/cli_installation.sh +0 -0
  383. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
  384. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_linux/ssh/openssh_all.sh +0 -0
  385. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_linux/ssh/openssh_wsl.sh +0 -0
  386. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_linux/uv.sh +0 -0
  387. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_mac/__init__.py +0 -0
  388. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_mac/apps.sh +0 -0
  389. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_mac/ssh/openssh_setup.sh +0 -0
  390. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_mac/uv.sh +0 -0
  391. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_windows/__init__.py +0 -0
  392. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_windows/apps.ps1 +0 -0
  393. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
  394. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
  395. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_windows/others/power_options.ps1 +0 -0
  396. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_windows/ssh/add-sshkey.ps1 +0 -0
  397. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_windows/ssh/add_identity.ps1 +0 -0
  398. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_windows/ssh/openssh-server.ps1 +0 -0
  399. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_windows/uv.ps1 +0 -0
  400. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
  401. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
  402. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/__init__.py +0 -0
  403. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/accessories.py +0 -0
  404. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/ai/__init__.py +0 -0
  405. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/cloud/onedrive/README.md +0 -0
  406. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
  407. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
  408. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/code.py +0 -0
  409. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/files/art/fat_croco.txt +0 -0
  410. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/files/art/halfwit_croco.txt +0 -0
  411. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/files/art/happy_croco.txt +0 -0
  412. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/files/art/water_croco.txt +0 -0
  413. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/files/ascii_art.py +0 -0
  414. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/files/dbms.py +0 -0
  415. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/files/headers.py +0 -0
  416. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/files/ouch/__init__.py +0 -0
  417. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/files/ouch/decompress.py +0 -0
  418. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/files/read.py +0 -0
  419. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/installer.py +0 -0
  420. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/installer_utils/__init__.py +0 -0
  421. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/installer_utils/github_release_bulk.py +0 -0
  422. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/installer_utils/installer.py +0 -0
  423. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/installer_utils/installer_abc.py +0 -0
  424. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/installer_utils/installer_class.py +0 -0
  425. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/io.py +0 -0
  426. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/links.py +0 -0
  427. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/meta.py +0 -0
  428. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/notifications.py +0 -0
  429. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/options.py +0 -0
  430. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/path_extended.py +0 -0
  431. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/path_helper.py +0 -0
  432. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/procs.py +0 -0
  433. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/scheduler.py +0 -0
  434. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/scheduling.py +0 -0
  435. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +0 -0
  436. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/schemas/installer/installer_types.py +0 -0
  437. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/schemas/layouts/layout_types.py +0 -0
  438. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
  439. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/source_of_truth.py +0 -0
  440. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/ssh_utils/utils.py +0 -0
  441. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/terminal.py +0 -0
  442. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/tst.py +0 -0
  443. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/upgrade_packages.py +0 -0
  444. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig/utils/ve.py +0 -0
  445. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig.egg-info/dependency_links.txt +0 -0
  446. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig.egg-info/entry_points.txt +0 -0
  447. {machineconfig-6.79 → machineconfig-6.82}/src/machineconfig.egg-info/requires.txt +0 -0
  448. {machineconfig-6.79 → machineconfig-6.82}/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: 6.79
3
+ Version: 6.82
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 = "6.79"
9
+ version = "6.82"
10
10
  description = "Dotfiles management package"
11
11
  readme = "README.md"
12
12
  license = {text = "Apache 2.0"}
@@ -2,7 +2,7 @@
2
2
  # /// script
3
3
  # requires-python = ">=3.13"
4
4
  # dependencies = [
5
- # "machineconfig>=6.79",
5
+ # "machineconfig>=6.81",
6
6
  # "textual",
7
7
  # "pyperclip",
8
8
  # ]
@@ -46,7 +46,7 @@ def path():
46
46
  uv_with = ["textual"]
47
47
  uv_project_dir = None
48
48
  if not Path.home().joinpath("code/machineconfig").exists():
49
- uv_with.append("machineconfig>=6.79")
49
+ uv_with.append("machineconfig>=6.81")
50
50
  else:
51
51
  uv_project_dir = str(Path.home().joinpath("code/machineconfig"))
52
52
  run_shell_script(get_uv_command_executing_python_script(python_script=path.read_text(encoding="utf-8"), uv_with=uv_with, uv_project_dir=uv_project_dir)[0])
@@ -41,9 +41,9 @@ def install(no_copy_assets: Annotated[bool, typer.Option("--no-assets-copy", "-n
41
41
  else:
42
42
  import platform
43
43
  if platform.system() == "Windows":
44
- run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=6.79" """)
44
+ run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=6.81" """)
45
45
  else:
46
- run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=6.79" """)
46
+ run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=6.81" """)
47
47
  from machineconfig.profile.create_shell_profile import create_default_shell_profile
48
48
  if not no_copy_assets:
49
49
  create_default_shell_profile() # involves copying assets too
@@ -68,7 +68,7 @@ def navigate():
68
68
  path = Path(navigator.__file__).resolve().parent.joinpath("devops_navigator.py")
69
69
  from machineconfig.utils.code import run_shell_script
70
70
  if Path.home().joinpath("code/machineconfig").exists(): executable = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with textual"""
71
- else: executable = """--with "machineconfig>=6.79,textual" """
71
+ else: executable = """--with "machineconfig>=6.81,textual" """
72
72
  run_shell_script(f"""uv run {executable} {path}""")
73
73
 
74
74
 
@@ -0,0 +1,209 @@
1
+ from machineconfig.scripts.python.helpers_repos.action_helper import GitAction, GitOperationResult, GitOperationSummary, print_git_operations_summary
2
+ from machineconfig.utils.path_extended import PathExtended
3
+ from machineconfig.utils.accessories import randstr
4
+ from machineconfig.scripts.python.helpers_repos.update import update_repository
5
+
6
+ from typing import Optional, Dict, Any, List, cast
7
+ import concurrent.futures
8
+ import os
9
+
10
+ from rich import print as pprint
11
+
12
+
13
+ def git_action(path: PathExtended, action: GitAction, mess: Optional[str], r: bool, auto_uv_sync: bool) -> GitOperationResult:
14
+ """Perform git actions using Python instead of shell scripts. Returns detailed operation result."""
15
+ from git.exc import InvalidGitRepositoryError
16
+ from git.repo import Repo
17
+
18
+ try:
19
+ repo = Repo(str(path), search_parent_directories=False)
20
+ except InvalidGitRepositoryError:
21
+ pprint(f"⚠️ Skipping {path} because it is not a git repository.")
22
+ if r:
23
+ results = [git_action(path=sub_path, action=action, mess=mess, r=r, auto_uv_sync=auto_uv_sync) for sub_path in path.search()]
24
+ # For recursive calls, we need to aggregate results somehow
25
+ # For now, return success if all recursive operations succeeded
26
+ all_successful = all(result.success for result in results)
27
+ return GitOperationResult(
28
+ repo_path=path,
29
+ action=action.value,
30
+ success=all_successful,
31
+ message=f"Recursive operation: {len([r for r in results if r.success])}/{len(results)} succeeded",
32
+ is_git_repo=False,
33
+ )
34
+ else:
35
+ return GitOperationResult(repo_path=path, action=action.value, success=False, message="Not a git repository", is_git_repo=False)
36
+
37
+ print(f">>>>>>>>> 🔧{action} - {path}")
38
+ remote_count = len(repo.remotes)
39
+
40
+ try:
41
+ if action == GitAction.commit:
42
+ if mess is None:
43
+ mess = "auto_commit_" + randstr()
44
+
45
+ # Check if there are changes to commit
46
+ if repo.is_dirty() or repo.untracked_files:
47
+ repo.git.add(A=True) # Stage all changes
48
+ repo.index.commit(mess)
49
+ print(f"✅ Committed changes with message: {mess}")
50
+ return GitOperationResult(
51
+ repo_path=path,
52
+ action=action.value,
53
+ success=True,
54
+ message=f"Committed changes with message: {mess}",
55
+ had_changes=True,
56
+ remote_count=remote_count,
57
+ )
58
+ else:
59
+ print("ℹ️ No changes to commit")
60
+ return GitOperationResult(
61
+ repo_path=path, action=action.value, success=True, message="No changes to commit", had_changes=False, remote_count=remote_count
62
+ )
63
+
64
+ elif action == GitAction.push:
65
+ if not repo.remotes:
66
+ print("⚠️ No remotes configured for push")
67
+ return GitOperationResult(repo_path=path, action=action.value, success=False, message="No remotes configured", remote_count=0)
68
+
69
+ success = True
70
+ failed_remotes = []
71
+ for remote in repo.remotes:
72
+ try:
73
+ print(f"🚀 Pushing to {remote.url}")
74
+ remote.push(repo.active_branch.name)
75
+ print(f"✅ Pushed to {remote.name}")
76
+ except Exception as e:
77
+ print(f"❌ Failed to push to {remote.name}: {e}")
78
+ failed_remotes.append(f"{remote.name}: {str(e)}")
79
+ success = False
80
+
81
+ message = "Push successful" if success else f"Push failed for: {', '.join(failed_remotes)}"
82
+ return GitOperationResult(repo_path=path, action=action.value, success=success, message=message, remote_count=remote_count)
83
+
84
+ elif action == GitAction.pull:
85
+ # Use the enhanced update function with uv sync support
86
+ try:
87
+ update_repository(repo, auto_uv_sync=auto_uv_sync, allow_password_prompt=False)
88
+ print("✅ Pull completed")
89
+ return GitOperationResult(
90
+ repo_path=path, action=action.value, success=True, message="Pull completed successfully", remote_count=remote_count
91
+ )
92
+ except Exception as e:
93
+ print(f"❌ Pull failed: {e}")
94
+ return GitOperationResult(
95
+ repo_path=path, action=action.value, success=False, message=f"Pull failed: {str(e)}", remote_count=remote_count
96
+ )
97
+
98
+ except Exception as e:
99
+ print(f"❌ Error performing {action} on {path}: {e}")
100
+ return GitOperationResult(repo_path=path, action=action.value, success=False, message=f"Error: {str(e)}", remote_count=remote_count)
101
+
102
+ # This should never be reached, but just in case
103
+ return GitOperationResult(repo_path=path, action=action.value, success=False, message="Unknown error", remote_count=remote_count)
104
+
105
+
106
+ def perform_git_operations(repos_root: PathExtended, pull: bool, commit: bool, push: bool, recursive: bool, auto_uv_sync: bool) -> None:
107
+ """Perform git operations on all repositories and provide detailed summary."""
108
+ print(f"\n🔄 Performing Git actions on repositories @ `{repos_root}`...")
109
+ summary = GitOperationSummary()
110
+ # Keep track of which operations we are performing
111
+ operations_performed: List[str] = []
112
+ if pull:
113
+ operations_performed.append("pull")
114
+ if commit:
115
+ operations_performed.append("commit")
116
+ if push:
117
+ operations_performed.append("push")
118
+
119
+ # Collect all candidate paths first
120
+ paths = list(repos_root.search("*"))
121
+
122
+ def _process_path(a_path: PathExtended) -> Dict[str, Any]:
123
+ """Worker that processes a single path and returns metadata and results."""
124
+ from git.exc import InvalidGitRepositoryError
125
+ from git.repo import Repo
126
+
127
+ result_payload: Dict[str, Any] = {"path": a_path, "is_git": False, "results": [], "repo_remotes_count": 0}
128
+ print(f"{('Handling ' + str(a_path)).center(80, '-')}")
129
+
130
+ try:
131
+ repo = Repo(str(a_path), search_parent_directories=False)
132
+ except InvalidGitRepositoryError:
133
+ result_payload["non_git"] = True
134
+ pprint(f"⚠️ Skipping {a_path} because it is not a git repository.")
135
+ return result_payload
136
+
137
+ # It's a git repo
138
+ result_payload["is_git"] = True
139
+ result_payload["repo_remotes_count"] = len(repo.remotes)
140
+
141
+ # Perform configured operations sequentially for this repo (the repo-level work is done concurrently between repos)
142
+ try:
143
+ if pull:
144
+ r = git_action(path=a_path, action=GitAction.pull, mess=None, r=recursive, auto_uv_sync=auto_uv_sync)
145
+ result_payload["results"].append(r)
146
+ if commit:
147
+ r = git_action(path=a_path, action=GitAction.commit, mess=None, r=recursive, auto_uv_sync=auto_uv_sync)
148
+ result_payload["results"].append(r)
149
+ if push:
150
+ r = git_action(path=a_path, action=GitAction.push, mess=None, r=recursive, auto_uv_sync=auto_uv_sync)
151
+ result_payload["results"].append(r)
152
+ except Exception as e:
153
+ # Capture any unexpected exception for this path
154
+ pprint(f"❌ Error processing {a_path}: {e}")
155
+
156
+ return result_payload
157
+
158
+ # Choose a reasonable number of workers
159
+ max_workers = min(32, (os.cpu_count() or 1) * 5, len(paths) or 1)
160
+
161
+ # Run the workers in parallel and aggregate results
162
+ with concurrent.futures.ThreadPoolExecutor(max_workers=max_workers) as exc:
163
+ future_to_path = {exc.submit(_process_path, p): p for p in paths}
164
+ for fut in concurrent.futures.as_completed(future_to_path):
165
+ payload = fut.result()
166
+ a_path = cast(PathExtended, payload.get("path"))
167
+ summary.total_paths_processed += 1
168
+
169
+ if not payload.get("is_git"):
170
+ summary.non_git_paths += 1
171
+ continue
172
+
173
+ # git repo found
174
+ summary.git_repos_found += 1
175
+ if payload.get("repo_remotes_count", 0) == 0:
176
+ summary.repos_without_remotes.append(a_path)
177
+
178
+ for r in payload.get("results", []):
179
+ action_name = r.action if hasattr(r, "action") else ""
180
+ # Pull
181
+ if action_name == "pull":
182
+ summary.pulls_attempted += 1
183
+ if r.success:
184
+ summary.pulls_successful += 1
185
+ else:
186
+ summary.pulls_failed += 1
187
+ summary.failed_operations.append(r)
188
+ # Commit
189
+ elif action_name == "commit":
190
+ summary.commits_attempted += 1
191
+ if r.success:
192
+ if getattr(r, "had_changes", False):
193
+ summary.commits_successful += 1
194
+ else:
195
+ summary.commits_no_changes += 1
196
+ else:
197
+ summary.commits_failed += 1
198
+ summary.failed_operations.append(r)
199
+ # Push
200
+ elif action_name == "push":
201
+ summary.pushes_attempted += 1
202
+ if r.success:
203
+ summary.pushes_successful += 1
204
+ else:
205
+ summary.pushes_failed += 1
206
+ summary.failed_operations.append(r)
207
+
208
+ # Print the detailed summary
209
+ print_git_operations_summary(summary, operations_performed)
@@ -0,0 +1,150 @@
1
+ from enum import Enum
2
+ from machineconfig.utils.path_extended import PathExtended
3
+
4
+
5
+ from dataclasses import dataclass
6
+
7
+ from rich.columns import Columns
8
+ from rich.panel import Panel
9
+ from rich.table import Table
10
+
11
+
12
+ @dataclass
13
+ class GitOperationResult:
14
+ """Result of a git operation on a single repository."""
15
+ repo_path: PathExtended
16
+ action: str
17
+ success: bool
18
+ message: str
19
+ is_git_repo: bool = True
20
+ had_changes: bool = False
21
+ remote_count: int = 0
22
+
23
+
24
+ class GitAction(Enum):
25
+ commit = "commit"
26
+ push = "push"
27
+ pull = "pull"
28
+
29
+
30
+ @dataclass
31
+ class GitOperationSummary:
32
+ """Summary of all git operations performed."""
33
+
34
+ # Basic statistics
35
+ total_paths_processed: int = 0
36
+ git_repos_found: int = 0
37
+ non_git_paths: int = 0
38
+
39
+ # Per-operation statistics
40
+ commits_attempted: int = 0
41
+ commits_successful: int = 0
42
+ commits_no_changes: int = 0
43
+ commits_failed: int = 0
44
+
45
+ pulls_attempted: int = 0
46
+ pulls_successful: int = 0
47
+ pulls_failed: int = 0
48
+
49
+ pushes_attempted: int = 0
50
+ pushes_successful: int = 0
51
+ pushes_failed: int = 0
52
+
53
+ def __post_init__(self):
54
+ self.failed_operations: list[GitOperationResult] = []
55
+ self.repos_without_remotes: list[PathExtended] = []
56
+
57
+
58
+ def print_git_operations_summary(summary: GitOperationSummary, operations_performed: list[str]) -> None:
59
+ """Print a detailed summary of git operations with rich formatting and tables."""
60
+ from rich.console import Console
61
+
62
+ console = Console()
63
+
64
+ # Main summary panel
65
+ summary_stats = [
66
+ f"Total paths processed: {summary.total_paths_processed}",
67
+ f"Git repositories found: {summary.git_repos_found}",
68
+ f"Non-git paths skipped: {summary.non_git_paths}",
69
+ ]
70
+
71
+ console.print(Panel.fit("\n".join(summary_stats), title="[bold blue]📊 Git Operations Summary[/bold blue]", border_style="blue"))
72
+
73
+ # Statistics panels in columns
74
+ stat_panels = []
75
+
76
+ if "commit" in operations_performed:
77
+ commit_stats = [
78
+ f"Attempted: {summary.commits_attempted}",
79
+ f"Successful: {summary.commits_successful}",
80
+ f"No changes: {summary.commits_no_changes}",
81
+ f"Failed: {summary.commits_failed}",
82
+ ]
83
+ stat_panels.append(Panel.fit("\n".join(commit_stats), title="[bold green]💾 Commit Operations[/bold green]", border_style="green"))
84
+
85
+ if "pull" in operations_performed:
86
+ pull_stats = [f"Attempted: {summary.pulls_attempted}", f"Successful: {summary.pulls_successful}", f"Failed: {summary.pulls_failed}"]
87
+ stat_panels.append(Panel.fit("\n".join(pull_stats), title="[bold cyan]⬇️ Pull Operations[/bold cyan]", border_style="cyan"))
88
+
89
+ if "push" in operations_performed:
90
+ push_stats = [f"Attempted: {summary.pushes_attempted}", f"Successful: {summary.pushes_successful}", f"Failed: {summary.pushes_failed}"]
91
+ stat_panels.append(Panel.fit("\n".join(push_stats), title="[bold magenta]🚀 Push Operations[/bold magenta]", border_style="magenta"))
92
+
93
+ if stat_panels:
94
+ console.print(Columns(stat_panels, equal=True, expand=True))
95
+
96
+ # Repositories without remotes warning
97
+ if summary.repos_without_remotes:
98
+ repos_table = Table(title="[bold yellow]⚠️ Repositories Without Remotes[/bold yellow]")
99
+ repos_table.add_column("Repository Name", style="cyan", no_wrap=True)
100
+ repos_table.add_column("Full Path", style="dim")
101
+
102
+ for repo_path in summary.repos_without_remotes:
103
+ repos_table.add_row(repo_path.name, str(repo_path))
104
+
105
+ console.print(repos_table)
106
+ console.print("[yellow]These repositories cannot be pushed to remote servers.[/yellow]")
107
+ elif "push" in operations_performed:
108
+ console.print("[green]✅ All repositories have remote configurations.[/green]")
109
+
110
+ # Failed operations table
111
+ if summary.failed_operations:
112
+ failed_table = Table(title=f"[bold red]❌ Failed Operations ({len(summary.failed_operations)} total)[/bold red]")
113
+ failed_table.add_column("Action", style="bold red", no_wrap=True)
114
+ failed_table.add_column("Repository", style="cyan", no_wrap=True)
115
+ failed_table.add_column("Problem", style="red")
116
+
117
+ # Group failed operations by type for better organization
118
+ failed_by_action = {}
119
+ for failed_op in summary.failed_operations:
120
+ if failed_op.action not in failed_by_action:
121
+ failed_by_action[failed_op.action] = []
122
+ failed_by_action[failed_op.action].append(failed_op)
123
+
124
+ for action, failures in failed_by_action.items():
125
+ for failure in failures:
126
+ repo_name = failure.repo_path.name if failure.is_git_repo else f"{failure.repo_path.name} (not git repo)"
127
+ problem = failure.message if failure.is_git_repo else "Not a git repository"
128
+ failed_table.add_row(action.upper(), repo_name, problem)
129
+
130
+ console.print(failed_table)
131
+ else:
132
+ console.print("[green]✅ All git operations completed successfully![/green]")
133
+
134
+ # Overall success assessment
135
+ total_failed = len(summary.failed_operations)
136
+ total_operations = summary.commits_attempted + summary.pulls_attempted + summary.pushes_attempted
137
+
138
+ if total_failed == 0 and total_operations > 0:
139
+ console.print(f"\n[bold green]🎉 SUCCESS: All {total_operations} operations completed successfully![/bold green]")
140
+ elif total_operations == 0:
141
+ console.print("\n[blue]📝 No git operations were performed.[/blue]")
142
+ else:
143
+ success_rate = ((total_operations - total_failed) / total_operations * 100) if total_operations > 0 else 0
144
+ if total_failed > 0:
145
+ console.print(
146
+ f"\n[bold yellow]⚖️ SUMMARY: {total_operations - total_failed}/{total_operations} operations succeeded ({success_rate:.1f}% success rate)[/bold yellow]"
147
+ )
148
+ console.print("[yellow]Review the failed operations table above for details on what needs attention.[/yellow]")
149
+ else:
150
+ console.print(f"\n[bold green]⚖️ SUMMARY: {total_operations}/{total_operations} operations succeeded (100% success rate)[/bold green]")
@@ -80,7 +80,7 @@ git pull originEnc master
80
80
  uv_project_dir = f"""{str(Path.home().joinpath("code/machineconfig"))}"""
81
81
  uv_with = None
82
82
  else:
83
- uv_with = ["machineconfig>=6.79"]
83
+ uv_with = ["machineconfig>=6.81"]
84
84
  uv_project_dir = None
85
85
 
86
86
  import tempfile
@@ -5,7 +5,7 @@
5
5
  # mkdir ~/data/local
6
6
  # sudo mount -o nolock,noatime,nodiratime,proto=tcp,timeo=600,retrans=2,noac alex-p51s-5:/home/alex/data/local ./data/local
7
7
 
8
- uv run --python 3.14 --with "machineconfig>=6.79" python -m machineconfig.scripts.python.mount_nfs
8
+ uv run --python 3.14 --with "machineconfig>=6.81" python -m machineconfig.scripts.python.mount_nfs
9
9
  # Check if remote server is reachable and share folder exists
10
10
  if ! ping -c 1 "$remote_server" &> /dev/null; then
11
11
  echo "💥 Error: Remote server $remote_server is not reachable."
@@ -7,7 +7,7 @@ $user = ''
7
7
  $sharePath = ''
8
8
  $driveLetter = ''
9
9
 
10
- uv run --python 3.14 --with "machineconfig>=6.79" python -m machineconfig.scripts.python.mount_ssh
10
+ uv run --python 3.14 --with "machineconfig>=6.81" python -m machineconfig.scripts.python.mount_ssh
11
11
 
12
12
  net use T: \\sshfs.kr\$user@$host.local
13
13
  # this worked: net use T: \\sshfs\alex@alex-p51s-5.local
@@ -1,7 +1,7 @@
1
1
  #!/bin/bash
2
2
  . <( curl -sSL "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/uv.sh")
3
3
  mcfg() {
4
- "$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=6.79" mcfg "$@"
4
+ "$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=6.81" mcfg "$@"
5
5
  }
6
6
  alias d="mcfg devops"
7
7
  alias c="mcfg cloud"
@@ -2,7 +2,7 @@
2
2
 
3
3
  iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/uv.ps1").Content
4
4
  function mcfg {
5
- & "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=6.79" mcfg $args
5
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=6.81" mcfg $args
6
6
  }
7
7
  function d { mcfg devops @args }
8
8
  function c { mcfg cloud @args }
@@ -8,7 +8,7 @@ from machineconfig.utils.terminal import Response
8
8
  from machineconfig.utils.accessories import pprint, randstr
9
9
  from machineconfig.utils.meta import lambda_to_python_script
10
10
  UV_RUN_CMD = "$HOME/.local/bin/uv run" if platform.system() != "Windows" else """& "$env:USERPROFILE/.local/bin/uv" run"""
11
- MACHINECONFIG_VERSION = "machineconfig>=6.79"
11
+ MACHINECONFIG_VERSION = "machineconfig>=6.81"
12
12
  DEFAULT_PICKLE_SUBDIR = "tmp_results/tmp_scripts/ssh"
13
13
 
14
14
  class SSH:
@@ -290,7 +290,7 @@ class SSH:
290
290
  shutil.make_archive(str(zip_path), "zip", source_obj.parent, source_obj.name)
291
291
  source_obj = Path(str(zip_path) + ".zip")
292
292
  if not target_rel2home.endswith(".zip"): target_rel2home = target_rel2home + ".zip"
293
- self.create_dir(path_rel2home=target_rel2home, overwrite_existing=overwrite_existing)
293
+ self.create_dir(path_rel2home=str(Path(target_rel2home).parent), overwrite_existing=overwrite_existing)
294
294
  print(f"""📤 [SFTP UPLOAD] Sending file: {repr(source_obj)} ==> Remote Path: {target_rel2home}""")
295
295
  try:
296
296
  with self.tqdm_wrap(ascii=True, unit="b", unit_scale=True) as pbar:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: machineconfig
3
- Version: 6.79
3
+ Version: 6.82
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -229,6 +229,7 @@ src/machineconfig/scripts/python/helpers_navigator/data_models.py
229
229
  src/machineconfig/scripts/python/helpers_navigator/main_app.py
230
230
  src/machineconfig/scripts/python/helpers_navigator/search_bar.py
231
231
  src/machineconfig/scripts/python/helpers_repos/action.py
232
+ src/machineconfig/scripts/python/helpers_repos/action_helper.py
232
233
  src/machineconfig/scripts/python/helpers_repos/clone.py
233
234
  src/machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py
234
235
  src/machineconfig/scripts/python/helpers_repos/count_lines.py