machineconfig 6.51__tar.gz → 6.53__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 (446) hide show
  1. {machineconfig-6.51/src/machineconfig.egg-info → machineconfig-6.53}/PKG-INFO +1 -1
  2. {machineconfig-6.51 → machineconfig-6.53}/pyproject.toml +2 -1
  3. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/utils/maker.py +3 -3
  4. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/check_installations.py +0 -1
  5. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/installer_data.json +17 -0
  6. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/croshell.py +4 -4
  7. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
  8. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/fire_jobs.py +9 -7
  9. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_devops/cli_config.py +3 -2
  10. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_devops/cli_self.py +3 -3
  11. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_devops/cli_utils.py +43 -0
  12. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +24 -20
  13. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +1 -1
  14. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_repos/sync.py +5 -5
  15. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/nw/mount_nfs +1 -1
  16. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
  17. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +1 -1
  18. machineconfig-6.53/src/machineconfig/setup_mac/__init__.py +17 -0
  19. machineconfig-6.53/src/machineconfig/setup_mac/apps.sh +73 -0
  20. machineconfig-6.53/src/machineconfig/setup_mac/ssh/openssh_setup.sh +114 -0
  21. machineconfig-6.53/src/machineconfig/setup_mac/uv.sh +36 -0
  22. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +1 -1
  23. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/code.py +46 -84
  24. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/installer.py +8 -3
  25. machineconfig-6.53/src/machineconfig/utils/meta.py +188 -0
  26. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/scheduling.py +0 -1
  27. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/ssh.py +46 -45
  28. {machineconfig-6.51 → machineconfig-6.53/src/machineconfig.egg-info}/PKG-INFO +1 -1
  29. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig.egg-info/SOURCES.txt +4 -0
  30. machineconfig-6.51/src/machineconfig/utils/meta.py +0 -434
  31. {machineconfig-6.51 → machineconfig-6.53}/MANIFEST.in +0 -0
  32. {machineconfig-6.51 → machineconfig-6.53}/README.md +0 -0
  33. {machineconfig-6.51 → machineconfig-6.53}/setup.cfg +0 -0
  34. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/__init__.py +0 -0
  35. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/__init__.py +0 -0
  36. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
  37. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
  38. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/remote/distribute.py +0 -0
  39. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/remote/file_manager.py +0 -0
  40. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/remote/job_params.py +0 -0
  41. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
  42. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
  43. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/remote/run_cloud.py +0 -0
  44. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/remote/run_cluster.py +0 -0
  45. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/remote/run_remote.py +0 -0
  46. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/remote/script_execution.py +0 -0
  47. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
  48. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
  49. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/helpers/enhanced_command_runner.py +0 -0
  50. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/helpers/load_balancer_helper.py +0 -0
  51. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/utils/load_balancer.py +0 -0
  52. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/wt_local.py +0 -0
  53. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +0 -0
  54. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
  55. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +0 -0
  56. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
  57. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
  58. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
  59. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
  60. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +0 -0
  61. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/zellij_local.py +0 -0
  62. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +0 -0
  63. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
  64. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
  65. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
  66. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
  67. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +0 -0
  68. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +0 -0
  69. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
  70. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
  71. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +0 -0
  72. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper.py +0 -0
  73. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_restart.py +0 -0
  74. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_with_panes.py +0 -0
  75. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_manager_helper.py +0 -0
  76. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/templates/__init__.py +0 -0
  77. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
  78. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/__init__.py +0 -0
  79. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/__init__.py +0 -0
  80. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/custom/gh.py +0 -0
  81. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/custom/hx.py +0 -0
  82. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/custom_dev/__init__.py +0 -0
  83. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/custom_dev/alacritty.py +0 -0
  84. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/custom_dev/brave.py +0 -0
  85. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/custom_dev/bypass_paywall.py +0 -0
  86. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/custom_dev/code.py +0 -0
  87. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/custom_dev/cursor.py +0 -0
  88. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +0 -0
  89. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/custom_dev/espanso.py +0 -0
  90. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/custom_dev/goes.py +0 -0
  91. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/custom_dev/lvim.py +0 -0
  92. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/custom_dev/nerdfont.py +0 -0
  93. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +0 -0
  94. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/custom_dev/redis.py +0 -0
  95. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/custom_dev/wezterm.py +0 -0
  96. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/custom_dev/winget.py +0 -0
  97. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/linux_scripts/brave.sh +0 -0
  98. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/linux_scripts/docker.sh +0 -0
  99. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/linux_scripts/docker_start.sh +0 -0
  100. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/linux_scripts/edge.sh +0 -0
  101. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/linux_scripts/nerdfont.sh +0 -0
  102. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/linux_scripts/ngrok.sh +0 -0
  103. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -0
  104. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/linux_scripts/q.sh +0 -0
  105. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/linux_scripts/redis.sh +0 -0
  106. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -0
  107. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/linux_scripts/vscode.sh +0 -0
  108. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/linux_scripts/warp-cli.sh +0 -0
  109. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/linux_scripts/wezterm.sh +0 -0
  110. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/package_groups.py +0 -0
  111. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +0 -0
  112. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/linux/msc/cli_agents.sh +0 -0
  113. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/linux/msc/lid.sh +0 -0
  114. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/linux/msc/network.sh +0 -0
  115. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/python/__init__.py +0 -0
  116. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/python/python_ve_symlink.py +0 -0
  117. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/python/vscode/api.py +0 -0
  118. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -0
  119. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/windows/archive/openssh-server_add_key.ps1 +0 -0
  120. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/windows/archive/openssh-server_copy-ssh-id.ps1 +0 -0
  121. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/windows/msc/cli_agents.bat +0 -0
  122. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/jobs/windows/msc/cli_agents.ps1 +0 -0
  123. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/logger.py +0 -0
  124. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/profile/__init__.py +0 -0
  125. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/profile/backup.toml +0 -0
  126. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/profile/bash_shell_profiles.md +0 -0
  127. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/profile/create_helper.py +0 -0
  128. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/profile/create_links.py +0 -0
  129. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/profile/create_links_export.py +0 -0
  130. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/profile/create_shell_profile.py +0 -0
  131. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/profile/mapper.toml +0 -0
  132. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/profile/records/generic/shares.toml +0 -0
  133. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
  134. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
  135. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
  136. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
  137. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/Restore-ThunderbirdProfile.ps1 +0 -0
  138. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/__init__.py +0 -0
  139. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/linux/fzf2g +0 -0
  140. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/linux/fzfag +0 -0
  141. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/linux/fzffg +0 -0
  142. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/linux/fzfg +0 -0
  143. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/linux/fzfrga +0 -0
  144. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/linux/other/share_cloud.sh +0 -0
  145. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/linux/other/share_nfs +0 -0
  146. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/linux/other/share_smb +0 -0
  147. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/linux/other/start_docker +0 -0
  148. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/linux/other/switch_ip +0 -0
  149. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/linux/skrg +0 -0
  150. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/linux/warp-cli.sh +0 -0
  151. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/linux/z_ls +0 -0
  152. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/__init__.py +0 -0
  153. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/agents.py +0 -0
  154. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
  155. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/command_runner/command_runner.sh +0 -0
  156. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/command_runner/prompt.txt +0 -0
  157. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
  158. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/initai.py +0 -0
  159. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +0 -0
  160. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -0
  161. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/solutions/__init__.py +0 -0
  162. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/solutions/_shared.py +0 -0
  163. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/solutions/claude/claude.py +0 -0
  164. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/solutions/cline/cline.py +0 -0
  165. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
  166. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
  167. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md +0 -0
  168. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
  169. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
  170. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/solutions/copilot/privacy.md +0 -0
  171. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +0 -0
  172. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
  173. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/solutions/crush/crush.json +0 -0
  174. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/solutions/crush/crush.py +0 -0
  175. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/solutions/crush/privacy.md +0 -0
  176. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/solutions/cursor/cursors.py +0 -0
  177. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/solutions/gemini/gemini.py +0 -0
  178. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/solutions/gemini/settings.json +0 -0
  179. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/solutions/generic.py +0 -0
  180. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
  181. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json +0 -0
  182. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py +0 -0
  183. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ai/vscode_tasks.py +0 -0
  184. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/cloud.py +0 -0
  185. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/devops.py +0 -0
  186. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/devops_navigator.py +0 -0
  187. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/entry.py +0 -0
  188. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/env_manager/__init__.py +0 -0
  189. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/env_manager/path_manager_backend.py +0 -0
  190. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/ftpx.py +0 -0
  191. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_cloud/__init__.py +0 -0
  192. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_cloud/cloud_copy.py +0 -0
  193. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_cloud/cloud_helpers.py +0 -0
  194. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_cloud/cloud_mount.py +0 -0
  195. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_cloud/cloud_sync.py +0 -0
  196. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_cloud/helpers2.py +0 -0
  197. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_cloud/helpers5.py +0 -0
  198. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_croshell/__init__.py +0 -0
  199. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_croshell/crosh.py +0 -0
  200. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_croshell/pomodoro.py +0 -0
  201. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_croshell/scheduler.py +0 -0
  202. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_croshell/start_slidev.py +0 -0
  203. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_croshell/viewer.py +0 -0
  204. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_croshell/viewer_template.py +0 -0
  205. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_devops/__init__.py +0 -0
  206. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +0 -0
  207. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_devops/cli_data.py +0 -0
  208. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_devops/cli_nw.py +0 -0
  209. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_devops/cli_repos.py +0 -0
  210. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_devops/cli_share_server.py +0 -0
  211. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_devops/cli_terminal.py +0 -0
  212. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_devops/devops_backup_retrieve.py +0 -0
  213. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_devops/devops_status.py +0 -0
  214. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_devops/devops_update_repos.py +0 -0
  215. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_devops/themes/__init__.py +0 -0
  216. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_devops/themes/choose_pwsh_theme.ps1 +0 -0
  217. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_devops/themes/choose_wezterm_theme.py +0 -0
  218. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_fire/__init__.py +0 -0
  219. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/__init__.py +0 -0
  220. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.json +0 -0
  221. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.py +0 -0
  222. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_cursor_agents.py +0 -0
  223. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_gemini.py +0 -0
  224. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_qwen.py +0 -0
  225. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_fire/fire_agents_help_launch.py +0 -0
  226. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_fire/fire_agents_help_search.py +0 -0
  227. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_fire/fire_agents_helper_types.py +0 -0
  228. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_fire/fire_agents_load_balancer.py +0 -0
  229. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_fire/helpers4.py +0 -0
  230. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_fire/prompt.txt +0 -0
  231. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_fire/template.ps1 +0 -0
  232. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_fire/template.sh +0 -0
  233. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_fire_command/__init__.py +0 -0
  234. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_fire_command/cloud_manager.py +0 -0
  235. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py +0 -0
  236. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +0 -0
  237. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
  238. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_navigator/__init__.py +0 -0
  239. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_navigator/command_builder.py +0 -0
  240. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_navigator/command_detail.py +0 -0
  241. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_navigator/command_tree.py +0 -0
  242. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_navigator/data_models.py +0 -0
  243. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_navigator/main_app.py +0 -0
  244. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_navigator/search_bar.py +0 -0
  245. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_repos/action.py +0 -0
  246. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_repos/clone.py +0 -0
  247. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_repos/count_lines.py +0 -0
  248. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_repos/entrypoint.py +0 -0
  249. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_repos/grource.py +0 -0
  250. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_repos/record.py +0 -0
  251. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_repos/secure_repo.py +0 -0
  252. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_repos/update.py +0 -0
  253. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_sessions/__init__.py +0 -0
  254. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/helpers_sessions/sessions_multiprocess.py +0 -0
  255. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/interactive.py +0 -0
  256. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/nw/__init__.py +0 -0
  257. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/nw/add_ssh_key.py +0 -0
  258. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/nw/devops_add_identity.py +0 -0
  259. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/nw/devops_add_ssh_key.py +0 -0
  260. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/nw/mount_drive +0 -0
  261. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/nw/mount_nfs.py +0 -0
  262. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/nw/mount_nw_drive +0 -0
  263. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/nw/mount_nw_drive.py +0 -0
  264. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/nw/mount_smb +0 -0
  265. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/nw/mount_ssh.py +0 -0
  266. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/nw/onetimeshare.py +0 -0
  267. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/nw/ssh_debug_linux.py +0 -0
  268. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/nw/ssh_debug_windows.py +0 -0
  269. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/nw/wifi_conn.py +0 -0
  270. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/nw/wsl_windows_transfer.py +0 -0
  271. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/python/sessions.py +0 -0
  272. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
  273. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
  274. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
  275. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/windows/mounts/mount_nfs.ps1 +0 -0
  276. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/windows/mounts/mount_nw.ps1 +0 -0
  277. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/windows/mounts/mount_smb.ps1 +0 -0
  278. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/windows/mounts/share_cloud.cmd +0 -0
  279. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/windows/mounts/share_smb.ps1 +0 -0
  280. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1 +0 -0
  281. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/__init__.py +0 -0
  282. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/broot/br.sh +0 -0
  283. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
  284. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/broot/conf.toml +0 -0
  285. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/glow/glow.yml +0 -0
  286. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
  287. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/helix/config.toml +0 -0
  288. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/helix/languages.toml +0 -0
  289. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/keras/keras.json +0 -0
  290. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
  291. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
  292. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
  293. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
  294. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
  295. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
  296. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
  297. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
  298. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
  299. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
  300. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/linux/colors +0 -0
  301. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
  302. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
  303. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
  304. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
  305. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/linux/exe/previewer.sh +0 -0
  306. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
  307. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/linux/icons +0 -0
  308. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/linux/lfrc +0 -0
  309. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
  310. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
  311. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
  312. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
  313. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
  314. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
  315. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
  316. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
  317. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
  318. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
  319. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/windows/colors +0 -0
  320. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
  321. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/windows/icons +0 -0
  322. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
  323. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
  324. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/windows/lfrc +0 -0
  325. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
  326. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
  327. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
  328. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
  329. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/linters/.flake8 +0 -0
  330. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/linters/.mypy.ini +0 -0
  331. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/linters/.pylintrc +0 -0
  332. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/linters/.ruff.toml +0 -0
  333. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
  334. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
  335. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
  336. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
  337. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/marimo/marimo.toml +0 -0
  338. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
  339. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/mprocs/windows/other +0 -0
  340. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/pistol/pistol.conf +0 -0
  341. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/presenterm/config.yaml +0 -0
  342. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/procs/.procs.toml +0 -0
  343. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
  344. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/rofi/config.rasi +0 -0
  345. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
  346. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
  347. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
  348. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/shells/bash/init.sh +0 -0
  349. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
  350. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
  351. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
  352. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
  353. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
  354. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
  355. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
  356. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/shells/pwsh/init.ps1 +0 -0
  357. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
  358. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
  359. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
  360. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
  361. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/shells/wt/settings.json +0 -0
  362. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/streamlit/config.toml +0 -0
  363. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/svim/linux/init.toml +0 -0
  364. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/svim/windows/init.toml +0 -0
  365. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
  366. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/tere/terecd.sh +0 -0
  367. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
  368. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
  369. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/wsl/.wslconfig +0 -0
  370. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/yazi/keymap.toml +0 -0
  371. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/yazi/theme.toml +0 -0
  372. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/yazi/yazi.toml +0 -0
  373. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/zed/settings.json +0 -0
  374. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/zellij/commands/monitor +0 -0
  375. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
  376. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/zellij/config.kdl +0 -0
  377. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
  378. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/zellij/layouts/hist +0 -0
  379. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
  380. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
  381. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
  382. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
  383. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/setup_linux/__init__.py +0 -0
  384. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/setup_linux/apps.sh +0 -0
  385. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/setup_linux/apps_desktop.sh +0 -0
  386. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/setup_linux/apps_gui.sh +0 -0
  387. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/setup_linux/nix/cli_installation.sh +0 -0
  388. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
  389. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/setup_linux/ssh/openssh_all.sh +0 -0
  390. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/setup_linux/ssh/openssh_wsl.sh +0 -0
  391. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/setup_linux/uv.sh +0 -0
  392. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/setup_linux/web_shortcuts/android.sh +0 -0
  393. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/setup_windows/__init__.py +0 -0
  394. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/setup_windows/apps.ps1 +0 -0
  395. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
  396. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
  397. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/setup_windows/others/power_options.ps1 +0 -0
  398. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/setup_windows/ssh/add-sshkey.ps1 +0 -0
  399. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/setup_windows/ssh/add_identity.ps1 +0 -0
  400. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/setup_windows/ssh/openssh-server.ps1 +0 -0
  401. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/setup_windows/uv.ps1 +0 -0
  402. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
  403. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
  404. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/__init__.py +0 -0
  405. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/accessories.py +0 -0
  406. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/ai/__init__.py +0 -0
  407. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/cloud/onedrive/README.md +0 -0
  408. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
  409. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
  410. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/files/art/fat_croco.txt +0 -0
  411. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/files/art/halfwit_croco.txt +0 -0
  412. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/files/art/happy_croco.txt +0 -0
  413. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/files/art/water_croco.txt +0 -0
  414. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/files/ascii_art.py +0 -0
  415. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/files/dbms.py +0 -0
  416. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/files/headers.py +0 -0
  417. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/files/ouch/__init__.py +0 -0
  418. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/files/ouch/decompress.py +0 -0
  419. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/files/read.py +0 -0
  420. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/installer_utils/__init__.py +0 -0
  421. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/installer_utils/github_release_bulk.py +0 -0
  422. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/installer_utils/installer.py +0 -0
  423. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/installer_utils/installer_abc.py +0 -0
  424. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/installer_utils/installer_class.py +0 -0
  425. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/io.py +0 -0
  426. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/links.py +0 -0
  427. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/notifications.py +0 -0
  428. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/options.py +0 -0
  429. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/path_extended.py +0 -0
  430. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/path_helper.py +0 -0
  431. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/procs.py +0 -0
  432. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/scheduler.py +0 -0
  433. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +0 -0
  434. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/schemas/installer/installer_types.py +0 -0
  435. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/schemas/layouts/layout_types.py +0 -0
  436. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
  437. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/source_of_truth.py +0 -0
  438. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/ssh_utils/utils.py +0 -0
  439. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/terminal.py +0 -0
  440. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/tst.py +0 -0
  441. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/upgrade_packages.py +0 -0
  442. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig/utils/ve.py +0 -0
  443. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig.egg-info/dependency_links.txt +0 -0
  444. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig.egg-info/entry_points.txt +0 -0
  445. {machineconfig-6.51 → machineconfig-6.53}/src/machineconfig.egg-info/requires.txt +0 -0
  446. {machineconfig-6.51 → machineconfig-6.53}/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.51
