machineconfig 6.37__tar.gz → 6.39__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 (440) hide show
  1. {machineconfig-6.37/src/machineconfig.egg-info → machineconfig-6.39}/PKG-INFO +1 -1
  2. {machineconfig-6.37 → machineconfig-6.39}/pyproject.toml +4 -3
  3. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/installer_data.json +1 -1
  4. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/cloud.py +5 -0
  5. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/cloud_helpers/cloud_sync.py +4 -4
  6. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/croshell.py +51 -7
  7. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/devops.py +4 -0
  8. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/devops_helpers/cli_repos.py +5 -5
  9. machineconfig-6.39/src/machineconfig/scripts/python/devops_helpers/cli_utils.py +79 -0
  10. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/repos_helpers/action.py +6 -6
  11. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/repos_helpers/entrypoint.py +1 -2
  12. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/shells/bash/init.sh +1 -1
  13. machineconfig-6.39/src/machineconfig/utils/files/art/fat_croco.txt +10 -0
  14. machineconfig-6.39/src/machineconfig/utils/files/art/halfwit_croco.txt +9 -0
  15. machineconfig-6.39/src/machineconfig/utils/files/art/happy_croco.txt +22 -0
  16. machineconfig-6.39/src/machineconfig/utils/files/art/water_croco.txt +11 -0
  17. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/files/headers.py +4 -10
  18. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/installer.py +0 -6
  19. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/installer_utils/installer_abc.py +3 -2
  20. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/installer_utils/installer_class.py +1 -1
  21. {machineconfig-6.37 → machineconfig-6.39/src/machineconfig.egg-info}/PKG-INFO +1 -1
  22. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig.egg-info/SOURCES.txt +5 -0
  23. {machineconfig-6.37 → machineconfig-6.39}/MANIFEST.in +0 -0
  24. {machineconfig-6.37 → machineconfig-6.39}/README.md +0 -0
  25. {machineconfig-6.37 → machineconfig-6.39}/setup.cfg +0 -0
  26. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/__init__.py +0 -0
  27. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/__init__.py +0 -0
  28. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
  29. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
  30. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/remote/distribute.py +0 -0
  31. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/remote/file_manager.py +0 -0
  32. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/remote/job_params.py +0 -0
  33. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
  34. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
  35. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/remote/run_cloud.py +0 -0
  36. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/remote/run_cluster.py +0 -0
  37. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/remote/run_remote.py +0 -0
  38. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/remote/script_execution.py +0 -0
  39. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
  40. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
  41. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/helpers/enhanced_command_runner.py +0 -0
  42. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/helpers/load_balancer_helper.py +0 -0
  43. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/utils/load_balancer.py +0 -0
  44. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/utils/maker.py +0 -0
  45. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/wt_local.py +0 -0
  46. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +0 -0
  47. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
  48. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +0 -0
  49. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
  50. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
  51. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
  52. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
  53. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +0 -0
  54. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/zellij_local.py +0 -0
  55. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +0 -0
  56. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
  57. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
  58. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
  59. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
  60. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +0 -0
  61. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +0 -0
  62. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
  63. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
  64. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +0 -0
  65. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper.py +0 -0
  66. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_restart.py +0 -0
  67. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_with_panes.py +0 -0
  68. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_manager_helper.py +0 -0
  69. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/templates/__init__.py +0 -0
  70. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
  71. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/__init__.py +0 -0
  72. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/__init__.py +0 -0
  73. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/check_installations.py +0 -0
  74. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/custom/gh.py +0 -0
  75. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/custom/hx.py +0 -0
  76. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/custom_dev/__init__.py +0 -0
  77. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/custom_dev/alacritty.py +0 -0
  78. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/custom_dev/brave.py +0 -0
  79. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/custom_dev/bypass_paywall.py +0 -0
  80. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/custom_dev/code.py +0 -0
  81. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/custom_dev/cursor.py +0 -0
  82. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +0 -0
  83. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/custom_dev/espanso.py +0 -0
  84. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/custom_dev/goes.py +0 -0
  85. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/custom_dev/lvim.py +0 -0
  86. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/custom_dev/nerdfont.py +0 -0
  87. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +0 -0
  88. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/custom_dev/redis.py +0 -0
  89. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/custom_dev/wezterm.py +0 -0
  90. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/custom_dev/winget.py +0 -0
  91. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/linux_scripts/brave.sh +0 -0
  92. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/linux_scripts/docker.sh +0 -0
  93. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/linux_scripts/docker_start.sh +0 -0
  94. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/linux_scripts/edge.sh +0 -0
  95. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/linux_scripts/nerdfont.sh +0 -0
  96. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/linux_scripts/ngrok.sh +0 -0
  97. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -0
  98. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/linux_scripts/q.sh +0 -0
  99. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/linux_scripts/redis.sh +0 -0
  100. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -0
  101. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/linux_scripts/vscode.sh +0 -0
  102. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/linux_scripts/warp-cli.sh +0 -0
  103. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/linux_scripts/wezterm.sh +0 -0
  104. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/package_groups.py +0 -0
  105. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +0 -0
  106. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/linux/msc/cli_agents.sh +0 -0
  107. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/linux/msc/lid.sh +0 -0
  108. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/linux/msc/network.sh +0 -0
  109. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/python/__init__.py +0 -0
  110. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/python/python_ve_symlink.py +0 -0
  111. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/python/vscode/api.py +0 -0
  112. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -0
  113. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/windows/archive/openssh-server_add_key.ps1 +0 -0
  114. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/windows/archive/openssh-server_copy-ssh-id.ps1 +0 -0
  115. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/windows/msc/cli_agents.bat +0 -0
  116. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/jobs/windows/msc/cli_agents.ps1 +0 -0
  117. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/logger.py +0 -0
  118. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/profile/__init__.py +0 -0
  119. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/profile/backup.toml +0 -0
  120. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/profile/bash_shell_profiles.md +0 -0
  121. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/profile/create_helper.py +0 -0
  122. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/profile/create_links.py +0 -0
  123. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/profile/create_links_export.py +0 -0
  124. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/profile/create_shell_profile.py +0 -0
  125. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/profile/mapper.toml +0 -0
  126. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/profile/records/generic/shares.toml +0 -0
  127. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
  128. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
  129. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
  130. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
  131. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/Restore-ThunderbirdProfile.ps1 +0 -0
  132. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/__init__.py +0 -0
  133. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/linux/fzf2g +0 -0
  134. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/linux/fzfag +0 -0
  135. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/linux/fzffg +0 -0
  136. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/linux/fzfg +0 -0
  137. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/linux/fzfrga +0 -0
  138. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/linux/other/share_cloud.sh +0 -0
  139. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/linux/other/share_nfs +0 -0
  140. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/linux/other/share_smb +0 -0
  141. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/linux/other/start_docker +0 -0
  142. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/linux/other/switch_ip +0 -0
  143. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/linux/skrg +0 -0
  144. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/linux/warp-cli.sh +0 -0
  145. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/linux/z_ls +0 -0
  146. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/__init__.py +0 -0
  147. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/agents.py +0 -0
  148. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
  149. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/command_runner/command_runner.sh +0 -0
  150. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/command_runner/prompt.txt +0 -0
  151. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
  152. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/initai.py +0 -0
  153. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +0 -0
  154. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -0
  155. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/solutions/__init__.py +0 -0
  156. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/solutions/_shared.py +0 -0
  157. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/solutions/claude/claude.py +0 -0
  158. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/solutions/cline/cline.py +0 -0
  159. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
  160. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
  161. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md +0 -0
  162. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
  163. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
  164. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/solutions/copilot/privacy.md +0 -0
  165. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +0 -0
  166. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
  167. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/solutions/crush/crush.json +0 -0
  168. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/solutions/crush/crush.py +0 -0
  169. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/solutions/crush/privacy.md +0 -0
  170. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/solutions/cursor/cursors.py +0 -0
  171. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/solutions/gemini/gemini.py +0 -0
  172. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/solutions/gemini/settings.json +0 -0
  173. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/solutions/generic.py +0 -0
  174. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
  175. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json +0 -0
  176. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py +0 -0
  177. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ai/vscode_tasks.py +0 -0
  178. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/cloud_helpers/__init__.py +0 -0
  179. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/cloud_helpers/cloud_copy.py +0 -0
  180. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/cloud_helpers/cloud_helpers.py +0 -0
  181. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/cloud_helpers/cloud_mount.py +0 -0
  182. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/cloud_helpers/helpers2.py +0 -0
  183. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/cloud_helpers/helpers5.py +0 -0
  184. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/croshell_helpers/__init__.py +0 -0
  185. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/croshell_helpers/pomodoro.py +0 -0
  186. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/croshell_helpers/scheduler.py +0 -0
  187. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/croshell_helpers/start_slidev.py +0 -0
  188. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/croshell_helpers/viewer.py +0 -0
  189. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/croshell_helpers/viewer_template.py +0 -0
  190. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/devops_helpers/__init__.py +0 -0
  191. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/devops_helpers/cli_config.py +0 -0
  192. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/devops_helpers/cli_config_dotfile.py +0 -0
  193. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/devops_helpers/cli_data.py +0 -0
  194. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/devops_helpers/cli_nw.py +0 -0
  195. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/devops_helpers/cli_self.py +0 -0
  196. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/devops_helpers/cli_share_server.py +0 -0
  197. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/devops_helpers/cli_terminal.py +0 -0
  198. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/devops_helpers/devops_backup_retrieve.py +0 -0
  199. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/devops_helpers/devops_status.py +0 -0
  200. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/devops_helpers/devops_update_repos.py +0 -0
  201. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/devops_helpers/themes/__init__.py +0 -0
  202. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/devops_helpers/themes/choose_pwsh_theme.ps1 +0 -0
  203. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/devops_helpers/themes/choose_wezterm_theme.py +0 -0
  204. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/devops_navigator.py +0 -0
  205. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/entry.py +0 -0
  206. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/env_manager/__init__.py +0 -0
  207. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/env_manager/path_manager_backend.py +0 -0
  208. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/env_manager/path_manager_tui.py +0 -0
  209. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/fire_jobs.py +0 -0
  210. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/ftpx.py +0 -0
  211. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helper_navigator/__init__.py +0 -0
  212. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helper_navigator/command_builder.py +0 -0
  213. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helper_navigator/command_detail.py +0 -0
  214. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helper_navigator/command_tree.py +0 -0
  215. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helper_navigator/data_models.py +0 -0
  216. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helper_navigator/main_app.py +0 -0
  217. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helper_navigator/search_bar.py +0 -0
  218. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helpers_fire/__init__.py +0 -0
  219. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/__init__.py +0 -0
  220. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.json +0 -0
  221. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.py +0 -0
  222. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_cursor_agents.py +0 -0
  223. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_gemini.py +0 -0
  224. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_qwen.py +0 -0
  225. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helpers_fire/fire_agents_help_launch.py +0 -0
  226. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helpers_fire/fire_agents_help_search.py +0 -0
  227. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helpers_fire/fire_agents_helper_types.py +0 -0
  228. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helpers_fire/fire_agents_load_balancer.py +0 -0
  229. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helpers_fire/helpers4.py +0 -0
  230. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helpers_fire/prompt.txt +0 -0
  231. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helpers_fire/template.ps1 +0 -0
  232. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helpers_fire/template.sh +0 -0
  233. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helpers_fire_command/__init__.py +0 -0
  234. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helpers_fire_command/cloud_manager.py +0 -0
  235. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py +0 -0
  236. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +0 -0
  237. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
  238. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helpers_repos/__init__.py +0 -0
  239. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +0 -0
  240. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helpers_repos/grource.py +0 -0
  241. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/helpers_repos/secure_repo.py +0 -0
  242. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/interactive.py +0 -0
  243. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/nw/__init__.py +0 -0
  244. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/nw/add_ssh_key.py +0 -0
  245. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/nw/devops_add_identity.py +0 -0
  246. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/nw/devops_add_ssh_key.py +0 -0
  247. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/nw/mount_drive +0 -0
  248. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/nw/mount_nfs +0 -0
  249. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/nw/mount_nfs.py +0 -0
  250. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/nw/mount_nw_drive +0 -0
  251. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/nw/mount_nw_drive.py +0 -0
  252. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/nw/mount_smb +0 -0
  253. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/nw/mount_ssh.py +0 -0
  254. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/nw/onetimeshare.py +0 -0
  255. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/nw/ssh_debug_linux.py +0 -0
  256. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/nw/ssh_debug_windows.py +0 -0
  257. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/nw/wifi_conn.py +0 -0
  258. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/nw/wsl_windows_transfer.py +0 -0
  259. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/repos_helpers/clone.py +0 -0
  260. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/repos_helpers/count_lines.py +0 -0
  261. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/repos_helpers/count_lines_frontend.py +0 -0
  262. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/repos_helpers/record.py +0 -0
  263. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/repos_helpers/sync.py +0 -0
  264. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/repos_helpers/update.py +0 -0
  265. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/sessions.py +0 -0
  266. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/sessions_helpers/__init__.py +0 -0
  267. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/python/sessions_helpers/sessions_multiprocess.py +0 -0
  268. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
  269. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
  270. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
  271. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/windows/mounts/mount_nfs.ps1 +0 -0
  272. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/windows/mounts/mount_nw.ps1 +0 -0
  273. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/windows/mounts/mount_smb.ps1 +0 -0
  274. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/windows/mounts/mount_ssh.ps1 +0 -0
  275. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/windows/mounts/share_cloud.cmd +0 -0
  276. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/windows/mounts/share_smb.ps1 +0 -0
  277. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1 +0 -0
  278. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/__init__.py +0 -0
  279. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/broot/br.sh +0 -0
  280. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
  281. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/broot/conf.toml +0 -0
  282. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/glow/glow.yml +0 -0
  283. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
  284. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/helix/config.toml +0 -0
  285. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/helix/languages.toml +0 -0
  286. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/keras/keras.json +0 -0
  287. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
  288. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
  289. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
  290. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
  291. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
  292. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
  293. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
  294. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
  295. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
  296. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
  297. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/linux/colors +0 -0
  298. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
  299. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
  300. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
  301. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
  302. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/linux/exe/previewer.sh +0 -0
  303. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
  304. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/linux/icons +0 -0
  305. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/linux/lfrc +0 -0
  306. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
  307. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
  308. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
  309. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
  310. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
  311. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
  312. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
  313. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
  314. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
  315. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
  316. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/windows/colors +0 -0
  317. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
  318. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/windows/icons +0 -0
  319. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
  320. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
  321. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/windows/lfrc +0 -0
  322. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
  323. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
  324. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
  325. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
  326. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/linters/.flake8 +0 -0
  327. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/linters/.mypy.ini +0 -0
  328. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/linters/.pylintrc +0 -0
  329. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/linters/.ruff.toml +0 -0
  330. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
  331. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
  332. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
  333. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
  334. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
  335. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/mprocs/windows/other +0 -0
  336. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/pistol/pistol.conf +0 -0
  337. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/presenterm/config.yaml +0 -0
  338. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/procs/.procs.toml +0 -0
  339. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
  340. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/rofi/config.rasi +0 -0
  341. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
  342. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
  343. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
  344. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
  345. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
  346. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
  347. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
  348. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
  349. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
  350. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
  351. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/shells/pwsh/init.ps1 +0 -0
  352. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
  353. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
  354. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
  355. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
  356. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/shells/wt/settings.json +0 -0
  357. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/streamlit/config.toml +0 -0
  358. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/svim/linux/init.toml +0 -0
  359. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/svim/windows/init.toml +0 -0
  360. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
  361. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/tere/terecd.sh +0 -0
  362. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
  363. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
  364. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/wsl/.wslconfig +0 -0
  365. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/yazi/keymap.toml +0 -0
  366. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/yazi/theme.toml +0 -0
  367. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/yazi/yazi.toml +0 -0
  368. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/zed/settings.json +0 -0
  369. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/zellij/commands/monitor +0 -0
  370. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
  371. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/zellij/config.kdl +0 -0
  372. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
  373. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/zellij/layouts/hist +0 -0
  374. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
  375. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
  376. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
  377. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
  378. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/setup_linux/__init__.py +0 -0
  379. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/setup_linux/apps.sh +0 -0
  380. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/setup_linux/apps_desktop.sh +0 -0
  381. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/setup_linux/apps_gui.sh +0 -0
  382. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/setup_linux/nix/cli_installation.sh +0 -0
  383. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
  384. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/setup_linux/ssh/openssh_all.sh +0 -0
  385. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/setup_linux/ssh/openssh_wsl.sh +0 -0
  386. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/setup_linux/uv.sh +0 -0
  387. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/setup_linux/web_shortcuts/android.sh +0 -0
  388. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +0 -0
  389. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/setup_windows/__init__.py +0 -0
  390. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/setup_windows/apps.ps1 +0 -0
  391. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
  392. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
  393. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/setup_windows/others/power_options.ps1 +0 -0
  394. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/setup_windows/ssh/add-sshkey.ps1 +0 -0
  395. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/setup_windows/ssh/add_identity.ps1 +0 -0
  396. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/setup_windows/ssh/openssh-server.ps1 +0 -0
  397. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/setup_windows/uv.ps1 +0 -0
  398. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +0 -0
  399. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
  400. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
  401. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/__init__.py +0 -0
  402. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/accessories.py +0 -0
  403. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/ai/__init__.py +0 -0
  404. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/cloud/onedrive/README.md +0 -0
  405. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
  406. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
  407. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/code.py +0 -0
  408. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/files/ascii_art.py +0 -0
  409. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/files/dbms.py +0 -0
  410. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/files/ouch/__init__.py +0 -0
  411. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/files/ouch/decompress.py +0 -0
  412. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/files/read.py +0 -0
  413. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/installer_utils/__init__.py +0 -0
  414. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/installer_utils/github_release_bulk.py +0 -0
  415. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/installer_utils/installer.py +0 -0
  416. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/io.py +0 -0
  417. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/links.py +0 -0
  418. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/meta.py +0 -0
  419. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/notifications.py +0 -0
  420. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/options.py +0 -0
  421. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/path_extended.py +0 -0
  422. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/path_helper.py +0 -0
  423. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/procs.py +0 -0
  424. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/scheduler.py +0 -0
  425. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/scheduling.py +0 -0
  426. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +0 -0
  427. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/schemas/installer/installer_types.py +0 -0
  428. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/schemas/layouts/layout_types.py +0 -0
  429. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
  430. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/source_of_truth.py +0 -0
  431. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/ssh.py +0 -0
  432. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/ssh_utils/utils.py +0 -0
  433. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/terminal.py +0 -0
  434. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/tst.py +0 -0
  435. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/upgrade_packages.py +0 -0
  436. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig/utils/ve.py +0 -0
  437. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig.egg-info/dependency_links.txt +0 -0
  438. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig.egg-info/entry_points.txt +0 -0
  439. {machineconfig-6.37 → machineconfig-6.39}/src/machineconfig.egg-info/requires.txt +0 -0
  440. {machineconfig-6.37 → machineconfig-6.39}/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.37
