machineconfig 6.81__tar.gz → 6.83__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.
- {machineconfig-6.81/src/machineconfig.egg-info → machineconfig-6.83}/PKG-INFO +1 -1
- {machineconfig-6.81 → machineconfig-6.83}/pyproject.toml +1 -1
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/linux/mcfgs +1 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_devops/cli_config.py +1 -1
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_devops/cli_self.py +3 -3
- machineconfig-6.83/src/machineconfig/scripts/python/helpers_repos/action.py +209 -0
- machineconfig-6.83/src/machineconfig/scripts/python/helpers_repos/action_helper.py +150 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +1 -1
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/nw/mount_nfs +1 -1
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +1 -1
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +1 -1
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/ssh.py +1 -1
- {machineconfig-6.81 → machineconfig-6.83/src/machineconfig.egg-info}/PKG-INFO +1 -1
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig.egg-info/SOURCES.txt +1 -0
- machineconfig-6.81/src/machineconfig/scripts/python/helpers_repos/action.py +0 -378
- {machineconfig-6.81 → machineconfig-6.83}/MANIFEST.in +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/README.md +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/setup.cfg +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/remote/distribute.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/remote/file_manager.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/remote/job_params.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/remote/run_cloud.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/remote/run_cluster.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/remote/run_remote.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/remote/script_execution.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/helpers/enhanced_command_runner.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/helpers/load_balancer_helper.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/utils/load_balancer.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/utils/maker.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/wt_local.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/zellij_local.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_restart.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_with_panes.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_manager_helper.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/templates/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/check_installations.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/custom/boxes.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/custom/gh.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/custom/hx.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/custom_dev/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/custom_dev/alacritty.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/custom_dev/brave.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/custom_dev/bypass_paywall.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/custom_dev/code.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/custom_dev/cursor.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/custom_dev/espanso.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/custom_dev/goes.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/custom_dev/lvim.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/custom_dev/nerdfont.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/custom_dev/redis.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/custom_dev/wezterm.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/custom_dev/winget.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/installer_data.json +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/linux_scripts/brave.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/linux_scripts/docker.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/linux_scripts/docker_start.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/linux_scripts/edge.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/linux_scripts/lid.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/linux_scripts/nerdfont.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/linux_scripts/network.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/linux_scripts/ngrok.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/linux_scripts/q.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/linux_scripts/redis.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/linux_scripts/vscode.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/linux_scripts/warp-cli.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/linux_scripts/wezterm.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/package_groups.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/powershell_scripts/archive_pygraphviz.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/powershell_scripts/openssh-server_add_key.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/jobs/installer/powershell_scripts/openssh-server_copy-ssh-id.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/logger.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/profile/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/profile/backup.toml +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/profile/bash_shell_profiles.md +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/profile/create_helper.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/profile/create_links.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/profile/create_links_export.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/profile/create_shell_profile.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/profile/mapper.toml +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/profile/records/generic/shares.toml +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/Restore-ThunderbirdProfile.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/linux/fzf2g +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/linux/fzfag +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/linux/fzffg +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/linux/fzfg +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/linux/fzfrga +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/linux/other/share_cloud.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/linux/other/share_nfs +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/linux/other/share_smb +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/linux/other/start_docker +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/linux/other/switch_ip +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/linux/skrg +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/linux/warp-cli.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/linux/z_ls +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/agents.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/command_runner/command_runner.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/command_runner/prompt.txt +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/initai.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/solutions/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/solutions/_shared.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/solutions/claude/claude.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/solutions/cline/cline.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/solutions/copilot/privacy.md +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/solutions/crush/crush.json +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/solutions/crush/crush.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/solutions/crush/privacy.md +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/solutions/cursor/cursors.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/solutions/gemini/gemini.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/solutions/gemini/settings.json +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/solutions/generic.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ai/vscode_tasks.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/cloud.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/croshell.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/devops.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/devops_navigator.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/env_manager/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/env_manager/path_manager_backend.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/fire_jobs.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/ftpx.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_cloud/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_cloud/cloud_copy.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_cloud/cloud_helpers.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_cloud/cloud_mount.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_cloud/cloud_sync.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_cloud/helpers2.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_cloud/helpers5.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_croshell/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_croshell/crosh.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_croshell/pomodoro.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_croshell/scheduler.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_croshell/start_slidev.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_croshell/viewer.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_croshell/viewer_template.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_devops/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_devops/cli_data.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_devops/cli_nw.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_devops/cli_repos.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_devops/cli_share_server.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_devops/cli_terminal.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_devops/cli_utils.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_devops/devops_backup_retrieve.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_devops/devops_status.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_devops/devops_update_repos.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_devops/themes/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_devops/themes/choose_pwsh_theme.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_devops/themes/choose_starship_theme.bash +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_devops/themes/choose_starship_theme.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_devops/themes/choose_wezterm_theme.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_fire/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.json +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_cursor_agents.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_gemini.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_qwen.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_fire/fire_agents_help_launch.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_fire/fire_agents_help_search.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_fire/fire_agents_helper_types.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_fire/fire_agents_load_balancer.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_fire/helpers4.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_fire/prompt.txt +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_fire/template.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_fire/template.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_fire_command/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_fire_command/cloud_manager.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_navigator/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_navigator/command_builder.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_navigator/command_detail.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_navigator/command_tree.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_navigator/data_models.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_navigator/main_app.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_navigator/search_bar.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_repos/clone.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_repos/count_lines.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_repos/entrypoint.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_repos/grource.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_repos/record.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_repos/secure_repo.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_repos/sync.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_repos/update.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_sessions/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/helpers_sessions/sessions_multiprocess.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/interactive.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/mcfg.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/nw/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/nw/add_ssh_key.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/nw/devops_add_identity.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/nw/devops_add_ssh_key.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/nw/mount_drive +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/nw/mount_nfs.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/nw/mount_nw_drive +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/nw/mount_nw_drive.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/nw/mount_smb +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/nw/mount_ssh.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/nw/onetimeshare.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/nw/ssh_debug_linux.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/nw/ssh_debug_windows.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/nw/wifi_conn.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/nw/wsl_windows_transfer.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/sessions.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/python/utils.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/windows/mcfgs.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/windows/mounts/mount_nfs.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/windows/mounts/mount_nw.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/windows/mounts/mount_smb.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/windows/mounts/share_cloud.cmd +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/windows/mounts/share_smb.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/broot/br.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/broot/conf.toml +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/glow/glow.yml +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/helix/config.toml +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/helix/languages.toml +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/keras/keras.json +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/linux/colors +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/linux/exe/previewer.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/linux/icons +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/linux/lfrc +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/windows/colors +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/windows/icons +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/windows/lfrc +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/linters/.flake8 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/linters/.mypy.ini +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/linters/.pylintrc +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/linters/.ruff.toml +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/marimo/marimo.toml +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/mprocs/windows/other +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/pistol/pistol.conf +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/presenterm/config.yaml +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/procs/.procs.toml +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/rofi/config.rasi +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/shells/bash/init.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/shells/pwsh/init.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/shells/wt/settings.json +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/shells/zsh/init.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/streamlit/config.toml +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/svim/linux/init.toml +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/svim/windows/init.toml +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/tere/terecd.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/wsl/.wslconfig +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/yazi/keymap.toml +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/yazi/theme.toml +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/yazi/yazi.toml +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/zed/settings.json +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/zellij/commands/monitor +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/zellij/config.kdl +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/zellij/layouts/hist +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_linux/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_linux/apps.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_linux/apps_desktop.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_linux/apps_gui.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_linux/others/android.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_linux/others/cli_installation.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_linux/ssh/openssh_all.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_linux/ssh/openssh_wsl.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_linux/uv.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_mac/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_mac/apps.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_mac/ssh/openssh_setup.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_mac/uv.sh +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_windows/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_windows/apps.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_windows/others/power_options.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_windows/ssh/add-sshkey.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_windows/ssh/add_identity.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_windows/ssh/openssh-server.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_windows/uv.ps1 +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/accessories.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/ai/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/cloud/onedrive/README.md +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/code.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/files/art/fat_croco.txt +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/files/art/halfwit_croco.txt +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/files/art/happy_croco.txt +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/files/art/water_croco.txt +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/files/ascii_art.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/files/dbms.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/files/headers.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/files/ouch/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/files/ouch/decompress.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/files/read.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/installer.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/installer_utils/__init__.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/installer_utils/github_release_bulk.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/installer_utils/installer.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/installer_utils/installer_abc.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/installer_utils/installer_class.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/io.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/links.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/meta.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/notifications.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/options.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/path_extended.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/path_helper.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/procs.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/scheduler.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/scheduling.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/schemas/installer/installer_types.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/schemas/layouts/layout_types.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/source_of_truth.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/ssh_utils/utils.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/terminal.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/tst.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/upgrade_packages.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/utils/ve.py +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig.egg-info/dependency_links.txt +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig.egg-info/entry_points.txt +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig.egg-info/requires.txt +0 -0
- {machineconfig-6.81 → machineconfig-6.83}/src/machineconfig.egg-info/top_level.txt +0 -0
|
@@ -46,7 +46,7 @@ def path():
|
|
|
46
46
|
uv_with = ["textual"]
|
|
47
47
|
uv_project_dir = None
|
|
48
48
|
if not Path.home().joinpath("code/machineconfig").exists():
|
|
49
|
-
uv_with.append("machineconfig>=6.
|
|
49
|
+
uv_with.append("machineconfig>=6.83")
|
|
50
50
|
else:
|
|
51
51
|
uv_project_dir = str(Path.home().joinpath("code/machineconfig"))
|
|
52
52
|
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])
|
|
@@ -41,9 +41,9 @@ def install(no_copy_assets: Annotated[bool, typer.Option("--no-assets-copy", "-n
|
|
|
41
41
|
else:
|
|
42
42
|
import platform
|
|
43
43
|
if platform.system() == "Windows":
|
|
44
|
-
run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=6.
|
|
44
|
+
run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=6.83" """)
|
|
45
45
|
else:
|
|
46
|
-
run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=6.
|
|
46
|
+
run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=6.83" """)
|
|
47
47
|
from machineconfig.profile.create_shell_profile import create_default_shell_profile
|
|
48
48
|
if not no_copy_assets:
|
|
49
49
|
create_default_shell_profile() # involves copying assets too
|
|
@@ -68,7 +68,7 @@ def navigate():
|
|
|
68
68
|
path = Path(navigator.__file__).resolve().parent.joinpath("devops_navigator.py")
|
|
69
69
|
from machineconfig.utils.code import run_shell_script
|
|
70
70
|
if Path.home().joinpath("code/machineconfig").exists(): executable = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with textual"""
|
|
71
|
-
else: executable = """--with "machineconfig>=6.
|
|
71
|
+
else: executable = """--with "machineconfig>=6.83,textual" """
|
|
72
72
|
run_shell_script(f"""uv run {executable} {path}""")
|
|
73
73
|
|
|
74
74
|
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
from machineconfig.scripts.python.helpers_repos.action_helper import GitAction, GitOperationResult, GitOperationSummary, print_git_operations_summary
|
|
2
|
+
from machineconfig.utils.path_extended import PathExtended
|
|
3
|
+
from machineconfig.utils.accessories import randstr
|
|
4
|
+
from machineconfig.scripts.python.helpers_repos.update import update_repository
|
|
5
|
+
|
|
6
|
+
from typing import Optional, Dict, Any, List, cast
|
|
7
|
+
import concurrent.futures
|
|
8
|
+
import os
|
|
9
|
+
|
|
10
|
+
from rich import print as pprint
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def git_action(path: PathExtended, action: GitAction, mess: Optional[str], r: bool, auto_uv_sync: bool) -> GitOperationResult:
|
|
14
|
+
"""Perform git actions using Python instead of shell scripts. Returns detailed operation result."""
|
|
15
|
+
from git.exc import InvalidGitRepositoryError
|
|
16
|
+
from git.repo import Repo
|
|
17
|
+
|
|
18
|
+
try:
|
|
19
|
+
repo = Repo(str(path), search_parent_directories=False)
|
|
20
|
+
except InvalidGitRepositoryError:
|
|
21
|
+
pprint(f"⚠️ Skipping {path} because it is not a git repository.")
|
|
22
|
+
if r:
|
|
23
|
+
results = [git_action(path=sub_path, action=action, mess=mess, r=r, auto_uv_sync=auto_uv_sync) for sub_path in path.search()]
|
|
24
|
+
# For recursive calls, we need to aggregate results somehow
|
|
25
|
+
# For now, return success if all recursive operations succeeded
|
|
26
|
+
all_successful = all(result.success for result in results)
|
|
27
|
+
return GitOperationResult(
|
|
28
|
+
repo_path=path,
|
|
29
|
+
action=action.value,
|
|
30
|
+
success=all_successful,
|
|
31
|
+
message=f"Recursive operation: {len([r for r in results if r.success])}/{len(results)} succeeded",
|
|
32
|
+
is_git_repo=False,
|
|
33
|
+
)
|
|
34
|
+
else:
|
|
35
|
+
return GitOperationResult(repo_path=path, action=action.value, success=False, message="Not a git repository", is_git_repo=False)
|
|
36
|
+
|
|
37
|
+
print(f">>>>>>>>> 🔧{action} - {path}")
|
|
38
|
+
remote_count = len(repo.remotes)
|
|
39
|
+
|
|
40
|
+
try:
|
|
41
|
+
if action == GitAction.commit:
|
|
42
|
+
if mess is None:
|
|
43
|
+
mess = "auto_commit_" + randstr()
|
|
44
|
+
|
|
45
|
+
# Check if there are changes to commit
|
|
46
|
+
if repo.is_dirty() or repo.untracked_files:
|
|
47
|
+
repo.git.add(A=True) # Stage all changes
|
|
48
|
+
repo.index.commit(mess)
|
|
49
|
+
print(f"✅ Committed changes with message: {mess}")
|
|
50
|
+
return GitOperationResult(
|
|
51
|
+
repo_path=path,
|
|
52
|
+
action=action.value,
|
|
53
|
+
success=True,
|
|
54
|
+
message=f"Committed changes with message: {mess}",
|
|
55
|
+
had_changes=True,
|
|
56
|
+
remote_count=remote_count,
|
|
57
|
+
)
|
|
58
|
+
else:
|
|
59
|
+
print("ℹ️ No changes to commit")
|
|
60
|
+
return GitOperationResult(
|
|
61
|
+
repo_path=path, action=action.value, success=True, message="No changes to commit", had_changes=False, remote_count=remote_count
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
elif action == GitAction.push:
|
|
65
|
+
if not repo.remotes:
|
|
66
|
+
print("⚠️ No remotes configured for push")
|
|
67
|
+
return GitOperationResult(repo_path=path, action=action.value, success=False, message="No remotes configured", remote_count=0)
|
|
68
|
+
|
|
69
|
+
success = True
|
|
70
|
+
failed_remotes = []
|
|
71
|
+
for remote in repo.remotes:
|
|
72
|
+
try:
|
|
73
|
+
print(f"🚀 Pushing to {remote.url}")
|
|
74
|
+
remote.push(repo.active_branch.name)
|
|
75
|
+
print(f"✅ Pushed to {remote.name}")
|
|
76
|
+
except Exception as e:
|
|
77
|
+
print(f"❌ Failed to push to {remote.name}: {e}")
|
|
78
|
+
failed_remotes.append(f"{remote.name}: {str(e)}")
|
|
79
|
+
success = False
|
|
80
|
+
|
|
81
|
+
message = "Push successful" if success else f"Push failed for: {', '.join(failed_remotes)}"
|
|
82
|
+
return GitOperationResult(repo_path=path, action=action.value, success=success, message=message, remote_count=remote_count)
|
|
83
|
+
|
|
84
|
+
elif action == GitAction.pull:
|
|
85
|
+
# Use the enhanced update function with uv sync support
|
|
86
|
+
try:
|
|
87
|
+
update_repository(repo, auto_uv_sync=auto_uv_sync, allow_password_prompt=False)
|
|
88
|
+
print("✅ Pull completed")
|
|
89
|
+
return GitOperationResult(
|
|
90
|
+
repo_path=path, action=action.value, success=True, message="Pull completed successfully", remote_count=remote_count
|
|
91
|
+
)
|
|
92
|
+
except Exception as e:
|
|
93
|
+
print(f"❌ Pull failed: {e}")
|
|
94
|
+
return GitOperationResult(
|
|
95
|
+
repo_path=path, action=action.value, success=False, message=f"Pull failed: {str(e)}", remote_count=remote_count
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
except Exception as e:
|
|
99
|
+
print(f"❌ Error performing {action} on {path}: {e}")
|
|
100
|
+
return GitOperationResult(repo_path=path, action=action.value, success=False, message=f"Error: {str(e)}", remote_count=remote_count)
|
|
101
|
+
|
|
102
|
+
# This should never be reached, but just in case
|
|
103
|
+
return GitOperationResult(repo_path=path, action=action.value, success=False, message="Unknown error", remote_count=remote_count)
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
def perform_git_operations(repos_root: PathExtended, pull: bool, commit: bool, push: bool, recursive: bool, auto_uv_sync: bool) -> None:
|
|
107
|
+
"""Perform git operations on all repositories and provide detailed summary."""
|
|
108
|
+
print(f"\n🔄 Performing Git actions on repositories @ `{repos_root}`...")
|
|
109
|
+
summary = GitOperationSummary()
|
|
110
|
+
# Keep track of which operations we are performing
|
|
111
|
+
operations_performed: List[str] = []
|
|
112
|
+
if pull:
|
|
113
|
+
operations_performed.append("pull")
|
|
114
|
+
if commit:
|
|
115
|
+
operations_performed.append("commit")
|
|
116
|
+
if push:
|
|
117
|
+
operations_performed.append("push")
|
|
118
|
+
|
|
119
|
+
# Collect all candidate paths first
|
|
120
|
+
paths = list(repos_root.search("*"))
|
|
121
|
+
|
|
122
|
+
def _process_path(a_path: PathExtended) -> Dict[str, Any]:
|
|
123
|
+
"""Worker that processes a single path and returns metadata and results."""
|
|
124
|
+
from git.exc import InvalidGitRepositoryError
|
|
125
|
+
from git.repo import Repo
|
|
126
|
+
|
|
127
|
+
result_payload: Dict[str, Any] = {"path": a_path, "is_git": False, "results": [], "repo_remotes_count": 0}
|
|
128
|
+
print(f"{('Handling ' + str(a_path)).center(80, '-')}")
|
|
129
|
+
|
|
130
|
+
try:
|
|
131
|
+
repo = Repo(str(a_path), search_parent_directories=False)
|
|
132
|
+
except InvalidGitRepositoryError:
|
|
133
|
+
result_payload["non_git"] = True
|
|
134
|
+
pprint(f"⚠️ Skipping {a_path} because it is not a git repository.")
|
|
135
|
+
return result_payload
|
|
136
|
+
|
|
137
|
+
# It's a git repo
|
|
138
|
+
result_payload["is_git"] = True
|
|
139
|
+
result_payload["repo_remotes_count"] = len(repo.remotes)
|
|
140
|
+
|
|
141
|
+
# Perform configured operations sequentially for this repo (the repo-level work is done concurrently between repos)
|
|
142
|
+
try:
|
|
143
|
+
if pull:
|
|
144
|
+
r = git_action(path=a_path, action=GitAction.pull, mess=None, r=recursive, auto_uv_sync=auto_uv_sync)
|
|
145
|
+
result_payload["results"].append(r)
|
|
146
|
+
if commit:
|
|
147
|
+
r = git_action(path=a_path, action=GitAction.commit, mess=None, r=recursive, auto_uv_sync=auto_uv_sync)
|
|
148
|
+
result_payload["results"].append(r)
|
|
149
|
+
if push:
|
|
150
|
+
r = git_action(path=a_path, action=GitAction.push, mess=None, r=recursive, auto_uv_sync=auto_uv_sync)
|
|
151
|
+
result_payload["results"].append(r)
|
|
152
|
+
except Exception as e:
|
|
153
|
+
# Capture any unexpected exception for this path
|
|
154
|
+
pprint(f"❌ Error processing {a_path}: {e}")
|
|
155
|
+
|
|
156
|
+
return result_payload
|
|
157
|
+
|
|
158
|
+
# Choose a reasonable number of workers
|
|
159
|
+
max_workers = min(32, (os.cpu_count() or 1) * 5, len(paths) or 1)
|
|
160
|
+
|
|
161
|
+
# Run the workers in parallel and aggregate results
|
|
162
|
+
with concurrent.futures.ThreadPoolExecutor(max_workers=max_workers) as exc:
|
|
163
|
+
future_to_path = {exc.submit(_process_path, p): p for p in paths}
|
|
164
|
+
for fut in concurrent.futures.as_completed(future_to_path):
|
|
165
|
+
payload = fut.result()
|
|
166
|
+
a_path = cast(PathExtended, payload.get("path"))
|
|
167
|
+
summary.total_paths_processed += 1
|
|
168
|
+
|
|
169
|
+
if not payload.get("is_git"):
|
|
170
|
+
summary.non_git_paths += 1
|
|
171
|
+
continue
|
|
172
|
+
|
|
173
|
+
# git repo found
|
|
174
|
+
summary.git_repos_found += 1
|
|
175
|
+
if payload.get("repo_remotes_count", 0) == 0:
|
|
176
|
+
summary.repos_without_remotes.append(a_path)
|
|
177
|
+
|
|
178
|
+
for r in payload.get("results", []):
|
|
179
|
+
action_name = r.action if hasattr(r, "action") else ""
|
|
180
|
+
# Pull
|
|
181
|
+
if action_name == "pull":
|
|
182
|
+
summary.pulls_attempted += 1
|
|
183
|
+
if r.success:
|
|
184
|
+
summary.pulls_successful += 1
|
|
185
|
+
else:
|
|
186
|
+
summary.pulls_failed += 1
|
|
187
|
+
summary.failed_operations.append(r)
|
|
188
|
+
# Commit
|
|
189
|
+
elif action_name == "commit":
|
|
190
|
+
summary.commits_attempted += 1
|
|
191
|
+
if r.success:
|
|
192
|
+
if getattr(r, "had_changes", False):
|
|
193
|
+
summary.commits_successful += 1
|
|
194
|
+
else:
|
|
195
|
+
summary.commits_no_changes += 1
|
|
196
|
+
else:
|
|
197
|
+
summary.commits_failed += 1
|
|
198
|
+
summary.failed_operations.append(r)
|
|
199
|
+
# Push
|
|
200
|
+
elif action_name == "push":
|
|
201
|
+
summary.pushes_attempted += 1
|
|
202
|
+
if r.success:
|
|
203
|
+
summary.pushes_successful += 1
|
|
204
|
+
else:
|
|
205
|
+
summary.pushes_failed += 1
|
|
206
|
+
summary.failed_operations.append(r)
|
|
207
|
+
|
|
208
|
+
# Print the detailed summary
|
|
209
|
+
print_git_operations_summary(summary, operations_performed)
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
from enum import Enum
|
|
2
|
+
from machineconfig.utils.path_extended import PathExtended
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
from dataclasses import dataclass
|
|
6
|
+
|
|
7
|
+
from rich.columns import Columns
|
|
8
|
+
from rich.panel import Panel
|
|
9
|
+
from rich.table import Table
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@dataclass
|
|
13
|
+
class GitOperationResult:
|
|
14
|
+
"""Result of a git operation on a single repository."""
|
|
15
|
+
repo_path: PathExtended
|
|
16
|
+
action: str
|
|
17
|
+
success: bool
|
|
18
|
+
message: str
|
|
19
|
+
is_git_repo: bool = True
|
|
20
|
+
had_changes: bool = False
|
|
21
|
+
remote_count: int = 0
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class GitAction(Enum):
|
|
25
|
+
commit = "commit"
|
|
26
|
+
push = "push"
|
|
27
|
+
pull = "pull"
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
@dataclass
|
|
31
|
+
class GitOperationSummary:
|
|
32
|
+
"""Summary of all git operations performed."""
|
|
33
|
+
|
|
34
|
+
# Basic statistics
|
|
35
|
+
total_paths_processed: int = 0
|
|
36
|
+
git_repos_found: int = 0
|
|
37
|
+
non_git_paths: int = 0
|
|
38
|
+
|
|
39
|
+
# Per-operation statistics
|
|
40
|
+
commits_attempted: int = 0
|
|
41
|
+
commits_successful: int = 0
|
|
42
|
+
commits_no_changes: int = 0
|
|
43
|
+
commits_failed: int = 0
|
|
44
|
+
|
|
45
|
+
pulls_attempted: int = 0
|
|
46
|
+
pulls_successful: int = 0
|
|
47
|
+
pulls_failed: int = 0
|
|
48
|
+
|
|
49
|
+
pushes_attempted: int = 0
|
|
50
|
+
pushes_successful: int = 0
|
|
51
|
+
pushes_failed: int = 0
|
|
52
|
+
|
|
53
|
+
def __post_init__(self):
|
|
54
|
+
self.failed_operations: list[GitOperationResult] = []
|
|
55
|
+
self.repos_without_remotes: list[PathExtended] = []
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def print_git_operations_summary(summary: GitOperationSummary, operations_performed: list[str]) -> None:
|
|
59
|
+
"""Print a detailed summary of git operations with rich formatting and tables."""
|
|
60
|
+
from rich.console import Console
|
|
61
|
+
|
|
62
|
+
console = Console()
|
|
63
|
+
|
|
64
|
+
# Main summary panel
|
|
65
|
+
summary_stats = [
|
|
66
|
+
f"Total paths processed: {summary.total_paths_processed}",
|
|
67
|
+
f"Git repositories found: {summary.git_repos_found}",
|
|
68
|
+
f"Non-git paths skipped: {summary.non_git_paths}",
|
|
69
|
+
]
|
|
70
|
+
|
|
71
|
+
console.print(Panel.fit("\n".join(summary_stats), title="[bold blue]📊 Git Operations Summary[/bold blue]", border_style="blue"))
|
|
72
|
+
|
|
73
|
+
# Statistics panels in columns
|
|
74
|
+
stat_panels = []
|
|
75
|
+
|
|
76
|
+
if "commit" in operations_performed:
|
|
77
|
+
commit_stats = [
|
|
78
|
+
f"Attempted: {summary.commits_attempted}",
|
|
79
|
+
f"Successful: {summary.commits_successful}",
|
|
80
|
+
f"No changes: {summary.commits_no_changes}",
|
|
81
|
+
f"Failed: {summary.commits_failed}",
|
|
82
|
+
]
|
|
83
|
+
stat_panels.append(Panel.fit("\n".join(commit_stats), title="[bold green]💾 Commit Operations[/bold green]", border_style="green"))
|
|
84
|
+
|
|
85
|
+
if "pull" in operations_performed:
|
|
86
|
+
pull_stats = [f"Attempted: {summary.pulls_attempted}", f"Successful: {summary.pulls_successful}", f"Failed: {summary.pulls_failed}"]
|
|
87
|
+
stat_panels.append(Panel.fit("\n".join(pull_stats), title="[bold cyan]⬇️ Pull Operations[/bold cyan]", border_style="cyan"))
|
|
88
|
+
|
|
89
|
+
if "push" in operations_performed:
|
|
90
|
+
push_stats = [f"Attempted: {summary.pushes_attempted}", f"Successful: {summary.pushes_successful}", f"Failed: {summary.pushes_failed}"]
|
|
91
|
+
stat_panels.append(Panel.fit("\n".join(push_stats), title="[bold magenta]🚀 Push Operations[/bold magenta]", border_style="magenta"))
|
|
92
|
+
|
|
93
|
+
if stat_panels:
|
|
94
|
+
console.print(Columns(stat_panels, equal=True, expand=True))
|
|
95
|
+
|
|
96
|
+
# Repositories without remotes warning
|
|
97
|
+
if summary.repos_without_remotes:
|
|
98
|
+
repos_table = Table(title="[bold yellow]⚠️ Repositories Without Remotes[/bold yellow]")
|
|
99
|
+
repos_table.add_column("Repository Name", style="cyan", no_wrap=True)
|
|
100
|
+
repos_table.add_column("Full Path", style="dim")
|
|
101
|
+
|
|
102
|
+
for repo_path in summary.repos_without_remotes:
|
|
103
|
+
repos_table.add_row(repo_path.name, str(repo_path))
|
|
104
|
+
|
|
105
|
+
console.print(repos_table)
|
|
106
|
+
console.print("[yellow]These repositories cannot be pushed to remote servers.[/yellow]")
|
|
107
|
+
elif "push" in operations_performed:
|
|
108
|
+
console.print("[green]✅ All repositories have remote configurations.[/green]")
|
|
109
|
+
|
|
110
|
+
# Failed operations table
|
|
111
|
+
if summary.failed_operations:
|
|
112
|
+
failed_table = Table(title=f"[bold red]❌ Failed Operations ({len(summary.failed_operations)} total)[/bold red]")
|
|
113
|
+
failed_table.add_column("Action", style="bold red", no_wrap=True)
|
|
114
|
+
failed_table.add_column("Repository", style="cyan", no_wrap=True)
|
|
115
|
+
failed_table.add_column("Problem", style="red")
|
|
116
|
+
|
|
117
|
+
# Group failed operations by type for better organization
|
|
118
|
+
failed_by_action = {}
|
|
119
|
+
for failed_op in summary.failed_operations:
|
|
120
|
+
if failed_op.action not in failed_by_action:
|
|
121
|
+
failed_by_action[failed_op.action] = []
|
|
122
|
+
failed_by_action[failed_op.action].append(failed_op)
|
|
123
|
+
|
|
124
|
+
for action, failures in failed_by_action.items():
|
|
125
|
+
for failure in failures:
|
|
126
|
+
repo_name = failure.repo_path.name if failure.is_git_repo else f"{failure.repo_path.name} (not git repo)"
|
|
127
|
+
problem = failure.message if failure.is_git_repo else "Not a git repository"
|
|
128
|
+
failed_table.add_row(action.upper(), repo_name, problem)
|
|
129
|
+
|
|
130
|
+
console.print(failed_table)
|
|
131
|
+
else:
|
|
132
|
+
console.print("[green]✅ All git operations completed successfully![/green]")
|
|
133
|
+
|
|
134
|
+
# Overall success assessment
|
|
135
|
+
total_failed = len(summary.failed_operations)
|
|
136
|
+
total_operations = summary.commits_attempted + summary.pulls_attempted + summary.pushes_attempted
|
|
137
|
+
|
|
138
|
+
if total_failed == 0 and total_operations > 0:
|
|
139
|
+
console.print(f"\n[bold green]🎉 SUCCESS: All {total_operations} operations completed successfully![/bold green]")
|
|
140
|
+
elif total_operations == 0:
|
|
141
|
+
console.print("\n[blue]📝 No git operations were performed.[/blue]")
|
|
142
|
+
else:
|
|
143
|
+
success_rate = ((total_operations - total_failed) / total_operations * 100) if total_operations > 0 else 0
|
|
144
|
+
if total_failed > 0:
|
|
145
|
+
console.print(
|
|
146
|
+
f"\n[bold yellow]⚖️ SUMMARY: {total_operations - total_failed}/{total_operations} operations succeeded ({success_rate:.1f}% success rate)[/bold yellow]"
|
|
147
|
+
)
|
|
148
|
+
console.print("[yellow]Review the failed operations table above for details on what needs attention.[/yellow]")
|
|
149
|
+
else:
|
|
150
|
+
console.print(f"\n[bold green]⚖️ SUMMARY: {total_operations}/{total_operations} operations succeeded (100% success rate)[/bold green]")
|
|
@@ -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.
|
|
8
|
+
uv run --python 3.14 --with "machineconfig>=6.83" 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."
|
{machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/scripts/windows/mounts/mount_ssh.ps1
RENAMED
|
@@ -7,7 +7,7 @@ $user = ''
|
|
|
7
7
|
$sharePath = ''
|
|
8
8
|
$driveLetter = ''
|
|
9
9
|
|
|
10
|
-
uv run --python 3.14 --with "machineconfig>=6.
|
|
10
|
+
uv run --python 3.14 --with "machineconfig>=6.83" 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
|
{machineconfig-6.81 → machineconfig-6.83}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh
RENAMED
|
@@ -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.
|
|
4
|
+
"$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=6.83" mcfg "$@"
|
|
5
5
|
}
|
|
6
6
|
alias d="mcfg devops"
|
|
7
7
|
alias c="mcfg cloud"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/uv.ps1").Content
|
|
4
4
|
function mcfg {
|
|
5
|
-
& "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=6.
|
|
5
|
+
& "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=6.83" mcfg $args
|
|
6
6
|
}
|
|
7
7
|
function d { mcfg devops @args }
|
|
8
8
|
function c { mcfg cloud @args }
|
|
@@ -8,7 +8,7 @@ from machineconfig.utils.terminal import Response
|
|
|
8
8
|
from machineconfig.utils.accessories import pprint, randstr
|
|
9
9
|
from machineconfig.utils.meta import lambda_to_python_script
|
|
10
10
|
UV_RUN_CMD = "$HOME/.local/bin/uv run" if platform.system() != "Windows" else """& "$env:USERPROFILE/.local/bin/uv" run"""
|
|
11
|
-
MACHINECONFIG_VERSION = "machineconfig>=6.
|
|
11
|
+
MACHINECONFIG_VERSION = "machineconfig>=6.83"
|
|
12
12
|
DEFAULT_PICKLE_SUBDIR = "tmp_results/tmp_scripts/ssh"
|
|
13
13
|
|
|
14
14
|
class SSH:
|
|
@@ -229,6 +229,7 @@ src/machineconfig/scripts/python/helpers_navigator/data_models.py
|
|
|
229
229
|
src/machineconfig/scripts/python/helpers_navigator/main_app.py
|
|
230
230
|
src/machineconfig/scripts/python/helpers_navigator/search_bar.py
|
|
231
231
|
src/machineconfig/scripts/python/helpers_repos/action.py
|
|
232
|
+
src/machineconfig/scripts/python/helpers_repos/action_helper.py
|
|
232
233
|
src/machineconfig/scripts/python/helpers_repos/clone.py
|
|
233
234
|
src/machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py
|
|
234
235
|
src/machineconfig/scripts/python/helpers_repos/count_lines.py
|