machineconfig 7.2__tar.gz → 7.33__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 (455) hide show
  1. {machineconfig-7.2/src/machineconfig.egg-info → machineconfig-7.33}/PKG-INFO +1 -1
  2. {machineconfig-7.2 → machineconfig-7.33}/pyproject.toml +3 -3
  3. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/profile/create_links.py +1 -1
  4. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/profile/create_links_export.py +2 -2
  5. machineconfig-7.2/src/machineconfig/scripts/linux/mcfgs → machineconfig-7.33/src/machineconfig/scripts/linux/wrap_mcfg +3 -3
  6. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/define.py +2 -2
  7. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
  8. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_devops/cli_config.py +7 -3
  9. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +20 -23
  10. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_devops/cli_self.py +3 -3
  11. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_devops/cli_share_server.py +29 -10
  12. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +1 -1
  13. machineconfig-7.2/src/machineconfig/scripts/python/mcfg.py → machineconfig-7.33/src/machineconfig/scripts/python/machineconfig.py +4 -0
  14. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/nw/mount_nfs +1 -1
  15. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
  16. machineconfig-7.2/src/machineconfig/scripts/windows/mcfgs.ps1 → machineconfig-7.33/src/machineconfig/scripts/windows/wrap_mcfg.ps1 +3 -2
  17. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/shells/bash/init.sh +2 -2
  18. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/shells/pwsh/init.ps1 +2 -2
  19. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +10 -10
  20. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +10 -10
  21. machineconfig-7.33/src/machineconfig/utils/io.py +148 -0
  22. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/links.py +37 -36
  23. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/path_extended.py +2 -75
  24. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/ssh.py +1 -1
  25. {machineconfig-7.2 → machineconfig-7.33/src/machineconfig.egg-info}/PKG-INFO +1 -1
  26. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig.egg-info/SOURCES.txt +3 -5
  27. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig.egg-info/entry_points.txt +2 -2
  28. machineconfig-7.2/src/machineconfig/scripts/linux/term +0 -39
  29. machineconfig-7.2/src/machineconfig/scripts/windows/term.ps1 +0 -48
  30. machineconfig-7.2/src/machineconfig/utils/io.py +0 -79
  31. {machineconfig-7.2 → machineconfig-7.33}/MANIFEST.in +0 -0
  32. {machineconfig-7.2 → machineconfig-7.33}/README.md +0 -0
  33. {machineconfig-7.2 → machineconfig-7.33}/setup.cfg +0 -0
  34. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/__init__.py +0 -0
  35. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/__init__.py +0 -0
  36. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
  37. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
  38. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/remote/distribute.py +0 -0
  39. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/remote/file_manager.py +0 -0
  40. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/remote/job_params.py +0 -0
  41. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
  42. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
  43. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/remote/run_cloud.py +0 -0
  44. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/remote/run_cluster.py +0 -0
  45. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/remote/run_remote.py +0 -0
  46. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/remote/script_execution.py +0 -0
  47. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
  48. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
  49. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/helpers/enhanced_command_runner.py +0 -0
  50. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/helpers/load_balancer_helper.py +0 -0
  51. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/utils/load_balancer.py +0 -0
  52. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/utils/maker.py +0 -0
  53. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/wt_local.py +0 -0
  54. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +0 -0
  55. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
  56. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +0 -0
  57. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
  58. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/wt_utils/manager_persistence.py +0 -0
  59. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/wt_utils/monitoring_helpers.py +0 -0
  60. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
  61. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
  62. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
  63. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +0 -0
  64. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporting.py +0 -0
  65. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/wt_utils/wt_helpers.py +0 -0
  66. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/zellij_local.py +0 -0
  67. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +0 -0
  68. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
  69. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
  70. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
  71. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
  72. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +0 -0
  73. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +0 -0
  74. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
  75. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
  76. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +0 -0
  77. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper.py +0 -0
  78. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_restart.py +0 -0
  79. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_with_panes.py +0 -0
  80. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_manager_helper.py +0 -0
  81. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/templates/__init__.py +0 -0
  82. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
  83. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/__init__.py +0 -0
  84. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/__init__.py +0 -0
  85. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/check_installations.py +0 -0
  86. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/custom/boxes.py +0 -0
  87. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/custom/gh.py +0 -0
  88. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/custom/hx.py +0 -0
  89. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/custom_dev/__init__.py +0 -0
  90. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/custom_dev/alacritty.py +0 -0
  91. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/custom_dev/brave.py +0 -0
  92. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/custom_dev/bypass_paywall.py +0 -0
  93. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/custom_dev/code.py +0 -0
  94. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/custom_dev/cursor.py +0 -0
  95. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +0 -0
  96. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/custom_dev/espanso.py +0 -0
  97. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/custom_dev/goes.py +0 -0
  98. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/custom_dev/lvim.py +0 -0
  99. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/custom_dev/nerdfont.py +0 -0
  100. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +0 -0
  101. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/custom_dev/redis.py +0 -0
  102. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/custom_dev/wezterm.py +0 -0
  103. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/custom_dev/winget.py +0 -0
  104. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/installer_data.json +0 -0
  105. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/linux_scripts/brave.sh +0 -0
  106. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/linux_scripts/docker.sh +0 -0
  107. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/linux_scripts/docker_start.sh +0 -0
  108. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/linux_scripts/edge.sh +0 -0
  109. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/linux_scripts/lid.sh +0 -0
  110. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/linux_scripts/nerdfont.sh +0 -0
  111. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/linux_scripts/network.sh +0 -0
  112. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/linux_scripts/ngrok.sh +0 -0
  113. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -0
  114. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/linux_scripts/q.sh +0 -0
  115. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/linux_scripts/redis.sh +0 -0
  116. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -0
  117. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/linux_scripts/vscode.sh +0 -0
  118. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/linux_scripts/warp-cli.sh +0 -0
  119. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/linux_scripts/wezterm.sh +0 -0
  120. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/package_groups.py +0 -0
  121. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/powershell_scripts/archive_pygraphviz.ps1 +0 -0
  122. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +0 -0
  123. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/powershell_scripts/openssh-server_add_key.ps1 +0 -0
  124. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/jobs/installer/powershell_scripts/openssh-server_copy-ssh-id.ps1 +0 -0
  125. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/logger.py +0 -0
  126. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/profile/__init__.py +0 -0
  127. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/profile/backup.toml +0 -0
  128. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/profile/bash_shell_profiles.md +0 -0
  129. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/profile/create_helper.py +0 -0
  130. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/profile/create_shell_profile.py +0 -0
  131. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/profile/mapper.toml +0 -0
  132. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/profile/records/generic/shares.toml +0 -0
  133. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
  134. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
  135. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
  136. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
  137. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/Restore-ThunderbirdProfile.ps1 +0 -0
  138. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/__init__.py +0 -0
  139. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/linux/fzf2g +0 -0
  140. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/linux/fzfag +0 -0
  141. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/linux/fzffg +0 -0
  142. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/linux/fzfg +0 -0
  143. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/linux/fzfrga +0 -0
  144. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/linux/other/share_cloud.sh +0 -0
  145. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/linux/other/share_nfs +0 -0
  146. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/linux/other/start_docker +0 -0
  147. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/linux/other/switch_ip +0 -0
  148. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/linux/skrg +0 -0
  149. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/__init__.py +0 -0
  150. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/agents.py +0 -0
  151. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
  152. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/command_runner/command_runner.sh +0 -0
  153. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/command_runner/prompt.txt +0 -0
  154. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
  155. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/initai.py +0 -0
  156. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +0 -0
  157. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -0
  158. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/solutions/__init__.py +0 -0
  159. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/solutions/_shared.py +0 -0
  160. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/solutions/claude/claude.py +0 -0
  161. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/solutions/cline/cline.py +0 -0
  162. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
  163. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
  164. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md +0 -0
  165. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
  166. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
  167. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/solutions/copilot/privacy.md +0 -0
  168. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +0 -0
  169. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
  170. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/solutions/crush/crush.json +0 -0
  171. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/solutions/crush/crush.py +0 -0
  172. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/solutions/crush/privacy.md +0 -0
  173. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/solutions/cursor/cursors.py +0 -0
  174. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/solutions/gemini/gemini.py +0 -0
  175. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/solutions/gemini/settings.json +0 -0
  176. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/solutions/generic.py +0 -0
  177. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
  178. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json +0 -0
  179. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py +0 -0
  180. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ai/vscode_tasks.py +0 -0
  181. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/cloud.py +0 -0
  182. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/croshell.py +0 -0
  183. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/devops.py +0 -0
  184. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/devops_navigator.py +0 -0
  185. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/env_manager/__init__.py +0 -0
  186. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/env_manager/path_manager_backend.py +0 -0
  187. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/fire_jobs.py +0 -0
  188. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/ftpx.py +0 -0
  189. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_agents/__init__.py +0 -0
  190. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_agents/agentic_frameworks/__init__.py +0 -0
  191. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.json +0 -0
  192. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.py +0 -0
  193. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_cursor_agents.py +0 -0
  194. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_gemini.py +0 -0
  195. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_qwen.py +0 -0
  196. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_agents/fire_agents_help_launch.py +0 -0
  197. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_agents/fire_agents_help_search.py +0 -0
  198. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_agents/fire_agents_helper_types.py +0 -0
  199. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_agents/fire_agents_load_balancer.py +0 -0
  200. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_agents/templates/prompt.txt +0 -0
  201. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_agents/templates/template.ps1 +0 -0
  202. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_agents/templates/template.sh +0 -0
  203. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_cloud/__init__.py +0 -0
  204. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_cloud/cloud_copy.py +0 -0
  205. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_cloud/cloud_helpers.py +0 -0
  206. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_cloud/cloud_mount.py +0 -0
  207. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_cloud/cloud_sync.py +0 -0
  208. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_cloud/helpers2.py +0 -0
  209. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_cloud/helpers5.py +0 -0
  210. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_croshell/__init__.py +0 -0
  211. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_croshell/crosh.py +0 -0
  212. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_croshell/pomodoro.py +0 -0
  213. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_croshell/scheduler.py +0 -0
  214. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_croshell/start_slidev.py +0 -0
  215. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_croshell/viewer.py +0 -0
  216. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_croshell/viewer_template.py +0 -0
  217. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_devops/__init__.py +0 -0
  218. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_devops/cli_data.py +0 -0
  219. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_devops/cli_nw.py +0 -0
  220. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_devops/cli_repos.py +0 -0
  221. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_devops/cli_terminal.py +0 -0
  222. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_devops/cli_utils.py +0 -0
  223. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_devops/devops_backup_retrieve.py +0 -0
  224. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_devops/devops_status.py +0 -0
  225. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_devops/devops_update_repos.py +0 -0
  226. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_devops/themes/__init__.py +0 -0
  227. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_devops/themes/choose_pwsh_theme.ps1 +0 -0
  228. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_devops/themes/choose_starship_theme.bash +0 -0
  229. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_devops/themes/choose_starship_theme.ps1 +0 -0
  230. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_devops/themes/choose_wezterm_theme.py +0 -0
  231. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_fire_command/__init__.py +0 -0
  232. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_fire_command/cloud_manager.py +0 -0
  233. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_fire_command/file_wrangler.py +0 -0
  234. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py +0 -0
  235. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +0 -0
  236. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
  237. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_navigator/__init__.py +0 -0
  238. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_navigator/command_builder.py +0 -0
  239. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_navigator/command_detail.py +0 -0
  240. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_navigator/command_tree.py +0 -0
  241. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_navigator/data_models.py +0 -0
  242. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_navigator/main_app.py +0 -0
  243. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_navigator/search_bar.py +0 -0
  244. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_repos/action.py +0 -0
  245. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_repos/action_helper.py +0 -0
  246. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_repos/clone.py +0 -0
  247. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_repos/count_lines.py +0 -0
  248. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +0 -0
  249. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_repos/entrypoint.py +0 -0
  250. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_repos/grource.py +0 -0
  251. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_repos/record.py +0 -0
  252. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_repos/secure_repo.py +0 -0
  253. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_repos/sync.py +0 -0
  254. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_repos/update.py +0 -0
  255. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_sessions/__init__.py +0 -0
  256. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/helpers_sessions/sessions_multiprocess.py +0 -0
  257. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/interactive.py +0 -0
  258. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/nw/__init__.py +0 -0
  259. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/nw/add_ssh_key.py +0 -0
  260. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/nw/devops_add_identity.py +0 -0
  261. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/nw/devops_add_ssh_key.py +0 -0
  262. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/nw/mount_drive +0 -0
  263. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/nw/mount_nfs.py +0 -0
  264. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/nw/mount_nw_drive +0 -0
  265. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/nw/mount_nw_drive.py +0 -0
  266. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/nw/mount_smb +0 -0
  267. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/nw/mount_ssh.py +0 -0
  268. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/nw/onetimeshare.py +0 -0
  269. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/nw/ssh_debug_linux.py +0 -0
  270. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/nw/ssh_debug_windows.py +0 -0
  271. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/nw/wifi_conn.py +0 -0
  272. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/nw/wsl_windows_transfer.py +0 -0
  273. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/sessions.py +0 -0
  274. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/terminal.py +1 -1
  275. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/python/utils.py +0 -0
  276. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
  277. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
  278. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
  279. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/windows/mounts/mount_nfs.ps1 +0 -0
  280. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/windows/mounts/mount_nw.ps1 +0 -0
  281. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/windows/mounts/mount_smb.ps1 +0 -0
  282. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/windows/mounts/share_cloud.cmd +0 -0
  283. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/windows/mounts/share_smb.ps1 +0 -0
  284. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1 +0 -0
  285. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/__init__.py +0 -0
  286. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/broot/br.sh +0 -0
  287. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
  288. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/broot/conf.toml +0 -0
  289. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/glow/glow.yml +0 -0
  290. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
  291. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/helix/config.toml +0 -0
  292. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/helix/languages.toml +0 -0
  293. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/keras/keras.json +0 -0
  294. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
  295. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
  296. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
  297. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
  298. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
  299. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
  300. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
  301. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
  302. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
  303. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
  304. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/linux/colors +0 -0
  305. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
  306. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
  307. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
  308. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
  309. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/linux/exe/previewer.sh +0 -0
  310. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
  311. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/linux/icons +0 -0
  312. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/linux/lfrc +0 -0
  313. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
  314. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
  315. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
  316. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
  317. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
  318. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
  319. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
  320. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
  321. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
  322. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
  323. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/windows/colors +0 -0
  324. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
  325. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/windows/icons +0 -0
  326. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
  327. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
  328. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/windows/lfrc +0 -0
  329. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
  330. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
  331. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
  332. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
  333. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/linters/.flake8 +0 -0
  334. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/linters/.mypy.ini +0 -0
  335. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/linters/.pylintrc +0 -0
  336. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/linters/.ruff.toml +0 -0
  337. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
  338. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
  339. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
  340. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
  341. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/marimo/marimo.toml +0 -0
  342. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/marimo/snippets/globalize.py +0 -0
  343. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
  344. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/mprocs/windows/other +0 -0
  345. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/pistol/pistol.conf +0 -0
  346. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/presenterm/config.yaml +0 -0
  347. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/procs/.procs.toml +0 -0
  348. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
  349. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/rofi/config.rasi +0 -0
  350. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
  351. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
  352. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
  353. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
  354. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
  355. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
  356. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
  357. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
  358. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
  359. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
  360. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
  361. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
  362. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
  363. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
  364. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/shells/wt/settings.json +0 -0
  365. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/shells/zsh/init.sh +0 -0
  366. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/streamlit/config.toml +0 -0
  367. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/svim/linux/init.toml +0 -0
  368. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/svim/windows/init.toml +0 -0
  369. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
  370. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/tere/terecd.sh +0 -0
  371. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
  372. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
  373. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/wsl/.wslconfig +0 -0
  374. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/yazi/keymap.toml +0 -0
  375. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/yazi/theme.toml +0 -0
  376. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/yazi/yazi.toml +0 -0
  377. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/zed/settings.json +0 -0
  378. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/zellij/commands/monitor +0 -0
  379. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
  380. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/zellij/config.kdl +0 -0
  381. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
  382. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/zellij/layouts/hist +0 -0
  383. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
  384. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
  385. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
  386. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
  387. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_linux/__init__.py +0 -0
  388. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_linux/apps.sh +0 -0
  389. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_linux/apps_desktop.sh +0 -0
  390. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_linux/apps_gui.sh +0 -0
  391. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_linux/others/android.sh +0 -0
  392. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_linux/others/cli_installation.sh +0 -0
  393. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
  394. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_linux/ssh/openssh_all.sh +0 -0
  395. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_linux/ssh/openssh_wsl.sh +0 -0
  396. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_linux/uv.sh +0 -0
  397. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_mac/__init__.py +0 -0
  398. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_mac/apps.sh +0 -0
  399. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_mac/apps_gui.sh +0 -0
  400. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_mac/ssh/openssh_setup.sh +0 -0
  401. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_mac/uv.sh +0 -0
  402. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_windows/__init__.py +0 -0
  403. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_windows/apps.ps1 +0 -0
  404. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
  405. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
  406. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_windows/others/power_options.ps1 +0 -0
  407. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_windows/ssh/add-sshkey.ps1 +0 -0
  408. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_windows/ssh/add_identity.ps1 +0 -0
  409. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_windows/ssh/openssh-server.ps1 +0 -0
  410. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_windows/uv.ps1 +0 -0
  411. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
  412. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
  413. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/__init__.py +0 -0
  414. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/accessories.py +0 -0
  415. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/ai/__init__.py +0 -0
  416. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/cloud/onedrive/README.md +0 -0
  417. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
  418. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
  419. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/code.py +0 -0
  420. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/files/art/fat_croco.txt +0 -0
  421. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/files/art/halfwit_croco.txt +0 -0
  422. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/files/art/happy_croco.txt +0 -0
  423. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/files/art/water_croco.txt +0 -0
  424. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/files/ascii_art.py +0 -0
  425. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/files/dbms.py +0 -0
  426. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/files/headers.py +0 -0
  427. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/files/ouch/__init__.py +0 -0
  428. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/files/ouch/decompress.py +0 -0
  429. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/files/read.py +0 -0
  430. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/installer.py +0 -0
  431. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/installer_utils/__init__.py +0 -0
  432. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/installer_utils/github_release_bulk.py +0 -0
  433. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/installer_utils/installer.py +0 -0
  434. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/installer_utils/installer_abc.py +0 -0
  435. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/installer_utils/installer_class.py +0 -0
  436. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/meta.py +0 -0
  437. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/notifications.py +0 -0
  438. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/options.py +0 -0
  439. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/path_helper.py +0 -0
  440. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/procs.py +0 -0
  441. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/scheduler.py +0 -0
  442. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/scheduling.py +0 -0
  443. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +0 -0
  444. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/schemas/installer/installer_types.py +0 -0
  445. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/schemas/layouts/layout_types.py +0 -0
  446. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
  447. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/source_of_truth.py +0 -0
  448. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/ssh_utils/utils.py +0 -0
  449. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/terminal.py +0 -0
  450. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/tst.py +0 -0
  451. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/upgrade_packages.py +0 -0
  452. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig/utils/ve.py +0 -0
  453. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig.egg-info/dependency_links.txt +0 -0
  454. {machineconfig-7.2 → machineconfig-7.33}/src/machineconfig.egg-info/requires.txt +0 -0
  455. {machineconfig-7.2 → machineconfig-7.33}/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: 7.2