3
+ Version: 6.39
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.37"
9
+ version = "6.39"
10
10
  description = "Dotfiles management package"
11
11
  readme = "README.md"
12
12
  license = {text = "Apache 2.0"}
@@ -79,7 +79,7 @@ license-files = []
79
79
  where = ["src"]
80
80
 
81
81
  [tool.setuptools.package-data]
82
- machineconfig = ["**/*.toml", "**/*.md", "**/*.sh", "**/*.ps1"]
82
+ machineconfig = ["**/*.toml", "**/*.md", "**/*.sh", "**/*.ps1", "**/*.txt"]
83
83
 
84
84
  [dependency-groups]
85
85
  dev = [
@@ -88,7 +88,6 @@ dev = [
88
88
  "cleanpy>=0.5.1",
89
89
  "cowsay>=6.1",
90
90
  # "duckdb-engine>=0.17.0",
91
- "euporie>=2.8.14",
92
91
  "ipdb>=0.13.13",
93
92
  "ipykernel>=6.30.1",
94
93
  "ipython>=9.5.0",
@@ -123,6 +122,8 @@ other = [
123
122
  "pycrucible>=0.3.0",
124
123
  "vt-py>=0.21.0",
125
124
  ]
125
+ # "euporie>=2.8.14",
126
+
126
127
 
127
128
  [tool.pycrucible]
128
129
  entry = "src/machineconfig/scripts/python/devops.py"
@@ -2145,7 +2145,7 @@
2145
2145
  }
2146
2146
  },
