machineconfig 5.81__tar.gz → 5.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-5.81/src/machineconfig.egg-info → machineconfig-5.83}/PKG-INFO +1 -1
- {machineconfig-5.81 → machineconfig-5.83}/pyproject.toml +1 -1
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/nw/ssh_debug_linux.py +95 -3
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/ssh.py +30 -13
- machineconfig-5.83/src/machineconfig/utils/tst.py +20 -0
- {machineconfig-5.81 → machineconfig-5.83/src/machineconfig.egg-info}/PKG-INFO +1 -1
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig.egg-info/SOURCES.txt +1 -0
- {machineconfig-5.81 → machineconfig-5.83}/MANIFEST.in +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/README.md +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/setup.cfg +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/remote/distribute.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/remote/file_manager.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/remote/job_params.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/remote/run_cloud.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/remote/run_cluster.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/remote/run_remote.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/remote/script_execution.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/helpers/zellij_local_helper.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/helpers/zellij_local_helper_restart.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/helpers/zellij_local_helper_with_panes.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/helpers/zellij_local_manager_helper.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/utils/enhanced_command_runner.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/utils/load_balancer.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/utils/load_balancer_helper.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/wt_local.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/zellij_local.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/templates/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/check_installations.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom/gh.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom/hx.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/alacritty.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/brave.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/bypass_paywall.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/code.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/cursor.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/espanso.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/goes.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/lvim.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/nerdfont.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/redis.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/wezterm.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/winget.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/installer_data.json +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/linux_scripts/brave.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/linux_scripts/docker.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/linux_scripts/docker_start.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/linux_scripts/edge.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/linux_scripts/nerdfont.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/linux_scripts/ngrok.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/linux_scripts/q.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/linux_scripts/redis.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/linux_scripts/vscode.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/linux_scripts/warp-cli.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/linux_scripts/wezterm.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/package_groups.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/linux/msc/cli_agents.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/linux/msc/lid.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/linux/msc/network.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/python/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/python/python_ve_symlink.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/python/vscode/api.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/python/vscode/sync_code.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/windows/archive/openssh-server_add_key.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/windows/archive/openssh-server_copy-ssh-id.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/windows/msc/cli_agents.bat +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/windows/msc/cli_agents.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/logger.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/profile/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/profile/backup.toml +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/profile/bash_shell_profiles.md +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/profile/create_helper.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/profile/create_links.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/profile/create_links_export.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/profile/create_shell_profile.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/profile/mapper.toml +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/profile/records/generic/shares.toml +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/Restore-ThunderbirdProfile.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/linux/fzf2g +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/linux/fzfag +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/linux/fzffg +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/linux/fzfg +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/linux/fzfrga +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/linux/other/share_cloud.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/linux/other/share_nfs +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/linux/other/share_smb +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/linux/other/start_docker +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/linux/other/switch_ip +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/linux/skrg +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/linux/warp-cli.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/linux/z_ls +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/agents.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/command_runner/command_runner.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/command_runner/prompt.txt +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/initai.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/solutions/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/solutions/_shared.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/solutions/claude/claude.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/solutions/cline/cline.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/solutions/copilot/privacy.md +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/solutions/crush/crush.json +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/solutions/crush/crush.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/solutions/crush/privacy.md +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/solutions/cursor/cursors.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/solutions/gemini/gemini.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/solutions/gemini/settings.json +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/solutions/generic.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ai/vscode_tasks.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/cloud.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/cloud_helpers/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/cloud_helpers/cloud_copy.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/cloud_helpers/cloud_helpers.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/cloud_helpers/cloud_mount.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/cloud_helpers/cloud_sync.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/cloud_helpers/helpers2.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/cloud_helpers/helpers5.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/croshell.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/croshell_helpers/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/croshell_helpers/pomodoro.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/croshell_helpers/scheduler.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/croshell_helpers/start_slidev.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/croshell_helpers/viewer.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/croshell_helpers/viewer_template.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/devops.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/devops_helpers/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/devops_helpers/cli_config.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/devops_helpers/cli_config_dotfile.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/devops_helpers/cli_data.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/devops_helpers/cli_nw.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/devops_helpers/cli_repos.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/devops_helpers/cli_self.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/devops_helpers/cli_share_server.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/devops_helpers/cli_terminal.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/devops_helpers/devops_backup_retrieve.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/devops_helpers/devops_status.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/devops_helpers/devops_update_repos.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/devops_helpers/themes/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/devops_helpers/themes/choose_pwsh_theme.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/devops_helpers/themes/choose_wezterm_theme.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/devops_navigator.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/entry.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/env_manager/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/env_manager/path_manager_backend.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/env_manager/path_manager_tui.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/fire_jobs.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/ftpx.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helper_navigator/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helper_navigator/command_builder.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helper_navigator/command_detail.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helper_navigator/command_tree.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helper_navigator/data_models.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helper_navigator/main_app.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helper_navigator/search_bar.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helpers_fire/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.json +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_cursor_agents.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_gemini.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_qwen.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helpers_fire/fire_agents_help_launch.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helpers_fire/fire_agents_help_search.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helpers_fire/fire_agents_helper_types.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helpers_fire/fire_agents_load_balancer.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helpers_fire/helpers4.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helpers_fire/prompt.txt +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helpers_fire/template.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helpers_fire/template.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helpers_fire_command/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helpers_fire_command/cloud_manager.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helpers_repos/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helpers_repos/grource.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/helpers_repos/secure_repo.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/interactive.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/nw/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/nw/add_ssh_key.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/nw/devops_add_identity.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/nw/devops_add_ssh_key.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/nw/mount_drive +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/nw/mount_nfs +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/nw/mount_nfs.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/nw/mount_nw_drive +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/nw/mount_nw_drive.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/nw/mount_smb +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/nw/mount_ssh.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/nw/onetimeshare.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/nw/wifi_conn.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/nw/wsl_windows_transfer.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/repos_helpers/action.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/repos_helpers/clone.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/repos_helpers/count_lines.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/repos_helpers/count_lines_frontend.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/repos_helpers/entrypoint.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/repos_helpers/record.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/repos_helpers/sync.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/repos_helpers/update.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/sessions.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/sessions_helpers/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/sessions_helpers/sessions_multiprocess.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/windows/mounts/mount_nfs.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/windows/mounts/mount_nw.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/windows/mounts/mount_smb.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/windows/mounts/mount_ssh.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/windows/mounts/share_cloud.cmd +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/windows/mounts/share_smb.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/broot/br.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/broot/conf.toml +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/glow/glow.yml +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/helix/config.toml +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/helix/languages.toml +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/keras/keras.json +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/linux/colors +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/linux/exe/previewer.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/linux/icons +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/linux/lfrc +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/windows/colors +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/windows/icons +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/windows/lfrc +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/linters/.flake8 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/linters/.mypy.ini +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/linters/.pylintrc +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/linters/.ruff.toml +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/mprocs/windows/other +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/pistol/pistol.conf +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/presenterm/config.yaml +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/procs/.procs.toml +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/rofi/config.rasi +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/shells/bash/init.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/shells/pwsh/init.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/shells/wt/settings.json +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/streamlit/config.toml +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/svim/linux/init.toml +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/svim/windows/init.toml +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/tere/terecd.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/wsl/.wslconfig +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/yazi/keymap.toml +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/yazi/theme.toml +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/yazi/yazi.toml +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/zed/settings.json +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/zellij/commands/monitor +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/zellij/config.kdl +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/zellij/layouts/hist +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/setup_linux/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/setup_linux/apps.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/setup_linux/apps_desktop.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/setup_linux/apps_gui.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/setup_linux/nix/cli_installation.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/setup_linux/ssh/openssh_all.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/setup_linux/ssh/openssh_wsl.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/setup_linux/uv.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/setup_linux/web_shortcuts/android.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/setup_windows/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/setup_windows/apps.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/setup_windows/others/power_options.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/setup_windows/ssh/add-sshkey.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/setup_windows/ssh/add_identity.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/setup_windows/ssh/openssh-server.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/setup_windows/uv.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/accessories.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/ai/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/cloud/onedrive/README.md +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/code.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/files/ascii_art.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/files/dbms.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/files/headers.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/files/ouch/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/files/ouch/decompress.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/files/read.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/installer.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/installer_utils/__init__.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/installer_utils/github_release_bulk.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/installer_utils/installer.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/installer_utils/installer_abc.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/installer_utils/installer_class.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/io.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/links.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/meta.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/notifications.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/options.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/path_extended.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/path_helper.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/procs.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/scheduler.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/scheduling.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/schemas/installer/installer_types.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/schemas/layouts/layout_types.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/source_of_truth.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/ssh_utils/utils.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/terminal.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/upgrade_packages.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/utils/ve.py +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig.egg-info/dependency_links.txt +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig.egg-info/entry_points.txt +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig.egg-info/requires.txt +0 -0
- {machineconfig-5.81 → machineconfig-5.83}/src/machineconfig.egg-info/top_level.txt +0 -0
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/scripts/python/nw/ssh_debug_linux.py
RENAMED
|
@@ -83,6 +83,27 @@ def ssh_debug_linux() -> dict[str, dict[str, str | bool]]:
|
|
|
83
83
|
results["ssh_service"] = {"status": "warning", "message": "systemctl not found, cannot check service status", "action": "Check SSH service manually"}
|
|
84
84
|
console.print(Panel("⚠️ systemctl not found\n💡 Check SSH service status manually", title="[bold yellow]Warning[/bold yellow]", border_style="yellow"))
|
|
85
85
|
|
|
86
|
+
console.print(Panel("🌐 Checking network interfaces and IP addresses...", title="[bold blue]Network Interfaces[/bold blue]", border_style="blue"))
|
|
87
|
+
|
|
88
|
+
try:
|
|
89
|
+
ip_addr_check = subprocess.run(["ip", "addr", "show"], capture_output=True, text=True, check=False)
|
|
90
|
+
if ip_addr_check.returncode == 0:
|
|
91
|
+
ip_output = ip_addr_check.stdout
|
|
92
|
+
import re
|
|
93
|
+
inet_pattern = re.compile(r'inet\s+(\d+\.\d+\.\d+\.\d+)/\d+.*scope\s+global')
|
|
94
|
+
ip_addresses = inet_pattern.findall(ip_output)
|
|
95
|
+
|
|
96
|
+
if ip_addresses:
|
|
97
|
+
results["network_interfaces"] = {"status": "ok", "message": f"Found {len(ip_addresses)} network interface(s)", "action": ""}
|
|
98
|
+
console.print(Panel("✅ Network interfaces found:\n" + "\n".join([f" • {ip}" for ip in ip_addresses]), title="[bold green]IP Addresses[/bold green]", border_style="green"))
|
|
99
|
+
else:
|
|
100
|
+
results["network_interfaces"] = {"status": "warning", "message": "No global IP addresses found", "action": "Check network configuration"}
|
|
101
|
+
issues_found.append("No network IP addresses")
|
|
102
|
+
console.print(Panel("⚠️ No global IP addresses found\n💡 This machine may not be reachable on the network\n💡 Check: ip addr show", title="[bold yellow]Warning[/bold yellow]", border_style="yellow"))
|
|
103
|
+
except FileNotFoundError:
|
|
104
|
+
results["network_interfaces"] = {"status": "warning", "message": "ip command not found", "action": "Check network manually"}
|
|
105
|
+
console.print(Panel("⚠️ 'ip' command not found\n💡 Try: ifconfig", title="[bold yellow]Warning[/bold yellow]", border_style="yellow"))
|
|
106
|
+
|
|
86
107
|
console.print(Panel("🔌 Checking SSH port and listening status...", title="[bold blue]Network Status[/bold blue]", border_style="blue"))
|
|
87
108
|
|
|
88
109
|
sshd_config_paths = [PathExtended("/etc/ssh/sshd_config"), PathExtended("/etc/sshd_config")]
|
|
@@ -129,8 +150,20 @@ def ssh_debug_linux() -> dict[str, dict[str, str | bool]]:
|
|
|
129
150
|
if listening_check.returncode == 0:
|
|
130
151
|
listening_output = listening_check.stdout
|
|
131
152
|
if f":{ssh_port}" in listening_output:
|
|
132
|
-
|
|
133
|
-
|
|
153
|
+
ssh_lines = [line for line in listening_output.split("\n") if f":{ssh_port}" in line]
|
|
154
|
+
listening_on_all = any("0.0.0.0" in line or "[::]" in line for line in ssh_lines)
|
|
155
|
+
listening_on_localhost_only = all("127.0.0.1" in line or "[::1]" in line for line in ssh_lines)
|
|
156
|
+
|
|
157
|
+
if listening_on_localhost_only:
|
|
158
|
+
results["ssh_listening"] = {"status": "error", "message": f"SSH is listening ONLY on localhost (127.0.0.1:{ssh_port}), not accessible from network", "action": "Edit /etc/ssh/sshd_config, check ListenAddress, restart SSH"}
|
|
159
|
+
issues_found.append("SSH listening only on localhost")
|
|
160
|
+
console.print(Panel(f"❌ SSH is listening ONLY on localhost (127.0.0.1:{ssh_port})\n💡 This prevents external connections!\n💡 Check /etc/ssh/sshd_config for 'ListenAddress'\n💡 Remove or comment out 'ListenAddress 127.0.0.1'\n💡 Or change to 'ListenAddress 0.0.0.0'\n💡 Then: sudo systemctl restart ssh", title="[bold red]Critical Issue[/bold red]", border_style="red"))
|
|
161
|
+
elif listening_on_all:
|
|
162
|
+
results["ssh_listening"] = {"status": "ok", "message": f"SSH is listening on all interfaces (0.0.0.0:{ssh_port})", "action": ""}
|
|
163
|
+
console.print(Panel(f"✅ SSH is listening on all interfaces (0.0.0.0:{ssh_port})\n✅ Should be accessible from network", title="[bold green]OK[/bold green]", border_style="green"))
|
|
164
|
+
else:
|
|
165
|
+
results["ssh_listening"] = {"status": "ok", "message": f"SSH is listening on port {ssh_port}", "action": ""}
|
|
166
|
+
console.print(Panel(f"✅ SSH is listening on port {ssh_port}\n\nListening on:\n" + "\n".join([f" {line.strip()}" for line in ssh_lines[:3]]), title="[bold green]OK[/bold green]", border_style="green"))
|
|
134
167
|
else:
|
|
135
168
|
results["ssh_listening"] = {"status": "error", "message": f"SSH is NOT listening on port {ssh_port}", "action": "Check if SSH service is running and configured correctly"}
|
|
136
169
|
issues_found.append(f"SSH not listening on port {ssh_port}")
|
|
@@ -206,7 +239,9 @@ def ssh_debug_linux() -> dict[str, dict[str, str | bool]]:
|
|
|
206
239
|
hosts_deny = PathExtended("/etc/hosts.deny")
|
|
207
240
|
if hosts_deny.exists():
|
|
208
241
|
hosts_deny_content = hosts_deny.read_text(encoding="utf-8")
|
|
209
|
-
|
|
242
|
+
active_lines = [line.strip() for line in hosts_deny_content.splitlines() if line.strip() and not line.strip().startswith("#")]
|
|
243
|
+
active_content_lower = " ".join(active_lines).lower()
|
|
244
|
+
if "sshd" in active_content_lower or "all" in active_content_lower:
|
|
210
245
|
results["hosts_deny"] = {"status": "error", "message": "/etc/hosts.deny may be blocking SSH connections", "action": "Review /etc/hosts.deny and remove SSH blocks"}
|
|
211
246
|
issues_found.append("/etc/hosts.deny blocking SSH")
|
|
212
247
|
console.print(Panel("❌ /etc/hosts.deny may be blocking SSH\n💡 Check: cat /etc/hosts.deny\n💡 Remove any lines blocking 'sshd' or 'ALL'", title="[bold red]Critical Issue[/bold red]", border_style="red"))
|
|
@@ -285,6 +320,30 @@ def ssh_debug_linux() -> dict[str, dict[str, str | bool]]:
|
|
|
285
320
|
results["ssh_logs"] = {"status": "warning", "message": "SSH log files not found", "action": "Check journalctl: sudo journalctl -u ssh"}
|
|
286
321
|
console.print(Panel("⚠️ SSH log files not found\n💡 Check: sudo journalctl -u ssh -n 50", title="[bold yellow]Warning[/bold yellow]", border_style="yellow"))
|
|
287
322
|
|
|
323
|
+
console.print(Panel("🧪 Testing local SSH connection...", title="[bold blue]Connection Test[/bold blue]", border_style="blue"))
|
|
324
|
+
|
|
325
|
+
try:
|
|
326
|
+
local_user = os.environ.get("USER", os.environ.get("USERNAME", "unknown"))
|
|
327
|
+
ssh_test = subprocess.run(["ssh", "-o", "ConnectTimeout=5", "-o", "StrictHostKeyChecking=no", "-o", "BatchMode=yes", f"{local_user}@localhost", "echo", "test"], capture_output=True, text=True, check=False, timeout=10)
|
|
328
|
+
|
|
329
|
+
if ssh_test.returncode == 0:
|
|
330
|
+
results["local_ssh_test"] = {"status": "ok", "message": "Local SSH connection successful", "action": ""}
|
|
331
|
+
console.print(Panel("✅ Local SSH connection works\n✅ SSH server is functional", title="[bold green]OK[/bold green]", border_style="green"))
|
|
332
|
+
else:
|
|
333
|
+
error_output = ssh_test.stderr
|
|
334
|
+
results["local_ssh_test"] = {"status": "warning", "message": f"Local SSH test failed: {error_output[:100]}", "action": "Check SSH keys and configuration"}
|
|
335
|
+
console.print(Panel(f"⚠️ Local SSH test failed\n💡 Error: {error_output[:200]}\n💡 This may be normal if key authentication is not set up for localhost", title="[bold yellow]Warning[/bold yellow]", border_style="yellow"))
|
|
336
|
+
except subprocess.TimeoutExpired:
|
|
337
|
+
results["local_ssh_test"] = {"status": "error", "message": "Local SSH connection timed out", "action": "SSH may be hanging or not responding"}
|
|
338
|
+
issues_found.append("SSH connection timeout")
|
|
339
|
+
console.print(Panel("❌ Local SSH connection timed out\n💡 SSH server may not be responding\n💡 Check: sudo systemctl status ssh", title="[bold red]Critical Issue[/bold red]", border_style="red"))
|
|
340
|
+
except FileNotFoundError:
|
|
341
|
+
results["local_ssh_test"] = {"status": "warning", "message": "ssh client not found", "action": "Install SSH client"}
|
|
342
|
+
console.print(Panel("⚠️ SSH client not installed\n💡 Install: sudo apt install openssh-client", title="[bold yellow]Warning[/bold yellow]", border_style="yellow"))
|
|
343
|
+
except Exception as test_error:
|
|
344
|
+
results["local_ssh_test"] = {"status": "warning", "message": f"Could not test SSH: {str(test_error)}", "action": ""}
|
|
345
|
+
console.print(Panel(f"⚠️ Could not test SSH connection: {str(test_error)}", title="[bold yellow]Warning[/bold yellow]", border_style="yellow"))
|
|
346
|
+
|
|
288
347
|
console.print(Panel("📊 DIAGNOSTIC SUMMARY", box=box.DOUBLE_EDGE, title_align="left"))
|
|
289
348
|
|
|
290
349
|
if issues_found:
|
|
@@ -292,6 +351,39 @@ def ssh_debug_linux() -> dict[str, dict[str, str | bool]]:
|
|
|
292
351
|
else:
|
|
293
352
|
console.print(Panel("✅ No critical issues detected\n\nIf you still cannot connect:\n• Check client-side configuration\n• Verify network connectivity\n• Ensure correct username and hostname\n• Check if public key is correctly added to authorized_keys", title="[bold green]All Checks Passed[/bold green]", border_style="green"))
|
|
294
353
|
|
|
354
|
+
console.print(Panel("🔗 CONNECTION INFORMATION", box=box.DOUBLE_EDGE, title_align="left"))
|
|
355
|
+
|
|
356
|
+
try:
|
|
357
|
+
current_user = os.environ.get("USER", os.environ.get("USERNAME", "unknown"))
|
|
358
|
+
hostname_result = subprocess.run(["hostname"], capture_output=True, text=True, check=False)
|
|
359
|
+
hostname = hostname_result.stdout.strip() if hostname_result.returncode == 0 else "unknown"
|
|
360
|
+
|
|
361
|
+
ip_addr_result = subprocess.run(["ip", "addr", "show"], capture_output=True, text=True, check=False)
|
|
362
|
+
connection_ips: list[str] = []
|
|
363
|
+
if ip_addr_result.returncode == 0:
|
|
364
|
+
import re
|
|
365
|
+
inet_pattern = re.compile(r'inet\s+(\d+\.\d+\.\d+\.\d+)/\d+.*scope\s+global')
|
|
366
|
+
connection_ips = inet_pattern.findall(ip_addr_result.stdout)
|
|
367
|
+
|
|
368
|
+
connection_info = f"👤 Username: {current_user}\n🖥️ Hostname: {hostname}\n🔌 SSH Port: {ssh_port}\n"
|
|
369
|
+
|
|
370
|
+
if connection_ips:
|
|
371
|
+
connection_info += "\n🌐 This machine can be accessed via SSH from other machines on the same network using:\n\n"
|
|
372
|
+
for ip in connection_ips:
|
|
373
|
+
connection_info += f" ssh {current_user}@{ip}\n"
|
|
374
|
+
if ssh_port != "22":
|
|
375
|
+
connection_info += f"\n (Port {ssh_port} should be used: ssh -p {ssh_port} {current_user}@<IP>)\n"
|
|
376
|
+
else:
|
|
377
|
+
connection_info += "\n⚠️ No network IP addresses found - this machine may not be reachable from the network"
|
|
378
|
+
|
|
379
|
+
connection_info += "\n\n💡 From another machine on the same network, use one of the commands above"
|
|
380
|
+
connection_info += "\n💡 Ensure your public key is in ~/.ssh/authorized_keys on this machine"
|
|
381
|
+
connection_info += "\n💡 Or use password authentication if enabled in sshd_config"
|
|
382
|
+
|
|
383
|
+
console.print(Panel(connection_info, title="[bold cyan]SSH Connection Details[/bold cyan]", border_style="cyan"))
|
|
384
|
+
except Exception as conn_error:
|
|
385
|
+
console.print(Panel(f"⚠️ Could not gather connection information: {str(conn_error)}", title="[bold yellow]Connection Info[/bold yellow]", border_style="yellow"))
|
|
386
|
+
|
|
295
387
|
return results
|
|
296
388
|
|
|
297
389
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from typing import Optional, Any, Union
|
|
1
|
+
from typing import Callable, Optional, Any, Union
|
|
2
2
|
import os
|
|
3
3
|
from pathlib import Path
|
|
4
4
|
import rich.console
|
|
@@ -6,7 +6,7 @@ from machineconfig.utils.terminal import Response, MACHINE
|
|
|
6
6
|
from machineconfig.utils.accessories import pprint
|
|
7
7
|
|
|
8
8
|
UV_RUN_CMD = "$HOME/.local/bin/uv run"
|
|
9
|
-
MACHINECONFIG_VERSION = "
|
|
9
|
+
MACHINECONFIG_VERSION = "machineconfig>=5.74"
|
|
10
10
|
DEFAULT_PICKLE_SUBDIR = "tmp_results/tmp_scripts/ssh"
|
|
11
11
|
|
|
12
12
|
|
|
@@ -186,15 +186,32 @@ class SSH:
|
|
|
186
186
|
res.capture().print_if_unsuccessful(desc=description, strict_err=strict_stderr, strict_returncode=strict_return_code, assert_success=False)
|
|
187
187
|
self.terminal_responses.append(res)
|
|
188
188
|
return res
|
|
189
|
-
def run_py(self, python_code: str,
|
|
189
|
+
def run_py(self, python_code: str, dependencies: list[str], venv_path: Optional[str],
|
|
190
|
+
description: str, verbose_output: bool, strict_stderr: bool, strict_return_code: bool) -> Response:
|
|
190
191
|
from machineconfig.utils.accessories import randstr
|
|
191
192
|
cmd_path = Path.home().joinpath(f"{DEFAULT_PICKLE_SUBDIR}/runpy_{randstr()}.py")
|
|
192
193
|
cmd_path.parent.mkdir(parents=True, exist_ok=True)
|
|
193
194
|
cmd_path.write_text(python_code, encoding="utf-8")
|
|
194
195
|
self.copy_from_here(source_path=cmd_path, target_path=None, compress_with_zip=False, recursive=False, overwrite_existing=False)
|
|
195
|
-
|
|
196
|
+
if len(dependencies) > 0:
|
|
197
|
+
with_clause = " --with " + '"', ",".join(dependencies) + '"'
|
|
198
|
+
else:
|
|
199
|
+
with_clause = ""
|
|
200
|
+
uv_cmd = f"""{UV_RUN_CMD} {with_clause} python {cmd_path.relative_to(Path.home())}"""
|
|
201
|
+
if venv_path is not None:
|
|
202
|
+
if self.get_remote_machine() == "Windows":
|
|
203
|
+
venv_export = f"$env:UV_PROJECT_ENVIRONMENT='{venv_path}';"
|
|
204
|
+
uv_cmd = venv_export + uv_cmd
|
|
205
|
+
else:
|
|
206
|
+
venv_export = f"UV_PROJECT_ENVIRONMENT={venv_path}"
|
|
207
|
+
uv_cmd = venv_export + " " + uv_cmd
|
|
196
208
|
return self.run_shell(command=uv_cmd, verbose_output=verbose_output, description=description or f"run_py on {self.get_remote_repr(add_machine=False)}", strict_stderr=strict_stderr, strict_return_code=strict_return_code)
|
|
197
209
|
|
|
210
|
+
def run_py_func(self, func: Callable[..., Any], dependencies: list[str], venv_path: Optional[str]) -> Response:
|
|
211
|
+
from machineconfig.utils.meta import function_to_script
|
|
212
|
+
command = function_to_script(func=func, call_with_kwargs={})
|
|
213
|
+
return self.run_py(python_code=command, dependencies=dependencies, venv_path=venv_path, description=f"run_py_func {func.__name__} on {self.get_remote_repr(add_machine=False)}", verbose_output=True, strict_stderr=True, strict_return_code=True)
|
|
214
|
+
|
|
198
215
|
def _simple_sftp_get(self, remote_path: str, local_path: Path) -> None:
|
|
199
216
|
"""Simple SFTP get without any recursion or path expansion - for internal use only."""
|
|
200
217
|
if self.sftp is None:
|
|
@@ -225,7 +242,7 @@ class SSH:
|
|
|
225
242
|
from machineconfig.utils.accessories import randstr
|
|
226
243
|
remote_json_output = Path.home().joinpath(f"{DEFAULT_PICKLE_SUBDIR}/return_{randstr()}.json").as_posix()
|
|
227
244
|
command = function_to_script(func=create_target_dir, call_with_kwargs={"target_dir_path": Path(target_path).as_posix(), "overwrite": overwrite_existing, "json_output_path": remote_json_output})
|
|
228
|
-
response = self.run_py(python_code=command, description=f"Creating target directory `{Path(target_path).parent.as_posix()}` @ {self.get_remote_repr(add_machine=False)}", verbose_output=False, strict_stderr=False, strict_return_code=False)
|
|
245
|
+
response = self.run_py(python_code=command, dependencies=[MACHINECONFIG_VERSION], venv_path=None, description=f"Creating target directory `{Path(target_path).parent.as_posix()}` @ {self.get_remote_repr(add_machine=False)}", verbose_output=False, strict_stderr=False, strict_return_code=False)
|
|
229
246
|
remote_json_path = response.op.strip()
|
|
230
247
|
if not remote_json_path:
|
|
231
248
|
raise RuntimeError(f"Failed to create target directory {target_path} - no response from remote")
|
|
@@ -308,7 +325,7 @@ class SSH:
|
|
|
308
325
|
archive_path.unlink()
|
|
309
326
|
from machineconfig.utils.meta import function_to_script
|
|
310
327
|
command = function_to_script(func=unzip_archive, call_with_kwargs={"zip_file_path": remotepath.as_posix(), "overwrite_flag": overwrite_existing})
|
|
311
|
-
_resp = self.run_py(python_code=command, description=f"UNZIPPING {remotepath.as_posix()}", verbose_output=False, strict_stderr=True, strict_return_code=True)
|
|
328
|
+
_resp = self.run_py(python_code=command, dependencies=[MACHINECONFIG_VERSION], venv_path=None, description=f"UNZIPPING {remotepath.as_posix()}", verbose_output=False, strict_stderr=True, strict_return_code=True)
|
|
312
329
|
source_obj.unlink()
|
|
313
330
|
print("\n")
|
|
314
331
|
return source_obj
|
|
@@ -329,7 +346,7 @@ class SSH:
|
|
|
329
346
|
from machineconfig.utils.accessories import randstr
|
|
330
347
|
remote_json_output = Path.home().joinpath(f"{DEFAULT_PICKLE_SUBDIR}/return_{randstr()}.json").as_posix()
|
|
331
348
|
command = function_to_script(func=check_is_dir, call_with_kwargs={"path_to_check": str(source_path), "json_output_path": remote_json_output})
|
|
332
|
-
response = self.run_py(python_code=command, description=f"Check if source `{source_path}` is a dir", verbose_output=False, strict_stderr=False, strict_return_code=False)
|
|
349
|
+
response = self.run_py(python_code=command, dependencies=[MACHINECONFIG_VERSION], venv_path=None, description=f"Check if source `{source_path}` is a dir", verbose_output=False, strict_stderr=False, strict_return_code=False)
|
|
333
350
|
remote_json_path = response.op.strip()
|
|
334
351
|
if not remote_json_path:
|
|
335
352
|
raise RuntimeError(f"Failed to check if {source_path} is directory - no response from remote")
|
|
@@ -363,7 +380,7 @@ class SSH:
|
|
|
363
380
|
from machineconfig.utils.accessories import randstr
|
|
364
381
|
remote_json_output = Path.home().joinpath(f"{DEFAULT_PICKLE_SUBDIR}/return_{randstr()}.json").as_posix()
|
|
365
382
|
command = function_to_script(func=expand_source, call_with_kwargs={"path_to_expand": str(source_path), "json_output_path": remote_json_output})
|
|
366
|
-
response = self.run_py(python_code=command, description="Resolving source path by expanding user", verbose_output=False, strict_stderr=False, strict_return_code=False)
|
|
383
|
+
response = self.run_py(python_code=command, dependencies=[MACHINECONFIG_VERSION], venv_path=None, description="Resolving source path by expanding user", verbose_output=False, strict_stderr=False, strict_return_code=False)
|
|
367
384
|
remote_json_path = response.op.strip()
|
|
368
385
|
if not remote_json_path:
|
|
369
386
|
raise RuntimeError(f"Could not resolve source path {source_path} - no response from remote")
|
|
@@ -412,7 +429,7 @@ class SSH:
|
|
|
412
429
|
from machineconfig.utils.accessories import randstr
|
|
413
430
|
remote_json_output = Path.home().joinpath(f"{DEFAULT_PICKLE_SUBDIR}/return_{randstr()}.json").as_posix()
|
|
414
431
|
command = function_to_script(func=search_files, call_with_kwargs={"directory_path": expanded_source, "json_output_path": remote_json_output})
|
|
415
|
-
response = self.run_py(python_code=command, description="Searching for files in source", verbose_output=False, strict_stderr=False, strict_return_code=False)
|
|
432
|
+
response = self.run_py(python_code=command, dependencies=[MACHINECONFIG_VERSION], venv_path=None, description="Searching for files in source", verbose_output=False, strict_stderr=False, strict_return_code=False)
|
|
416
433
|
remote_json_path = response.op.strip()
|
|
417
434
|
if not remote_json_path:
|
|
418
435
|
raise RuntimeError(f"Could not resolve source path {source} - no response from remote")
|
|
@@ -450,7 +467,7 @@ class SSH:
|
|
|
450
467
|
from machineconfig.utils.accessories import randstr
|
|
451
468
|
remote_json_output = Path.home().joinpath(f"{DEFAULT_PICKLE_SUBDIR}/return_{randstr()}.json").as_posix()
|
|
452
469
|
command = function_to_script(func=collapse_to_home_dir, call_with_kwargs={"absolute_path": expanded_source, "json_output_path": remote_json_output})
|
|
453
|
-
response = self.run_py(python_code=command, description="Finding default target via relative source path", verbose_output=False, strict_stderr=False, strict_return_code=False)
|
|
470
|
+
response = self.run_py(python_code=command, dependencies=[MACHINECONFIG_VERSION], venv_path=None, description="Finding default target via relative source path", verbose_output=False, strict_stderr=False, strict_return_code=False)
|
|
454
471
|
remote_json_path_dir = response.op.strip()
|
|
455
472
|
if not remote_json_path_dir:
|
|
456
473
|
raise RuntimeError("Could not resolve target path - no response from remote")
|
|
@@ -502,7 +519,7 @@ class SSH:
|
|
|
502
519
|
from machineconfig.utils.accessories import randstr
|
|
503
520
|
remote_json_output = Path.home().joinpath(f"{DEFAULT_PICKLE_SUBDIR}/return_{randstr()}.json").as_posix()
|
|
504
521
|
command = function_to_script(func=zip_source, call_with_kwargs={"path_to_zip": expanded_source, "json_output_path": remote_json_output})
|
|
505
|
-
response = self.run_py(python_code=command, description=f"Zipping source file {source}", verbose_output=False, strict_stderr=False, strict_return_code=False)
|
|
522
|
+
response = self.run_py(python_code=command, dependencies=[MACHINECONFIG_VERSION], venv_path=None, description=f"Zipping source file {source}", verbose_output=False, strict_stderr=False, strict_return_code=False)
|
|
506
523
|
remote_json_path = response.op.strip()
|
|
507
524
|
if not remote_json_path:
|
|
508
525
|
raise RuntimeError(f"Could not zip {source} - no response from remote")
|
|
@@ -541,7 +558,7 @@ class SSH:
|
|
|
541
558
|
from machineconfig.utils.accessories import randstr
|
|
542
559
|
remote_json_output = Path.home().joinpath(f"{DEFAULT_PICKLE_SUBDIR}/return_{randstr()}.json").as_posix()
|
|
543
560
|
command = function_to_script(func=collapse_to_home, call_with_kwargs={"absolute_path": expanded_source, "json_output_path": remote_json_output})
|
|
544
|
-
response = self.run_py(python_code=command, description="Finding default target via relative source path", verbose_output=False, strict_stderr=False, strict_return_code=False)
|
|
561
|
+
response = self.run_py(python_code=command, dependencies=[MACHINECONFIG_VERSION], venv_path=None, description="Finding default target via relative source path", verbose_output=False, strict_stderr=False, strict_return_code=False)
|
|
545
562
|
remote_json_path = response.op.strip()
|
|
546
563
|
if not remote_json_path:
|
|
547
564
|
raise RuntimeError("Could not resolve target path - no response from remote")
|
|
@@ -597,7 +614,7 @@ class SSH:
|
|
|
597
614
|
|
|
598
615
|
from machineconfig.utils.meta import function_to_script
|
|
599
616
|
command = function_to_script(func=delete_temp_zip, call_with_kwargs={"path_to_delete": expanded_source})
|
|
600
|
-
self.run_py(python_code=command, description="Cleaning temp zip files @ remote.", verbose_output=False, strict_stderr=True, strict_return_code=True)
|
|
617
|
+
self.run_py(python_code=command, dependencies=[MACHINECONFIG_VERSION], venv_path=None, description="Cleaning temp zip files @ remote.", verbose_output=False, strict_stderr=True, strict_return_code=True)
|
|
601
618
|
|
|
602
619
|
print("\n")
|
|
603
620
|
return target_obj
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from typing import Callable, ParamSpec, TypeVar, Any, Dict
|
|
2
|
+
|
|
3
|
+
P = ParamSpec('P')
|
|
4
|
+
R = TypeVar('R')
|
|
5
|
+
|
|
6
|
+
def typed_function(func: Callable[P, R], signature_dict: Dict[str, Any]) -> Callable[P, R]:
|
|
7
|
+
"""
|
|
8
|
+
Returns the function with its signature preserved using ParamSpec.
|
|
9
|
+
|
|
10
|
+
The signature_dict is passed for potential future use or documentation,
|
|
11
|
+
but is not currently used in the implementation.
|
|
12
|
+
|
|
13
|
+
Args:
|
|
14
|
+
func: The function whose signature is to be preserved.
|
|
15
|
+
signature_dict: A dictionary describing the function's signature (not used).
|
|
16
|
+
|
|
17
|
+
Returns:
|
|
18
|
+
The original function, typed with ParamSpec to preserve its signature.
|
|
19
|
+
"""
|
|
20
|
+
return func
|
|
@@ -407,6 +407,7 @@ src/machineconfig/utils/scheduling.py
|
|
|
407
407
|
src/machineconfig/utils/source_of_truth.py
|
|
408
408
|
src/machineconfig/utils/ssh.py
|
|
409
409
|
src/machineconfig/utils/terminal.py
|
|
410
|
+
src/machineconfig/utils/tst.py
|
|
410
411
|
src/machineconfig/utils/upgrade_packages.py
|
|
411
412
|
src/machineconfig/utils/ve.py
|
|
412
413
|
src/machineconfig/utils/ai/__init__.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/remote/remote_machine.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/remote/script_execution.py
RENAMED
|
File without changes
|
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/wt_local.py
RENAMED
|
File without changes
|
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/cluster/sessions_managers/wt_remote.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/check_installations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/__init__.py
RENAMED
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/alacritty.py
RENAMED
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/brave.py
RENAMED
|
File without changes
|
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/code.py
RENAMED
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/cursor.py
RENAMED
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/dubdb_adbc.py
RENAMED
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/espanso.py
RENAMED
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/goes.py
RENAMED
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/lvim.py
RENAMED
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/nerdfont.py
RENAMED
|
File without changes
|
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/redis.py
RENAMED
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/wezterm.py
RENAMED
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/custom_dev/winget.py
RENAMED
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/installer_data.json
RENAMED
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/linux_scripts/brave.sh
RENAMED
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/linux_scripts/docker.sh
RENAMED
|
File without changes
|
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/linux_scripts/edge.sh
RENAMED
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/linux_scripts/nerdfont.sh
RENAMED
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/linux_scripts/ngrok.sh
RENAMED
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/linux_scripts/pgsql.sh
RENAMED
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/linux_scripts/q.sh
RENAMED
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/linux_scripts/redis.sh
RENAMED
|
File without changes
|
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/linux_scripts/vscode.sh
RENAMED
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/linux_scripts/warp-cli.sh
RENAMED
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/linux_scripts/wezterm.sh
RENAMED
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/installer/package_groups.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{machineconfig-5.81 → machineconfig-5.83}/src/machineconfig/jobs/python/python_ve_symlink.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|