3
+ Version: 6.53
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.51"
9
+ version = "6.53"
10
10
  description = "Dotfiles management package"
11
11
  readme = "README.md"
12
12
  license = {text = "Apache 2.0"}
@@ -99,6 +99,7 @@ dev = [
99
99
  "pre-commit>=4.3.0",
100
100
  "pudb>=2025.1",
101
101
  "pylint>=3.3.8",
102
+ "pypdf>=6.1.1",
102
103
  "pyrefly>=0.33.1",
103
104
  "pyright>=1.1.405",
104
105
  "pytest>=8.4.2",
@@ -5,13 +5,13 @@ from machineconfig.utils.schemas.layouts.layout_types import TabConfig, LayoutCo
5
5
  from pathlib import Path
6
6
 
7
7
  def get_fire_command_and_artifact_files(func: FunctionType):
8
- from machineconfig.utils.meta import function_to_script
9
- py_script = function_to_script(func, call_with_kwargs=None)
8
+ from machineconfig.utils.meta import lambda_to_defstring
9
+ py_script = lambda_to_defstring(lmb=lambda: func, in_global=True)
10
10
  from machineconfig.utils.accessories import randstr
11
11
  py_script_path = Path.home().joinpath("tmp_results", "tmp_py_scripts", f"tmp_{randstr(10)}.py")
12
12
  py_script_path.parent.mkdir(parents=True, exist_ok=True)
13
13
  py_script_path.write_text(py_script, encoding="utf-8")
14
- command_to_run = f"uv run --project $HOME/ {py_script_path}"
14
+ command_to_run = f"uv run {py_script_path}"
15
15
  tab_config: TabConfig = {
16
16
  "command": command_to_run,
17
17
  "startDir": "$HOME",
@@ -221,7 +221,6 @@ APP_SUMMARY_PATH = CONFIG_ROOT.joinpath(f"profile/records/{platform.system().low
221
221
  # # cli_installers = get_cli_py_installers()
222
222
  # # else: raise NotImplementedError(f"Platform {platform.system().lower()} is not supported yet.")
223
223
 
224
- # if name == "essentials":
225
224
  # print(f"""
226
225
  # {'=' * 150}
227
226
  # 📥 DOWNLOAD | Downloading {len(self.data)} apps...
@@ -2144,6 +2144,23 @@
2144
2144
  }
2145
2145
  }
2146
2146
  },