2147
2147
  {
2148
- "appName": "github-copilot-cli",
2148
+ "appName": "copilot",
2149
2149
  "repoURL": "CMD",
2150
2150
  "doc": "Terminal-based CLI agents and tools for productivity and coding.",
2151
2151
  "fileNamePattern": {
@@ -22,3 +22,8 @@ def get_app():
22
22
  def main():
23
23
  app = get_app()
24
24
  app()
25
+
26
+
27
+ if __name__ == "__main__":
28
+ pass
29
+ # a = get_app()(asdf)
@@ -73,8 +73,8 @@ def main(
73
73
  cmd_line = f"{rclone_cmd[:65]}..."
74
74
  console.print(Panel(f"{title}\n{cmd_line}", title="[bold blue]Command[/bold blue]", expand=False))
75
75
 
76
- # PROGRAM_PATH.write_text(txt, encoding="utf-8")
77
- import subprocess
78
-
79
- subprocess.run(txt, shell=True, check=True)
76
+ # import subprocess
77
+ # subprocess.run(txt, shell=True, check=True)
78
+ from machineconfig.utils.code import run_shell_script
79
+ run_shell_script(txt)
80
80
 
@@ -8,11 +8,14 @@ from typing import Annotated, Optional
8
8
  import typer
9
9
  from machineconfig.utils.path_extended import PathExtended
10
10
  from machineconfig.utils.accessories import randstr
11
+ import json
12
+ import shutil
11
13
 
12
14
  from machineconfig.utils.options import choose_from_options
13
- # from machineconfig.utils.ve import get_ve_activate_line
14
15
  from rich.console import Console
15
16
  from rich.panel import Panel
17
+ # from machineconfig.utils.ve import get_ve_path_and_ipython_profile
18
+ # from pathlib import Path
16
19
  # from rich.text import Text
17
20
 
18
21
  console = Console()
@@ -61,14 +64,15 @@ except Exception as e:
61
64
  """
62
65
 
63
66
 
64
-
65
67
  def croshell(
66
- path: Annotated[Optional[str], typer.Argument(help="read a file.")] = "",
68
+ path: Annotated[Optional[str], typer.Argument(help="path of file to read.")] = "",
67
69
  python: Annotated[bool, typer.Option("--python", "-p", help="flag to use python over IPython.")] = False,
68
70
  profile: Annotated[Optional[str], typer.Option("--profile", "-P", help="ipython profile to use, defaults to default profile.")] = None,
69
71
  jupyter: Annotated[bool, typer.Option("--jupyter", "-j", help="run in jupyter interactive console")] = False,
72
+ vscode: Annotated[bool, typer.Option("--vscode", "-c", help="open the script in vscode")] = False,
70
73
  streamlit_viewer: Annotated[bool, typer.Option("--stViewer", "-s", help="view in streamlit app")] = False,
71
74
  visidata: Annotated[bool, typer.Option("--visidata", "-V", help="open data file in visidata")] = False,
75
+ marimo: Annotated[bool, typer.Option("--marimo", "-m", help="open the notebook using marimo if available")] = False,
72
76
  local: Annotated[bool, typer.Option("--local", "-l", help="run in local mode, not in virtual env.")]= False,
73
77
  ) -> None:
74
78
  # ==================================================================================
@@ -104,7 +108,6 @@ def croshell(
104
108
  program = get_read_data_pycode(str(file_obj))
105
109
  text = f"📄 Reading data from: {file_obj.name}"
106
110
  console.print(Panel(text, title="[bold blue]Info[/bold blue]"))
107
-
108
111
  else: # if nothing is specified, then run in interactive mode.
109
112
  text = "⌨️ Entering interactive mode"
110
113
  console.print(Panel(text, title="[bold blue]Info[/bold blue]"))
@@ -124,7 +127,7 @@ from pathlib import Path
124
127
 
125
128
  """
126
129
 
127
- pyfile = PathExtended.tmp().joinpath(f"tmp_scripts/python/croshell/{randstr()}.py")
130
+ pyfile = PathExtended.tmp().joinpath(f"tmp_scripts/python/croshell/{randstr()}/script.py")
128
131
  pyfile.parent.mkdir(parents=True, exist_ok=True)
129
132
 
130
133
  title = "Reading Data"
@@ -134,10 +137,49 @@ from pathlib import Path
134
137
  ipython_profile = ipython_profile if ipython_profile is not None else "default"
135
138
  # ve_activateion_line = get_ve_activate_line(ve_name=args.ve or ve_profile_suggested, a_path=str(PathExtended.cwd()))
136
139
 
140
+ # prepare notebook target path (avoid relying on locals())
141
+ nb_target = pyfile.with_suffix(".ipynb")
142
+ if jupyter:
143
+ try:
144
+ nb_path = pyfile.with_suffix(".ipynb")
145
+ nb_content = {
146
+ "cells": [
147
+ {
148
+ "cell_type": "code",
149
+ "metadata": {"language": "python"},
150
+ "source": [python_program],
151
+ "outputs": [],
152
+ "execution_count": None,
153
+ }
154
+ ],
155
+ "metadata": {},
156
+ "nbformat": 4,
157
+ "nbformat_minor": 5,
158
+ }
159
+ nb_path.write_text(json.dumps(nb_content), encoding="utf-8")
160
+ nb_target = nb_path
161
+ except Exception:
162
+ # if writing fails, fall back to the default nb_target already set
163
+ pass
137
164
  if visidata:
138
165
  fire_line = f"uv run --with visidata,pyarrow vd {str(file_obj)}"
166
+ elif marimo:
167
+ fire_line = f"""
168
+ cd {str(pyfile.parent)}
169
+ uv run --with marimo marimo convert {pyfile.name} -o marimo_nb.py
170
+ uv run --with "marimo,machineconfig[plot]>=6.36" marimo edit marimo_nb.py
171
+ """
139
172
  elif jupyter:
140
- fire_line = f"code --new-window {str(pyfile)}"
173
+ fire_line = f"uv run --with 'machineconfig[plot]>=6.36' jupyter-lab {str(nb_target)}"
174
+ elif vscode:
175
+ fire_line = f"""
176
+ cd {str(pyfile.parent)}
177
+ uv init --python 3.14
178
+ uv venv
179
+ uv add "machineconfig[plot]>=6.36"
180
+ # code serve-web
181
+ code --new-window {str(pyfile)}
182
+ """
141
183
  else:
142
184
  if interpreter == "ipython": profile = f" --profile {ipython_profile} --no-banner"
143
185
  else: profile = ""
@@ -150,7 +192,9 @@ from pathlib import Path
150
192
  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"))
151
193
  return
152
194
  else: ve_line = """--with "machineconfig[plot]>=6.36" """
153
- fire_line = f"uv run --python 3.14 {ve_line} {interpreter} {interactivity} {profile} {str(pyfile)}"
195
+ # ve_path_maybe, ipython_profile_maybe = get_ve_path_and_ipython_profile(Path.cwd())
196
+ # --python 3.14
197
+ fire_line = f"uv run {ve_line} {interpreter} {interactivity} {profile} {str(pyfile)}"
154
198
 
155
199
  from machineconfig.utils.code import run_shell_script
156
200
  run_shell_script(fire_line, clean_env=False)
@@ -8,6 +8,7 @@ import machineconfig.scripts.python.devops_helpers.cli_config as cli_config
8
8
  import machineconfig.scripts.python.devops_helpers.cli_self as cli_self
9
9
  import machineconfig.scripts.python.devops_helpers.cli_data as cli_data
10
10
  import machineconfig.scripts.python.devops_helpers.cli_nw as cli_network
11
+ from machineconfig.scripts.python.devops_helpers.cli_utils import get_app as get_app_utils
11
12
 
12
13
 
13
14
  def install(which: Annotated[Optional[str], typer.Argument(..., help="Comma-separated list of program names to install, or group name if --group flag is set.")] = None,
@@ -39,6 +40,9 @@ def get_app():
39
40
  app_nw = cli_network.get_app()
40
41
  app.add_typer(app_nw, name="network")
41
42
  app.add_typer(app_nw, name="n", hidden=True)
43
+ app_utils = get_app_utils()
44
+ app.add_typer(app_utils, name="utils")
45
+ app.add_typer(app_utils, name="u", hidden=True)
42
46
  return app
43
47
 
44
48
  def main():
@@ -20,27 +20,27 @@ CloudOption = Annotated[Optional[str], typer.Option("--cloud", "-c", help="☁
20
20
  def push(directory: DirectoryArgument = None, recursive: RecursiveOption = False, no_sync: NoSyncOption = False) -> None:
21
21
  """🚀 Push changes across repositories."""
22
22
  from machineconfig.scripts.python.repos_helpers.entrypoint import git_operations
23
- git_operations(directory, pull=False, commit=False, push=True, recursive=recursive, no_sync=no_sync)
23
+ git_operations(directory, pull=False, commit=False, push=True, recursive=recursive, auto_uv_sync=not no_sync)
24
24
 
25
25
 
26
26
  def pull(directory: DirectoryArgument = None, recursive: RecursiveOption = False, no_sync: NoSyncOption = False) -> None:
27
27
  """⬇️ Pull changes across repositories."""
28
28
  from machineconfig.scripts.python.repos_helpers.entrypoint import git_operations
29
29
 
30
- git_operations(directory, pull=True, commit=False, push=False, recursive=recursive, no_sync=no_sync)
30
+ git_operations(directory, pull=True, commit=False, push=False, recursive=recursive, auto_uv_sync=not no_sync)
31
31
 
32
32
 
33
33
  def commit(directory: DirectoryArgument = None, recursive: RecursiveOption = False, no_sync: NoSyncOption = False) -> None:
34
34
  """💾 Commit changes across repositories."""
35
35
  from machineconfig.scripts.python.repos_helpers.entrypoint import git_operations
36
-
37
- git_operations(directory, pull=False, commit=True, push=False, recursive=recursive, no_sync=no_sync)
36
+ git_operations(directory, pull=False, commit=True, push=False, recursive=recursive, auto_uv_sync=not no_sync)
38
37
 
39
38
 
40
39
  def sync(directory: DirectoryArgument = None, recursive: RecursiveOption = False, no_sync: NoSyncOption = False) -> None:
41
40
  """🔄 Pull, commit, and push changes across repositories."""
42
41
  from machineconfig.scripts.python.repos_helpers.entrypoint import git_operations
43
- git_operations(directory, pull=True, commit=True, push=True, recursive=recursive, no_sync=no_sync)
42
+ print(f"no_sync is {no_sync}")
43
+ git_operations(directory, pull=True, commit=True, push=True, recursive=recursive, auto_uv_sync=not no_sync)
44
44
 
45
45
 
46
46
  def capture(directory: DirectoryArgument = None, cloud: CloudOption = None) -> None:
@@ -0,0 +1,79 @@
1
+
2
+
3
+ import typer
4
+ from typing import Annotated, Optional
5
+ from pathlib import Path
6
+ import subprocess
7
+ import requests
8
+
9
+ def download(url: Annotated[Optional[str], typer.Argument(..., help="The URL to download the file from." )] = None,
10
+ decompress: Annotated[bool, typer.Option("--decompress", "-d", help="Decompress the file if it's an archive.")] = False,
11
+ output: Annotated[Optional[str], typer.Option("--output", "-o", help="The output file path.")] = None) -> None:
12
+ if url is None:
13
+ typer.echo("❌ Error: URL is required.", err=True)
14
+ raise typer.Exit(code=1)
15
+
16
+ typer.echo(f"📥 Downloading from: {url}")
17
+
18
+ download_path = Path(output) if output else Path(url.split("/")[-1])
19
+
20
+ try:
21
+ response = requests.get(url, allow_redirects=True, stream=True, timeout=60)
22
+ response.raise_for_status()
23
+
24
+ total_size = int(response.headers.get('content-length', 0))
25
+
26
+ with open(download_path, 'wb') as f:
27
+ if total_size == 0:
28
+ f.write(response.content)
29
+ else:
30
+ downloaded = 0
31
+ chunk_size = 8192
32
+ for chunk in response.iter_content(chunk_size=chunk_size):
33
+ if chunk:
34
+ f.write(chunk)
35
+ downloaded += len(chunk)
36
+ progress = (downloaded / total_size) * 100
37
+ typer.echo(f"\r⏬ Progress: {progress:.1f}% ({downloaded}/{total_size} bytes)", nl=False)
38
+ typer.echo()
39
+
40
+ typer.echo(f"✅ Downloaded to: {download_path}")
41
+ except requests.exceptions.RequestException as e:
42
+ typer.echo(f"❌ Download failed: {e}", err=True)
43
+ raise typer.Exit(code=1)
44
+ except OSError as e:
45
+ typer.echo(f"❌ File write error: {e}", err=True)
46
+ raise typer.Exit(code=1)
47
+
48
+ if decompress:
49
+ typer.echo(f"📦 Decompressing: {download_path}")
50
+
51
+ output_dir = download_path.parent if output else Path.cwd()
52
+
53
+ try:
54
+ _result = subprocess.run(
55
+ ["ouch", "decompress", str(download_path), "--dir", str(output_dir)],
56
+ check=True,
57
+ capture_output=True,
58
+ text=True
59
+ )
60
+ typer.echo(f"✅ Decompressed to: {output_dir}")
61
+
62
+ if download_path.exists():
63
+ download_path.unlink()
64
+ typer.echo(f"🗑️ Removed archive: {download_path}")
65
+
66
+ except subprocess.CalledProcessError as e:
67
+ typer.echo(f"❌ Decompression failed: {e.stderr}", err=True)
68
+ raise typer.Exit(code=1)
69
+ except FileNotFoundError:
70
+ typer.echo("❌ Error: ouch command not found. Please install ouch.", err=True)
71
+ typer.echo("💡 Install with: cargo install ouch", err=True)
72
+ raise typer.Exit(code=1)
73
+
74
+
75
+ def get_app() -> typer.Typer:
76
+ app = typer.Typer(help="🛠️ [u] utilities operations", no_args_is_help=True, add_completion=True)
77
+ app.command(name="download", no_args_is_help=True, help="[d] Download a file from a URL and optionally decompress it.")(download)
78
+ app.command(name="d", no_args_is_help=True, hidden=True)(download)
79
+ return app
@@ -57,7 +57,7 @@ class GitOperationSummary:
57
57
  self.repos_without_remotes: list[PathExtended] = []
58
58
 
59
59
 
60
- def git_action(path: PathExtended, action: GitAction, mess: Optional[str] = None, r: bool = False, auto_sync: bool = True) -> GitOperationResult:
60
+ def git_action(path: PathExtended, action: GitAction, mess: Optional[str], r: bool, auto_uv_sync: bool) -> GitOperationResult:
61
61
  """Perform git actions using Python instead of shell scripts. Returns detailed operation result."""
62
62
  from git.exc import InvalidGitRepositoryError
63
63
  from git.repo import Repo
@@ -67,7 +67,7 @@ def git_action(path: PathExtended, action: GitAction, mess: Optional[str] = None
67
67
  except InvalidGitRepositoryError:
68
68
  pprint(f"⚠️ Skipping {path} because it is not a git repository.")
69
69
  if r:
70
- results = [git_action(path=sub_path, action=action, mess=mess, r=r, auto_sync=auto_sync) for sub_path in path.search()]
70
+ results = [git_action(path=sub_path, action=action, mess=mess, r=r, auto_uv_sync=auto_uv_sync) for sub_path in path.search()]
71
71
  # For recursive calls, we need to aggregate results somehow
72
72
  # For now, return success if all recursive operations succeeded
73
73
  all_successful = all(result.success for result in results)
@@ -154,7 +154,7 @@ def git_action(path: PathExtended, action: GitAction, mess: Optional[str] = None
154
154
  elif action == GitAction.pull:
155
155
  # Use the enhanced update function with uv sync support
156
156
  try:
157
- update_repository(repo, auto_uv_sync=auto_sync, allow_password_prompt=False)
157
+ update_repository(repo, auto_uv_sync=auto_uv_sync, allow_password_prompt=False)
158
158
  print("✅ Pull completed")
159
159
  return GitOperationResult(
160
160
  repo_path=path,
@@ -341,7 +341,7 @@ def perform_git_operations(repos_root: PathExtended, pull: bool, commit: bool, p
341
341
 
342
342
  # Now perform the actual operations
343
343
  if pull:
344
- result = git_action(path=a_path, action=GitAction.pull, r=recursive, auto_sync=auto_uv_sync)
344
+ result = git_action(path=a_path, action=GitAction.pull, mess=None, r=recursive, auto_uv_sync=auto_uv_sync)
345
345
  summary.pulls_attempted += 1
346
346
  if result.success:
347
347
  summary.pulls_successful += 1
@@ -350,7 +350,7 @@ def perform_git_operations(repos_root: PathExtended, pull: bool, commit: bool, p
350
350
  summary.failed_operations.append(result)
351
351
 
352
352
  if commit:
353
- result = git_action(a_path, action=GitAction.commit, r=recursive, auto_sync=auto_uv_sync)
353
+ result = git_action(a_path, action=GitAction.commit, mess=None, r=recursive, auto_uv_sync=auto_uv_sync)
354
354
  summary.commits_attempted += 1
355
355
  if result.success:
356
356
  if result.had_changes:
@@ -362,7 +362,7 @@ def perform_git_operations(repos_root: PathExtended, pull: bool, commit: bool, p
362
362
  summary.failed_operations.append(result)
363
363
 
364
364
  if push:
365
- result = git_action(a_path, action=GitAction.push, r=recursive, auto_sync=auto_uv_sync)
365
+ result = git_action(a_path, action=GitAction.push, mess=None, r=recursive, auto_uv_sync=auto_uv_sync)
366
366
  summary.pushes_attempted += 1
367
367
  if result.success:
368
368
  summary.pushes_successful += 1
@@ -20,11 +20,10 @@ def git_operations(
20
20
  commit: bool,
21
21
  push: bool,
22
22
  recursive: bool,
23
- no_sync: bool,
23
+ auto_uv_sync: bool,
24
24
  ) -> None:
25
25
 
26
26
  repos_root = resolve_directory(directory)
27
- auto_uv_sync = not no_sync
28
27
  from machineconfig.scripts.python.repos_helpers.action import perform_git_operations
29
28
  from machineconfig.utils.path_extended import PathExtended
30
29
  perform_git_operations(
@@ -40,7 +40,7 @@ alias a=agents
40
40
  alias s=sessions
41
41
  alias ff=ftpx
42
42
  alias f=fire
43
- alias cs=croshell
43
+ alias r=croshell
44
44
 
45
45
  # alias gcs='gh copilot suggest -t shell'
46
46
  # alias gcg='gh copilot suggest -t git'
@@ -0,0 +1,10 @@
1
+ _ ___ /^^\ /^\ /^^\_
2
+ _ _@)@) \ ,,/ '` ~ `'~~ ', `\.
3
+ _/o\_ _ _ _/~`.`...'~\ ./~~..,'`','',.,' ' ~:
4
+ / `,'.~,~.~ . , . , ~|, ,/ .,' , ,. .. ,,. `, ~\_
5
+ ( ' _' _ '_` _ ' . , `\_/ .' ..' ' ` ` `.. `, \_
6
+ ~V~ V~ V~ V~ ~\ ` ' . ' , ' .,.,''`.,.''`.,.``. ', \_
7
+ _/\ /\ /\ /\_/, . ' , `_/~\_ .' .,. ,, , _/~\_ `. `. '., \_
8
+ &lt; ~ ~ '~`'~'`, ., . `_: ::: \_ ' `_/ ::: \_ `.,' . ', \_
9
+ \ ' `_ '`_ _ ',/ _::_::_ \ _ _/ _::_::_ \ `.,'.,`., \-,-,-,_,_,
10
+ `'~~ `'~~ `'~~ `'~~ \(_)(_)(_)/ `~~' \(_)(_)(_)/ ~'`\_.._,._,'_;_;_;_;_;
@@ -0,0 +1,9 @@
1
+ .-._ _ _ _ _ _ _ _ _
2
+ .-''-.__.-'00 '-' ' ' ' ' ' ' ' '-.
3
+ '.___ ' . .--_'-' '-' '-' _'-' '._
4
+ V: V 'vv-' '_ '. .' _..' '.'.
5
+ '=.____.=_.--' :_.__.__:_ '. : :
6
+ (((____.-' '-. / : :
7
+ (((-'\ .' /
8
+ _____..' .'
9
+ '-._____.-'
@@ -0,0 +1,22 @@
1
+ .--. .--.
2
+ / \/ \
3
+ | .-. .-. \
4
+ |/_ |/_ | \
5
+ || `\|| `\| `----.
6
+ |\0_/ \0_/ --, \_
7
+ .--"""""-. / (` \ `-.
8
+ / \-----'-. \ \
9
+ \ () () /`\ \
10
+ | .___.-' | \
11
+ \ /` \| / ;
12
+ `-.___ ___.' .-.`.---.| \
13
+ \| ``-..___,.-'`\| / / / | `\
14
+ ` \| ,`/ / / , /
15
+ ` |\ / / |\/
16
+ , .'`-; ' \/
17
+ , |\-' .' , .-'`
18
+ .-|\--;`` .-' |\.'
19
+ ( `"'-.|\ (___,.--'`'
20
+ `-. `"` _.--'
21
+ `. _.-'`-.
22
+ `''---''`` `."
@@ -0,0 +1,11 @@
1
+ _.---._ .---.
2
+ __...---' .---. `---'-. `.
3
+ ~ -~ -.-''__.--' _.'( | )`. `. `._ :
4
+ -.~~ .'__-'_ .--'' ._`---'_.-. `. `-`.
5
+ ~ ~_~-~-~_ ~ -._ -._``---. -. `-._ `.
6
+ ~- ~ ~ -_ -~ ~ -.._ _ _ _ ..-_ `. `-._``--.._
7
+ ~~-~ ~-_ _~ ~-~ ~ -~ _~~_-~ -._ `-. -. `-._``--.._.--''. ~ -~_
8
+ ~~ -~_-~ _~- _~~ _~-_~ ~-_~~ ~-.___ -._ `-.__ `. `. ~ -_~
9
+ ~~ _~- ~~- -_~ ~- ~ - _~~- _~~ ~---...__ _ ._ .` `. ~-_~
10
+ ~ ~- _~~- _-_~ ~-_ ~-~ ~_-~ _~- ~_~-_~ ~--.....--~ -~_ ~
11
+ ~ ~ - ~ ~ ~~ - ~~- ~~- ~- ~ -~ ~ ~ -~~- ~- ~-~
@@ -6,7 +6,6 @@ import random
6
6
  from pathlib import Path
7
7
  from rich import pretty
8
8
  from rich.console import Console
9
- from typing import Optional
10
9
 
11
10
 
12
11
  def print_header():
@@ -38,18 +37,13 @@ def print_logo(logo: str):
38
37
  if random.choice([True, True, False]): font_box_color(logo)
39
38
  else: character_color(logo)
40
39
  else:
41
- print("\n" + "🚫 " + "-" * 70 + " 🚫")
42
- print("🔍 Missing ASCII art dependencies. Install with: iwr bit.ly/cfgasciiartwindows | iex")
43
- print("🚫 " + "-" * 70 + " 🚫\n")
40
+ # print("\n" + "🚫 " + "-" * 70 + " 🚫")
41
+ # print("🔍 Missing ASCII art dependencies. Install with: iwr bit.ly/cfgasciiartwindows | iex")
42
+ # print("🚫 " + "-" * 70 + " 🚫\n")
44
43
  _default_art = Path(random.choice(glob.glob(str(Path(__file__).parent.joinpath("art", "*")))))
45
44
  print(_default_art.read_text())
46
45
  elif platform.system() in ["Linux", "Darwin"]: # Explicitly handle both Linux and macOS
47
- def is_executable_in_path(executable_name: str) -> Optional[str]:
48
- path_dirs = os.environ['PATH'].split(os.pathsep)
49
- for path_dir in path_dirs:
50
- path_to_executable = os.path.join(path_dir, executable_name)
51
- if os.path.isfile(path_to_executable) and os.access(path_to_executable, os.X_OK): return path_to_executable
52
- return None
46
+ from machineconfig.utils.installer_utils.installer_abc import is_executable_in_path
53
47
  avail_cowsay = is_executable_in_path("cowsay")
54
48
  avail_lolcat = is_executable_in_path("lolcat")
55
49
  avail_boxes = is_executable_in_path("boxes")
@@ -92,7 +92,6 @@ def get_installed_cli_apps():
92
92
 
93
93
 
94
94
  def get_installers(os: OPERATING_SYSTEMS, arch: CPU_ARCHITECTURES, which_cats: Optional[list[PACKAGE_GROUPS]]) -> list[InstallerData]:
95
- print("🔍 LOADING INSTALLER CONFIGURATIONS 🔍")
96
95
  res_all = get_all_installer_data_files()
97
96
  acceptable_apps_names: list[str] | None = None
98
97
  if which_cats is not None:
@@ -109,19 +108,14 @@ def get_installers(os: OPERATING_SYSTEMS, arch: CPU_ARCHITECTURES, which_cats: O
109
108
  if installer_data["fileNamePattern"][arch][os] is None:
110
109
  continue
111
110
  all_installers.append(installer_data)
112
- print(f"✅ Loaded {len(all_installers)} installer configurations")
113
111
  return all_installers
114
112
 
115
113
 
116
114
  def get_all_installer_data_files() -> list[InstallerData]:
117
- print("📂 LOADING CONFIGURATION FILES 📂")
118
115
  import machineconfig.jobs.installer as module
119
116
  from pathlib import Path
120
-
121
- print("📂 Loading configuration files...")
122
117
  res_raw: InstallerDataFiles = read_json(Path(module.__file__).parent.joinpath("installer_data.json"))
123
118
  res_final: list[InstallerData] = res_raw["installers"]
124
- print(f"Loaded: {len(res_final)} installer categories")
125
119
  return res_final
126
120
 
127
121
 
@@ -141,11 +141,12 @@ def check_tool_exists(tool_name: str) -> bool:
141
141
  return npm_check
142
142
  else:
143
143
  raise NotImplementedError(f"platform {platform.system()} not implemented")
144
- def is_executable_in_path(executable_name: str) -> bool:
144
+
145
+ def is_executable_in_path(name: str) -> bool:
145
146
  import os
146
147
  path_dirs = os.environ['PATH'].split(os.pathsep)
147
148
  for path_dir in path_dirs:
148
- path_to_executable = os.path.join(path_dir, executable_name)
149
+ path_to_executable = os.path.join(path_dir, name)
149
150
  if os.path.isfile(path_to_executable) and os.access(path_to_executable, os.X_OK): return True
150
151
  return False
151
152
 
@@ -65,7 +65,7 @@ class Installer:
65
65
  if repo_url == "CMD":
66
66
  if any(pm in installer_arch_os for pm in ["npm ", "pip ", "winget ", "brew ", "curl "]):
67
67
  package_manager = installer_arch_os.split(" ", maxsplit=1)[0]
68
- print(f"📦 Using package manager: {package_manager}")
68
+ print(f"📦 Using package manager: {installer_arch_os}")
69
69
  desc = package_manager + " installation"
70
70
  version_to_be_installed = package_manager + "Latest"
71
71
  result = subprocess.run(installer_arch_os, shell=True, capture_output=True, text=False)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: machineconfig
3
- Version: 6.37
3
+ Version: 6.39
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -191,6 +191,7 @@ src/machineconfig/scripts/python/devops_helpers/cli_repos.py
191
191
  src/machineconfig/scripts/python/devops_helpers/cli_self.py
192
192
  src/machineconfig/scripts/python/devops_helpers/cli_share_server.py
193
193
  src/machineconfig/scripts/python/devops_helpers/cli_terminal.py
194
+ src/machineconfig/scripts/python/devops_helpers/cli_utils.py
194
195
  src/machineconfig/scripts/python/devops_helpers/devops_backup_retrieve.py
195
196
  src/machineconfig/scripts/python/devops_helpers/devops_status.py
196
197
  src/machineconfig/scripts/python/devops_helpers/devops_update_repos.py
@@ -419,6 +420,10 @@ src/machineconfig/utils/files/ascii_art.py
419
420
  src/machineconfig/utils/files/dbms.py
420
421
  src/machineconfig/utils/files/headers.py
421
422
  src/machineconfig/utils/files/read.py
423
+ src/machineconfig/utils/files/art/fat_croco.txt
424
+ src/machineconfig/utils/files/art/halfwit_croco.txt
425
+ src/machineconfig/utils/files/art/happy_croco.txt
426
+ src/machineconfig/utils/files/art/water_croco.txt
422
427
  src/machineconfig/utils/files/ouch/__init__.py
423
428
  src/machineconfig/utils/files/ouch/decompress.py
424
429
  src/machineconfig/utils/installer_utils/__init__.py
File without changes
File without changes
File without changes