machineconfig 5.59__tar.gz → 5.61__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 (421) hide show
  1. {machineconfig-5.59/src/machineconfig.egg-info → machineconfig-5.61}/PKG-INFO +2 -1
  2. {machineconfig-5.59 → machineconfig-5.61}/pyproject.toml +2 -1
  3. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/croshell.py +1 -1
  4. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/devops_helpers/cli_config.py +8 -0
  5. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/devops_helpers/cli_self.py +1 -1
  6. machineconfig-5.61/src/machineconfig/scripts/python/env_manager/__init__.py +1 -0
  7. machineconfig-5.61/src/machineconfig/scripts/python/env_manager/path_manager_backend.py +47 -0
  8. machineconfig-5.61/src/machineconfig/scripts/python/env_manager/path_manager_tui.py +219 -0
  9. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/nw/mount_nfs +1 -1
  10. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/repos_helpers/count_lines_frontend.py +1 -1
  11. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
  12. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +7 -7
  13. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +7 -7
  14. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/ssh.py +49 -35
  15. {machineconfig-5.59 → machineconfig-5.61/src/machineconfig.egg-info}/PKG-INFO +2 -1
  16. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig.egg-info/SOURCES.txt +3 -1
  17. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig.egg-info/requires.txt +1 -0
  18. machineconfig-5.59/src/machineconfig/scripts/python/devops_navigator.py.backup +0 -899
  19. {machineconfig-5.59 → machineconfig-5.61}/MANIFEST.in +0 -0
  20. {machineconfig-5.59 → machineconfig-5.61}/README.md +0 -0
  21. {machineconfig-5.59 → machineconfig-5.61}/setup.cfg +0 -0
  22. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/__init__.py +0 -0
  23. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/__init__.py +0 -0
  24. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
  25. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
  26. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/remote/distribute.py +0 -0
  27. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/remote/file_manager.py +0 -0
  28. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/remote/job_params.py +0 -0
  29. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
  30. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
  31. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/remote/run_cloud.py +0 -0
  32. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/remote/run_cluster.py +0 -0
  33. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/remote/run_remote.py +0 -0
  34. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/remote/script_execution.py +0 -0
  35. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
  36. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
  37. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/helpers/zellij_local_helper.py +0 -0
  38. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/helpers/zellij_local_helper_restart.py +0 -0
  39. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/helpers/zellij_local_helper_with_panes.py +0 -0
  40. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/helpers/zellij_local_manager_helper.py +0 -0
  41. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/utils/enhanced_command_runner.py +0 -0
  42. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/utils/load_balancer.py +0 -0
  43. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/utils/load_balancer_helper.py +0 -0
  44. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/wt_local.py +0 -0
  45. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +0 -0
  46. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
  47. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +0 -0
  48. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
  49. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
  50. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
  51. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
  52. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +0 -0
  53. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/zellij_local.py +0 -0
  54. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +0 -0
  55. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
  56. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
  57. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
  58. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
  59. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +0 -0
  60. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +0 -0
  61. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
  62. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
  63. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +0 -0
  64. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/templates/__init__.py +0 -0
  65. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
  66. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/__init__.py +0 -0
  67. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/__init__.py +0 -0
  68. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/check_installations.py +0 -0
  69. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/custom/gh.py +0 -0
  70. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/custom/hx.py +0 -0
  71. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/custom_dev/__init__.py +0 -0
  72. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/custom_dev/alacritty.py +0 -0
  73. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/custom_dev/brave.py +0 -0
  74. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/custom_dev/bypass_paywall.py +0 -0
  75. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/custom_dev/code.py +0 -0
  76. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/custom_dev/cursor.py +0 -0
  77. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +0 -0
  78. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/custom_dev/espanso.py +0 -0
  79. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/custom_dev/goes.py +0 -0
  80. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/custom_dev/lvim.py +0 -0
  81. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/custom_dev/nerdfont.py +0 -0
  82. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +0 -0
  83. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/custom_dev/redis.py +0 -0
  84. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/custom_dev/wezterm.py +0 -0
  85. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/custom_dev/winget.py +0 -0
  86. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/installer_data.json +0 -0
  87. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/linux_scripts/brave.sh +0 -0
  88. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/linux_scripts/docker.sh +0 -0
  89. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/linux_scripts/docker_start.sh +0 -0
  90. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/linux_scripts/edge.sh +0 -0
  91. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/linux_scripts/nerdfont.sh +0 -0
  92. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/linux_scripts/ngrok.sh +0 -0
  93. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -0
  94. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/linux_scripts/q.sh +0 -0
  95. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/linux_scripts/redis.sh +0 -0
  96. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -0
  97. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/linux_scripts/vscode.sh +0 -0
  98. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/linux_scripts/warp-cli.sh +0 -0
  99. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/linux_scripts/wezterm.sh +0 -0
  100. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/package_groups.py +0 -0
  101. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +0 -0
  102. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/linux/msc/cli_agents.sh +0 -0
  103. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/linux/msc/lid.sh +0 -0
  104. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/linux/msc/network.sh +0 -0
  105. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/python/__init__.py +0 -0
  106. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/python/python_ve_symlink.py +0 -0
  107. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/python/vscode/api.py +0 -0
  108. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/python/vscode/sync_code.py +0 -0
  109. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -0
  110. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/windows/archive/openssh-server_add_key.ps1 +0 -0
  111. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/windows/archive/openssh-server_copy-ssh-id.ps1 +0 -0
  112. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/windows/msc/cli_agents.bat +0 -0
  113. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/jobs/windows/msc/cli_agents.ps1 +0 -0
  114. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/logger.py +0 -0
  115. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/profile/__init__.py +0 -0
  116. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/profile/backup.toml +0 -0
  117. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/profile/bash_shell_profiles.md +0 -0
  118. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/profile/create_helper.py +0 -0
  119. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/profile/create_links.py +0 -0
  120. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/profile/create_links_export.py +0 -0
  121. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/profile/create_shell_profile.py +0 -0
  122. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/profile/mapper.toml +0 -0
  123. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/profile/records/generic/shares.toml +0 -0
  124. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
  125. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
  126. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
  127. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
  128. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/Restore-ThunderbirdProfile.ps1 +0 -0
  129. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/__init__.py +0 -0
  130. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/linux/fzf2g +0 -0
  131. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/linux/fzfag +0 -0
  132. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/linux/fzffg +0 -0
  133. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/linux/fzfg +0 -0
  134. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/linux/fzfrga +0 -0
  135. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/linux/other/share_cloud.sh +0 -0
  136. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/linux/other/share_nfs +0 -0
  137. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/linux/other/share_smb +0 -0
  138. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/linux/other/start_docker +0 -0
  139. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/linux/other/switch_ip +0 -0
  140. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/linux/skrg +0 -0
  141. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/linux/warp-cli.sh +0 -0
  142. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/linux/z_ls +0 -0
  143. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/__init__.py +0 -0
  144. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/agents.py +0 -0
  145. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
  146. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
  147. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/initai.py +0 -0
  148. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +0 -0
  149. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -0
  150. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/solutions/__init__.py +0 -0
  151. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/solutions/_shared.py +0 -0
  152. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/solutions/claude/claude.py +0 -0
  153. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/solutions/cline/cline.py +0 -0
  154. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
  155. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
  156. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md +0 -0
  157. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
  158. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
  159. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/solutions/copilot/privacy.md +0 -0
  160. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +0 -0
  161. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
  162. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/solutions/crush/crush.json +0 -0
  163. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/solutions/crush/crush.py +0 -0
  164. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/solutions/crush/privacy.md +0 -0
  165. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/solutions/cursor/cursors.py +0 -0
  166. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/solutions/gemini/gemini.py +0 -0
  167. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/solutions/gemini/settings.json +0 -0
  168. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/solutions/generic.py +0 -0
  169. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
  170. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json +0 -0
  171. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py +0 -0
  172. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/cloud.py +0 -0
  173. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/cloud_helpers/__init__.py +0 -0
  174. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/cloud_helpers/cloud_copy.py +0 -0
  175. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/cloud_helpers/cloud_helpers.py +0 -0
  176. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/cloud_helpers/cloud_mount.py +0 -0
  177. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/cloud_helpers/cloud_sync.py +0 -0
  178. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/cloud_helpers/helpers2.py +0 -0
  179. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/cloud_helpers/helpers5.py +0 -0
  180. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/croshell_helpers/__init__.py +0 -0
  181. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/croshell_helpers/pomodoro.py +0 -0
  182. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/croshell_helpers/scheduler.py +0 -0
  183. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/croshell_helpers/start_slidev.py +0 -0
  184. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/croshell_helpers/viewer.py +0 -0
  185. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/croshell_helpers/viewer_template.py +0 -0
  186. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/devops.py +0 -0
  187. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/devops_helpers/__init__.py +0 -0
  188. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/devops_helpers/cli_config_dotfile.py +0 -0
  189. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/devops_helpers/cli_data.py +0 -0
  190. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/devops_helpers/cli_nw.py +0 -0
  191. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/devops_helpers/cli_repos.py +0 -0
  192. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/devops_helpers/cli_share_server.py +0 -0
  193. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/devops_helpers/cli_terminal.py +0 -0
  194. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/devops_helpers/devops_add_identity.py +0 -0
  195. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/devops_helpers/devops_add_ssh_key.py +0 -0
  196. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/devops_helpers/devops_backup_retrieve.py +0 -0
  197. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/devops_helpers/devops_status.py +0 -0
  198. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/devops_helpers/devops_update_repos.py +0 -0
  199. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/devops_helpers/themes/__init__.py +0 -0
  200. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/devops_helpers/themes/choose_pwsh_theme.ps1 +0 -0
  201. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/devops_helpers/themes/choose_wezterm_theme.py +0 -0
  202. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/devops_navigator.py +0 -0
  203. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/fire_jobs.py +0 -0
  204. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/ftpx.py +0 -0
  205. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/helpers_fire/__init__.py +0 -0
  206. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/__init__.py +0 -0
  207. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.json +0 -0
  208. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.py +0 -0
  209. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_cursor_agents.py +0 -0
  210. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_gemini.py +0 -0
  211. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_qwen.py +0 -0
  212. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/helpers_fire/fire_agents_help_launch.py +0 -0
  213. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/helpers_fire/fire_agents_help_search.py +0 -0
  214. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/helpers_fire/fire_agents_helper_types.py +0 -0
  215. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/helpers_fire/fire_agents_load_balancer.py +0 -0
  216. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/helpers_fire/helpers4.py +0 -0
  217. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/helpers_fire/prompt.txt +0 -0
  218. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/helpers_fire/template.ps1 +0 -0
  219. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/helpers_fire/template.sh +0 -0
  220. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/helpers_fire_command/__init__.py +0 -0
  221. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/helpers_fire_command/cloud_manager.py +0 -0
  222. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py +0 -0
  223. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +0 -0
  224. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
  225. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/helpers_repos/__init__.py +0 -0
  226. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +0 -0
  227. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/helpers_repos/grource.py +0 -0
  228. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/helpers_repos/secure_repo.py +0 -0
  229. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/interactive.py +0 -0
  230. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/nw/__init__.py +0 -0
  231. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/nw/mount_drive +0 -0
  232. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/nw/mount_nfs.py +0 -0
  233. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/nw/mount_nw_drive +0 -0
  234. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/nw/mount_nw_drive.py +0 -0
  235. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/nw/mount_smb +0 -0
  236. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/nw/mount_ssh.py +0 -0
  237. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/nw/onetimeshare.py +0 -0
  238. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/nw/wifi_conn.py +0 -0
  239. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/nw/wsl_windows_transfer.py +0 -0
  240. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/repos_helpers/action.py +0 -0
  241. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/repos_helpers/clone.py +0 -0
  242. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/repos_helpers/count_lines.py +0 -0
  243. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/repos_helpers/entrypoint.py +0 -0
  244. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/repos_helpers/record.py +0 -0
  245. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/repos_helpers/sync.py +0 -0
  246. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/repos_helpers/update.py +0 -0
  247. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/sessions.py +0 -0
  248. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/sessions_helpers/__init__.py +0 -0
  249. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/python/sessions_helpers/sessions_multiprocess.py +0 -0
  250. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
  251. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
  252. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
  253. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/windows/mounts/mount_nfs.ps1 +0 -0
  254. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/windows/mounts/mount_nw.ps1 +0 -0
  255. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/windows/mounts/mount_smb.ps1 +0 -0
  256. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/windows/mounts/share_cloud.cmd +0 -0
  257. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/windows/mounts/share_smb.ps1 +0 -0
  258. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1 +0 -0
  259. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/__init__.py +0 -0
  260. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/broot/br.sh +0 -0
  261. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
  262. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/broot/conf.toml +0 -0
  263. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/glow/glow.yml +0 -0
  264. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
  265. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/helix/config.toml +0 -0
  266. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/helix/languages.toml +0 -0
  267. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/keras/keras.json +0 -0
  268. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
  269. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
  270. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
  271. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
  272. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
  273. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
  274. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
  275. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
  276. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
  277. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
  278. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/linux/colors +0 -0
  279. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
  280. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
  281. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
  282. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
  283. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/linux/exe/previewer.sh +0 -0
  284. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
  285. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/linux/icons +0 -0
  286. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/linux/lfrc +0 -0
  287. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
  288. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
  289. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
  290. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
  291. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
  292. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
  293. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
  294. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
  295. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
  296. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
  297. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/windows/colors +0 -0
  298. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
  299. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/windows/icons +0 -0
  300. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
  301. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
  302. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/windows/lfrc +0 -0
  303. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
  304. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
  305. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
  306. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
  307. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/linters/.flake8 +0 -0
  308. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/linters/.mypy.ini +0 -0
  309. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/linters/.pylintrc +0 -0
  310. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/linters/.ruff.toml +0 -0
  311. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
  312. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
  313. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
  314. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
  315. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
  316. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/mprocs/windows/other +0 -0
  317. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/pistol/pistol.conf +0 -0
  318. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/presenterm/config.yaml +0 -0
  319. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/procs/.procs.toml +0 -0
  320. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
  321. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/rofi/config.rasi +0 -0
  322. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
  323. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
  324. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
  325. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/shells/bash/init.sh +0 -0
  326. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
  327. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
  328. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
  329. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
  330. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
  331. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
  332. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
  333. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/shells/pwsh/init.ps1 +0 -0
  334. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
  335. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
  336. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
  337. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
  338. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/shells/wt/settings.json +0 -0
  339. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/streamlit/config.toml +0 -0
  340. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/svim/linux/init.toml +0 -0
  341. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/svim/windows/init.toml +0 -0
  342. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
  343. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/tere/terecd.sh +0 -0
  344. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
  345. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
  346. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/wsl/.wslconfig +0 -0
  347. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/yazi/keymap.toml +0 -0
  348. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/yazi/theme.toml +0 -0
  349. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/yazi/yazi.toml +0 -0
  350. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/zed/settings.json +0 -0
  351. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/zellij/commands/monitor +0 -0
  352. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
  353. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/zellij/config.kdl +0 -0
  354. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
  355. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/zellij/layouts/hist +0 -0
  356. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
  357. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
  358. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
  359. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
  360. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/setup_linux/__init__.py +0 -0
  361. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/setup_linux/apps.sh +0 -0
  362. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/setup_linux/apps_desktop.sh +0 -0
  363. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/setup_linux/apps_gui.sh +0 -0
  364. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/setup_linux/nix/cli_installation.sh +0 -0
  365. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
  366. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/setup_linux/ssh/openssh_all.sh +0 -0
  367. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/setup_linux/ssh/openssh_wsl.sh +0 -0
  368. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/setup_linux/uv.sh +0 -0
  369. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/setup_linux/web_shortcuts/android.sh +0 -0
  370. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/setup_windows/__init__.py +0 -0
  371. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/setup_windows/apps.ps1 +0 -0
  372. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
  373. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
  374. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/setup_windows/others/power_options.ps1 +0 -0
  375. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/setup_windows/ssh/add-sshkey.ps1 +0 -0
  376. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/setup_windows/ssh/add_identity.ps1 +0 -0
  377. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/setup_windows/ssh/openssh-server.ps1 +0 -0
  378. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/setup_windows/uv.ps1 +0 -0
  379. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
  380. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
  381. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/__init__.py +0 -0
  382. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/accessories.py +0 -0
  383. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/ai/__init__.py +0 -0
  384. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/ai/generate_file_checklist.py +0 -0
  385. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/cloud/onedrive/README.md +0 -0
  386. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
  387. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
  388. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/code.py +0 -0
  389. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/files/ascii_art.py +0 -0
  390. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/files/dbms.py +0 -0
  391. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/files/headers.py +0 -0
  392. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/files/ouch/__init__.py +0 -0
  393. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/files/ouch/decompress.py +0 -0
  394. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/files/read.py +0 -0
  395. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/installer.py +0 -0
  396. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/installer_utils/__init__.py +0 -0
  397. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/installer_utils/github_release_bulk.py +0 -0
  398. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/installer_utils/installer.py +0 -0
  399. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/installer_utils/installer_abc.py +0 -0
  400. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/installer_utils/installer_class.py +0 -0
  401. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/io.py +0 -0
  402. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/links.py +0 -0
  403. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/meta.py +0 -0
  404. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/notifications.py +0 -0
  405. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/options.py +0 -0
  406. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/path_extended.py +0 -0
  407. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/path_helper.py +0 -0
  408. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/procs.py +0 -0
  409. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/scheduler.py +0 -0
  410. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/scheduling.py +0 -0
  411. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +0 -0
  412. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/schemas/installer/installer_types.py +0 -0
  413. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/schemas/layouts/layout_types.py +0 -0
  414. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
  415. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/source_of_truth.py +0 -0
  416. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/terminal.py +0 -0
  417. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/upgrade_packages.py +0 -0
  418. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig/utils/ve.py +0 -0
  419. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig.egg-info/dependency_links.txt +0 -0
  420. {machineconfig-5.59 → machineconfig-5.61}/src/machineconfig.egg-info/entry_points.txt +0 -0
  421. {machineconfig-5.59 → machineconfig-5.61}/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.59