2147
+ {
2148
+ "appName": "cline",
2149
+ "repoURL": "CMD",
2150
+ "doc": "Cline agent extension in the terminal",
2151
+ "fileNamePattern": {
2152
+ "amd64": {
2153
+ "linux": "npm install -g cline",
2154
+ "windows": "npm install -g cline",
2155
+ "macos": "npm install -g cline"
2156
+ },
2157
+ "arm64": {
2158
+ "linux": "npm install -g cline",
2159
+ "windows": "npm install -g cline",
2160
+ "macos": "npm install -g cline"
2161
+ }
2162
+ }
2163
+ },
2147
2164
  {
2148
2165
  "appName": "copilot",
2149
2166
  "repoURL": "CMD",
@@ -127,7 +127,7 @@ def croshell(
127
127
  fire_line = f"uv run --with visidata,pyarrow vd {str(file_obj)}"
128
128
  elif marimo:
129
129
  if Path.home().joinpath("code/machineconfig").exists(): requirements = f"""--with marimo --project "{str(Path.home().joinpath("code/machineconfig"))}" """
130
- else: requirements = """--with "marimo,machineconfig[plot]>=6.51" """
130
+ else: requirements = """--with "marimo,machineconfig[plot]>=6.52" """
131
131
  fire_line = f"""
132
132
  cd {str(pyfile.parent)}
133
133
  uv run --with "marimo" marimo convert {pyfile.name} -o marimo_nb.py
@@ -135,14 +135,14 @@ uv run {requirements} marimo edit --host 0.0.0.0 marimo_nb.py
135
135
  """
136
136
  elif jupyter:
137
137
  if Path.home().joinpath("code/machineconfig").exists(): requirements = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with jupyterlab """
138
- else: requirements = """--with "machineconfig[plot]>=6.51" """
138
+ else: requirements = """--with "machineconfig[plot]>=6.52" """
139
139
  fire_line = f"uv run {requirements} jupyter-lab {str(nb_target)}"
140
140
  elif vscode:
141
141
  fire_line = f"""
142
142
  cd {str(pyfile.parent)}
143
143
  uv init --python 3.14
144
144
  uv venv
145
- uv add "machineconfig[plot]>=6.51"
145
+ uv add "machineconfig[plot]>=6.52"
146
146
  # code serve-web
147
147
  code --new-window {str(pyfile)}
148
148
  """
@@ -150,7 +150,7 @@ code --new-window {str(pyfile)}
150
150
  if interpreter == "ipython": profile = f" --profile {ipython_profile} --no-banner"
151
151
  else: profile = ""
152
152
  if Path.home().joinpath("code/machineconfig").exists(): ve_line = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" """
153
- else: ve_line = """--with "machineconfig[plot]>=6.51" """
153
+ else: ve_line = """--with "machineconfig[plot]>=6.52" """
154
154
  # ve_path_maybe, ipython_profile_maybe = get_ve_path_and_ipython_profile(Path.cwd())
155
155
  # --python 3.14
156
156
  fire_line = f"uv run {ve_line} {interpreter} {interactivity} {profile} {str(pyfile)}"
@@ -2,7 +2,7 @@
2
2
  # /// script
3
3
  # requires-python = ">=3.13"
4
4
  # dependencies = [
5
- # "machineconfig>=6.51",
5
+ # "machineconfig>=6.52",
6
6
  # "textual",
7
7
  # "pyperclip",
8
8
  # ]
@@ -204,19 +204,22 @@ def fire(
204
204
  cmd: Annotated[bool, typer.Option("--cmd", "-B", help="Create a cmd fire command to launch the job asynchronously")] = False,
205
205
  interactive: Annotated[bool, typer.Option("--interactive", "-i", help="Whether to run the job interactively using IPython")] = False,
206
206
  debug: Annotated[bool, typer.Option("--debug", "-d", help="Enable debug mode")] = False,
207
- choose_function: Annotated[bool, typer.Option("--choose_function", "-c", help="Choose function interactively")] = False,
207
+ choose_function: Annotated[bool, typer.Option("--choose-function", "-c", help="Choose function interactively")] = False,
208
208
  loop: Annotated[bool, typer.Option("--loop", "-l", help="Infinite recursion (runs again after completion/interruption)")] = False,
209
209
  jupyter: Annotated[bool, typer.Option("--jupyter", "-j", help="Open in a jupyter notebook")] = False,
210
- submit_to_cloud: Annotated[bool, typer.Option("--submit_to_cloud", "-C", help="Submit to cloud compute")] = False,
211
- remote: Annotated[bool, typer.Option("--remote", "-r", help="Launch on a remote machine")] = False,
212
210
  module: Annotated[bool, typer.Option("--module", "-m", help="Launch the main file")] = False,
211
+ optimized: Annotated[bool, typer.Option("--optimized", "-O", help="Run the optimized version of the function")] = False,
212
+ zellij_tab: Annotated[Optional[str], typer.Option("--zellij-tab", "-z", help="Open in a new zellij tab")] = None,
213
+
214
+ submit_to_cloud: Annotated[bool, typer.Option("--submit-to-cloud", "-C", help="Submit to cloud compute")] = False,
215
+ remote: Annotated[bool, typer.Option("--remote", "-r", help="Launch on a remote machine")] = False,
216
+
213
217
  streamlit: Annotated[bool, typer.Option("--streamlit", "-S", help="Run as streamlit app")] = False,
214
218
  environment: Annotated[str, typer.Option("--environment", "-E", help="Choose ip, localhost, hostname or arbitrary url")] = "",
215
219
  holdDirectory: Annotated[bool, typer.Option("--holdDirectory", "-D", help="Hold current directory and avoid cd'ing to the script directory")] = False,
216
220
  PathExport: Annotated[bool, typer.Option("--PathExport", "-P", help="Augment the PYTHONPATH with repo root")] = False,
217
- git_pull: Annotated[bool, typer.Option("--git_pull", "-g", help="Start by pulling the git repo")] = False,
218
- optimized: Annotated[bool, typer.Option("--optimized", "-O", help="Run the optimized version of the function")] = False,
219
- zellij_tab: Annotated[Optional[str], typer.Option("--zellij_tab", "-z", help="Open in a new zellij tab")] = None,
221
+
222
+ git_pull: Annotated[bool, typer.Option("--git-pull", "-g", help="Start by pulling the git repo")] = False,
220
223
  watch: Annotated[bool, typer.Option("--watch", "-w", help="Watch the file for changes")] = False,
221
224
  ) -> None:
222
225
  """Main function to process fire jobs arguments."""
@@ -254,7 +257,6 @@ def fire(
254
257
  except Exception as e:
255
258
  # For other exceptions, print clean error message and exit
256
259
  import sys
257
-
258
260
  print(f"❌ Error: {e}", file=sys.stderr)
259
261
  sys.exit(1)
260
262
 
@@ -36,13 +36,14 @@ def shell():
36
36
  from machineconfig.profile.create_shell_profile import create_default_shell_profile
37
37
  create_default_shell_profile()
38
38
 
39
+
39
40
  def path():
40
41
  """📚 NAVIGATE PATH variable with TUI"""
41
42
  from machineconfig.scripts.python import env_manager as navigator
42
43
  from pathlib import Path
43
44
  path = Path(navigator.__file__).resolve().parent.joinpath("path_manager_tui.py")
44
45
  from machineconfig.utils.code import run_shell_script
45
- if not Path.home().joinpath("code/machineconfig").exists(): executable = """--with "machineconfig>=6.51,textual" """
46
+ if not Path.home().joinpath("code/machineconfig").exists(): executable = """--with "machineconfig>=6.52,textual" """
46
47
  else: executable = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with textual"""
47
48
  run_shell_script(f"""uv run {executable} {path}""")
48
49
 
@@ -78,7 +79,7 @@ def get_app():
78
79
  config_apps.command("path", no_args_is_help=False, help="📚 [p] NAVIGATE PATH variable with TUI")(path)
79
80
  config_apps.command("p", no_args_is_help=False, help="NAVIGATE PATH variable with TUI", hidden=True)(path)
80
81
  config_apps.command("pwsh-theme", no_args_is_help=False, help="🔗 [t] Select powershell prompt theme.")(pwsh_theme)
81
- config_apps.command("t", no_args_is_help=True, help="Select powershell prompt theme.", hidden=True)(pwsh_theme)
82
+ config_apps.command("t", no_args_is_help=False, help="Select powershell prompt theme.", hidden=True)(pwsh_theme)
82
83
  config_apps.command("copy-assets", no_args_is_help=True, help="🔗 [c] Copy asset files from library to machine.", hidden=False)(copy_assets)
83
84
  config_apps.command("c", no_args_is_help=True, help="Copy asset files from library to machine.", hidden=True)(copy_assets)
84
85
  return config_apps
@@ -40,9 +40,9 @@ def install(no_copy_assets: Annotated[bool, typer.Option("--no-assets-copy", "-n
40
40
  else:
41
41
  import platform
42
42
  if platform.system() == "Windows":
43
- run_shell_script(r"""$HOME\.local\bin\uv.exe tool install --upgrade "machineconfig>=6.51" """)
43
+ run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=6.52" """)
44
44
  else:
45
- run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=6.51" """)
45
+ run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=6.52" """)
46
46
  from machineconfig.profile.create_shell_profile import create_default_shell_profile
