machineconfig 5.11__tar.gz → 5.13__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 (423) hide show
  1. {machineconfig-5.11/src/machineconfig.egg-info → machineconfig-5.13}/PKG-INFO +1 -1
  2. {machineconfig-5.11 → machineconfig-5.13}/pyproject.toml +2 -1
  3. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/python/check_installations.py +0 -13
  4. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/profile/create.py +127 -13
  5. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/count_lines.py +9 -4
  6. machineconfig-5.13/src/machineconfig/scripts/python/count_lines_frontend.py +16 -0
  7. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/devops.py +0 -1
  8. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/interactive.py +2 -2
  9. machineconfig-5.13/src/machineconfig/scripts/python/repos.py +132 -0
  10. machineconfig-5.13/src/machineconfig/scripts/python/repos_helper.py +85 -0
  11. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/repos_helper_action.py +93 -50
  12. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/links.py +133 -16
  13. {machineconfig-5.11 → machineconfig-5.13/src/machineconfig.egg-info}/PKG-INFO +1 -1
  14. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig.egg-info/SOURCES.txt +1 -3
  15. machineconfig-5.11/src/machineconfig/jobs/python/create_bootable_media.py +0 -16
  16. machineconfig-5.11/src/machineconfig/jobs/python/python_cargo_build_share.py +0 -58
  17. machineconfig-5.11/src/machineconfig/jobs/python/tasks.py +0 -3
  18. machineconfig-5.11/src/machineconfig/scripts/python/count_lines_frontend.py +0 -12
  19. machineconfig-5.11/src/machineconfig/scripts/python/repos.py +0 -219
  20. {machineconfig-5.11 → machineconfig-5.13}/MANIFEST.in +0 -0
  21. {machineconfig-5.11 → machineconfig-5.13}/README.md +0 -0
  22. {machineconfig-5.11 → machineconfig-5.13}/setup.cfg +0 -0
  23. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/__init__.py +0 -0
  24. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/__init__.py +0 -0
  25. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
  26. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
  27. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/remote/distribute.py +0 -0
  28. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/remote/file_manager.py +0 -0
  29. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/remote/job_params.py +0 -0
  30. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
  31. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
  32. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/remote/run_cloud.py +0 -0
  33. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/remote/run_cluster.py +0 -0
  34. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/remote/run_remote.py +0 -0
  35. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/remote/script_execution.py +0 -0
  36. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
  37. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
  38. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/sessions_managers/ffile.py +0 -0
  39. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/sessions_managers/utils/enhanced_command_runner.py +0 -0
  40. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/sessions_managers/utils/load_balancer.py +0 -0
  41. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/sessions_managers/utils/load_balancer_helper.py +0 -0
  42. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/sessions_managers/wt_local.py +0 -0
  43. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +0 -0
  44. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
  45. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +0 -0
  46. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
  47. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
  48. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
  49. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
  50. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +0 -0
  51. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/sessions_managers/zellij_local.py +0 -0
  52. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +0 -0
  53. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
  54. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
  55. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
  56. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
  57. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +0 -0
  58. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +0 -0
  59. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
  60. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
  61. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +0 -0
  62. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/templates/__init__.py +0 -0
  63. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
  64. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/__init__.py +0 -0
  65. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/__init__.py +0 -0
  66. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/custom/gh.py +0 -0
  67. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/custom/hx.py +0 -0
  68. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/custom_dev/__init__.py +0 -0
  69. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/custom_dev/alacritty.py +0 -0
  70. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/custom_dev/brave.py +0 -0
  71. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/custom_dev/bypass_paywall.py +0 -0
  72. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/custom_dev/code.py +0 -0
  73. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/custom_dev/cursor.py +0 -0
  74. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/custom_dev/espanso.py +0 -0
  75. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/custom_dev/goes.py +0 -0
  76. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/custom_dev/lvim.py +0 -0
  77. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/custom_dev/nerdfont.py +0 -0
  78. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +0 -0
  79. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/custom_dev/redis.py +0 -0
  80. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/custom_dev/wezterm.py +0 -0
  81. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/custom_dev/winget.py +0 -0
  82. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/installer_data.json +0 -0
  83. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/linux_scripts/brave.sh +0 -0
  84. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/linux_scripts/docker.sh +0 -0
  85. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/linux_scripts/docker_start.sh +0 -0
  86. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/linux_scripts/edge.sh +0 -0
  87. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/linux_scripts/nerdfont.sh +0 -0
  88. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/linux_scripts/ngrok.sh +0 -0
  89. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -0
  90. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/linux_scripts/q.sh +0 -0
  91. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/linux_scripts/redis.sh +0 -0
  92. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -0
  93. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/linux_scripts/vscode.sh +0 -0
  94. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/linux_scripts/warp-cli.sh +0 -0
  95. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/linux_scripts/wezterm.sh +0 -0
  96. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/package_groups.py +0 -0
  97. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +0 -0
  98. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/linux/msc/cli_agents.sh +0 -0
  99. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/linux/msc/lid.sh +0 -0
  100. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/linux/msc/network.sh +0 -0
  101. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/python/__init__.py +0 -0
  102. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/python/python_ve_symlink.py +0 -0
  103. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/python/vscode/api.py +0 -0
  104. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/python/vscode/sync_code.py +0 -0
  105. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -0
  106. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/windows/archive/openssh-server_add_key.ps1 +0 -0
  107. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/windows/archive/openssh-server_copy-ssh-id.ps1 +0 -0
  108. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/windows/msc/cli_agents.bat +0 -0
  109. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/windows/msc/cli_agents.ps1 +0 -0
  110. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/windows/start_terminal.ps1 +0 -0
  111. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/jobs/windows/startup_file.cmd +0 -0
  112. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/logger.py +0 -0
  113. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/profile/__init__.py +0 -0
  114. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/profile/records/generic/shares.toml +0 -0
  115. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
  116. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
  117. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
  118. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
  119. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/profile/shell.py +0 -0
  120. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/__init__.py +0 -0
  121. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/cloud/init.sh +0 -0
  122. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/agents +0 -0
  123. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/choose_wezterm_theme +0 -0
  124. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/cloud_copy +0 -0
  125. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/cloud_mount +0 -0
  126. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/cloud_repo_sync +0 -0
  127. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/cloud_sync +0 -0
  128. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/croshell +0 -0
  129. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/devops +0 -0
  130. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/fire +0 -0
  131. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/ftpx +0 -0
  132. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/fzf2g +0 -0
  133. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/fzfag +0 -0
  134. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/fzffg +0 -0
  135. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/fzfg +0 -0
  136. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/fzfrga +0 -0
  137. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/gh_models +0 -0
  138. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/initai +0 -0
  139. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/kill_process +0 -0
  140. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/mount_drive +0 -0
  141. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/mount_nfs +0 -0
  142. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/mount_nw_drive +0 -0
  143. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/mount_smb +0 -0
  144. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/scheduler +0 -0
  145. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/sessions +0 -0
  146. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/share_cloud.sh +0 -0
  147. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/share_nfs +0 -0
  148. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/share_smb +0 -0
  149. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/skrg +0 -0
  150. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/start_docker +0 -0
  151. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/start_slidev +0 -0
  152. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/start_terminals +0 -0
  153. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/switch_ip +0 -0
  154. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/warp-cli.sh +0 -0
  155. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/wifi_conn +0 -0
  156. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/linux/z_ls +0 -0
  157. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/__init__.py +0 -0
  158. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/agents.py +0 -0
  159. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
  160. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
  161. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/initai.py +0 -0
  162. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +0 -0
  163. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -0
  164. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/solutions/__init__.py +0 -0
  165. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/solutions/_shared.py +0 -0
  166. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/solutions/claude/claude.py +0 -0
  167. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/solutions/cline/cline.py +0 -0
  168. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
  169. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
  170. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md +0 -0
  171. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
  172. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
  173. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/solutions/copilot/privacy.md +0 -0
  174. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/allLintersAndTypeCheckers.prompt.md +0 -0
  175. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
  176. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/solutions/crush/crush.json +0 -0
  177. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/solutions/crush/crush.py +0 -0
  178. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/solutions/crush/privacy.md +0 -0
  179. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/solutions/cursor/cursors.py +0 -0
  180. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/solutions/gemini/gemini.py +0 -0
  181. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/solutions/gemini/settings.json +0 -0
  182. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/solutions/generic.py +0 -0
  183. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
  184. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json +0 -0
  185. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py +0 -0
  186. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/choose_wezterm_theme.py +0 -0
  187. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/cloud_copy.py +0 -0
  188. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/cloud_manager.py +0 -0
  189. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/cloud_mount.py +0 -0
  190. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/cloud_repo_sync.py +0 -0
  191. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/cloud_sync.py +0 -0
  192. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/croshell.py +0 -0
  193. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/devops_add_identity.py +0 -0
  194. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/devops_add_ssh_key.py +0 -0
  195. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/devops_backup_retrieve.py +0 -0
  196. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/devops_update_repos.py +0 -0
  197. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/dotfile.py +0 -0
  198. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/fire_agents_help_launch.py +0 -0
  199. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/fire_agents_help_search.py +0 -0
  200. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/fire_agents_helper_types.py +0 -0
  201. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/fire_agents_load_balancer.py +0 -0
  202. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/fire_jobs.py +0 -0
  203. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/fire_jobs_args_helper.py +0 -0
  204. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/fire_jobs_route_helper.py +0 -0
  205. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/fire_jobs_streamlit_helper.py +0 -0
  206. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/ftpx.py +0 -0
  207. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/get_zellij_cmd.py +0 -0
  208. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/gh_models.py +0 -0
  209. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/helpers/__init__.py +0 -0
  210. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/helpers/cloud_helpers.py +0 -0
  211. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/helpers/helpers2.py +0 -0
  212. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/helpers/helpers4.py +0 -0
  213. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/helpers/helpers5.py +0 -0
  214. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/helpers/repo_sync_helpers.py +0 -0
  215. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/mount_nfs.py +0 -0
  216. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/mount_nw_drive.py +0 -0
  217. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/mount_ssh.py +0 -0
  218. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/onetimeshare.py +0 -0
  219. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/pomodoro.py +0 -0
  220. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/repos_helper_clone.py +0 -0
  221. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/repos_helper_record.py +0 -0
  222. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/repos_helper_update.py +0 -0
  223. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/scheduler.py +0 -0
  224. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/sessions.py +0 -0
  225. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/share_terminal.py +0 -0
  226. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/snapshot.py +0 -0
  227. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/start_slidev.py +0 -0
  228. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/start_terminals.py +0 -0
  229. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/t4.py +0 -0
  230. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/viewer.py +0 -0
  231. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/viewer_template.py +0 -0
  232. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/wifi_conn.py +0 -0
  233. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/python/wsl_windows_transfer.py +0 -0
  234. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/agents.ps1 +0 -0
  235. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/choose_wezterm_theme.ps1 +0 -0
  236. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/cloud_copy.ps1 +0 -0
  237. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/cloud_mount.ps1 +0 -0
  238. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/cloud_repo_sync.ps1 +0 -0
  239. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/cloud_sync.ps1 +0 -0
  240. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/croshell.ps1 +0 -0
  241. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/devops.ps1 +0 -0
  242. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/dotfile.ps1 +0 -0
  243. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/fire.ps1 +0 -0
  244. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/ftpx.ps1 +0 -0
  245. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
  246. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
  247. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
  248. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/gpt.ps1 +0 -0
  249. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/grep.ps1 +0 -0
  250. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/initai.ps1 +0 -0
  251. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/kill_process.ps1 +0 -0
  252. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/mount_nfs.ps1 +0 -0
  253. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/mount_nw.ps1 +0 -0
  254. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/mount_smb.ps1 +0 -0
  255. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/mount_ssh.ps1 +0 -0
  256. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/nano.ps1 +0 -0
  257. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/pomodoro.ps1 +0 -0
  258. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/reload_path.ps1 +0 -0
  259. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/scheduler.ps1 +0 -0
  260. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/sessions.ps1 +0 -0
  261. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/share_cloud.cmd +0 -0
  262. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/share_nfs.ps1 +0 -0
  263. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/share_smb.ps1 +0 -0
  264. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/snapshot.ps1 +0 -0
  265. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/start_slidev.ps1 +0 -0
  266. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/start_terminals.ps1 +0 -0
  267. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/unlock_bitlocker.ps1 +0 -0
  268. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/wifi_conn.ps1 +0 -0
  269. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/wsl_rdp_windows_port_forwarding.ps1 +0 -0
  270. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/scripts/windows/wsl_ssh_windows_port_forwarding.ps1 +0 -0
  271. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/__init__.py +0 -0
  272. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/broot/br.sh +0 -0
  273. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
  274. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/broot/conf.toml +0 -0
  275. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/glow/glow.yml +0 -0
  276. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
  277. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/helix/config.toml +0 -0
  278. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/helix/languages.toml +0 -0
  279. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/keras/keras.json +0 -0
  280. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
  281. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
  282. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
  283. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
  284. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
  285. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
  286. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
  287. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
  288. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
  289. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
  290. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/linux/colors +0 -0
  291. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
  292. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
  293. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
  294. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
  295. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/linux/exe/previewer.sh +0 -0
  296. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
  297. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/linux/icons +0 -0
  298. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/linux/lfrc +0 -0
  299. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
  300. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
  301. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
  302. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
  303. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
  304. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
  305. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
  306. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
  307. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
  308. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
  309. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/windows/colors +0 -0
  310. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
  311. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/windows/icons +0 -0
  312. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
  313. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
  314. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/windows/lfrc +0 -0
  315. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
  316. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
  317. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
  318. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
  319. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/linters/.flake8 +0 -0
  320. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/linters/.mypy.ini +0 -0
  321. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/linters/.pylintrc +0 -0
  322. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/linters/.ruff.toml +0 -0
  323. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
  324. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
  325. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
  326. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
  327. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
  328. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/mprocs/windows/other +0 -0
  329. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/pistol/pistol.conf +0 -0
  330. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/presenterm/config.yaml +0 -0
  331. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/procs/.procs.toml +0 -0
  332. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
  333. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/rofi/config.rasi +0 -0
  334. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
  335. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
  336. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
  337. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/shells/bash/init.sh +0 -0
  338. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
  339. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
  340. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
  341. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
  342. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
  343. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
  344. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
  345. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/shells/pwsh/init.ps1 +0 -0
  346. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
  347. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
  348. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
  349. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
  350. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/shells/wt/settings.json +0 -0
  351. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/streamlit/config.toml +0 -0
  352. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/svim/linux/init.toml +0 -0
  353. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/svim/windows/init.toml +0 -0
  354. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
  355. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/tere/terecd.sh +0 -0
  356. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
  357. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
  358. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/wsl/.wslconfig +0 -0
  359. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/yazi/keymap.toml +0 -0
  360. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/yazi/theme.toml +0 -0
  361. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/yazi/yazi.toml +0 -0
  362. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/zed/settings.json +0 -0
  363. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/zellij/commands/monitor +0 -0
  364. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
  365. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/zellij/config.kdl +0 -0
  366. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
  367. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/zellij/layouts/hist +0 -0
  368. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
  369. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
  370. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
  371. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
  372. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/setup_linux/__init__.py +0 -0
  373. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/setup_linux/nix/cli_installation.sh +0 -0
  374. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
  375. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/setup_linux/others/openssh-server_add_pub_key.sh +0 -0
  376. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/setup_linux/web_shortcuts/android.sh +0 -0
  377. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/setup_linux/web_shortcuts/croshell.sh +0 -0
  378. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +0 -0
  379. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/setup_linux/web_shortcuts/ssh.sh +0 -0
  380. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/setup_windows/__init__.py +0 -0
  381. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
  382. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
  383. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/setup_windows/web_shortcuts/all.ps1 +0 -0
  384. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/setup_windows/web_shortcuts/ascii_art.ps1 +0 -0
  385. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/setup_windows/web_shortcuts/croshell.ps1 +0 -0
  386. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +0 -0
  387. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/setup_windows/web_shortcuts/ssh.ps1 +0 -0
  388. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
  389. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
  390. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/__init__.py +0 -0
  391. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/accessories.py +0 -0
  392. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/ai/__init__.py +0 -0
  393. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/ai/generate_file_checklist.py +0 -0
  394. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
  395. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
  396. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/code.py +0 -0
  397. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/installer.py +0 -0
  398. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/installer_utils/__init__.py +0 -0
  399. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/installer_utils/github_release_bulk.py +0 -0
  400. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/installer_utils/installer.py +0 -0
  401. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/installer_utils/installer_abc.py +0 -0
  402. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/installer_utils/installer_class.py +0 -0
  403. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/io.py +0 -0
  404. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/notifications.py +0 -0
  405. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/options.py +0 -0
  406. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/path_extended.py +0 -0
  407. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/path_helper.py +0 -0
  408. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/procs.py +0 -0
  409. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/scheduler.py +0 -0
  410. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/scheduling.py +0 -0
  411. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +0 -0
  412. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/schemas/installer/installer_types.py +0 -0
  413. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/schemas/layouts/layout_types.py +0 -0
  414. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
  415. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/source_of_truth.py +0 -0
  416. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/ssh.py +0 -0
  417. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/terminal.py +0 -0
  418. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/upgrade_packages.py +0 -0
  419. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig/utils/ve.py +0 -0
  420. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig.egg-info/dependency_links.txt +0 -0
  421. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig.egg-info/entry_points.txt +0 -0
  422. {machineconfig-5.11 → machineconfig-5.13}/src/machineconfig.egg-info/requires.txt +0 -0
  423. {machineconfig-5.11 → machineconfig-5.13}/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.11