3
+ Version: 7.33
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 = "7.2"
9
+ version = "7.33"
10
10
  description = "Dotfiles management package"
11
11
  readme = "README.md"
12
12
  license = {text = "Apache 2.0"}
@@ -69,8 +69,8 @@ sessions = "machineconfig.scripts.python.sessions:main"
69
69
  croshell = "machineconfig.scripts.python.croshell:main"
70
70
  ftpx = "machineconfig.scripts.python.ftpx:main"
71
71
  utils = "machineconfig.scripts.python.utils:main"
72
- mcfg = "machineconfig.scripts.python.mcfg:main"
73
- machineconfig = "machineconfig.scripts.python.mcfg:main"
72
+ mcfg = "machineconfig.scripts.python.machineconfig:main"
73
+ machineconfig = "machineconfig.scripts.python.machineconfig:main"
74
74
  terminal = "machineconfig.scripts.python.terminal:main"
75
75
  define = "machineconfig.scripts.python.define:main"
76
76
 
@@ -79,7 +79,7 @@ def read_mapper() -> MapperFileData:
79
79
 
80
80
 
81
81
  def apply_mapper(mapper_data: dict[str, list[ConfigMapper]],
82
- on_conflict: Literal["throw-error", "overwriteSelfManaged", "backupSelfManaged", "overwriteDefaultPath", "backupDefaultPath"],
82
+ on_conflict: Literal["throw-error", "overwrite-self-managed", "backup-self-managed", "overwrite-default-path", "backup-default-path"],
83
83
  method: Literal["symlink", "copy"]
84
84
  ):