47
47
  if not no_copy_assets:
48
48
  create_default_shell_profile() # involves copying assets too
@@ -67,7 +67,7 @@ def navigate():
67
67
  path = Path(navigator.__file__).resolve().parent.joinpath("devops_navigator.py")
68
68
  from machineconfig.utils.code import run_shell_script
69
69
  if Path.home().joinpath("code/machineconfig").exists(): executable = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with textual"""
70
- else: executable = """--with "machineconfig>=6.51,textual" """
70
+ else: executable = """--with "machineconfig>=6.52,textual" """
71
71
  run_shell_script(f"""uv run {executable} {path}""")
72
72
 
73
73
 
@@ -78,8 +78,51 @@ def download(
78
78
  raise typer.Exit(code=1)
79
79
 
80
80
 
81
+ def merge_pdfs(
82
+ pdf1: Annotated[str, typer.Argument(..., help="Path to the first PDF file.")],
83
+ pdf2: Annotated[str, typer.Argument(..., help="Path to the second PDF file.")],
84
+ output: Annotated[Optional[str], typer.Option("--output", "-o", help="Output merged PDF file path.")] = None,
85
+ compress: Annotated[bool, typer.Option("--compress", "-c", help="Compress the output PDF.")] = False,
86
+ ) -> None:
87
+ def merge_pdfs_internal(pdf1: str, pdf2: str, output: Optional[str], compress: bool) -> None:
88
+ from pypdf import PdfReader, PdfWriter
89
+ writer = PdfWriter()
90
+ for pdf_path in [pdf1, pdf2]:
91
+ reader = PdfReader(pdf_path)
92
+ for page in reader.pages:
93
+ writer.add_page(page)
94
+ output_path = output if output else "merged.pdf"
95
+ if compress:
96
+ try:
97
+ for p in writer.pages:
98
+ try:
99
+ # PageObject.compress_content_streams exists in pypdf
100
+ p.compress_content_streams()
101
+ except Exception:
102
+ # best-effort: ignore per-page compression failures
103
+ continue
104
+ except Exception:
105
+ pass
106
+ try:
107
+ writer.compress_identical_objects()
108
+ except Exception:
109
+ # non-fatal if this fails
110
+ pass
111
+ writer.write(output_path)
112
+ print(f"✅ Merged PDF saved to: {output_path}")
113
+ from machineconfig.utils.meta import lambda_to_defstring
114
+ code = lambda_to_defstring(lambda : merge_pdfs_internal(pdf1=pdf1, pdf2=pdf2, output=output, compress=compress), in_global=True)
115
+ import tempfile
116
+ tmp_py_file = Path(tempfile.mkstemp(suffix=".py")[1])
117
+ tmp_py_file.write_text(code, encoding="utf-8")
118
+ from machineconfig.utils.code import run_shell_script
119
+ run_shell_script(f"""uv run --with pypdf {tmp_py_file} """)
120
+
121
+
81
122
  def get_app() -> typer.Typer:
82
123
  app = typer.Typer(help="🛠️ [u] utilities operations", no_args_is_help=True, add_help_option=False, add_completion=False)
83
124
  app.command(name="download", no_args_is_help=True, help="[d] Download a file from a URL and optionally decompress it.")(download)
84
125
  app.command(name="d", no_args_is_help=True, hidden=True)(download)
126
+ app.command(name="merge-pdfs", no_args_is_help=True, help="[m] Merge two PDF files into one.")(merge_pdfs)
127
+ app.command(name="m", no_args_is_help=True, hidden=True)(merge_pdfs)
85
128
  return app
@@ -6,7 +6,7 @@ import typer
6
6
  from machineconfig.utils.path_extended import PathExtended
7
7
  from machineconfig.utils.terminal import Response
8
8
  from machineconfig.utils.source_of_truth import CONFIG_ROOT, DEFAULTS_PATH
9
- from machineconfig.utils.code import get_shell_file_executing_python_script, write_shell_script_to_file
9
+ from machineconfig.utils.code import get_shell_file_executing_python_script
10
10
  from pathlib import Path
11
11
  import platform
12
12
  import subprocess
@@ -76,10 +76,17 @@ git pull originEnc master
76
76
 
77
77
  """
