machineconfig 5.0__tar.gz → 5.12__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-5.0/src/machineconfig.egg-info → machineconfig-5.12}/PKG-INFO +21 -1
- {machineconfig-5.0 → machineconfig-5.12}/README.md +20 -0
- {machineconfig-5.0 → machineconfig-5.12}/pyproject.toml +1 -2
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/count_lines.py +1 -0
- machineconfig-5.12/src/machineconfig/scripts/python/count_lines_frontend.py +16 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/devops.py +1 -2
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/interactive.py +1 -1
- machineconfig-5.12/src/machineconfig/scripts/python/repos.py +132 -0
- machineconfig-5.12/src/machineconfig/scripts/python/repos_helper.py +85 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/repos_helper_action.py +93 -50
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/repos_helper_record.py +3 -1
- {machineconfig-5.0 → machineconfig-5.12/src/machineconfig.egg-info}/PKG-INFO +21 -1
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig.egg-info/SOURCES.txt +1 -2
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig.egg-info/entry_points.txt +0 -1
- machineconfig-5.0/src/machineconfig/scripts/linux/repos +0 -2
- machineconfig-5.0/src/machineconfig/scripts/python/count_lines_frontend.py +0 -12
- machineconfig-5.0/src/machineconfig/scripts/python/repos.py +0 -100
- machineconfig-5.0/src/machineconfig/scripts/windows/repos.ps1 +0 -1
- {machineconfig-5.0 → machineconfig-5.12}/MANIFEST.in +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/setup.cfg +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/__init__.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/__init__.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/remote/distribute.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/remote/file_manager.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/remote/job_params.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/remote/run_cloud.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/remote/run_cluster.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/remote/run_remote.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/remote/script_execution.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/sessions_managers/ffile.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/sessions_managers/utils/enhanced_command_runner.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/sessions_managers/utils/load_balancer.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/sessions_managers/utils/load_balancer_helper.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/sessions_managers/wt_local.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/sessions_managers/zellij_local.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/templates/__init__.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/__init__.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/__init__.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/custom/gh.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/custom/hx.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/custom_dev/__init__.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/custom_dev/alacritty.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/custom_dev/brave.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/custom_dev/bypass_paywall.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/custom_dev/code.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/custom_dev/cursor.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/custom_dev/espanso.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/custom_dev/goes.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/custom_dev/lvim.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/custom_dev/nerdfont.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/custom_dev/redis.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/custom_dev/wezterm.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/custom_dev/winget.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/installer_data.json +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/linux_scripts/brave.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/linux_scripts/docker.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/linux_scripts/docker_start.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/linux_scripts/edge.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/linux_scripts/nerdfont.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/linux_scripts/ngrok.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/linux_scripts/q.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/linux_scripts/redis.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/linux_scripts/vscode.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/linux_scripts/warp-cli.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/linux_scripts/wezterm.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/package_groups.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/linux/msc/cli_agents.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/linux/msc/lid.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/linux/msc/network.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/python/__init__.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/python/check_installations.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/python/create_bootable_media.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/python/python_cargo_build_share.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/python/python_ve_symlink.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/python/tasks.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/python/vscode/api.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/python/vscode/sync_code.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/windows/archive/openssh-server_add_key.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/windows/archive/openssh-server_copy-ssh-id.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/windows/msc/cli_agents.bat +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/windows/msc/cli_agents.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/windows/start_terminal.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/jobs/windows/startup_file.cmd +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/logger.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/profile/__init__.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/profile/create.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/profile/records/generic/shares.toml +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/profile/shell.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/__init__.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/cloud/init.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/agents +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/choose_wezterm_theme +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/cloud_copy +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/cloud_mount +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/cloud_repo_sync +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/cloud_sync +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/croshell +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/devops +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/fire +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/ftpx +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/fzf2g +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/fzfag +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/fzffg +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/fzfg +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/fzfrga +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/gh_models +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/initai +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/kill_process +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/mount_drive +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/mount_nfs +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/mount_nw_drive +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/mount_smb +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/scheduler +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/sessions +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/share_cloud.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/share_nfs +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/share_smb +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/skrg +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/start_docker +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/start_slidev +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/start_terminals +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/switch_ip +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/warp-cli.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/wifi_conn +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/linux/z_ls +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/__init__.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/agents.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/initai.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/solutions/__init__.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/solutions/_shared.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/solutions/claude/claude.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/solutions/cline/cline.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/solutions/copilot/privacy.md +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/allLintersAndTypeCheckers.prompt.md +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/solutions/crush/crush.json +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/solutions/crush/crush.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/solutions/crush/privacy.md +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/solutions/cursor/cursors.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/solutions/gemini/gemini.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/solutions/gemini/settings.json +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/solutions/generic.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/choose_wezterm_theme.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/cloud_copy.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/cloud_manager.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/cloud_mount.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/cloud_repo_sync.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/cloud_sync.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/croshell.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/devops_add_identity.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/devops_add_ssh_key.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/devops_backup_retrieve.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/devops_update_repos.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/dotfile.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/fire_agents_help_launch.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/fire_agents_help_search.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/fire_agents_helper_types.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/fire_agents_load_balancer.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/fire_jobs.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/fire_jobs_args_helper.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/fire_jobs_route_helper.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/fire_jobs_streamlit_helper.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/ftpx.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/get_zellij_cmd.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/gh_models.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/helpers/__init__.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/helpers/cloud_helpers.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/helpers/helpers2.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/helpers/helpers4.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/helpers/helpers5.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/helpers/repo_sync_helpers.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/mount_nfs.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/mount_nw_drive.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/mount_ssh.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/onetimeshare.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/pomodoro.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/repos_helper_clone.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/repos_helper_update.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/scheduler.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/sessions.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/share_terminal.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/snapshot.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/start_slidev.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/start_terminals.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/t4.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/viewer.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/viewer_template.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/wifi_conn.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/wsl_windows_transfer.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/agents.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/choose_wezterm_theme.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/cloud_copy.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/cloud_mount.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/cloud_repo_sync.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/cloud_sync.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/croshell.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/devops.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/dotfile.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/fire.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/ftpx.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/gpt.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/grep.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/initai.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/kill_process.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/mount_nfs.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/mount_nw.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/mount_smb.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/mount_ssh.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/nano.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/pomodoro.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/reload_path.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/scheduler.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/sessions.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/share_cloud.cmd +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/share_nfs.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/share_smb.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/snapshot.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/start_slidev.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/start_terminals.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/unlock_bitlocker.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/wifi_conn.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/wsl_rdp_windows_port_forwarding.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/windows/wsl_ssh_windows_port_forwarding.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/__init__.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/broot/br.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/broot/conf.toml +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/glow/glow.yml +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/helix/config.toml +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/helix/languages.toml +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/keras/keras.json +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/linux/colors +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/linux/exe/previewer.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/linux/icons +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/linux/lfrc +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/windows/colors +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/windows/icons +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/windows/lfrc +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/linters/.flake8 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/linters/.mypy.ini +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/linters/.pylintrc +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/linters/.ruff.toml +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/mprocs/windows/other +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/pistol/pistol.conf +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/presenterm/config.yaml +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/procs/.procs.toml +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/rofi/config.rasi +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/shells/bash/init.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/shells/pwsh/init.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/shells/wt/settings.json +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/streamlit/config.toml +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/svim/linux/init.toml +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/svim/windows/init.toml +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/tere/terecd.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/wsl/.wslconfig +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/yazi/keymap.toml +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/yazi/theme.toml +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/yazi/yazi.toml +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/zed/settings.json +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/zellij/commands/monitor +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/zellij/config.kdl +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/zellij/layouts/hist +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/setup_linux/__init__.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/setup_linux/nix/cli_installation.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/setup_linux/others/openssh-server_add_pub_key.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/setup_linux/web_shortcuts/android.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/setup_linux/web_shortcuts/croshell.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/setup_linux/web_shortcuts/ssh.sh +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/setup_windows/__init__.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/setup_windows/web_shortcuts/all.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/setup_windows/web_shortcuts/ascii_art.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/setup_windows/web_shortcuts/croshell.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/setup_windows/web_shortcuts/ssh.ps1 +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/__init__.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/accessories.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/ai/__init__.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/ai/generate_file_checklist.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/code.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/installer.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/installer_utils/__init__.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/installer_utils/github_release_bulk.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/installer_utils/installer.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/installer_utils/installer_abc.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/installer_utils/installer_class.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/io.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/links.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/notifications.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/options.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/path_extended.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/path_helper.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/procs.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/scheduler.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/scheduling.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/schemas/installer/installer_types.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/schemas/layouts/layout_types.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/source_of_truth.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/ssh.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/terminal.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/upgrade_packages.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/utils/ve.py +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig.egg-info/dependency_links.txt +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig.egg-info/requires.txt +0 -0
- {machineconfig-5.0 → machineconfig-5.12}/src/machineconfig.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: machineconfig
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.12
|
|
4
4
|
Summary: Dotfiles management package
|
|
5
5
|
Author-email: Alex Al-Saffar <programmer@usa.com>
|
|
6
6
|
License: Apache 2.0
|
|
@@ -161,6 +161,26 @@ curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/ma
|
|
|
161
161
|
short `curl bit.ly/cfgcroshelllinux -L | bash`
|
|
162
162
|
|
|
163
163
|
|
|
164
|
+
## Repository management CLI
|
|
165
|
+
|
|
166
|
+
The DevOps CLI now exposes rich subcommands for working with git repositories. Run `python -m machineconfig.scripts.python.devops repos --help` to explore the hierarchy:
|
|
167
|
+
|
|
168
|
+
* Top-level actions: `push`, `pull`, `commit`, `all`, and `analyze`.
|
|
169
|
+
* These commands accept `--recursive/-r` and `--no-sync` to control nested repos and automatic `uv sync`.
|
|
170
|
+
* Sync workflows live under `sync`:
|
|
171
|
+
* `record` captures the current machine state into a `repos.json`.
|
|
172
|
+
* `capture` clones repos from a specification without changing commits.
|
|
173
|
+
* `checkout` aligns repositories to commits stored in the spec.
|
|
174
|
+
* `checkout-to-branch` switches repositories to the tracked branch.
|
|
175
|
+
* Each sync subcommand accepts `--cloud/-c` for fetching/saving specs from remote storage.
|
|
176
|
+
|
|
177
|
+
Example:
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
python -m machineconfig.scripts.python.devops repos sync record ~/code --cloud my_remote
|
|
181
|
+
python -m machineconfig.scripts.python.devops repos pull ~/code --recursive
|
|
182
|
+
```
|
|
183
|
+
|
|
164
184
|
# Author
|
|
165
185
|
Alex Al-Saffar. [email](mailto:programmer@usa.com)
|
|
166
186
|
|
|
@@ -127,6 +127,26 @@ curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/ma
|
|
|
127
127
|
short `curl bit.ly/cfgcroshelllinux -L | bash`
|
|
128
128
|
|
|
129
129
|
|
|
130
|
+
## Repository management CLI
|
|
131
|
+
|
|
132
|
+
The DevOps CLI now exposes rich subcommands for working with git repositories. Run `python -m machineconfig.scripts.python.devops repos --help` to explore the hierarchy:
|
|
133
|
+
|
|
134
|
+
* Top-level actions: `push`, `pull`, `commit`, `all`, and `analyze`.
|
|
135
|
+
* These commands accept `--recursive/-r` and `--no-sync` to control nested repos and automatic `uv sync`.
|
|
136
|
+
* Sync workflows live under `sync`:
|
|
137
|
+
* `record` captures the current machine state into a `repos.json`.
|
|
138
|
+
* `capture` clones repos from a specification without changing commits.
|
|
139
|
+
* `checkout` aligns repositories to commits stored in the spec.
|
|
140
|
+
* `checkout-to-branch` switches repositories to the tracked branch.
|
|
141
|
+
* Each sync subcommand accepts `--cloud/-c` for fetching/saving specs from remote storage.
|
|
142
|
+
|
|
143
|
+
Example:
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
python -m machineconfig.scripts.python.devops repos sync record ~/code --cloud my_remote
|
|
147
|
+
python -m machineconfig.scripts.python.devops repos pull ~/code --recursive
|
|
148
|
+
```
|
|
149
|
+
|
|
130
150
|
# Author
|
|
131
151
|
Alex Al-Saffar. [email](mailto:programmer@usa.com)
|
|
132
152
|
|
|
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
|
|
|
6
6
|
|
|
7
7
|
[project]
|
|
8
8
|
name = "machineconfig"
|
|
9
|
-
version = "5.
|
|
9
|
+
version = "5.12"
|
|
10
10
|
description = "Dotfiles management package"
|
|
11
11
|
readme = "README.md"
|
|
12
12
|
license = {text = "Apache 2.0"}
|
|
@@ -64,7 +64,6 @@ cloud_mount = "machineconfig.scripts.python.cloud_mount:arg_parser"
|
|
|
64
64
|
cloud_repo_sync = "machineconfig.scripts.python.cloud_repo_sync:args_parser"
|
|
65
65
|
cloud_sync = "machineconfig.scripts.python.cloud_sync:arg_parser"
|
|
66
66
|
ftpx = "machineconfig.scripts.python.ftpx:main_from_parser"
|
|
67
|
-
repos = "machineconfig.scripts.python.repos:main_from_parser"
|
|
68
67
|
|
|
69
68
|
start_slidev = "machineconfig.scripts.python.start_slidev:arg_parser"
|
|
70
69
|
kill_process = "machineconfig.utils.procs:main"
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
|
|
2
|
+
import typer
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
def analyze_repo_development(repo_path: str = typer.Argument(..., help="Path to the git repository")):
|
|
6
|
+
from machineconfig.scripts.python import count_lines
|
|
7
|
+
from pathlib import Path
|
|
8
|
+
count_lines_path = Path(count_lines.__file__).resolve().parent.joinpath("count_lines.py")
|
|
9
|
+
# --project $HOME/code/machineconfig
|
|
10
|
+
cmd = f"""uv run --python 3.13 --with machineconfig--group plot {count_lines_path} analyze-over-time {repo_path}"""
|
|
11
|
+
from machineconfig.utils.code import run_script
|
|
12
|
+
run_script(cmd)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
if __name__ == "__main__":
|
|
16
|
+
pass
|
|
@@ -9,10 +9,9 @@ import typer
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
app = typer.Typer(help=f"🛠️ DevOps operations @ machineconfig {__version__}", no_args_is_help=True)
|
|
12
|
-
|
|
13
12
|
app.command(name="install", help="📦 Install essential packages")(installer_entry_point.main)
|
|
14
13
|
app.command(name="share-terminal", help="📡 Share terminal via web browser")(share_terminal.main)
|
|
15
|
-
app.
|
|
14
|
+
app.add_typer(repos.app, name="repos", help="📁 Manage git repositories")
|
|
16
15
|
|
|
17
16
|
ssh_app = typer.Typer(help="🔐 SSH operations subcommands", no_args_is_help=True)
|
|
18
17
|
app.add_typer(ssh_app, name="ssh")
|
|
@@ -187,7 +187,7 @@ Set-Service -Name sshd -StartupType 'Automatic'"""
|
|
|
187
187
|
if "retrieve_repositories" in selected_options:
|
|
188
188
|
console.print(Panel("📚 [bold bright_magenta]REPOSITORIES[/bold bright_magenta]\n[italic]Project code retrieval[/italic]", border_style="bright_magenta"))
|
|
189
189
|
from machineconfig.scripts.python import repos as module
|
|
190
|
-
module.main(directory=str(Path.home() / "code"),
|
|
190
|
+
module.main(directory=str(Path.home() / "code"), capture=True, cloud="odg1")
|
|
191
191
|
|
|
192
192
|
if "retrieve_data" in selected_options:
|
|
193
193
|
console.print(Panel("💾 [bold bright_cyan]DATA RETRIEVAL[/bold bright_cyan]\n[italic]Backup restoration[/italic]", border_style="bright_cyan"))
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"""Repos CLI powered by Typer.
|
|
2
|
+
|
|
3
|
+
# TODO use gh api user --jq '.login' to get the username and use it to clone the repos.
|
|
4
|
+
in the event that username@github.com is not mentioned in the remote url.
|
|
5
|
+
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
from typing import Annotated, Optional
|
|
10
|
+
import typer
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
app = typer.Typer(help="� Manage development repositories", no_args_is_help=True)
|
|
15
|
+
sync_app = typer.Typer(help="� Manage repository specifications and syncing", no_args_is_help=True)
|
|
16
|
+
app.add_typer(sync_app, name="sync", help="� Sync repositories using saved specs")
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
DirectoryArgument = Annotated[
|
|
20
|
+
Optional[str],
|
|
21
|
+
typer.Argument(help="📁 Folder containing repos or the specs JSON file to use."),
|
|
22
|
+
]
|
|
23
|
+
RecursiveOption = Annotated[
|
|
24
|
+
bool,
|
|
25
|
+
typer.Option("--recursive", "-r", help="🔍 Recurse into nested repositories."),
|
|
26
|
+
]
|
|
27
|
+
NoSyncOption = Annotated[
|
|
28
|
+
bool,
|
|
29
|
+
typer.Option("--no-sync", help="🚫 Disable automatic uv sync after pulls."),
|
|
30
|
+
]
|
|
31
|
+
CloudOption = Annotated[
|
|
32
|
+
Optional[str],
|
|
33
|
+
typer.Option("--cloud", "-c", help="☁️ Upload to or download from this cloud remote."),
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
@app.command()
|
|
39
|
+
def push(directory: DirectoryArgument = None,
|
|
40
|
+
recursive: RecursiveOption = False,
|
|
41
|
+
no_sync: NoSyncOption = False,
|
|
42
|
+
) -> None:
|
|
43
|
+
"""🚀 Push changes across repositories."""
|
|
44
|
+
from machineconfig.scripts.python.repos_helper import git_operations
|
|
45
|
+
git_operations(directory, pull=False, commit=False, push=True, recursive=recursive, no_sync=no_sync)
|
|
46
|
+
@app.command()
|
|
47
|
+
def pull(
|
|
48
|
+
directory: DirectoryArgument = None,
|
|
49
|
+
recursive: RecursiveOption = False,
|
|
50
|
+
no_sync: NoSyncOption = False,
|
|
51
|
+
) -> None:
|
|
52
|
+
"""⬇️ Pull changes across repositories."""
|
|
53
|
+
from machineconfig.scripts.python.repos_helper import git_operations
|
|
54
|
+
git_operations(directory, pull=True, commit=False, push=False, recursive=recursive, no_sync=no_sync)
|
|
55
|
+
@app.command()
|
|
56
|
+
def commit(
|
|
57
|
+
directory: DirectoryArgument = None,
|
|
58
|
+
recursive: RecursiveOption = False,
|
|
59
|
+
no_sync: NoSyncOption = False,
|
|
60
|
+
) -> None:
|
|
61
|
+
"""💾 Commit changes across repositories."""
|
|
62
|
+
from machineconfig.scripts.python.repos_helper import git_operations
|
|
63
|
+
git_operations(directory, pull=False, commit=True, push=False, recursive=recursive, no_sync=no_sync)
|
|
64
|
+
@app.command()
|
|
65
|
+
def all(
|
|
66
|
+
directory: DirectoryArgument = None,
|
|
67
|
+
recursive: RecursiveOption = False,
|
|
68
|
+
no_sync: NoSyncOption = False,
|
|
69
|
+
) -> None:
|
|
70
|
+
"""🔄 Pull, commit, and push changes across repositories."""
|
|
71
|
+
from machineconfig.scripts.python.repos_helper import git_operations
|
|
72
|
+
git_operations(directory, pull=True, commit=True, push=True, recursive=recursive, no_sync=no_sync)
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
@sync_app.command()
|
|
76
|
+
def record(
|
|
77
|
+
directory: DirectoryArgument = None,
|
|
78
|
+
cloud: CloudOption = None,
|
|
79
|
+
) -> None:
|
|
80
|
+
"""📝 Record repositories into a repos.json specification."""
|
|
81
|
+
from machineconfig.scripts.python.repos_helper import print_banner, resolve_directory
|
|
82
|
+
print_banner()
|
|
83
|
+
repos_root = resolve_directory(directory)
|
|
84
|
+
from machineconfig.scripts.python.repos_helper_record import main as record_repos
|
|
85
|
+
save_path = record_repos(repos_root=repos_root)
|
|
86
|
+
from machineconfig.utils.path_extended import PathExtended
|
|
87
|
+
if cloud is not None:
|
|
88
|
+
PathExtended(save_path).to_cloud(rel2home=True, cloud=cloud)
|
|
89
|
+
@sync_app.command()
|
|
90
|
+
def capture(
|
|
91
|
+
directory: DirectoryArgument = None,
|
|
92
|
+
cloud: CloudOption = None,
|
|
93
|
+
) -> None:
|
|
94
|
+
"""📥 Clone repositories described by a repos.json specification."""
|
|
95
|
+
from machineconfig.scripts.python.repos_helper import print_banner, clone_from_specs
|
|
96
|
+
print_banner()
|
|
97
|
+
clone_from_specs(directory, cloud, checkout_branch_flag=False, checkout_commit_flag=False)
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
@sync_app.command(name="checkout-to-commit")
|
|
101
|
+
def checkout_command(
|
|
102
|
+
directory: DirectoryArgument = None,
|
|
103
|
+
cloud: CloudOption = None,
|
|
104
|
+
) -> None:
|
|
105
|
+
"""🔀 Check out specific commits listed in the specification."""
|
|
106
|
+
from machineconfig.scripts.python.repos_helper import print_banner, clone_from_specs
|
|
107
|
+
print_banner()
|
|
108
|
+
clone_from_specs(directory, cloud, checkout_branch_flag=False, checkout_commit_flag=True)
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
@sync_app.command(name="checkout-to-branch")
|
|
112
|
+
def checkout_to_branch_command(
|
|
113
|
+
directory: DirectoryArgument = None,
|
|
114
|
+
cloud: CloudOption = None,
|
|
115
|
+
) -> None:
|
|
116
|
+
"""🔀 Check out to the main branch defined in the specification."""
|
|
117
|
+
from machineconfig.scripts.python.repos_helper import print_banner, clone_from_specs
|
|
118
|
+
print_banner()
|
|
119
|
+
clone_from_specs(directory, cloud, checkout_branch_flag=True, checkout_commit_flag=False)
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
@app.command()
|
|
123
|
+
def analyze(
|
|
124
|
+
directory: DirectoryArgument = None,
|
|
125
|
+
) -> None:
|
|
126
|
+
"""📊 Analyze repository development over time."""
|
|
127
|
+
from machineconfig.scripts.python.repos_helper import print_banner
|
|
128
|
+
print_banner()
|
|
129
|
+
repo_path = directory if directory is not None else "."
|
|
130
|
+
from machineconfig.scripts.python.count_lines_frontend import analyze_repo_development
|
|
131
|
+
analyze_repo_development(repo_path=repo_path)
|
|
132
|
+
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
from typing import Optional
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
from machineconfig.utils.source_of_truth import CONFIG_PATH, DEFAULTS_PATH
|
|
7
|
+
|
|
8
|
+
import typer
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def print_banner() -> None:
|
|
13
|
+
typer.echo("\n" + "=" * 50)
|
|
14
|
+
typer.echo("📂 Welcome to the Repository Manager")
|
|
15
|
+
typer.echo("=" * 50 + "\n")
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def resolve_directory(directory: Optional[str]) -> Path:
|
|
20
|
+
if directory is None:
|
|
21
|
+
directory = Path.cwd().as_posix()
|
|
22
|
+
typer.echo(f"📁 Using directory: {directory}")
|
|
23
|
+
return Path(directory).expanduser().absolute()
|
|
24
|
+
def git_operations(
|
|
25
|
+
directory: Optional[str],
|
|
26
|
+
*,
|
|
27
|
+
pull: bool,
|
|
28
|
+
commit: bool,
|
|
29
|
+
push: bool,
|
|
30
|
+
recursive: bool,
|
|
31
|
+
no_sync: bool,
|
|
32
|
+
) -> None:
|
|
33
|
+
print_banner()
|
|
34
|
+
repos_root = resolve_directory(directory)
|
|
35
|
+
auto_sync = not no_sync
|
|
36
|
+
from machineconfig.scripts.python.repos_helper_action import perform_git_operations
|
|
37
|
+
from machineconfig.utils.path_extended import PathExtended
|
|
38
|
+
perform_git_operations(
|
|
39
|
+
repos_root=PathExtended(repos_root),
|
|
40
|
+
pull=pull,
|
|
41
|
+
commit=commit,
|
|
42
|
+
push=push,
|
|
43
|
+
recursive=recursive,
|
|
44
|
+
auto_sync=auto_sync,
|
|
45
|
+
)
|
|
46
|
+
def resolve_spec_path(directory: Optional[str], cloud: Optional[str]) -> Path:
|
|
47
|
+
repos_root = resolve_directory(directory)
|
|
48
|
+
from machineconfig.utils.path_extended import PathExtended
|
|
49
|
+
if not repos_root.exists() or repos_root.name != "repos.json":
|
|
50
|
+
candidate = Path(CONFIG_PATH).joinpath("repos").joinpath(PathExtended(repos_root).rel2home()).joinpath("repos.json")
|
|
51
|
+
repos_root = candidate
|
|
52
|
+
if not repos_root.exists():
|
|
53
|
+
cloud_name: Optional[str]
|
|
54
|
+
if cloud is None:
|
|
55
|
+
from machineconfig.utils.io import read_ini
|
|
56
|
+
cloud_name = read_ini(DEFAULTS_PATH)["general"]["rclone_config_name"]
|
|
57
|
+
typer.echo(f"⚠️ Using default cloud: {cloud_name}")
|
|
58
|
+
else:
|
|
59
|
+
cloud_name = cloud
|
|
60
|
+
assert cloud_name is not None, (
|
|
61
|
+
f"Path {repos_root} does not exist and cloud was not passed. You can't clone without one of them."
|
|
62
|
+
)
|
|
63
|
+
from machineconfig.utils.path_extended import PathExtended
|
|
64
|
+
PathExtended(repos_root).from_cloud(cloud=cloud_name, rel2home=True)
|
|
65
|
+
assert repos_root.exists() and repos_root.name == "repos.json", (
|
|
66
|
+
f"Path {repos_root} does not exist and cloud was not passed. You can't clone without one of them."
|
|
67
|
+
)
|
|
68
|
+
return repos_root
|
|
69
|
+
def clone_from_specs(
|
|
70
|
+
directory: Optional[str],
|
|
71
|
+
cloud: Optional[str],
|
|
72
|
+
*,
|
|
73
|
+
checkout_branch_flag: bool,
|
|
74
|
+
checkout_commit_flag: bool,
|
|
75
|
+
) -> None:
|
|
76
|
+
print_banner()
|
|
77
|
+
typer.echo("\n📥 Cloning or checking out repositories...")
|
|
78
|
+
spec_path = resolve_spec_path(directory, cloud)
|
|
79
|
+
from machineconfig.scripts.python.repos_helper_clone import clone_repos
|
|
80
|
+
clone_repos(
|
|
81
|
+
spec_path=spec_path,
|
|
82
|
+
preferred_remote=None,
|
|
83
|
+
checkout_branch_flag=checkout_branch_flag,
|
|
84
|
+
checkout_commit_flag=checkout_commit_flag,
|
|
85
|
+
)
|
{machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/repos_helper_action.py
RENAMED
|
@@ -7,6 +7,9 @@ from dataclasses import dataclass
|
|
|
7
7
|
from enum import Enum
|
|
8
8
|
|
|
9
9
|
from rich import print as pprint
|
|
10
|
+
from rich.table import Table
|
|
11
|
+
from rich.panel import Panel
|
|
12
|
+
from rich.columns import Columns
|
|
10
13
|
|
|
11
14
|
|
|
12
15
|
class GitAction(Enum):
|
|
@@ -191,87 +194,127 @@ def git_action(path: PathExtended, action: GitAction, mess: Optional[str] = None
|
|
|
191
194
|
|
|
192
195
|
|
|
193
196
|
def print_git_operations_summary(summary: GitOperationSummary, operations_performed: list[str]) -> None:
|
|
194
|
-
"""Print a detailed summary of git operations
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
197
|
+
"""Print a detailed summary of git operations with rich formatting and tables."""
|
|
198
|
+
from rich.console import Console
|
|
199
|
+
console = Console()
|
|
200
|
+
|
|
201
|
+
# Main summary panel
|
|
202
|
+
summary_stats = [
|
|
203
|
+
f"Total paths processed: {summary.total_paths_processed}",
|
|
204
|
+
f"Git repositories found: {summary.git_repos_found}",
|
|
205
|
+
f"Non-git paths skipped: {summary.non_git_paths}"
|
|
206
|
+
]
|
|
207
|
+
|
|
208
|
+
console.print(Panel.fit(
|
|
209
|
+
"\n".join(summary_stats),
|
|
210
|
+
title="[bold blue]📊 Git Operations Summary[/bold blue]",
|
|
211
|
+
border_style="blue"
|
|
212
|
+
))
|
|
213
|
+
|
|
214
|
+
# Statistics panels in columns
|
|
215
|
+
stat_panels = []
|
|
216
|
+
|
|
201
217
|
if "commit" in operations_performed:
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
218
|
+
commit_stats = [
|
|
219
|
+
f"Attempted: {summary.commits_attempted}",
|
|
220
|
+
f"Successful: {summary.commits_successful}",
|
|
221
|
+
f"No changes: {summary.commits_no_changes}",
|
|
222
|
+
f"Failed: {summary.commits_failed}"
|
|
223
|
+
]
|
|
224
|
+
stat_panels.append(Panel.fit(
|
|
225
|
+
"\n".join(commit_stats),
|
|
226
|
+
title="[bold green]💾 Commit Operations[/bold green]",
|
|
227
|
+
border_style="green"
|
|
228
|
+
))
|
|
229
|
+
|
|
208
230
|
if "pull" in operations_performed:
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
231
|
+
pull_stats = [
|
|
232
|
+
f"Attempted: {summary.pulls_attempted}",
|
|
233
|
+
f"Successful: {summary.pulls_successful}",
|
|
234
|
+
f"Failed: {summary.pulls_failed}"
|
|
235
|
+
]
|
|
236
|
+
stat_panels.append(Panel.fit(
|
|
237
|
+
"\n".join(pull_stats),
|
|
238
|
+
title="[bold cyan]⬇️ Pull Operations[/bold cyan]",
|
|
239
|
+
border_style="cyan"
|
|
240
|
+
))
|
|
241
|
+
|
|
214
242
|
if "push" in operations_performed:
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
243
|
+
push_stats = [
|
|
244
|
+
f"Attempted: {summary.pushes_attempted}",
|
|
245
|
+
f"Successful: {summary.pushes_successful}",
|
|
246
|
+
f"Failed: {summary.pushes_failed}"
|
|
247
|
+
]
|
|
248
|
+
stat_panels.append(Panel.fit(
|
|
249
|
+
"\n".join(push_stats),
|
|
250
|
+
title="[bold magenta]🚀 Push Operations[/bold magenta]",
|
|
251
|
+
border_style="magenta"
|
|
252
|
+
))
|
|
219
253
|
|
|
220
|
-
|
|
254
|
+
if stat_panels:
|
|
255
|
+
console.print(Columns(stat_panels, equal=True, expand=True))
|
|
256
|
+
|
|
257
|
+
# Repositories without remotes warning
|
|
221
258
|
if summary.repos_without_remotes:
|
|
222
|
-
|
|
259
|
+
repos_table = Table(title="[bold yellow]⚠️ Repositories Without Remotes[/bold yellow]")
|
|
260
|
+
repos_table.add_column("Repository Name", style="cyan", no_wrap=True)
|
|
261
|
+
repos_table.add_column("Full Path", style="dim")
|
|
262
|
+
|
|
223
263
|
for repo_path in summary.repos_without_remotes:
|
|
224
|
-
|
|
225
|
-
print(" These repositories cannot be pushed to remote servers.")
|
|
226
|
-
else:
|
|
227
|
-
if "push" in operations_performed:
|
|
228
|
-
print("\n✅ All repositories have remote configurations.")
|
|
264
|
+
repos_table.add_row(repo_path.name, str(repo_path))
|
|
229
265
|
|
|
230
|
-
|
|
266
|
+
console.print(repos_table)
|
|
267
|
+
console.print("[yellow]These repositories cannot be pushed to remote servers.[/yellow]")
|
|
268
|
+
elif "push" in operations_performed:
|
|
269
|
+
console.print("[green]✅ All repositories have remote configurations.[/green]")
|
|
270
|
+
|
|
271
|
+
# Failed operations table
|
|
231
272
|
if summary.failed_operations:
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
273
|
+
failed_table = Table(title=f"[bold red]❌ Failed Operations ({len(summary.failed_operations)} total)[/bold red]")
|
|
274
|
+
failed_table.add_column("Action", style="bold red", no_wrap=True)
|
|
275
|
+
failed_table.add_column("Repository", style="cyan", no_wrap=True)
|
|
276
|
+
failed_table.add_column("Problem", style="red")
|
|
277
|
+
|
|
278
|
+
# Group failed operations by type for better organization
|
|
235
279
|
failed_by_action = {}
|
|
236
280
|
for failed_op in summary.failed_operations:
|
|
237
281
|
if failed_op.action not in failed_by_action:
|
|
238
282
|
failed_by_action[failed_op.action] = []
|
|
239
283
|
failed_by_action[failed_op.action].append(failed_op)
|
|
240
|
-
|
|
284
|
+
|
|
241
285
|
for action, failures in failed_by_action.items():
|
|
242
|
-
print(f"\n {action.upper()} failures ({len(failures)}):")
|
|
243
286
|
for failure in failures:
|
|
244
|
-
if
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
287
|
+
repo_name = failure.repo_path.name if failure.is_git_repo else f"{failure.repo_path.name} (not git repo)"
|
|
288
|
+
problem = failure.message if failure.is_git_repo else "Not a git repository"
|
|
289
|
+
failed_table.add_row(action.upper(), repo_name, problem)
|
|
290
|
+
|
|
291
|
+
console.print(failed_table)
|
|
248
292
|
else:
|
|
249
|
-
print("
|
|
293
|
+
console.print("[green]✅ All git operations completed successfully![/green]")
|
|
250
294
|
|
|
251
295
|
# Overall success assessment
|
|
252
296
|
total_failed = len(summary.failed_operations)
|
|
253
|
-
total_operations = (summary.commits_attempted + summary.pulls_attempted +
|
|
297
|
+
total_operations = (summary.commits_attempted + summary.pulls_attempted +
|
|
254
298
|
summary.pushes_attempted)
|
|
255
|
-
|
|
299
|
+
|
|
256
300
|
if total_failed == 0 and total_operations > 0:
|
|
257
|
-
print(f"\n🎉 SUCCESS: All {total_operations} operations completed successfully!")
|
|
301
|
+
console.print(f"\n[bold green]🎉 SUCCESS: All {total_operations} operations completed successfully![/bold green]")
|
|
258
302
|
elif total_operations == 0:
|
|
259
|
-
print("\n📝 No git operations were performed.")
|
|
303
|
+
console.print("\n[blue]📝 No git operations were performed.[/blue]")
|
|
260
304
|
else:
|
|
261
305
|
success_rate = ((total_operations - total_failed) / total_operations * 100) if total_operations > 0 else 0
|
|
262
|
-
print(f"\n⚖️ SUMMARY: {total_operations - total_failed}/{total_operations} operations succeeded ({success_rate:.1f}% success rate)")
|
|
263
306
|
if total_failed > 0:
|
|
264
|
-
print("
|
|
307
|
+
console.print(f"\n[bold yellow]⚖️ SUMMARY: {total_operations - total_failed}/{total_operations} operations succeeded ({success_rate:.1f}% success rate)[/bold yellow]")
|
|
308
|
+
console.print("[yellow]Review the failed operations table above for details on what needs attention.[/yellow]")
|
|
309
|
+
else:
|
|
310
|
+
console.print(f"\n[bold green]⚖️ SUMMARY: {total_operations}/{total_operations} operations succeeded (100% success rate)[/bold green]")
|
|
265
311
|
|
|
266
312
|
|
|
267
313
|
def perform_git_operations(repos_root: PathExtended, pull: bool, commit: bool, push: bool, recursive: bool, auto_sync: bool) -> None:
|
|
268
314
|
"""Perform git operations on all repositories and provide detailed summary."""
|
|
269
315
|
print(f"\n🔄 Performing Git actions on repositories @ `{repos_root}`...")
|
|
270
|
-
|
|
271
|
-
# Initialize summary tracking
|
|
272
316
|
summary = GitOperationSummary()
|
|
273
|
-
operations_performed = []
|
|
274
|
-
|
|
317
|
+
operations_performed = []
|
|
275
318
|
# Determine which operations to perform
|
|
276
319
|
if pull:
|
|
277
320
|
operations_performed.append("pull")
|
{machineconfig-5.0 → machineconfig-5.12}/src/machineconfig/scripts/python/repos_helper_record.py
RENAMED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from machineconfig.utils.path_extended import PathExtended
|
|
2
|
+
from pathlib import Path
|
|
2
3
|
from machineconfig.utils.schemas.repos.repos_types import GitVersionInfo, RepoRecordDict, RepoRemote
|
|
3
4
|
|
|
4
5
|
from machineconfig.utils.schemas.repos.repos_types import RepoRecordFile
|
|
@@ -185,8 +186,9 @@ def record_repos_recursively(repos_root: str, r: bool, progress: Progress | None
|
|
|
185
186
|
return res
|
|
186
187
|
|
|
187
188
|
|
|
188
|
-
def main(repos_root:
|
|
189
|
+
def main(repos_root: Path):
|
|
189
190
|
print("\n📝 Recording repositories...")
|
|
191
|
+
repos_root = PathExtended(repos_root).expanduser().absolute()
|
|
190
192
|
|
|
191
193
|
# Count total directories and repositories for accurate progress tracking
|
|
192
194
|
print("🔍 Analyzing directory structure...")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: machineconfig
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.12
|
|
4
4
|
Summary: Dotfiles management package
|
|
5
5
|
Author-email: Alex Al-Saffar <programmer@usa.com>
|
|
6
6
|
License: Apache 2.0
|
|
@@ -161,6 +161,26 @@ curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/ma
|
|
|
161
161
|
short `curl bit.ly/cfgcroshelllinux -L | bash`
|
|
162
162
|
|
|
163
163
|
|
|
164
|
+
## Repository management CLI
|
|
165
|
+
|
|
166
|
+
The DevOps CLI now exposes rich subcommands for working with git repositories. Run `python -m machineconfig.scripts.python.devops repos --help` to explore the hierarchy:
|
|
167
|
+
|
|
168
|
+
* Top-level actions: `push`, `pull`, `commit`, `all`, and `analyze`.
|
|
169
|
+
* These commands accept `--recursive/-r` and `--no-sync` to control nested repos and automatic `uv sync`.
|
|
170
|
+
* Sync workflows live under `sync`:
|
|
171
|
+
* `record` captures the current machine state into a `repos.json`.
|
|
172
|
+
* `capture` clones repos from a specification without changing commits.
|
|
173
|
+
* `checkout` aligns repositories to commits stored in the spec.
|
|
174
|
+
* `checkout-to-branch` switches repositories to the tracked branch.
|
|
175
|
+
* Each sync subcommand accepts `--cloud/-c` for fetching/saving specs from remote storage.
|
|
176
|
+
|
|
177
|
+
Example:
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
python -m machineconfig.scripts.python.devops repos sync record ~/code --cloud my_remote
|
|
181
|
+
python -m machineconfig.scripts.python.devops repos pull ~/code --recursive
|
|
182
|
+
```
|
|
183
|
+
|
|
164
184
|
# Author
|
|
165
185
|
Alex Al-Saffar. [email](mailto:programmer@usa.com)
|
|
166
186
|
|
|
@@ -133,7 +133,6 @@ src/machineconfig/scripts/linux/mount_drive
|
|
|
133
133
|
src/machineconfig/scripts/linux/mount_nfs
|
|
134
134
|
src/machineconfig/scripts/linux/mount_nw_drive
|
|
135
135
|
src/machineconfig/scripts/linux/mount_smb
|
|
136
|
-
src/machineconfig/scripts/linux/repos
|
|
137
136
|
src/machineconfig/scripts/linux/scheduler
|
|
138
137
|
src/machineconfig/scripts/linux/sessions
|
|
139
138
|
src/machineconfig/scripts/linux/share_cloud.sh
|
|
@@ -182,6 +181,7 @@ src/machineconfig/scripts/python/mount_ssh.py
|
|
|
182
181
|
src/machineconfig/scripts/python/onetimeshare.py
|
|
183
182
|
src/machineconfig/scripts/python/pomodoro.py
|
|
184
183
|
src/machineconfig/scripts/python/repos.py
|
|
184
|
+
src/machineconfig/scripts/python/repos_helper.py
|
|
185
185
|
src/machineconfig/scripts/python/repos_helper_action.py
|
|
186
186
|
src/machineconfig/scripts/python/repos_helper_clone.py
|
|
187
187
|
src/machineconfig/scripts/python/repos_helper_record.py
|
|
@@ -255,7 +255,6 @@ src/machineconfig/scripts/windows/mount_ssh.ps1
|
|
|
255
255
|
src/machineconfig/scripts/windows/nano.ps1
|
|
256
256
|
src/machineconfig/scripts/windows/pomodoro.ps1
|
|
257
257
|
src/machineconfig/scripts/windows/reload_path.ps1
|
|
258
|
-
src/machineconfig/scripts/windows/repos.ps1
|
|
259
258
|
src/machineconfig/scripts/windows/scheduler.ps1
|
|
260
259
|
src/machineconfig/scripts/windows/sessions.ps1
|
|
261
260
|
src/machineconfig/scripts/windows/share_cloud.cmd
|
|
@@ -13,7 +13,6 @@ initai = machineconfig.scripts.python.ai.initai:main
|
|
|
13
13
|
kill_process = machineconfig.utils.procs:main
|
|
14
14
|
mount_nfs = machineconfig.scripts.python.mount_nfs:main
|
|
15
15
|
mount_nw_drive = machineconfig.scripts.python.mount_nw_drive:main
|
|
16
|
-
repos = machineconfig.scripts.python.repos:main_from_parser
|
|
17
16
|
sessions = machineconfig.scripts.python.sessions:main_from_parser
|
|
18
17
|
start_slidev = machineconfig.scripts.python.start_slidev:arg_parser
|
|
19
18
|
wifi_conn = machineconfig.scripts.python.wifi_conn:arg_parser
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import typer
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
def analyze_repo_development(repo_path: str = typer.Argument(..., help="Path to the git repository")):
|
|
6
|
-
cmd = f"""uv run --python 3.13 --with machineconfig machineconfig.scripts.python.count_lines analyze-over-time {repo_path}"""
|
|
7
|
-
from machineconfig.utils.code import run_script
|
|
8
|
-
run_script(cmd)
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
if __name__ == "__main__":
|
|
12
|
-
pass
|