3
+ Version: 5.13
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "machineconfig"
9
- version = "5.11"
9
+ version = "5.13"
10
10
  description = "Dotfiles management package"
11
11
  readme = "README.md"
12
12
  license = {text = "Apache 2.0"}
@@ -106,6 +106,7 @@ dev = [
106
106
  "types-sqlalchemy>=1.4.53.38",
107
107
  "types-toml>=0.10.8.20240310",
108
108
  "types-urllib3>=1.26.25.14",
109
+ "vt-py>=0.21.0",
109
110
  ]
110
111
  docs = [
111
112
  "pdoc>=15.0.2",
@@ -1,19 +1,6 @@
1
- # """CI
2
- # """
3
1
 
4
-
5
- # import time
6
2
  import platform
7
-
8
- # from typing import Any
9
- # from rich.console import Console
10
- # from machineconfig.utils.utils2 import pprint
11
- # # from rich.progress import track
12
3
  from machineconfig.utils.source_of_truth import LIBRARY_ROOT
13
- # from machineconfig.utils.installer import get_installed_cli_apps
14
- # from typing import Optional
15
- # from datetime import datetime
16
- # import csv
17
4
 
18
5
 
19
6
  APP_SUMMARY_PATH = LIBRARY_ROOT.joinpath(f"profile/records/{platform.system().lower()}/apps_summary_report.csv")
@@ -8,6 +8,7 @@ from rich.console import Console
8
8
  from rich.panel import Panel
9
9
  from rich.pretty import Pretty
10
10
  from rich.text import Text
11
+ from rich.table import Table
11
12
 
12
13
  from machineconfig.utils.path_extended import PathExtended
13
14
  from machineconfig.utils.links import symlink_func, symlink_copy
@@ -20,7 +21,7 @@ import os
20
21
  import ctypes
21
22
  import subprocess
22
23
  import tomllib
23
- from typing import Optional, Any, TypedDict
24
+ from typing import Optional, Any, TypedDict, Literal
24
25
 
25
26
  system = platform.system() # Linux or Windows
26
27
  ERROR_LIST: list[Any] = [] # append to this after every exception captured.
@@ -43,10 +44,35 @@ class SymlinkMapper(TypedDict):
43
44
  contents: Optional[bool]
44
45
 
45
46
 
46
- def apply_mapper(choice: Optional[str] = None):
47
+ class OperationRecord(TypedDict):
48
+ program: str
49
+ file_key: str
50
+ source: str
51
+ target: str
52
+ operation: str
53
+ action: Literal[
54
+ "already_linked",
55
+ "relinking",
56
+ "fixing_broken_link",
57
+ "identical_files",
58
+ "backing_up_source",
59
+ "backing_up_target",
60
+ "relinking_to_new_target",
61
+ "moving_to_target",
62
+ "new_link",
63
+ "new_link_and_target",
64
+ "linking",
65
+ "copying",
66
+ "error"
67
+ ]
68
+ details: str
69
+ status: str
70
+
71
+
72
+ def apply_mapper(choice: Optional[str], prioritize_to_this: bool):
47
73
  symlink_mapper: dict[str, dict[str, SymlinkMapper]] = tomllib.loads(LIBRARY_ROOT.joinpath("profile/mapper.toml").read_text(encoding="utf-8"))
48
- prioritize_to_this = True
49
74
  exclude: list[str] = [] # "wsl_linux", "wsl_windows"
75
+ operation_records: list[OperationRecord] = []
50
76
 
51
77
  program_keys_raw: list[str] = list(symlink_mapper.keys())
52
78
  program_keys: list[str] = []
@@ -64,10 +90,6 @@ def apply_mapper(choice: Optional[str] = None):
64
90
  return # terminate function.
65
91
  elif len(choice_selected) == 1 and choice_selected[0] == "all":
66
92
  choice_selected = "all" # i.e. program_keys = program_keys
67
- # overwrite = choose_from_options(msg="Overwrite existing source file?", options=["yes", "no"], default="yes") == "yes"
68
- from rich.prompt import Confirm
69
-
70
- prioritize_to_this = Confirm.ask("Overwrite existing source file?", default=True)
71
93
  else:
72
94
  choice_selected = choice
73
95
 
@@ -114,22 +136,85 @@ def apply_mapper(choice: Optional[str] = None):
114
136
  for file_key, file_map in symlink_mapper[program_key].items():
115
137
  this = PathExtended(file_map["this"])
116
138
  to_this = PathExtended(file_map["to_this"].replace("REPO_ROOT", REPO_ROOT.as_posix()).replace("LIBRARY_ROOT", LIBRARY_ROOT.as_posix()))
139
+
117
140
  if "contents" in file_map:
118
141
  try:
119
- for a_target in to_this.expanduser().search("*"):
120
- symlink_func(this=this.joinpath(a_target.name), to_this=a_target, prioritize_to_this=prioritize_to_this)
142
+ targets = list(to_this.expanduser().search("*"))
143
+ for a_target in targets:
144
+ result = symlink_func(this=this.joinpath(a_target.name), to_this=a_target, prioritize_to_this=prioritize_to_this)
145
+ operation_records.append({
146
+ "program": program_key,
147
+ "file_key": file_key,
148
+ "source": str(this.joinpath(a_target.name)),
149
+ "target": str(a_target),
150
+ "operation": "contents_symlink",
151
+ "action": result["action"],
152
+ "details": result["details"],
153
+ "status": "success"
154
+ })
121
155
  except Exception as ex:
122
156
  console.print(f"❌ [red]Config error[/red]: {program_key} | {file_key} | missing keys 'this ==> to_this'. {ex}")
123
- if "copy" in file_map:
157
+ operation_records.append({
158
+ "program": program_key,
159
+ "file_key": file_key,
160
+ "source": str(this),
161
+ "target": str(to_this),
162
+ "operation": "contents_symlink",
163
+ "action": "error",
164
+ "details": f"Failed to process contents: {str(ex)}",
165
+ "status": f"error: {str(ex)}"
166
+ })
167
+
168
+ elif "copy" in file_map:
124
169
  try:
125
- symlink_copy(this=this, to_this=to_this, prioritize_to_this=prioritize_to_this)
170
+ result = symlink_copy(this=this, to_this=to_this, prioritize_to_this=prioritize_to_this)
171
+ operation_records.append({
172
+ "program": program_key,
173
+ "file_key": file_key,
174
+ "source": str(this),
175
+ "target": str(to_this),
176
+ "operation": "copy",
177
+ "action": result["action"],
178
+ "details": result["details"],
179
+ "status": "success"
180
+ })
126
181
  except Exception as ex:
127
182
  console.print(f"❌ [red]Config error[/red]: {program_key} | {file_key} | {ex}")
183
+ operation_records.append({
184
+ "program": program_key,
185
+ "file_key": file_key,
186
+ "source": str(this),
187
+ "target": str(to_this),
188
+ "operation": "copy",
189
+ "action": "error",
190
+ "details": f"Failed to copy: {str(ex)}",
191
+ "status": f"error: {str(ex)}"
192
+ })
128
193
  else:
129
194
  try:
130
- symlink_func(this=this, to_this=to_this, prioritize_to_this=prioritize_to_this)
195
+ result = symlink_func(this=this, to_this=to_this, prioritize_to_this=prioritize_to_this)
196
+ operation_records.append({
197
+ "program": program_key,
198
+ "file_key": file_key,
199
+ "source": str(this),
200
+ "target": str(to_this),
201
+ "operation": "symlink",
202
+ "action": result["action"],
203
+ "details": result["details"],
204
+ "status": "success"
205
+ })
131
206
  except Exception as ex:
132
207
  console.print(f"❌ [red]Config error[/red]: {program_key} | {file_key} | missing keys 'this ==> to_this'. {ex}")
208
+ operation_records.append({
209
+ "program": program_key,
210
+ "file_key": file_key,
211
+ "source": str(this),
212
+ "target": str(to_this),
213
+ "operation": "symlink",
214
+ "action": "error",
215
+ "details": f"Failed to create symlink: {str(ex)}",
216
+ "status": f"error: {str(ex)}"
217
+ })
133
218
 
134
219
  if program_key == "ssh" and system == "Linux": # permissions of ~/dotfiles/.ssh should be adjusted
135
220
  try:
@@ -147,6 +232,35 @@ def apply_mapper(choice: Optional[str] = None):
147
232
  subprocess.run(f"chmod +x {LIBRARY_ROOT.joinpath(f'scripts/{system.lower()}')} -R", shell=True, capture_output=True, text=True)
148
233
  console.print("[green]✅ Script permissions updated[/green]")
149
234
 
235
+ # Display operation summary table
236
+ if operation_records:
237
+ table = Table(title="🔗 Symlink Operations Summary", show_header=True, header_style="bold magenta")
238
+ table.add_column("Program", style="cyan", no_wrap=True)
239
+ table.add_column("File Key", style="blue", no_wrap=True)
240
+ table.add_column("Source", style="green")
241
+ table.add_column("Target", style="yellow")
242
+ table.add_column("Operation", style="magenta", no_wrap=True)
243
+ table.add_column("Action", style="red", no_wrap=True)
244
+ table.add_column("Details", style="white")
245
+ table.add_column("Status", style="red", no_wrap=True)
246
+
247
+ for record in operation_records:
248
+ status_style = "green" if record["status"] == "success" else "red"
249
+ action_style = "green" if record["action"] != "error" else "red"
250
+ table.add_row(
251
+ record["program"],
252
+ record["file_key"],
253
+ record["source"],
254
+ record["target"],
255
+ record["operation"],
256
+ f"[{action_style}]{record['action']}[/{action_style}]",
257
+ record["details"],
258
+ f"[{status_style}]{record['status']}[/{status_style}]"
259
+ )
260
+
261
+ console.print("\n")
262
+ console.print(table)
263
+
150
264
  if len(ERROR_LIST) > 0:
151
265
  console.print(
152
266
  Panel(
@@ -169,7 +283,7 @@ def apply_mapper(choice: Optional[str] = None):
169
283
  def main_symlinks():
170
284
  console.print("")
171
285
  console.rule("[bold blue]🔗 CREATING SYMLINKS 🔗")
172
- apply_mapper(choice="all")
286
+ apply_mapper(choice="all", prioritize_to_this=True)
173
287
 
174
288
 
175
289
  def main_profile():
@@ -1,4 +1,3 @@
1
- from __future__ import annotations
2
1
 
3
2
  from typing import TYPE_CHECKING
4
3
  from git import Repo
@@ -7,14 +6,12 @@ from datetime import datetime
7
6
 
8
7
  from pathlib import Path
9
8
  from rich.progress import track
10
- import polars as pl
11
- import plotly.graph_objects as go
12
- import plotly.express as px
13
9
  import typer
14
10
 
15
11
 
16
12
  if TYPE_CHECKING:
17
13
  from typing import Any, Dict, List, Optional, Union
14
+ import polars as pl
18
15
 
19
16
 
20
17
  app = typer.Typer()
@@ -109,6 +106,10 @@ def analyze_over_time(repo_path: str = typer.Argument(..., help="Path to the git
109
106
  except Exception as e:
110
107
  print(f"❌ Error analyzing commits: {str(e)}")
111
108
  return
109
+
110
+ import polars as pl
111
+ import plotly.graph_objects as go
112
+
112
113
  df = pl.DataFrame(commit_data)
113
114
  df = df.sort("dtmExit")
114
115
  # Create interactive plotly figure with dark theme and all bells and whistles
@@ -183,6 +184,10 @@ def analyze_over_time(repo_path: str = typer.Argument(..., help="Path to the git
183
184
 
184
185
 
185
186
  def _print_python_files_by_size_impl(repo_path: str) -> "Union[pl.DataFrame, Exception]":
187
+ import polars as pl
188
+ import plotly.graph_objects as go
189
+ import plotly.express as px
190
+
186
191
  try:
187
192
  import os
188
193
  if not os.path.exists(repo_path):
@@ -0,0 +1,16 @@
1
+
2
+ import typer
3
+
4
+
5
+ def analyze_repo_development(repo_path: str = typer.Argument(..., help="Path to the git repository")):
6
+ from machineconfig.scripts.python import count_lines
7
+ from pathlib import Path
8
+ count_lines_path = Path(count_lines.__file__).resolve().parent.joinpath("count_lines.py")
9
+ # --project $HOME/code/machineconfig
10
+ cmd = f"""uv run --python 3.13 --with machineconfig --group plot {count_lines_path} analyze-over-time {repo_path}"""
11
+ from machineconfig.utils.code import run_script
12
+ run_script(cmd)
13
+
14
+
15
+ if __name__ == "__main__":
16
+ pass
@@ -9,7 +9,6 @@ import typer
9
9
 
10
10
 
11
11
  app = typer.Typer(help=f"🛠️ DevOps operations @ machineconfig {__version__}", no_args_is_help=True)
12
-
13
12
  app.command(name="install", help="📦 Install essential packages")(installer_entry_point.main)
14
13
  app.command(name="share-terminal", help="📡 Share terminal via web browser")(share_terminal.main)
15
14
  app.add_typer(repos.app, name="repos", help="📁 Manage git repositories")
@@ -186,8 +186,8 @@ Set-Service -Name sshd -StartupType 'Automatic'"""
186
186
 
187
187
  if "retrieve_repositories" in selected_options:
188
188
  console.print(Panel("📚 [bold bright_magenta]REPOSITORIES[/bold bright_magenta]\n[italic]Project code retrieval[/italic]", border_style="bright_magenta"))
189
- from machineconfig.scripts.python import repos as module
190
- module.main(directory=str(Path.home() / "code"), capture=True, cloud="odg1")
189
+ from machineconfig.scripts.python import repos
190
+ repos.clone(directory=str(Path.home() / "code"), cloud="odg1")
191
191
 
192
192
  if "retrieve_data" in selected_options:
193
193
  console.print(Panel("💾 [bold bright_cyan]DATA RETRIEVAL[/bold bright_cyan]\n[italic]Backup restoration[/italic]", border_style="bright_cyan"))
@@ -0,0 +1,132 @@
1
+ """Repos CLI powered by Typer.
2
+
3
+ # TODO use gh api user --jq '.login' to get the username and use it to clone the repos.
4
+ in the event that username@github.com is not mentioned in the remote url.
5
+
6
+ """
7
+
8
+
9
+ from typing import Annotated, Optional
10
+ import typer
11
+
12
+
13
+
14
+ app = typer.Typer(help="� Manage development repositories", no_args_is_help=True)
15
+ sync_app = typer.Typer(help="� Manage repository specifications and syncing", no_args_is_help=True)
16
+ app.add_typer(sync_app, name="sync", help="� Sync repositories using saved specs")
17
+
18
+
19
+ DirectoryArgument = Annotated[
20
+ Optional[str],
21
+ typer.Argument(help="📁 Folder containing repos or the specs JSON file to use."),
22
+ ]
23
+ RecursiveOption = Annotated[
24
+ bool,
25
+ typer.Option("--recursive", "-r", help="🔍 Recurse into nested repositories."),
26
+ ]
27
+ NoSyncOption = Annotated[
28
+ bool,
29
+ typer.Option("--no-sync", help="🚫 Disable automatic uv sync after pulls."),
30
+ ]
31
+ CloudOption = Annotated[
32
+ Optional[str],
33
+ typer.Option("--cloud", "-c", help="☁️ Upload to or download from this cloud remote."),
34
+ ]
35
+
36
+
37
+
38
+ @app.command()
39
+ def push(directory: DirectoryArgument = None,
40
+ recursive: RecursiveOption = False,
41
+ no_sync: NoSyncOption = False,
42
+ ) -> None:
43
+ """🚀 Push changes across repositories."""
44
+ from machineconfig.scripts.python.repos_helper import git_operations
45
+ git_operations(directory, pull=False, commit=False, push=True, recursive=recursive, no_sync=no_sync)
46
+ @app.command()
47
+ def pull(
48
+ directory: DirectoryArgument = None,
49
+ recursive: RecursiveOption = False,
50
+ no_sync: NoSyncOption = False,
51
+ ) -> None:
52
+ """⬇️ Pull changes across repositories."""
53
+ from machineconfig.scripts.python.repos_helper import git_operations
54
+ git_operations(directory, pull=True, commit=False, push=False, recursive=recursive, no_sync=no_sync)
55
+ @app.command()
56
+ def commit(
57
+ directory: DirectoryArgument = None,
58
+ recursive: RecursiveOption = False,
59
+ no_sync: NoSyncOption = False,
60
+ ) -> None:
61
+ """💾 Commit changes across repositories."""
62
+ from machineconfig.scripts.python.repos_helper import git_operations
63
+ git_operations(directory, pull=False, commit=True, push=False, recursive=recursive, no_sync=no_sync)
64
+ @app.command()
65
+ def all(
66
+ directory: DirectoryArgument = None,
67
+ recursive: RecursiveOption = False,
68
+ no_sync: NoSyncOption = False,
69
+ ) -> None:
70
+ """🔄 Pull, commit, and push changes across repositories."""
71
+ from machineconfig.scripts.python.repos_helper import git_operations
72
+ git_operations(directory, pull=True, commit=True, push=True, recursive=recursive, no_sync=no_sync)
73
+
74
+
75
+ @sync_app.command()
76
+ def capture(
77
+ directory: DirectoryArgument = None,
78
+ cloud: CloudOption = None,
79
+ ) -> None:
80
+ """📝 Record repositories into a repos.json specification."""
81
+ from machineconfig.scripts.python.repos_helper import print_banner, resolve_directory
82
+ print_banner()
83
+ repos_root = resolve_directory(directory)
84
+ from machineconfig.scripts.python.repos_helper_record import main as record_repos
85
+ save_path = record_repos(repos_root=repos_root)
86
+ from machineconfig.utils.path_extended import PathExtended
87
+ if cloud is not None:
88
+ PathExtended(save_path).to_cloud(rel2home=True, cloud=cloud)
89
+ @sync_app.command()
90
+ def clone(
91
+ directory: DirectoryArgument = None,
92
+ cloud: CloudOption = None,
93
+ ) -> None:
94
+ """📥 Clone repositories described by a repos.json specification."""
95
+ from machineconfig.scripts.python.repos_helper import print_banner, clone_from_specs
96
+ print_banner()
97
+ clone_from_specs(directory, cloud, checkout_branch_flag=False, checkout_commit_flag=False)
98
+
99
+
100
+ @sync_app.command(name="checkout-to-commit")
101
+ def checkout_command(
102
+ directory: DirectoryArgument = None,
103
+ cloud: CloudOption = None,
104
+ ) -> None:
105
+ """🔀 Check out specific commits listed in the specification."""
106
+ from machineconfig.scripts.python.repos_helper import print_banner, clone_from_specs
107
+ print_banner()
108
+ clone_from_specs(directory, cloud, checkout_branch_flag=False, checkout_commit_flag=True)
109
+
110
+
111
+ @sync_app.command(name="checkout-to-branch")
112
+ def checkout_to_branch_command(
113
+ directory: DirectoryArgument = None,
114
+ cloud: CloudOption = None,
115
+ ) -> None:
116
+ """🔀 Check out to the main branch defined in the specification."""
117
+ from machineconfig.scripts.python.repos_helper import print_banner, clone_from_specs
118
+ print_banner()
119
+ clone_from_specs(directory, cloud, checkout_branch_flag=True, checkout_commit_flag=False)
120
+
121
+
122
+ @app.command()
123
+ def analyze(
124
+ directory: DirectoryArgument = None,
125
+ ) -> None:
126
+ """📊 Analyze repository development over time."""
127
+ from machineconfig.scripts.python.repos_helper import print_banner
128
+ print_banner()
129
+ repo_path = directory if directory is not None else "."
130
+ from machineconfig.scripts.python.count_lines_frontend import analyze_repo_development
131
+ analyze_repo_development(repo_path=repo_path)
132
+
@@ -0,0 +1,85 @@
1
+
2
+
3
+
4
+ from typing import Optional
5
+ from pathlib import Path
6
+ from machineconfig.utils.source_of_truth import CONFIG_PATH, DEFAULTS_PATH
7
+
8
+ import typer
9
+
10
+
11
+
12
+ def print_banner() -> None:
13
+ typer.echo("\n" + "=" * 50)
14
+ typer.echo("📂 Welcome to the Repository Manager")
15
+ typer.echo("=" * 50 + "\n")
16
+
17
+
18
+
19
+ def resolve_directory(directory: Optional[str]) -> Path:
20
+ if directory is None:
21
+ directory = Path.cwd().as_posix()
22
+ typer.echo(f"📁 Using directory: {directory}")
23
+ return Path(directory).expanduser().absolute()
24
+ def git_operations(
25
+ directory: Optional[str],
26
+ *,
27
+ pull: bool,
28
+ commit: bool,
29
+ push: bool,
30
+ recursive: bool,
31
+ no_sync: bool,
32
+ ) -> None:
33
+ print_banner()
34
+ repos_root = resolve_directory(directory)
35
+ auto_sync = not no_sync
36
+ from machineconfig.scripts.python.repos_helper_action import perform_git_operations
37
+ from machineconfig.utils.path_extended import PathExtended
38
+ perform_git_operations(
39
+ repos_root=PathExtended(repos_root),
40
+ pull=pull,
41
+ commit=commit,
42
+ push=push,
43
+ recursive=recursive,
44
+ auto_sync=auto_sync,
45
+ )
46
+ def resolve_spec_path(directory: Optional[str], cloud: Optional[str]) -> Path:
47
+ repos_root = resolve_directory(directory)
48
+ from machineconfig.utils.path_extended import PathExtended
49
+ if not repos_root.exists() or repos_root.name != "repos.json":
50
+ candidate = Path(CONFIG_PATH).joinpath("repos").joinpath(PathExtended(repos_root).rel2home()).joinpath("repos.json")
51
+ repos_root = candidate
52
+ if not repos_root.exists():
53
+ cloud_name: Optional[str]
54
+ if cloud is None:
55
+ from machineconfig.utils.io import read_ini
56
+ cloud_name = read_ini(DEFAULTS_PATH)["general"]["rclone_config_name"]
57
+ typer.echo(f"⚠️ Using default cloud: {cloud_name}")
58
+ else:
59
+ cloud_name = cloud
60
+ assert cloud_name is not None, (
61
+ f"Path {repos_root} does not exist and cloud was not passed. You can't clone without one of them."
62
+ )
63
+ from machineconfig.utils.path_extended import PathExtended
64
+ PathExtended(repos_root).from_cloud(cloud=cloud_name, rel2home=True)
65
+ assert repos_root.exists() and repos_root.name == "repos.json", (
66
+ f"Path {repos_root} does not exist and cloud was not passed. You can't clone without one of them."
67
+ )
68
+ return repos_root
69
+ def clone_from_specs(
70
+ directory: Optional[str],
71
+ cloud: Optional[str],
72
+ *,
73
+ checkout_branch_flag: bool,
74
+ checkout_commit_flag: bool,
75
+ ) -> None:
76
+ print_banner()
77
+ typer.echo("\n📥 Cloning or checking out repositories...")
78
+ spec_path = resolve_spec_path(directory, cloud)
79
+ from machineconfig.scripts.python.repos_helper_clone import clone_repos
80
+ clone_repos(
81
+ spec_path=spec_path,
82
+ preferred_remote=None,
83
+ checkout_branch_flag=checkout_branch_flag,
84
+ checkout_commit_flag=checkout_commit_flag,
85
+ )