78
78
 
79
- if Path.home().joinpath("code/machineconfig").exists(): executable = f"""uv run --project "{str(Path.home().joinpath("code/machineconfig"))}" """
80
- else: executable = """uv run --with "machineconfig>=6.51" """
79
+ if Path.home().joinpath("code/machineconfig").exists():
80
+ uv_project_dir = f"""{str(Path.home().joinpath("code/machineconfig"))}"""
81
+ uv_with = None
82
+ else:
83
+ uv_with = ["machineconfig>=6.52"]
84
+ uv_project_dir = None
85
+
86
+ import tempfile
87
+ shell_path = Path(tempfile.mkstemp(suffix=".ps1" if platform.system() == "Windows" else ".sh")[1])
88
+ shell_path.write_text(script, encoding="utf-8")
81
89
 
82
- shell_path = write_shell_script_to_file(shell_script=script)
83
90
  command = f". {shell_path}"
84
91
  if platform.system() == "Windows":
85
92
  completed = subprocess.run(["powershell", "-Command", command], capture_output=True, check=False, text=True)
@@ -100,20 +107,12 @@ git pull originEnc master
100
107
 
101
108
  # ================================================================================
102
109
  option1 = "Delete remote copy and push local:"
103
- from machineconfig.utils.meta import function_to_script
110
+ from machineconfig.utils.meta import lambda_to_defstring
104
111
  def func2(remote_repo: str, local_repo: str, cloud: str):