3
+ Version: 5.61
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -27,6 +27,7 @@ Requires-Dist: pyjson5>=1.6.9
27
27
  Requires-Dist: questionary>=2.1.1
28
28
  Requires-Dist: typer-slim>=0.19.2
29
29
  Requires-Dist: typer>=0.19.2
30
+ Requires-Dist: textual>=6.2.1
30
31
  Provides-Extra: windows
31
32
  Requires-Dist: pywin32; extra == "windows"
32
33
  Provides-Extra: plot
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "machineconfig"
9
- version = "5.59"
9
+ version = "5.61"
10
10
  description = "Dotfiles management package"
11
11
  readme = "README.md"
12
12
  license = {text = "Apache 2.0"}
@@ -36,6 +36,7 @@ dependencies = [
36
36
  "questionary>=2.1.1",
37
37
  "typer-slim>=0.19.2",
38
38
  "typer>=0.19.2",
39
+ "textual>=6.2.1",
39
40
  ]
40
41
 
41
42
  [project.optional-dependencies]
@@ -150,7 +150,7 @@ from pathlib import Path
150
150
  else:
151
151
  console.print(Panel("❌ Could not determine the local machineconfig repo root. Please ensure the `REPO_ROOT` in `source_of_truth.py` is correctly set to the local path of the machineconfig repo, or do not use the `--local` flag.", title="Error", border_style="red"))