85
85
  operation_records: list[OperationRecord] = []
@@ -4,7 +4,7 @@ from typing import Optional, Literal, Annotated
4
4
 
5
5
 
6
6
  def main_public_from_parser(method: Annotated[Literal["symlink", "copy"], typer.Option(..., help="Method to use for setting up the config file.")],
7
- on_conflict: Annotated[Literal["throw-error", "overwriteDefaultPath", "backupDefaultPath"], typer.Option(..., help="Action to take on conflict")],
7
+ on_conflict: Annotated[Literal["throw-error", "overwrite-default-path", "backup-default-path"], typer.Option(..., help="Action to take on conflict")],
8
8
  which: Annotated[Optional[str], typer.Option(..., help="Specific items to process")] = None,
9
9
  interactive: Annotated[bool, typer.Option(..., help="Run in interactive mode")] = False):
10
10
  """Terminology:
@@ -32,7 +32,7 @@ def main_public_from_parser(method: Annotated[Literal["symlink", "copy"], typer.
32
32
 
33
33
 
34
34
  def main_private_from_parser(method: Annotated[Literal["symlink", "copy"], typer.Option(..., help="Method to use for linking files")],
35
- on_conflict: Annotated[Literal["throw-error", "overwriteSelfManaged", "backupSelfManaged", "overwriteDefaultPath", "backupDefaultPath"], typer.Option(..., help="Action to take on conflict")] = "throw-error",
35
+ on_conflict: Annotated[Literal["throw-error", "overwrite-self-managed", "backup-self-managed", "overwrite-default-path", "backup-default-path"], typer.Option(..., help="Action to take on conflict")] = "throw-error",
36
36
  which: Annotated[Optional[str], typer.Option(..., help="Specific items to process")] = None,
37
37
  interactive: Annotated[bool, typer.Option(..., help="Run in interactive mode")] = False):
38
38
  from machineconfig.profile.create_links import ConfigMapper, read_mapper
@@ -27,18 +27,18 @@ wrap_in_shell_script() {
27
27
  "$command" "$@"
28
28
 
29
29
  if [[ -f "$OP_PROGRAM_PATH" ]]; then
30
- printf "%b\n" "${GREEN} Found op program:${RESET} ${OP_PROGRAM_PATH}"
30
+ printf "%b\n" "${GREEN}🚀 Taking over from python script @ ${OP_PROGRAM_PATH}${RESET}"
31
31
  bat --style=plain --paging=never "$OP_PROGRAM_PATH"
32
32
  printf "%b\n" "${GREEN}▶ Running...${RESET}"
33
33
  . "$OP_PROGRAM_PATH"
34
34
  status=$?
35
35
  if [[ $status -eq 0 ]]; then
36
- printf "%b\n" "${GREEN}✅ Completed successfully (exit ${status})${RESET}"
36
+ printf "%b\n" "${GREEN}✅ '${command}' execution completed.${RESET}"
37
37
  else
38
38
  printf "%b\n" "${YELLOW}⚠️ Program exited with status ${status}${RESET}"
39
39
  fi
40
40
  else
41
- printf "%b\n" "${YELLOW}⚠️ No op program found at: ${OP_PROGRAM_PATH}${RESET}"
41
+ printf "%b\n" "${GREEN} '${command}' execution completed.${RESET}"
42
42
  fi
43
43
  }
44
44
 
@@ -16,10 +16,10 @@ def define_scripts():
16
16
  print(script)
17
17
 
18
18
 
19
- def main():
19
+ def get_app():
20
20
  app = typer.Typer(add_completion=False, no_args_is_help=True)
21
21
  app.command(name="scripts", help="define all scripts", no_args_is_help=False)(define_scripts)
22
- app()
22
+ return app
23
23
 
24
24
 
25
25
  # if __name__ == "__main__":
@@ -2,7 +2,7 @@
2
2
  # /// script
3
3
  # requires-python = ">=3.13"
4
4
  # dependencies = [
5
- # "machineconfig>=6.99",
5
+ # "machineconfig>=7.33",
6
6
  # "textual",
7
7
  # "pyperclip",
8
8
  # ]
@@ -7,21 +7,23 @@ import machineconfig.scripts.python.helpers_devops.cli_config_dotfile as dotfile
7
7
 
8
8
 
9
9
  def private(method: Annotated[Literal["symlink", "copy"], typer.Option(..., "--method", "-m", help="Method to use for linking files")],
10
- on_conflict: Annotated[Literal["throw-error", "overwriteSelfManaged", "backupSelfManaged", "overwriteDefaultPath", "backupDefaultPath"], typer.Option(..., "--on-conflict", "-o", help="Action to take on conflict")] = "throw-error",
10
+ on_conflict: Annotated[Literal["throw-error", "overwrite-self-managed", "backup-self-managed", "overwrite-default-path", "backup-default-path"], typer.Option(..., "--on-conflict", "-o", help="Action to take on conflict")] = "throw-error",
11
11
  which: Annotated[Optional[str], typer.Option(..., "--which", "-w", help="Specific items to process")] = None,
12
12
  interactive: Annotated[bool, typer.Option(..., "--interactive", "-ia", help="Run in interactive mode")] = False):
13
13
  """🔗 Manage private configuration files."""
14
14
  import machineconfig.profile.create_links_export as create_links_export
15
15
  create_links_export.main_private_from_parser(method=method, on_conflict=on_conflict, which=which, interactive=interactive)
16
16
 
17
+
17
18
  def public(method: Annotated[Literal["symlink", "copy"], typer.Option(..., "--method", "-m", help="Method to use for setting up the config file.")],
18
- on_conflict: Annotated[Literal["throw-error", "overwriteDefaultPath", "backupDefaultPath"], typer.Option(..., "--on-conflict", "-o", help="Action to take on conflict")] = "throw-error",
19
+ on_conflict: Annotated[Literal["throw-error", "overwrite-default-path", "backup-default-path"], typer.Option(..., "--on-conflict", "-o", help="Action to take on conflict")] = "throw-error",
19
20
  which: Annotated[Optional[str], typer.Option(..., "--which", "-w", help="Specific items to process")] = None,
20
21
  interactive: Annotated[bool, typer.Option(..., "--interactive", "-ia", help="Run in interactive mode")] = False):
21
22
  """🔗 Manage public configuration files."""
22
23
  import machineconfig.profile.create_links_export as create_links_export
23
24
  create_links_export.main_public_from_parser(method=method, on_conflict=on_conflict, which=which, interactive=interactive)
24
25
 
26
+
25
27
  def shell():
26
28
  """🔗 Configure your shell profile."""
27
29
  from machineconfig.profile.create_shell_profile import create_default_shell_profile
@@ -37,7 +39,7 @@ def path():
37
39
  uv_with = ["textual"]
38
40
  uv_project_dir = None
39
41
  if not Path.home().joinpath("code/machineconfig").exists():
40
- uv_with.append("machineconfig>=6.99")
42
+ uv_with.append("machineconfig>=7.33")
41
43
  else:
42
44
  uv_project_dir = str(Path.home().joinpath("code/machineconfig"))
43
45
  run_shell_script(get_uv_command_executing_python_script(python_script=path.read_text(encoding="utf-8"), uv_with=uv_with, uv_project_dir=uv_project_dir)[0])
@@ -50,6 +52,7 @@ def pwsh_theme():
50
52
  import subprocess
51
53
  subprocess.run(["pwsh", "-File", str(file)])
52
54
 
55
+
53
56
  def starship_theme():
54
57
  """🔗 Select starship prompt theme."""
55
58
  import subprocess
@@ -78,6 +81,7 @@ def starship_theme():
78
81
  except ValueError:
79
82
  typer.echo("❌ Please enter a valid number")
80
83
 
84
+
81
85
  def copy_assets(which: Annotated[Literal["scripts", "settings", "both"], typer.Argument(..., help="Which assets to copy")]):
82
86
  """🔗 Copy asset files from library to machine."""
83
87
  import machineconfig.profile.create_helper as create_helper
@@ -1,3 +1,4 @@
1
+
1
2
  """Like yadm and dotter."""
2
3
 
3
4
  from typing import Annotated, Literal
@@ -7,10 +8,9 @@ import typer
7
8
  def main(
8
9
  file: Annotated[str, typer.Argument(help="file/folder path.")],
9
10
  method: Annotated[Literal["symlink", "copy"], typer.Option(..., "--method", "-m", help="Method to use for linking files")] = "copy",
10
- on_conflict: Annotated[Literal["throw-error", "overwriteSelfManaged", "backupSelfManaged", "overwriteDefaultPath", "backupDefaultPath"], typer.Option(..., "--on-conflict", "-o", help="Action to take on conflict")] = "throw-error",
11
+ on_conflict: Annotated[Literal["throw-error", "overwrite-self-managed", "backup-self-managed", "overwrite-default-path", "backup-default-path"], typer.Option(..., "--on-conflict", "-o", help="Action to take on conflict")] = "throw-error",
11
12
  sensitivity: Annotated[Literal["private", "public"], typer.Option(..., "--sensitivity", "-s", help="Sensitivity of the config file.")] = "private",
12
- destination: Annotated[str, typer.Option("--destination", "-d", help="destination folder (override the default, use at your own risk)")] = "",
13
- ) -> None:
13
+ destination: Annotated[str, typer.Option("--destination", "-d", help="destination folder (override the default, use at your own risk)")] = "",) -> None:
14
14
  from rich.console import Console
15
15
  from rich.panel import Panel
16
16
  from machineconfig.utils.links import symlink_map, copy_map
@@ -33,25 +33,23 @@ def main(
33
33
  new_path = dest_path.joinpath(orig_path.name)
34
34
 
35
35
  from machineconfig.utils.path_extended import PathExtended
36
- if method == "copy":
37
- copy_map(config_file_default_path=PathExtended(orig_path), self_managed_config_file_path=PathExtended(new_path), on_conflict=on_conflict)
38
- elif method == "symlink":
39
- symlink_map(config_file_default_path=PathExtended(orig_path), self_managed_config_file_path=PathExtended(new_path), on_conflict=on_conflict)
40
- else:
41
- raise ValueError(f"Unknown method: {method}")
42
- console.print(
43
- Panel(
44
- "\n".join(
45
- [
46
- "✅ Symbolic link created successfully!",
47
- "🔄 Add the following snippet to mapper.toml to persist this mapping:",
48
- ]
49
- ),
50
- title="Symlink Created",
51
- border_style="green",
52
- padding=(1, 2),
53
- )
54
- )
36
+ match method:
37
+ case "copy":
38
+ try:
39
+ copy_map(config_file_default_path=PathExtended(orig_path), self_managed_config_file_path=PathExtended(new_path), on_conflict=on_conflict)
40
+ except Exception as e:
41
+ typer.echo(f"[red]Error:[/] {e}")
42
+ typer.Exit(code=1)
43
+ return
44
+ case "symlink":
45
+ try:
46
+ symlink_map(config_file_default_path=PathExtended(orig_path), self_managed_config_file_path=PathExtended(new_path), on_conflict=on_conflict)
47
+ except Exception as e:
48
+ typer.echo(f"[red]Error:[/] {e}")
49
+ typer.Exit(code=1)
50
+ case _:
51
+ raise ValueError(f"Unknown method: {method}")
52
+ console.print(Panel("\n".join(["✅ Symbolic link created successfully!", "🔄 Add the following snippet to mapper.toml to persist this mapping:",]), title="Symlink Created", border_style="green", padding=(1, 2),))
55
53
 
56
54
  # mapper_snippet = "\n".join(
57
55
  # [
@@ -61,7 +59,6 @@ def main(
61
59
  # f"{orig_path.name.split('.')[0]} = {{ this = '{orig_path.collapseuser().as_posix()}', to_this = '{new_path.collapseuser().as_posix()}' }}",
62
60
  # ]
63
61
  # )
64
-
65
62
  # console.print(
66
63
  # Panel(
67
64
  # mapper_snippet,
@@ -48,9 +48,9 @@ def install(no_copy_assets: Annotated[bool, typer.Option("--no-assets-copy", "-n
48
48
  else:
49
49
  import platform
50
50
  if platform.system() == "Windows":
51
- run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=6.99" """)
51
+ run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=7.33" """)
52
52
  else:
53
- run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=6.99" """)
53
+ run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=7.33" """)
54
54
  from machineconfig.profile.create_shell_profile import create_default_shell_profile
55
55
  if not no_copy_assets:
56
56
  create_default_shell_profile() # involves copying assets too
@@ -75,7 +75,7 @@ def navigate():
75
75
  path = Path(navigator.__file__).resolve().parent.joinpath("devops_navigator.py")
76
76
  from machineconfig.utils.code import run_shell_script
77
77
  if Path.home().joinpath("code/machineconfig").exists(): executable = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with textual"""
78
- else: executable = """--with "machineconfig>=6.99,textual" """
78
+ else: executable = """--with "machineconfig>=7.33,textual" """
79
79
  run_shell_script(f"""uv run {executable} {path}""")
80
80
 
81
81
 
@@ -140,7 +140,8 @@ croc {relay_arg} send {zip_arg} {qrcode_arg} {text_arg} {path_arg}"""
140
140
  exit_then_run_shell_script(script=script, strict=False)
141
141
 
142
142
 
143
- def share_file_receive(code_args: Annotated[list[str], typer.Argument(help="Receive code or relay command. Examples: '7121-donor-olympic-bicycle' or '--relay 10.17.62.206:443 7121-donor-olympic-bicycle'")],) -> None:
143
+ def share_file_receive(code_args: Annotated[list[str], typer.Argument(help="Receive code or relay command. Examples: '7121-donor-olympic-bicycle' or '--relay 10.17.62.206:443 7121-donor-olympic-bicycle'")],
144
+ ) -> None:
144
145
  """Receive a file using croc with relay server.
145
146
  Usage examples:
146
147
  devops network receive 7121-donor-olympic-bicycle
@@ -150,9 +151,22 @@ Usage examples:
150
151
  from machineconfig.utils.installer_utils.installer import install_if_missing
151
152
  install_if_missing(which="croc")
152
153
  import platform
154
+ import sys
153
155
 
154
156
  is_windows = platform.system() == "Windows"
155
157
 
158
+ # If no args passed via typer, try to get them from sys.argv directly
159
+ # This handles the case where -- was used and arguments weren't parsed by typer
160
+ if not code_args or (len(code_args) == 1 and code_args[0] in ['--relay', 'croc']):
161
+ # Find the index of 'rx' or 'receive' in sys.argv and get everything after it
162
+ try:
163
+ for i, arg in enumerate(sys.argv):
164
+ if arg in ['rx', 'receive', 'r'] and i + 1 < len(sys.argv):
165
+ code_args = sys.argv[i + 1:]
166
+ break
167
+ except Exception:
168
+ pass
169
+
156
170
  # Join all arguments
157
171
  input_str = " ".join(code_args)
158
172
  tokens = input_str.split()
@@ -161,25 +175,30 @@ Usage examples:
161
175
  relay_server: str | None = None
162
176
  secret_code: str | None = None
163
177
 
164
- # Remove 'croc' from tokens if present
165
- tokens = [t for t in tokens if t != 'croc']
178
+ # Remove 'croc' and 'export' from tokens if present
179
+ tokens = [t for t in tokens if t not in ['croc', 'export']]
166
180
 
167
181
  # Look for --relay flag and capture next token
168
- if '--relay' in tokens:
169
- relay_idx = tokens.index('--relay')
170
- if relay_idx + 1 < len(tokens):
171
- relay_server = tokens[relay_idx + 1]
182
+ relay_idx = -1
183
+ for i, token in enumerate(tokens):
184
+ if token == '--relay' and i + 1 < len(tokens):
185
+ relay_server = tokens[i + 1]
186
+ relay_idx = i
187
+ break
172
188
 
173
189
  # Look for CROC_SECRET= prefix in any token
174
190
  for token in tokens:
175
191
  if token.startswith('CROC_SECRET='):
176
- secret_code = token.split('=', 1)[1].strip('"')
192
+ secret_code = token.split('=', 1)[1].strip('"').strip("'")
177
193
  break
178
194
 
179
195
  # If no secret code found yet, look for tokens with dashes (typical pattern: number-word-word-word)
196
+ # Skip relay server and relay flag
180
197
  if not secret_code:
181
- for token in tokens:
182
- if '-' in token and not token.startswith('-') and token not in [relay_server, 'export']:
198
+ for i, token in enumerate(tokens):
199
+ if '-' in token and not token.startswith('-') and token != relay_server:
200
+ if relay_idx >= 0 and (i == relay_idx or i == relay_idx + 1):
201
+ continue # Skip relay server parts
183
202
  secret_code = token
184
203
  break
185
204
 
@@ -80,7 +80,7 @@ git pull originEnc master
80
80
  uv_project_dir = f"""{str(Path.home().joinpath("code/machineconfig"))}"""
81
81
  uv_with = None
82
82
  else:
83
- uv_with = ["machineconfig>=6.99"]
83
+ uv_with = ["machineconfig>=7.33"]
84
84
  uv_project_dir = None
85
85
 
86
86
  import tempfile
@@ -8,6 +8,7 @@ from machineconfig.scripts.python.utils import get_app as get_utils_app
8
8
  from machineconfig.scripts.python.ftpx import ftpx as ftpx_func
9
9
  from machineconfig.scripts.python.croshell import croshell as croshell_func
10
10
  from machineconfig.scripts.python.fire_jobs import fire as get_fire_jobs_app
11
+ from machineconfig.scripts.python.define import get_app as get_define_app
11
12
 
12
13
  def get_app():
13
14
  import typer
@@ -40,6 +41,9 @@ def get_app():
40
41
  app.add_typer(utils_app, name="utils", help="[u] Utility commands", no_args_is_help=True)
41
42
  app.add_typer(utils_app, name="u", hidden=True) # short alias
42
43
 
44
+ define_app = get_define_app()
45
+ app.add_typer(define_app, name="define", help="[df] Define and manage configurations", no_args_is_help=True)
46
+ app.add_typer(define_app, name="df", hidden=True) # short alias
43
47
  return app
44
48
 
45
49
 
@@ -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.92" python -m machineconfig.scripts.python.mount_nfs
8
+ uv run --python 3.14 --with "machineconfig>=7.32" 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.99" python -m machineconfig.scripts.python.mount_ssh
10
+ uv run --python 3.14 --with "machineconfig>=7.33" 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
@@ -30,10 +30,11 @@ function wrap_in_shell_script {
30
30
 
31
31
  # Check if the file exists
32
32
  if (Test-Path $env:OP_PROGRAM_PATH) {
33
- Write-Host "Found op program at: $env:OP_PROGRAM_PATH"
33
+ Write-Host "🚀 Taking over from python script @ $env:OP_PROGRAM_PATH"
34
34
  & $env:OP_PROGRAM_PATH
35
+ Write-Host "✅ '$Command' execution completed."
35
36
  } else {
36
- Write-Host "no op program found"
37
+ Write-Host " '$Command' execution completed."
37
38
  }
38
39
 
39
40
  # Clean up the temporary environment variable so it doesn't leak to other processes/sessions
@@ -37,7 +37,7 @@ add_to_path_if_not_already \
37
37
  . $CONFIG_ROOT/settings/broot/br.sh
38
38
  . $CONFIG_ROOT/settings/lf/linux/exe/lfcd.sh
39
39
  . $CONFIG_ROOT/settings/tere/terecd.sh
40
- . $CONFIG_ROOT/scripts/linux/mcfgs
40
+ . $CONFIG_ROOT/scripts/linux/wrap_mcfg
41
41
 
42
42
  # check if file in ~/dotfiles/machineconfig/init_linux.sh exists and source it
43
43
  if [ -f "$HOME/dotfiles/machineconfig/init_linux.sh" ]; then
@@ -54,7 +54,7 @@ alias ff='wrap_in_shell_script ftpx'
54
54
  alias f='wrap_in_shell_script fire'
55
55
  alias r='wrap_in_shell_script croshell'
56
56
  alias u='wrap_in_shell_script utils'
57
- alias t='wrap_in_shell_script term'
57
+ alias t='wrap_in_shell_script terminal'
58
58
 
59
59
 
60
60
  # alias gcs='gh copilot suggest -t shell'
@@ -24,11 +24,11 @@ Add-ToPathIfNotAlready -Directories @(
24
24
  )
25
25
 
26
26
  # sources ================================================================
27
- if (Test-Path "$CONFIG_ROOT\scripts\windows\mcfgs.ps1") {
27
+ if (Test-Path "$CONFIG_ROOT\scripts\windows\wrap_mcfg.ps1") {
28
28
  . $CONFIG_ROOT\settings\broot\brootcd.ps1
29
29
  . $CONFIG_ROOT\settings\lf\windows\lfcd.ps1
30
30
  . $CONFIG_ROOT\settings\tere\terecd.ps1
31
- . $CONFIG_ROOT\scripts\windows\mcfgs.ps1
31
+ . $CONFIG_ROOT\scripts\windows\wrap_mcfg.ps1
32
32
 
33
33
  function lsdla { lsd -la }
34
34
  Set-Alias -Name l -Value lsdla -Option AllScope
@@ -1,16 +1,16 @@
1
1
  #!/bin/bash
2
2
  . <( curl -sSL "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/uv.sh")
3
- . <( curl -sSL "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/scripts/linux/mcfgs")
3
+ . <( curl -sSL "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/scripts/linux/wrap_mcfg")
4
4
 
5
- alias devops='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.99" devops'
6
- alias cloud='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.99" cloud'
7
- alias agents='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.99" agents'
8
- alias sessions='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.99" sessions'
9
- alias ftpx='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.99" ftpx'
10
- alias fire='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.99" fire'
11
- alias croshell='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.99" croshell'
12
- alias utils='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.99" utils'
13
- alias terminal='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.99" terminal'
5
+ alias devops='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.33" devops'
6
+ alias cloud='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.33" cloud'
7
+ alias agents='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.33" agents'
8
+ alias sessions='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.33" sessions'
9
+ alias ftpx='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.33" ftpx'
10
+ alias fire='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.33" fire'
11
+ alias croshell='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.33" croshell'
12
+ alias utils='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.33" utils'
13
+ alias terminal='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.33" terminal'
14
14
 
15
15
  alias d='wrap_in_shell_script devops'
16
16
  alias c='wrap_in_shell_script cloud'
@@ -1,17 +1,17 @@
1
1
 
2
2
 
3
3
  iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/uv.ps1").Content
4
- iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/scripts/windows/mcfgs.ps1").Content
4
+ iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/scripts/windows/wrap_mcfg.ps1").Content
5
5
 
6
- function devops { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.99" devops $args }
7
- function cloud { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.99" cloud $args }
8
- function agents { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.99" agents $args }
9
- function sessions { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.99" sessions $args }
10
- function ftpx { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.99" ftpx $args }
11
- function fire { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.99" fire $args }
12
- function croshell { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.99" croshell $args }
13
- function utils { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.99" utils $args }
14
- function terminal { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.99" terminal $args }
6
+ function devops { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.33" devops $args }
7
+ function cloud { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.33" cloud $args }
8
+ function agents { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.33" agents $args }
9
+ function sessions { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.33" sessions $args }
10
+ function ftpx { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.33" ftpx $args }
11
+ function fire { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.33" fire $args }
12
+ function croshell { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.33" croshell $args }
13
+ function utils { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.33" utils $args }
14
+ function terminal { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.33" terminal $args }
15
15
 
16
16
  function d { wrap_in_shell_script devops @args }
17
17
  function c { wrap_in_shell_script cloud @args }
@@ -0,0 +1,148 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Any, Union, Optional, Mapping
4
+ from pathlib import Path
5
+ import json
6
+ import pickle
7
+ import configparser
8
+
9
+
10
+ PathLike = Union[str, Path]
11
+
12
+
13
+ def _ensure_parent(path: PathLike) -> Path:
14
+ path_obj = Path(path)
15
+ path_obj.parent.mkdir(parents=True, exist_ok=True)
16
+ return path_obj
17
+
18
+
19
+ def save_pickle(obj: Any, path: PathLike, verbose: bool = False) -> Path:
20
+ path_obj = _ensure_parent(path)
21
+ with open(path_obj, "wb") as fh:
22
+ pickle.dump(obj, fh, protocol=pickle.HIGHEST_PROTOCOL)
23
+ if verbose:
24
+ print(f"Saved pickle -> {path_obj}")
25
+ return Path(path_obj)
26
+
27
+
28
+ def save_json(obj: Any, path: PathLike, indent: Optional[int] = None, verbose: bool = False) -> Path:
29
+ path_obj = _ensure_parent(path)
30
+ with open(path_obj, "w", encoding="utf-8") as fh:
31
+ json.dump(obj, fh, indent=indent, ensure_ascii=False)
32
+ fh.write("\n")
33
+ if verbose:
34
+ print(f"Saved json -> {path_obj}")
35
+ return Path(path_obj)
36
+
37
+
38
+ def save_ini(path: PathLike, obj: Mapping[str, Mapping[str, Any]], verbose: bool = False) -> Path:
39
+ cp = configparser.ConfigParser()
40
+ for section, values in obj.items():
41
+ cp[section] = {str(k): str(v) for k, v in values.items()}
42
+ path_obj = _ensure_parent(path)
43
+ with open(path_obj, "w", encoding="utf-8") as fh:
44
+ cp.write(fh)
45
+ if verbose:
46
+ print(f"Saved ini -> {path_obj}")
47
+ return Path(path_obj)
48
+
49
+
50
+ def read_ini(path: "Path", encoding: Optional[str] = None):
51
+ if not Path(path).exists() or Path(path).is_dir():
52
+ raise FileNotFoundError(f"File not found or is a directory: {path}")
53
+ import configparser
54
+ res = configparser.ConfigParser()
55
+ res.read(filenames=[str(path)], encoding=encoding)
56
+ return res
57
+
58
+
59
+ def read_json(path: "Path", r: bool = False, **kwargs: Any) -> Any: # return could be list or dict etc
60
+ import json
61
+ try:
62
+ mydict = json.loads(Path(path).read_text(encoding="utf-8"), **kwargs)
63
+ except Exception:
64
+ import re
65
+ def remove_comments(text: str) -> str:
66
+ # remove all // single-line comments
67
+ text = re.sub(r'//.*', '', text)
68
+ # remove all /* … */ block comments (non-greedy)
69
+ text = re.sub(r'/\*.*?\*/', '', text, flags=re.DOTALL)
70
+ return text
71
+ mydict = json.loads(remove_comments(Path(path).read_text(encoding="utf-8")), **kwargs)
72
+ _ = r
73
+ return mydict
74
+
75
+
76
+ def from_pickle(path: Path) -> Any:
77
+ import pickle
78
+
79
+ return pickle.loads(path.read_bytes())
80
+
81
+
82
+ def pwd2key(password: str, salt: Optional[bytes] = None, iterations: int = 10) -> bytes: # Derive a secret key from a given password and salt"""
83
+ import base64
84
+ if salt is None:
85
+ import hashlib
86
+ m = hashlib.sha256()
87
+ m.update(password.encode(encoding="utf-8"))
88
+ return base64.urlsafe_b64encode(s=m.digest()) # make url-safe bytes required by Ferent.
89
+ from cryptography.hazmat.primitives import hashes
90
+ from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC
91
+ return base64.urlsafe_b64encode(PBKDF2HMAC(algorithm=hashes.SHA256(), length=32, salt=salt, iterations=iterations, backend=None).derive(password.encode()))
92
+
93
+
94
+ def encrypt(msg: bytes, key: Optional[bytes] = None, pwd: Optional[str] = None, salted: bool = True, iteration: Optional[int] = None, gen_key: bool = False) -> bytes:
95
+ import base64
96
+ from cryptography.fernet import Fernet
97
+
98
+ salt, iteration = None, None
99
+ if pwd is not None: # generate it from password
100
+ assert (key is None) and (type(pwd) is str), "❌ You can either pass key or pwd, or none of them, but not both."
101
+ import secrets
102
+ iteration = iteration or secrets.randbelow(exclusive_upper_bound=1_000_000)
103
+ salt = secrets.token_bytes(nbytes=16) if salted else None
104
+ key_resolved = pwd2key(password=pwd, salt=salt, iterations=iteration)
105
+ elif key is None:
106
+ if gen_key:
107
+ key_resolved = Fernet.generate_key()
108
+ Path.home().joinpath("dotfiles/creds/data/encrypted_files_key.bytes").write_bytes(key_resolved)
109
+ else:
110
+ try:
111
+ key_resolved = Path.home().joinpath("dotfiles/creds/data/encrypted_files_key.bytes").read_bytes()
112
+ print(f"⚠️ Using key from: {Path.home().joinpath('dotfiles/creds/data/encrypted_files_key.bytes')}")
113
+ except FileNotFoundError as err:
114
+ print("\n" * 3, "~" * 50, """Consider Loading up your dotfiles or pass `gen_key=True` to make and save one.""", "~" * 50, "\n" * 3)
115
+ raise FileNotFoundError(err) from err
116
+ elif isinstance(key, (str, Path)):
117
+ key_resolved = Path(key).read_bytes() # a path to a key file was passed, read it:
118
+ elif type(key) is bytes:
119
+ key_resolved = key # key passed explicitly
120
+ else:
121
+ raise TypeError("❌ Key must be either a path, bytes object or None.")
122
+ code = Fernet(key=key_resolved).encrypt(msg)
123
+ if pwd is not None and salt is not None and iteration is not None:
124
+ return base64.urlsafe_b64encode(b"%b%b%b" % (salt, iteration.to_bytes(4, "big"), base64.urlsafe_b64decode(code)))
125
+ return code
126
+
127
+
128
+ def decrypt(token: bytes, key: Optional[bytes] = None, pwd: Optional[str] = None, salted: bool = True) -> bytes:
129
+ import base64
130
+ if pwd is not None:
131
+ assert key is None, "❌ You can either pass key or pwd, or none of them, but not both."
132
+ if salted:
133
+ decoded = base64.urlsafe_b64decode(token)
134
+ salt, iterations, token = decoded[:16], decoded[16:20], base64.urlsafe_b64encode(decoded[20:])
135
+ key_resolved = pwd2key(password=pwd, salt=salt, iterations=int.from_bytes(bytes=iterations, byteorder="big"))
136
+ else:
137
+ key_resolved = pwd2key(password=pwd) # trailing `;` prevents IPython from caching the result.
138
+ elif type(key) is bytes:
139
+ assert pwd is None, "❌ You can either pass key or pwd, or none of them, but not both."
140
+ key_resolved = key # passsed explicitly
141
+ elif key is None:
142
+ key_resolved = Path.home().joinpath("dotfiles/creds/data/encrypted_files_key.bytes").read_bytes() # read from file
143
+ elif isinstance(key, (str, Path)):
144
+ key_resolved = Path(key).read_bytes() # passed a path to a file containing kwy
145
+ else:
146
+ raise TypeError(f"❌ Key must be either str, P, Path, bytes or None. Recieved: {type(key)}")
147
+ from cryptography.fernet import Fernet
148
+ return Fernet(key=key_resolved).decrypt(token)