105
112
  from machineconfig.scripts.python.helpers_repos.sync import delete_remote_repo_copy_and_push_local
106
113
  delete_remote_repo_copy_and_push_local(remote_repo=remote_repo, local_repo=local_repo, cloud=cloud)
107
- return "done"
108
- # def func2(remote_repo: str=str(repo_remote_root), local_repo: str=str(repo_local_root), cloud: str=str(cloud_resolved)):
109
- # from machineconfig.scripts.python.helpers_repos.sync import delete_remote_repo_copy_and_push_local
110
- # delete_remote_repo_copy_and_push_local(remote_repo=remote_repo, local_repo=local_repo, cloud=cloud)
111
- # return "done"
112
- # program_1_py = function_to_script(func=func2, call_with_kwargs=None)
113
- program_1_py = function_to_script(func=func2, call_with_kwargs={"remote_repo": str(repo_remote_root), "local_repo": str(repo_local_root), "cloud": cloud_resolved})
114
-
115
-
116
- shell_file_1 = get_shell_file_executing_python_script(python_script=program_1_py, ve_path=None, executable=executable)
114
+ program_1_py = lambda_to_defstring(lambda: func2(remote_repo=str(repo_remote_root), local_repo=str(repo_local_root), cloud=str(cloud_resolved)), in_global=True)
115
+ shell_file_1 = get_shell_file_executing_python_script(python_script=program_1_py, uv_with=uv_with, uv_project_dir=uv_project_dir)
117
116
  # ================================================================================
118
117
  option2 = "Delete local repo and replace it with remote copy:"
119
118
  program_2 = f"""
@@ -126,15 +125,19 @@ sudo chmod 600 $HOME/.ssh/*
126
125
  sudo chmod 700 $HOME/.ssh
127
126
  sudo chmod +x $HOME/dotfiles/scripts/linux -R
128
127
  """
129
- shell_file_2 = write_shell_script_to_file(shell_script=program_2)
128
+ import tempfile
129
+ shell_file_2 = Path(tempfile.mkstemp(suffix=".ps1" if platform.system() == "Windows" else ".sh")[1])
130
+ shell_file_2.write_text(program_2, encoding="utf-8")
131
+
130
132
  # ================================================================================
131
133
  option3 = "Inspect repos:"
132
134
  def func(repo_local_root: str, repo_remote_root: str):
133
135
  from machineconfig.scripts.python.helpers_repos.sync import inspect_repos
134
136
  inspect_repos(repo_local_root=repo_local_root, repo_remote_root=repo_remote_root)
135
- return "done"
136
- program_3_py = function_to_script(func=func, call_with_kwargs={"repo_local_root": str(repo_local_root), "repo_remote_root": str(repo_remote_root)})
137
- shell_file_3 = get_shell_file_executing_python_script(python_script=program_3_py, ve_path=None, executable=executable)
137
+ # program_3_py = function_to_script(func=func, call_with_kwargs={"repo_local_root": str(repo_local_root), "repo_remote_root": str(repo_remote_root)})
138
+ # shell_file_3 = get_shell_file_executing_python_script(python_script=program_3_py, ve_path=None, executable=executable)
139
+ program_3_py = lambda_to_defstring(lambda: func(repo_local_root=str(repo_local_root), repo_remote_root=str(repo_remote_root)), in_global=True)
140
+ shell_file_3 = get_shell_file_executing_python_script(python_script=program_3_py, uv_with=uv_with, uv_project_dir=uv_project_dir)
138
141
  # ================================================================================
139
142
 
140
143
  option4 = "Remove problematic rclone file from repo and replace with remote:"
@@ -145,7 +148,8 @@ cd $HOME/dotfiles
145
148
  git commit -am "finished merging"
146
149
  . {shell_file_1}