152
152
  return
153
- else: ve_line = "--with machineconfig[plot]"
153
+ else: ve_line = "--with machineconfig[plot]>=5.6"
154
154
  fire_line = f"uv run --python 3.14 {ve_line} {interpreter} {interactivity} {profile} {str(pyfile)}"
155
155
 
156
156
  from machineconfig.utils.code import run_shell_script
@@ -41,6 +41,14 @@ def shell():
41
41
  from machineconfig.profile.create_shell_profile import create_default_shell_profile
42
42
  create_default_shell_profile()
43
43
 
44
+ @config_apps.command(no_args_is_help=False)
45
+ def path():
46
+ """📚 NAVIGATE PATH variable with TUI"""
47
+ from machineconfig.scripts.python import env_manager as navigator
48
+ from pathlib import Path
49
+ path = Path(navigator.__file__).resolve().parent.joinpath("path_manager_tui.py")
50
+ from machineconfig.utils.code import run_shell_script
51
+ run_shell_script(f"uv run --no-dev --with machineconfig>=5.6,textual {path}")
44
52
 
45
53
  @config_apps.command(no_args_is_help=False)
46
54
  def pwsh_theme():
@@ -42,7 +42,7 @@ def navigate():
42
42
  from pathlib import Path
43
43
  path = Path(navigator.__file__).resolve().parent.joinpath("devops_navigator.py")