147
150
  """
148
- shell_file_4 = write_shell_script_to_file(shell_script=program_4)
151
+ shell_file_4 = Path(tempfile.mkstemp(suffix=".ps1" if platform.system() == "Windows" else ".sh")[1])
152
+ shell_file_4.write_text(program_4, encoding="utf-8")
149
153
  # ================================================================================
150
154
 
151
155
  console.print(Panel("🔄 RESOLVE MERGE CONFLICT\nChoose an option to resolve the conflict:", title_align="left", border_style="blue"))
@@ -8,7 +8,7 @@ def analyze_repo_development(repo_path: Annotated[str, typer.Argument(..., help=
8
8
  from pathlib import Path
9
9
  count_lines_path = Path(count_lines.__file__)
10
10
  # --project $HOME/code/ machineconfig --group plot
11
- cmd = f"""uv run --python 3.14 --with "machineconfig[plot]>=6.51" {count_lines_path} analyze-over-time {repo_path}"""
11
+ cmd = f"""uv run --python 3.14 --with "machineconfig[plot]>=6.52" {count_lines_path} analyze-over-time {repo_path}"""
12
12
  from machineconfig.utils.code import run_shell_script
13
13
  run_shell_script(cmd)
14
14
 
@@ -1,5 +1,4 @@
1
1
  from machineconfig.utils.path_extended import PathExtended
2
- from machineconfig.utils.code import write_shell_script_to_file
3
2
  import platform
4
3
  from pathlib import Path
5
4
  from rich.console import Console
@@ -56,11 +55,12 @@ def inspect_repos(repo_local_root: str, repo_remote_root: str):
56
55
 
57
56
  if platform.system() == "Windows":
58
57
  program = get_wt_cmd(wd1=PathExtended(repo_local_root), wd2=PathExtended(repo_local_root))
59
- write_shell_script_to_file(shell_script=program)
60
- return None
61
58
  elif platform.system() in ["Linux", "Darwin"]:
62
59
  program = get_zellij_cmd(wd1=PathExtended(repo_local_root), wd2=PathExtended(repo_remote_root))
63
- write_shell_script_to_file(shell_script=program)
64
- return None
65
60
  else:
66
61
  raise NotImplementedError(f"Platform {platform.system()} not implemented.")
62
+ import tempfile
63
+ with tempfile.NamedTemporaryFile(mode='w', suffix=".sh" if platform.system() != "Windows" else ".ps1", delete=False, encoding='utf-8') as temp_file:
64
+ temp_file.write(program)
65
+ temp_script_path = PathExtended(temp_file.name)
66
+ console.print(Panel(f"🚀 Launching repo inspection tool...\n\n[blue]{temp_script_path}[/blue]", border_style="blue"))
@@ -5,7 +5,7 @@
5
5
  # mkdir ~/data/local
6
6
  # sudo mount -o nolock,noatime,nodiratime,proto=tcp,timeo=600,retrans=2,noac alex-p51s-5:/home/alex/data/local ./data/local
7
7
 
8
- uv run --python 3.14 --with "machineconfig>=6.51" python -m machineconfig.scripts.python.mount_nfs
8
+ uv run --python 3.14 --with "machineconfig>=6.52" python -m machineconfig.scripts.python.mount_nfs
9
9
  # Check if remote server is reachable and share folder exists
10
10
  if ! ping -c 1 "$remote_server" &> /dev/null; then
11
11
  echo "💥 Error: Remote server $remote_server is not reachable."
@@ -7,7 +7,7 @@ $user = ''
7
7
  $sharePath = ''
8
8
  $driveLetter = ''
9
9
 
10
- uv run --python 3.14 --with "machineconfig>=6.51" python -m machineconfig.scripts.python.mount_ssh
10
+ uv run --python 3.14 --with "machineconfig>=6.52" python -m machineconfig.scripts.python.mount_ssh
11
11
 
12
12
  net use T: \\sshfs.kr\$user@$host.local
13
13
  # this worked: net use T: \\sshfs\alex@alex-p51s-5.local
@@ -1,7 +1,7 @@
1
1
  #!/bin/bash
2
2
  . <( curl -sSL "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/uv.sh")
3
3
  mcfg() {
4
- "$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=6.51" mcfg "$@"
4
+ "$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=6.52" mcfg "$@"
5
5
  }
6
6
  alias d="mcfg devops"
7
7
  alias c="mcfg cloud"
@@ -0,0 +1,17 @@
1
+ """Mac setup module for machineconfig.
2
+
3
+ This module provides setup script locations and configurations for macOS systems.
4
+ It mirrors the layout used by the Linux setup module and exposes Path objects
5
+ pointing at common scripts (so other code can import these paths).
6
+ """
7
+
8
+ from pathlib import Path
9
+
10
+ # Path to main installer script for macOS
11
+ APPS = Path(__file__).parent.joinpath("apps.sh")
12
+ # Optional helper scripts (may or may not exist)
13
+ UV = Path(__file__).parent.joinpath("uv.sh")
14
+ # Path to macOS SSH helper
15
+ SSH_SETUP = Path(__file__).parent.joinpath("ssh/openssh_setup.sh")
16
+
17
+ __all__ = ["APPS", "UV", "SSH_SETUP"]
@@ -0,0 +1,73 @@
1
+ #!/usr/bin/env bash
2
+
3
+ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
4
+ echo "🔄 Updating Homebrew..."
5
+ brew update || true
6
+
7
+ # --GROUP:ESSENTIAL_SYSTEM:git,nano,curl,nvm,nodejs,brave-browser,visual-studio-code
8
+ echo "📥 Installing essential tools..."
9
+ echo "📥 Installing Git version control..."
10
+ echo "📥 Installing Nano text editor..."
11
+ echo "📥 Installing Node Version Manager (NVM)..."
12
+ # Note: git and nano are pre-installed on macOS, but we install via Homebrew to ensure latest versions
13
+ brew install git || true
14
+ brew install nano || true
15
+ brew install curl || true
16
+ # Install NVM
17
+ if [ ! -s "$HOME/.nvm/nvm.sh" ]; then
18
+ echo "📥 Installing NVM (Node Version Manager)..."
19
+ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
20
+ fi
21
+ echo "🔧 Configuring NVM environment..."
22
+ export NVM_DIR="$HOME/.nvm"
23
+ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
24
+ echo "📥 Installing latest Node.js..."
25
+ nvm install node || true
26
+ brew install --cask brave-browser || true
27
+ brew install --cask visual-studio-code || true
28
+
29
+ # Database tools
30
+ # echo "📥 Installing SQLite - lightweight SQL database..."
31
+ # echo "📥 Installing PostgreSQL client..."
32
+ # echo "📥 Installing Redis command-line tools..."
33
+ # brew install sqlite3 || true
34
+ # brew install postgresql || true
35
+ # brew install redis || true
36
+
37
+ # --GROUP:TerminalEyeCandy:fortune,toilet,sl,cmatrix,chafa
38
+ echo "📥 Installing fortune - random wisdom generator..."
39
+ echo "📥 Installing figlet - ASCII art text generator..."
40
+ echo "📥 Installing cowsay - ASCII cow speech generator..."
41
+ echo "📥 Installing lolcat - colorized text output..."
42
+ echo "📥 Installing chafa - terminal image viewer..."
43
+ brew install fortune || true
44
+ brew install figlet || true
45
+ brew install cowsay || true
46
+ brew install lolcat || true
47
+ brew install chafa || true
48
+
49
+ # --GROUP:NetworkTools: sshfs,nfs-utils
50
+ echo "📥 Installing SSHFS - mount remote filesystems over SSH..."
51
+ echo "📥 Installing NFS utilities..."
52
+ brew install sshfs || true
53
+ brew install nfs-utils || true
54
+
55
+ # --GROUP:DEV_SYSTEM: graphviz,make,rust,sqlite3,postgresql-client,redis-tools,ffmpeg
56
+ echo "📥 Installing Graphviz - graph visualization software..."
57
+ echo "📥 Installing make - build automation tool..."
58
+ echo "📥 Installing FFmpeg - multimedia framework..."
59
+ echo "📥 Installing SSL/TLS development libraries..."
60
+ echo "📥 Installing Rust programming language and toolchain..."
61
+ brew install graphviz || true
62
+ brew install make || true
63
+ brew install ffmpeg || true
64
+ brew install openssl || true
65
+
66
+ # Install Rust if not already installed
67
+ if ! command -v rustc &> /dev/null; then
68
+ echo "📥 Installing Rust..."
69
+ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y || true
70
+ fi
71
+
72
+
73
+
@@ -0,0 +1,114 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # 🔐 OpenSSH Setup for macOS
4
+ # This script sets up SSH configuration and permissions on macOS
5
+
6
+ echo "🔐 Starting OpenSSH setup for macOS..."
7
+
8
+ # ✅ SSH is built-in on macOS (OpenSSH comes pre-installed)
9
+ echo "✅ OpenSSH is pre-installed on macOS"
10
+
11
+ # 📁 Create SSH directory with correct permissions
12
+ echo "📁 Setting up SSH directory..."
13
+ mkdir -p ~/.ssh
14
+ chmod 700 ~/.ssh
15
+ echo "✅ SSH directory created with correct permissions (700)"
16
+
17
+ # 📝 Create authorized_keys file if it doesn't exist
18
+ if [ ! -f ~/.ssh/authorized_keys ]; then
19
+ touch ~/.ssh/authorized_keys
20
+ chmod 600 ~/.ssh/authorized_keys
21
+ echo "✅ Created authorized_keys file"
22
+ else
23
+ echo "✅ authorized_keys file already exists"
24
+ chmod 600 ~/.ssh/authorized_keys
25
+ fi
26
+
27
+ # 🔑 Create SSH keys if they don't exist
28
+ if [ ! -f ~/.ssh/id_rsa ]; then
29
+ echo "🔑 Generating SSH keys (RSA)..."
30
+ ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N "" -C "$(whoami)@$(hostname)"
31
+ echo "✅ SSH RSA keys generated: ~/.ssh/id_rsa"
32
+ else
33
+ echo "✅ SSH keys already exist"
34
+ fi
35
+
36
+ # 🔐 Create Ed25519 keys (modern alternative)
37
+ if [ ! -f ~/.ssh/id_ed25519 ]; then
38
+ echo "🔑 Generating SSH keys (Ed25519)..."
39
+ ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -N "" -C "$(whoami)@$(hostname)"
40
+ echo "✅ SSH Ed25519 keys generated: ~/.ssh/id_ed25519"
41
+ else
42
+ echo "✅ SSH Ed25519 keys already exist"
43
+ fi
44
+
45
+ # 🔧 Configure SSH config file for convenience
46
+ SSH_CONFIG="$HOME/.ssh/config"
47
+ if [ ! -f "$SSH_CONFIG" ]; then
48
+ echo "📝 Creating SSH config file..."
49
+ cat > "$SSH_CONFIG" << 'EOF'
50
+ # SSH Config File for macOS
51
+ # Add your remote hosts below
52
+
53
+ # Example host configuration:
54
+ # Host myserver
55
+ # HostName example.com
56
+ # User username
57
+ # Port 22
58
+ # IdentityFile ~/.ssh/id_ed25519
59
+ # IdentityFile ~/.ssh/id_rsa
60
+
61
+ # Global settings
62
+ Host *
63
+ AddKeysToAgent yes
64
+ UseKeychain yes
65
+ IdentityFile ~/.ssh/id_ed25519
66
+ IdentityFile ~/.ssh/id_rsa
67
+ ServerAliveInterval 60
68
+ EOF
69
+ chmod 600 "$SSH_CONFIG"
70
+ echo "✅ SSH config file created: $SSH_CONFIG"
71
+ else
72
+ echo "✅ SSH config file already exists"
73
+ fi
74
+
75
+ # 🔒 Ensure correct file permissions
76
+ echo "🔒 Setting correct SSH file permissions..."
77
+ chmod 700 ~/.ssh
78
+ chmod 600 ~/.ssh/authorized_keys 2>/dev/null || true
79
+ chmod 600 ~/.ssh/id_rsa 2>/dev/null || true
80
+ chmod 644 ~/.ssh/id_rsa.pub 2>/dev/null || true
81
+ chmod 600 ~/.ssh/id_ed25519 2>/dev/null || true
82
+ chmod 644 ~/.ssh/id_ed25519.pub 2>/dev/null || true
83
+ chmod 600 ~/.ssh/config 2>/dev/null || true
84
+ echo "✅ SSH file permissions configured correctly"
85
+
86
+ # ℹ️ Display SSH key information
87
+ echo ""
88
+ echo "📋 SSH Setup Summary:"
89
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
90
+ echo "SSH Directory: ~/.ssh"
91
+ echo "SSH Config: ~/.ssh/config"
92
+ echo ""
93
+ echo "Available SSH Keys:"
94
+ if [ -f ~/.ssh/id_rsa.pub ]; then
95
+ echo " • RSA Key: ~/.ssh/id_rsa"
96
+ fi
97
+ if [ -f ~/.ssh/id_ed25519.pub ]; then
98
+ echo " • Ed25519 Key: ~/.ssh/id_ed25519"
99
+ fi
100
+ echo ""
101
+ echo "💡 Next Steps:"
102
+ echo " 1. View your public key:"
103
+ echo " cat ~/.ssh/id_ed25519.pub (or id_rsa.pub)"
104
+ echo " 2. Add it to your GitHub/GitLab/server authorized_keys"
105
+ echo " 3. Test connection:"
106
+ echo " ssh -v your_server"
107
+ echo " 4. Configure hosts in ~/.ssh/config for easy access"
108
+ echo ""
109
+ echo "📚 Learn more about SSH:"
110
+ echo " • man ssh"
111
+ echo " • man ssh-keygen"
112
+ echo " • man ssh_config"
113
+ echo ""
114
+ echo "✅ OpenSSH setup complete!"