44
44
  from machineconfig.utils.code import run_shell_script
45
- run_shell_script(f"uv run --with machineconfig {path}")
45
+ run_shell_script(f"uv run --no-dev --with machineconfig>=5.6,textual {path}")
46
46
 
47
47
 
48
48
  @cli_app.command(no_args_is_help=True)
@@ -0,0 +1,47 @@
1
+ """Cross-platform PATH explorer backend."""
2
+
3
+ import os
4
+ import platform
5
+ from pathlib import Path
6
+ from typing import Literal
7
+
8
+
9
+ PlatformType = Literal["Windows", "Linux", "Darwin"]
10
+
11
+
12
+ def get_platform() -> PlatformType:
13
+ """Get the current platform."""
14
+ return platform.system() # type: ignore[return-value]
15
+
16
+
17
+ def get_path_entries() -> list[str]:
18
+ """Get all PATH entries for the current platform."""
19
+ path_str = os.environ.get("PATH", "")
20
+ separator = ";" if get_platform() == "Windows" else ":"
21
+ return [entry for entry in path_str.split(separator) if entry.strip()]
22
+
23
+
24
+ def get_directory_contents(directory: str, max_items: int = 50) -> list[str]:
25
+ """Get contents of a directory, limited to max_items."""
26
+ try:
27
+ path = Path(directory)
28
+ if not path.exists():
29
+ return ["⚠️ Directory does not exist"]
30
+ if not path.is_dir():
31
+ return ["⚠️ Not a directory"]
32
+
33
+ items = []
34
+ for item in sorted(path.iterdir(), key=lambda p: (not p.is_dir(), p.name.lower())):
35
+ if len(items) >= max_items:
36
+ items.append(f"... and {sum(1 for _ in path.iterdir()) - max_items} more items")
37
+ break
38
+ prefix = "📁 " if item.is_dir() else "📄 "
39
+ items.append(f"{prefix}{item.name}")
40
+
41
+ if not items:
42
+ return ["📭 Empty directory"]
43
+ return items
44
+ except PermissionError:
45
+ return ["⚠️ Permission denied"]
46
+ except Exception as e:
47
+ return [f"⚠️ Error: {e!s}"]
@@ -0,0 +1,219 @@
1
+ """Cross-platform PATH explorer with Textual TUI."""
2
+
3
+ from pathlib import Path
4
+
5
+ from textual import on
6
+ from textual.app import App, ComposeResult
7
+ from textual.binding import Binding
8
+ from textual.containers import Horizontal, Vertical
9
+ from textual.widgets import Footer, Header, Label, ListItem, ListView, Static
10
+
11
+ from machineconfig.scripts.python.env_manager.path_manager_backend import get_directory_contents, get_path_entries, get_platform
12
+
13
+
14
+ class DirectoryPreview(Static):
15
+ """Widget to display directory contents."""
16
+
17
+ def __init__(self, *args, **kwargs) -> None: # type: ignore[no-untyped-def]
18
+ super().__init__(*args, **kwargs)
19
+ self.border_title = "📂 Directory Preview"
20
+
21
+ def update_preview(self, directory: str) -> None:
22
+ """Update the preview with directory contents."""
23
+ if not directory:
24
+ self.update("Select a PATH entry to preview its contents")
25
+ return
26
+
27
+ contents = get_directory_contents(directory, max_items=30)
28
+ preview_text = f"[bold cyan]{directory}[/bold cyan]\n\n"
29
+ preview_text += "\n".join(contents)
30
+ self.update(preview_text)
31
+
32
+
33
+ class StatusBar(Static):
34
+ """Status bar to show messages."""
35
+
36
+ def __init__(self, *args, **kwargs) -> None: # type: ignore[no-untyped-def]
37
+ super().__init__(*args, **kwargs)
38
+ self.border_title = "ℹ️ Status"
39
+
40
+ def show_message(self, message: str, message_type: str = "info") -> None:
41
+ """Display a status message."""
42
+ color = {"info": "cyan", "success": "green", "error": "red", "warning": "yellow"}.get(message_type, "white")
43
+ self.update(f"[{color}]{message}[/{color}]")
44
+
45
+
46
+ class PathExplorerApp(App[None]):
47
+ """A Textual app to explore PATH entries."""
48
+
49
+ CSS = """
50
+ Screen {
51
+ background: $surface;
52
+ }
53
+
54
+ Header {
55
+ background: $primary;
56
+ color: $text;
57
+ }
58
+
59
+ Footer {
60
+ background: $panel;
61
+ }
62
+
63
+ #main-container {
64
+ height: 100%;
65
+ }
66
+
67
+ #left-panel {
68
+ width: 50%;
69
+ height: 100%;
70
+ border: solid $primary;
71
+ padding: 1;
72
+ }
73
+
74
+ #right-panel {
75
+ width: 50%;
76
+ height: 100%;
77
+ border: solid $accent;
78
+ padding: 1;
79
+ }
80
+
81
+ ListView {
82
+ height: 1fr;
83
+ border: solid $accent;
84
+ background: $surface;
85
+ }
86
+
87
+ ListView > ListItem {
88
+ padding: 0 1;
89
+ }
90
+
91
+ ListView > ListItem.--highlight {
92
+ background: $accent 20%;
93
+ }
94
+
95
+ DirectoryPreview {
96
+ height: 1fr;
97
+ border: solid $primary;
98
+ background: $surface;
99
+ padding: 1;
100
+ overflow-y: auto;
101
+ }
102
+
103
+ StatusBar {
104
+ height: 3;
105
+ border: solid $success;
106
+ background: $surface;
107
+ padding: 1;
108
+ }
109
+
110
+ Label {
111
+ padding: 0 1;
112
+ height: auto;
113
+ }
114
+ """
115
+
116
+ BINDINGS = [
117
+ Binding("q", "quit", "Quit", show=True),
118
+ Binding("r", "refresh", "Refresh", show=True),
119
+ Binding("c", "copy_path", "Copy Path", show=True),
120
+ ]
121
+
122
+ def __init__(self) -> None:
123
+ super().__init__()
124
+ self.selected_path: str = ""
125
+
126
+ def compose(self) -> ComposeResult:
127
+ """Create child widgets for the app."""
128
+ platform_name = get_platform()
129
+ yield Header(show_clock=True)
130
+
131
+ with Horizontal(id="main-container"):
132
+ with Vertical(id="left-panel"):
133
+ yield Label(f"🔧 PATH Entries ({platform_name})")
134
+ yield ListView(id="path-list")
135
+
136
+ with Vertical(id="right-panel"):
137
+ yield DirectoryPreview(id="preview")
138
+ yield StatusBar(id="status")
139
+
140
+ yield Footer()
141
+
142
+ def on_mount(self) -> None:
143
+ """Initialize the app when mounted."""
144
+ self.title = "PATH Explorer"
145
+ self.sub_title = f"Platform: {get_platform()}"
146
+ self.refresh_path_list()
147
+ self.query_one("#status", StatusBar).show_message("Ready. Select a PATH entry to preview its contents.", "info")
148
+
149
+ def refresh_path_list(self) -> None:
150
+ """Refresh the list of PATH entries."""
151
+ list_view = self.query_one("#path-list", ListView)
152
+ list_view.clear()
153
+
154
+ entries = get_path_entries()
155
+ for entry in entries:
156
+ path = Path(entry)
157
+ exists = path.exists()
158
+ icon = "✅" if exists else "❌"
159
+ item = ListItem(Label(f"{icon} {entry}"))
160
+ item.set_class(exists, "--valid")
161
+ list_view.append(item)
162
+
163
+ self.query_one("#status", StatusBar).show_message(f"Loaded {len(entries)} PATH entries", "success")
164
+
165
+ @on(ListView.Highlighted)
166
+ def handle_highlight(self, event: ListView.Highlighted) -> None:
167
+ """Handle highlighting of a PATH entry (scroll preview)."""
168
+ if event.item is None:
169
+ return
170
+ label = event.item.query_one(Label)
171
+ text = label.render()
172
+ # Remove the icon prefix
173
+ highlighted_path = str(text).split(" ", 1)[1] if " " in str(text) else str(text)
174
+
175
+ preview = self.query_one("#preview", DirectoryPreview)
176
+ preview.update_preview(highlighted_path)
177
+
178
+ self.query_one("#status", StatusBar).show_message(f"Previewing: {highlighted_path}", "info")
179
+
180
+ @on(ListView.Selected)
181
+ def handle_selection(self, event: ListView.Selected) -> None:
182
+ """Handle selection of a PATH entry (Enter key)."""
183
+ label = event.item.query_one(Label)
184
+ text = label.render()
185
+ # Remove the icon prefix
186
+ self.selected_path = str(text).split(" ", 1)[1] if " " in str(text) else str(text)
187
+
188
+ preview = self.query_one("#preview", DirectoryPreview)
189
+ preview.update_preview(self.selected_path)
190
+
191
+ self.query_one("#status", StatusBar).show_message(f"Selected: {self.selected_path}", "success")
192
+
193
+ def action_refresh(self) -> None:
194
+ """Refresh the PATH list."""
195
+ self.refresh_path_list()
196
+
197
+ def action_copy_path(self) -> None:
198
+ """Copy selected path to clipboard."""
199
+ if not self.selected_path:
200
+ self.query_one("#status", StatusBar).show_message("No PATH entry selected", "warning")
201
+ return
202
+
203
+ # Try to copy to clipboard
204
+ try:
205
+ import pyperclip
206
+ pyperclip.copy(self.selected_path)
207
+ self.query_one("#status", StatusBar).show_message(f"Copied to clipboard: {self.selected_path}", "success")
208
+ except ImportError:
209
+ self.query_one("#status", StatusBar).show_message("pyperclip not available. Install it to enable clipboard support.", "warning")
210
+
211
+
212
+ def main() -> None:
213
+ """Run the PATH Explorer TUI."""
214
+ app = PathExplorerApp()
215
+ app.run()
216
+
217
+
218
+ if __name__ == "__main__":
219
+ main()
@@ -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 python -m machineconfig.scripts.python.mount_nfs
8
+ uv run --python 3.14 --with machineconfig>=5.6python -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 @@ def analyze_repo_development(repo_path: str = typer.Argument(..., help="Path to
7
7
  from pathlib import Path
8
8
  count_lines_path = Path(count_lines.__file__)
9
9
  # --project $HOME/code/ machineconfig --group plot
10
- cmd = f"""uv run --python 3.14 --with machineconfig[plot] {count_lines_path} analyze-over-time {repo_path}"""
10
+ cmd = f"""uv run --python 3.14 --with machineconfig[plot]>=5.6 {count_lines_path} analyze-over-time {repo_path}"""
11
11
  from machineconfig.utils.code import run_shell_script
12
12
  run_shell_script(cmd)
13
13
 
@@ -7,7 +7,7 @@ $user = ''
7
7
  $sharePath = ''
8
8
  $driveLetter = ''
9
9
 
10
- uv run --python 3.14 --with machineconfig python -m machineconfig.scripts.python.mount_ssh
10
+ uv run --python 3.14 --with machineconfig>=5.6python -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,25 +1,25 @@
1
1
  #!/bin/bash
2
2
  . <( curl -sSL "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/uv.sh")
3
3
  devops() {
4
- "$HOME/.local/bin/uv" run --python 3.14 --with machineconfig devops "$@"
4
+ "$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.6 devops "$@"
5
5
  }
6
6
  agents() {
7
- "$HOME/.local/bin/uv" run --python 3.14 --with machineconfig agents "$@"
7
+ "$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.6 agents "$@"
8
8
  }
9
9
  cloud() {
10
- "$HOME/.local/bin/uv" run --python 3.14 --with machineconfig cloud "$@"
10
+ "$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.6 cloud "$@"
11
11
  }
12
12
  croshell() {
13
- "$HOME/.local/bin/uv" run --python 3.14 --with machineconfig croshell "$@"
13
+ "$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.6 croshell "$@"
14
14
  }
15
15
  fire() {
16
- "$HOME/.local/bin/uv" run --python 3.14 --with machineconfig fire "$@"
16
+ "$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.6fire "$@"
17
17
  }
18
18
  ftpx() {
19
- "$HOME/.local/bin/uv" run --python 3.14 --with machineconfig ftpx "$@"
19
+ "$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.6ftpx "$@"
20
20
  }
21
21
  sessions() {
22
- "$HOME/.local/bin/uv" run --python 3.14 --with machineconfig sessions "$@"
22
+ "$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.6sessions "$@"
23
23
  }
24
24
 
25
25
  echo "devops command is now defined in this shell session."
@@ -2,30 +2,30 @@
2
2
 
3
3
  iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/uv.ps1").Content
4
4
  function devops {
5
- & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig devops $args
5
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.6 devops $args
6
6
  }
7
7
 
8
8
  function cloud {
9
- & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig cloud $args
9
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.6 cloud $args
10
10
  }
11
11
 
12
12
  function croshell {
13
- & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig croshell $args
13
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.6 croshell $args
14
14
  }
15
15
 
16
16
  function agents {
17
- & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig agents $args
17
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.6 agents $args
18
18
  }
19
19
 
20
20
  function fire {
21
- & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig fire $args
21
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.6 fire $args
22
22
  }
23
23
 
24
24
  function ftpx {
25
- & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig ftpx $args
25
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.6 ftpx $args
26
26
  }
27
27
 
28
28
  function sessions {
29
- & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig sessions $args
29
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.6 sessions $args
30
30
  }
31
31
 
@@ -215,24 +215,36 @@ class SSH: # inferior alternative: https://github.com/fabric/fabric
215
215
  self.terminal_responses.append(res)
216
216
  return res
217
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]:
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.'
218
+ from machineconfig.utils.accessories import randstr
219
+ from pathlib import Path
220
+ cmd_path = Path.home().joinpath(f"tmp_results/tmp_scripts/ssh/runpy_{randstr()}.py")
221
+ cmd_path.parent.mkdir(parents=True, exist_ok=True)
219
222
  if not return_obj:
223
+ cmd_path.write_text(cmd, encoding="utf-8")
224
+ self.copy_from_here(source=cmd_path, target=None)
220
225
  return self.run(
221
- cmd=f"""$HOME/.local/bin/uv run --with machineconfig python -c "{cmd}\n""" + '"',
226
+ cmd=f"""$HOME/.local/bin/uv run --with machineconfig>=5.6python {cmd_path.relative_to(Path.home())}""" + '"',
222
227
  desc=desc or f"run_py on {self.get_remote_repr()}",
223
228
  verbose=verbose,
224
229
  strict_err=strict_err,
225
230
  strict_returncode=strict_returncode,
226
231
  )
227
232
  assert "obj=" in cmd, "The command sent to run_py must have `obj=` statement if return_obj is set to True"
228
- source_file = self.run_py(f"""{cmd}
229
- import pickle
230
- import tempfile
231
- from pathlib import Path
232
- path = tempfile.emkstemp(suffix=".pkl")[1]
233
- Path(path).write_bytes(pickle.dumps(obj))
234
- print(path)""", desc=desc, verbose=verbose, strict_err=True, strict_returncode=True).op.split("\n")[-1]
235
- res = self.copy_to_here(source=source_file, target=PathExtended.tmpfile(suffix=".pkl"))
233
+ return_path = cmd_path.parent.joinpath(f"return_obj_{randstr()}.pkl")
234
+ def func(pkl_path_rel2_home: str) -> None:
235
+ pickle_path_obj = Path.home().joinpath(pkl_path_rel2_home).expanduser().absolute()
236
+ import pickle
237
+ obj = globals().get("obj", None)
238
+ pickle_path_obj.write_bytes(pickle.dumps(obj))
239
+ from machineconfig.utils.meta import function_to_script
240
+ cmd_complement = function_to_script(func=func, call_with_kwargs={"pkl_path_rel2_home": return_path.relative_to(Path.home()).as_posix()})
241
+ cmd_total = f"""{cmd}
242
+ {cmd_complement}
243
+ """
244
+ cmd_path.write_text(cmd_total, encoding="utf-8")
245
+ self.copy_from_here(source=cmd_path, target=None)
246
+ _resp = self.run(f"""$HOME/.local/bin/uv run --with machineconfig>=5.6python {cmd_path}""", desc=desc, verbose=verbose, strict_err=True, strict_returncode=True).op.split("\n")[-1]
247
+ res = self.copy_to_here(source=None, target=return_path)
236
248
  import pickle
237
249
  return pickle.loads(res.read_bytes())
238
250
 
@@ -344,28 +356,30 @@ obj=P(r'{source}').search(folders=False, r=True).collapseuser(strict=False)
344
356
  print("\n")
345
357
  return target_obj
346
358
 
347
- def receieve(self, source: PLike, target: OPLike = None, z: bool = False, r: bool = False) -> PathExtended:
348
- scout = self.run_py(cmd=f"obj=scout(r'{source}', z={z}, r={r})", desc=f"Scouting source `{source}` path on remote", return_obj=True, verbose=False)
349
- assert isinstance(scout, Scout)
350
- if not z and scout.is_dir and scout.files is not None:
351
- if r:
352
- tmp: list[PathExtended] = [self.receieve(source=file.as_posix(), target=PathExtended(target).joinpath(PathExtended(file).relative_to(source)) if target else None, r=False) for file in scout.files]
353
- return tmp[0]
354
- else:
355
- print("Source is a directory! either set `r=True` for recursive sending or raise `zip_first=True` flag.")
356
- if target:
357
- target = PathExtended(target).expanduser().absolute()
358
- else:
359
- target = scout.source_rel2home.expanduser().absolute()
360
- target.parent.mkdir(parents=True, exist_ok=True)
361
- if z and ".zip" not in target.suffix:
362
- target += ".zip"
363
- source = scout.source_full
364
- with self.tqdm_wrap(ascii=True, unit="b", unit_scale=True) as pbar:
365
- self.sftp.get(remotepath=source.as_posix(), localpath=target.as_posix(), callback=pbar.view_bar) # type: ignore # pylint: disable=E1129
366
- if z:
367
- target = target.unzip(inplace=True, content=True)
368
- self.run_py(f"""
369
- from machineconfig.utils.path_extended import PathExtended as P; P(r'{source.as_posix()}').delete(sure=True)""", desc="Cleaning temp zip files @ remote.", strict_returncode=True, strict_err=True)
370
- print("\n")
371
- return target
359
+ # def receieve(self, source: PLike, target: OPLike = None, z: bool = False, r: bool = False) -> PathExtended:
360
+ # scout = self.run_py(cmd=f"obj=scout(r'{source}', z={z}, r={r})", desc=f"Scouting source `{source}` path on remote", return_obj=True, verbose=False)
361
+ # assert isinstance(scout, Scout)
362
+ # if not z and scout.is_dir and scout.files is not None:
363
+ # if r:
364
+ # tmp: list[PathExtended] = [self.receieve(source=file.as_posix(), target=PathExtended(target).joinpath(PathExtended(file).relative_to(source)) if target else None, r=False) for file in scout.files]
365
+ # return tmp[0]
366
+ # else:
367
+ # print("Source is a directory! either set `r=True` for recursive sending or raise `zip_first=True` flag.")
368
+ # if target:
369
+ # target = PathExtended(target).expanduser().absolute()
370
+ # else:
371
+ # target = scout.source_rel2home.expanduser().absolute()
372
+ # target.parent.mkdir(parents=True, exist_ok=True)
373
+ # if z and ".zip" not in target.suffix:
374
+ # target += ".zip"
375
+ # source = scout.source_full
376
+ # with self.tqdm_wrap(ascii=True, unit="b", unit_scale=True) as pbar:
377
+ # self.sftp.get(remotepath=source.as_posix(), localpath=target.as_posix(), callback=pbar.view_bar) # type: ignore # pylint: disable=E1129
378
+ # if z:
379
+ # target = target.unzip(inplace=True, content=True)
380
+ # self.run_py(f"""
381
+ # from machineconfig.utils.path_extended import PathExtended as P;
382
+ # P(r'{source.as_posix()}').delete(sure=True)
383
+ # """, desc="Cleaning temp zip files @ remote.", strict_returncode=True, strict_err=True)
384
+ # print("\n")
385
+ # return target
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: machineconfig
3
- Version: 5.59
3
+ Version: 5.61
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -27,6 +27,7 @@ Requires-Dist: pyjson5>=1.6.9
27
27
  Requires-Dist: questionary>=2.1.1
28
28
  Requires-Dist: typer-slim>=0.19.2
29
29
  Requires-Dist: typer>=0.19.2
30
+ Requires-Dist: textual>=6.2.1
30
31
  Provides-Extra: windows
31
32
  Requires-Dist: pywin32; extra == "windows"
32
33
  Provides-Extra: plot
@@ -134,7 +134,6 @@ src/machineconfig/scripts/python/cloud.py
134
134
  src/machineconfig/scripts/python/croshell.py
135
135
  src/machineconfig/scripts/python/devops.py
136
136
  src/machineconfig/scripts/python/devops_navigator.py
137
- src/machineconfig/scripts/python/devops_navigator.py.backup
138
137
  src/machineconfig/scripts/python/fire_jobs.py
139
138
  src/machineconfig/scripts/python/ftpx.py
140
139
  src/machineconfig/scripts/python/interactive.py
@@ -196,6 +195,9 @@ src/machineconfig/scripts/python/devops_helpers/devops_update_repos.py
196
195
  src/machineconfig/scripts/python/devops_helpers/themes/__init__.py
197
196
  src/machineconfig/scripts/python/devops_helpers/themes/choose_pwsh_theme.ps1
198
197
  src/machineconfig/scripts/python/devops_helpers/themes/choose_wezterm_theme.py
198
+ src/machineconfig/scripts/python/env_manager/__init__.py
199
+ src/machineconfig/scripts/python/env_manager/path_manager_backend.py
200
+ src/machineconfig/scripts/python/env_manager/path_manager_tui.py
199
201
  src/machineconfig/scripts/python/helpers_fire/__init__.py
200
202
  src/machineconfig/scripts/python/helpers_fire/fire_agents_help_launch.py
201
203
  src/machineconfig/scripts/python/helpers_fire/fire_agents_help_search.py
@@ -14,6 +14,7 @@ pyjson5>=1.6.9
14
14
  questionary>=2.1.1
15
15
  typer-slim>=0.19.2
16
16
  typer>=0.19.2
17
+ textual>=6.2.1
17
18
 
18
19
  [plot]
19
20
  duckdb-engine>=0.17.0