machineconfig 5.19__tar.gz → 5.20__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.19/src/machineconfig.egg-info → machineconfig-5.20}/PKG-INFO +1 -1
- {machineconfig-5.19 → machineconfig-5.20}/pyproject.toml +1 -1
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/profile/create.py +84 -66
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/devops.py +18 -8
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/interactive.py +11 -13
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/repos.py +10 -10
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/links.py +137 -101
- {machineconfig-5.19 → machineconfig-5.20/src/machineconfig.egg-info}/PKG-INFO +1 -1
- {machineconfig-5.19 → machineconfig-5.20}/MANIFEST.in +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/README.md +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/setup.cfg +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/__init__.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/__init__.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/remote/distribute.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/remote/file_manager.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/remote/job_params.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/remote/run_cloud.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/remote/run_cluster.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/remote/run_remote.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/remote/script_execution.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/sessions_managers/ffile.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/sessions_managers/utils/enhanced_command_runner.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/sessions_managers/utils/load_balancer.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/sessions_managers/utils/load_balancer_helper.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/sessions_managers/wt_local.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/sessions_managers/zellij_local.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/templates/__init__.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/__init__.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/__init__.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/custom/gh.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/custom/hx.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/custom_dev/__init__.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/custom_dev/alacritty.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/custom_dev/brave.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/custom_dev/bypass_paywall.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/custom_dev/code.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/custom_dev/cursor.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/custom_dev/espanso.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/custom_dev/goes.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/custom_dev/lvim.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/custom_dev/nerdfont.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/custom_dev/redis.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/custom_dev/wezterm.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/custom_dev/winget.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/installer_data.json +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/linux_scripts/brave.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/linux_scripts/docker.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/linux_scripts/docker_start.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/linux_scripts/edge.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/linux_scripts/nerdfont.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/linux_scripts/ngrok.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/linux_scripts/q.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/linux_scripts/redis.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/linux_scripts/vscode.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/linux_scripts/warp-cli.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/linux_scripts/wezterm.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/package_groups.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/linux/msc/cli_agents.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/linux/msc/lid.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/linux/msc/network.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/python/__init__.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/python/check_installations.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/python/python_ve_symlink.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/python/vscode/api.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/python/vscode/sync_code.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/windows/archive/openssh-server_add_key.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/windows/archive/openssh-server_copy-ssh-id.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/windows/msc/cli_agents.bat +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/windows/msc/cli_agents.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/windows/start_terminal.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/jobs/windows/startup_file.cmd +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/logger.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/profile/__init__.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/profile/create_frontend.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/profile/records/generic/shares.toml +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/profile/shell.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/__init__.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/cloud/init.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/agents +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/choose_wezterm_theme +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/cloud_copy +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/cloud_mount +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/cloud_repo_sync +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/cloud_sync +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/croshell +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/devops +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/fire +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/ftpx +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/fzf2g +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/fzfag +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/fzffg +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/fzfg +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/fzfrga +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/gh_models +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/initai +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/kill_process +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/mount_drive +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/mount_nfs +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/mount_nw_drive +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/mount_smb +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/scheduler +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/sessions +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/share_cloud.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/share_nfs +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/share_smb +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/skrg +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/start_docker +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/start_slidev +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/start_terminals +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/switch_ip +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/warp-cli.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/wifi_conn +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/linux/z_ls +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/__init__.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/agents.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/initai.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/solutions/__init__.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/solutions/_shared.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/solutions/claude/claude.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/solutions/cline/cline.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/solutions/copilot/privacy.md +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/allLintersAndTypeCheckers.prompt.md +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/solutions/crush/crush.json +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/solutions/crush/crush.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/solutions/crush/privacy.md +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/solutions/cursor/cursors.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/solutions/gemini/gemini.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/solutions/gemini/settings.json +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/solutions/generic.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/choose_wezterm_theme.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/cloud_copy.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/cloud_manager.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/cloud_mount.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/cloud_repo_sync.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/cloud_sync.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/count_lines.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/count_lines_frontend.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/croshell.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/devops_add_identity.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/devops_add_ssh_key.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/devops_backup_retrieve.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/devops_update_repos.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/dotfile.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/fire_agents_help_launch.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/fire_agents_help_search.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/fire_agents_helper_types.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/fire_agents_load_balancer.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/fire_jobs.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/fire_jobs_args_helper.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/fire_jobs_route_helper.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/fire_jobs_streamlit_helper.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/ftpx.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/get_zellij_cmd.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/gh_models.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/helpers/__init__.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/helpers/cloud_helpers.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/helpers/helpers2.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/helpers/helpers4.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/helpers/helpers5.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/helpers/repo_sync_helpers.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/mount_nfs.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/mount_nw_drive.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/mount_ssh.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/onetimeshare.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/pomodoro.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/repos_helper.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/repos_helper_action.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/repos_helper_clone.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/repos_helper_record.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/repos_helper_update.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/scheduler.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/sessions.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/share_terminal.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/snapshot.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/start_slidev.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/start_terminals.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/t4.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/viewer.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/viewer_template.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/wifi_conn.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/python/wsl_windows_transfer.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/agents.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/choose_wezterm_theme.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/cloud_copy.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/cloud_mount.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/cloud_repo_sync.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/cloud_sync.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/croshell.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/devops.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/fire.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/ftpx.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/gpt.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/grep.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/initai.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/kill_process.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/mount_nfs.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/mount_nw.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/mount_smb.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/mount_ssh.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/nano.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/pomodoro.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/reload_path.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/scheduler.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/sessions.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/share_cloud.cmd +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/share_nfs.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/share_smb.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/snapshot.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/start_slidev.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/start_terminals.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/unlock_bitlocker.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/wifi_conn.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/wsl_rdp_windows_port_forwarding.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/scripts/windows/wsl_ssh_windows_port_forwarding.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/__init__.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/broot/br.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/broot/conf.toml +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/glow/glow.yml +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/helix/config.toml +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/helix/languages.toml +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/keras/keras.json +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/linux/colors +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/linux/exe/previewer.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/linux/icons +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/linux/lfrc +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/windows/colors +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/windows/icons +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/windows/lfrc +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/linters/.flake8 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/linters/.mypy.ini +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/linters/.pylintrc +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/linters/.ruff.toml +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/mprocs/windows/other +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/pistol/pistol.conf +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/presenterm/config.yaml +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/procs/.procs.toml +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/rofi/config.rasi +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/shells/bash/init.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/shells/pwsh/init.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/shells/wt/settings.json +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/streamlit/config.toml +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/svim/linux/init.toml +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/svim/windows/init.toml +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/tere/terecd.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/wsl/.wslconfig +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/yazi/keymap.toml +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/yazi/theme.toml +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/yazi/yazi.toml +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/zed/settings.json +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/zellij/commands/monitor +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/zellij/config.kdl +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/zellij/layouts/hist +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_linux/__init__.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_linux/apps.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_linux/apps_desktop.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_linux/apps_gui.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_linux/nix/cli_installation.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_linux/repos.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_linux/ssh/openssh_all.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_linux/ssh/openssh_wsl.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_linux/ve.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_linux/web_shortcuts/android.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_windows/__init__.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_windows/apps.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_windows/others/power_options.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_windows/repos.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_windows/ssh/openssh-server.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_windows/ssh/openssh-server_add-sshkey.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_windows/ssh/openssh-server_add_identity.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_windows/ssh/openssh_all.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_windows/ve.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/__init__.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/accessories.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/ai/__init__.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/ai/generate_file_checklist.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/code.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/files/ascii_art.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/files/dbms.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/files/headers.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/files/read.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/installer.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/installer_utils/__init__.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/installer_utils/github_release_bulk.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/installer_utils/installer.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/installer_utils/installer_abc.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/installer_utils/installer_class.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/io.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/notifications.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/options.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/path_extended.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/path_helper.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/procs.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/scheduler.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/scheduling.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/schemas/installer/installer_types.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/schemas/layouts/layout_types.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/source_of_truth.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/ssh.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/terminal.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/upgrade_packages.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig/utils/ve.py +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig.egg-info/SOURCES.txt +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig.egg-info/dependency_links.txt +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig.egg-info/entry_points.txt +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig.egg-info/requires.txt +0 -0
- {machineconfig-5.19 → machineconfig-5.20}/src/machineconfig.egg-info/top_level.txt +0 -0
|
@@ -4,6 +4,7 @@ This script Takes away all config files from the computer, place them in one dir
|
|
|
4
4
|
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
|
+
from machineconfig.utils.links import OperationRecord
|
|
7
8
|
from rich.console import Console
|
|
8
9
|
from rich.panel import Panel
|
|
9
10
|
from rich.pretty import Pretty
|
|
@@ -12,7 +13,7 @@ from rich.table import Table
|
|
|
12
13
|
|
|
13
14
|
from machineconfig.utils.path_extended import PathExtended
|
|
14
15
|
from machineconfig.utils.links import symlink_map, copy_map
|
|
15
|
-
from machineconfig.utils.source_of_truth import LIBRARY_ROOT
|
|
16
|
+
from machineconfig.utils.source_of_truth import LIBRARY_ROOT, CONFIG_PATH
|
|
16
17
|
|
|
17
18
|
import platform
|
|
18
19
|
import subprocess
|
|
@@ -40,7 +41,6 @@ class Base(TypedDict):
|
|
|
40
41
|
to_this: str
|
|
41
42
|
contents: Optional[bool]
|
|
42
43
|
copy: Optional[bool]
|
|
43
|
-
|
|
44
44
|
class ConfigMapper(TypedDict):
|
|
45
45
|
file_name: str
|
|
46
46
|
config_file_default_path: str
|
|
@@ -74,31 +74,6 @@ def read_mapper() -> MapperFileData:
|
|
|
74
74
|
return {"public": public, "private": private}
|
|
75
75
|
|
|
76
76
|
|
|
77
|
-
class OperationRecord(TypedDict):
|
|
78
|
-
program: str
|
|
79
|
-
file_key: str
|
|
80
|
-
source: str
|
|
81
|
-
target: str
|
|
82
|
-
operation: str
|
|
83
|
-
action: Literal[
|
|
84
|
-
"already_linked",
|
|
85
|
-
"relinking",
|
|
86
|
-
"fixing_broken_link",
|
|
87
|
-
"identical_files",
|
|
88
|
-
"backing_up_source",
|
|
89
|
-
"backing_up_target",
|
|
90
|
-
"relinking_to_new_target",
|
|
91
|
-
"moving_to_target",
|
|
92
|
-
"new_link",
|
|
93
|
-
"new_link_and_target",
|
|
94
|
-
"linking",
|
|
95
|
-
"copying",
|
|
96
|
-
"error"
|
|
97
|
-
]
|
|
98
|
-
details: str
|
|
99
|
-
status: str
|
|
100
|
-
|
|
101
|
-
|
|
102
77
|
def apply_mapper(mapper_data: dict[str, list[ConfigMapper]],
|
|
103
78
|
on_conflict: Literal["throwError", "overwriteSelfManaged", "backupSelfManaged", "overwriteDefaultPath", "backupDefaultPath"],
|
|
104
79
|
method: Literal["symlink", "copy"]
|
|
@@ -135,80 +110,104 @@ def apply_mapper(mapper_data: dict[str, list[ConfigMapper]],
|
|
|
135
110
|
self_managed_config_file_path = PathExtended(a_mapper["self_managed_config_file_path"].replace("LIBRARY_ROOT", LIBRARY_ROOT.as_posix()))
|
|
136
111
|
|
|
137
112
|
# Determine whether to use copy or symlink
|
|
138
|
-
use_copy = method == "copy" or "copy"
|
|
113
|
+
use_copy = method == "copy" or a_mapper.get("copy", False)
|
|
139
114
|
|
|
140
115
|
if "contents" in a_mapper:
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
116
|
+
targets = list(self_managed_config_file_path.expanduser().search("*"))
|
|
117
|
+
for a_target in targets:
|
|
118
|
+
operation_type = "contents_copy" if use_copy else "contents_symlink"
|
|
119
|
+
try:
|
|
144
120
|
if use_copy:
|
|
145
121
|
result = copy_map(config_file_default_path=config_file_default_path.joinpath(a_target.name), self_managed_config_file_path=a_target, on_conflict=on_conflict)
|
|
146
|
-
operation_type = "contents_copy"
|
|
147
122
|
else:
|
|
148
123
|
result = symlink_map(config_file_default_path=config_file_default_path.joinpath(a_target.name), self_managed_config_file_path=a_target, on_conflict=on_conflict)
|
|
149
|
-
operation_type = "contents_symlink"
|
|
150
124
|
operation_records.append({
|
|
151
125
|
"program": program_name,
|
|
152
126
|
"file_key": a_mapper["file_name"],
|
|
153
|
-
"
|
|
154
|
-
"
|
|
127
|
+
"defaultPath": str(config_file_default_path.joinpath(a_target.name)),
|
|
128
|
+
"selfManaged": str(a_target),
|
|
155
129
|
"operation": operation_type,
|
|
156
130
|
"action": result["action"],
|
|
157
131
|
"details": result["details"],
|
|
158
132
|
"status": "success"
|
|
159
133
|
})
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
134
|
+
except ValueError as ex:
|
|
135
|
+
if "resolve to the same location" in str(ex):
|
|
136
|
+
operation_records.append({
|
|
137
|
+
"program": program_name,
|
|
138
|
+
"file_key": a_mapper["file_name"],
|
|
139
|
+
"defaultPath": str(config_file_default_path.joinpath(a_target.name)),
|
|
140
|
+
"selfManaged": str(a_target),
|
|
141
|
+
"operation": operation_type,
|
|
142
|
+
"action": "already_linked",
|
|
143
|
+
"details": "defaultPath and selfManaged resolve to same location - already correctly configured",
|
|
144
|
+
"status": "success"
|
|
145
|
+
})
|
|
146
|
+
else:
|
|
147
|
+
raise
|
|
148
|
+
except Exception as ex:
|
|
149
|
+
console.print(f"❌ [red]Config error[/red]: {program_name} | {a_mapper['file_name']} | {a_target.name}. {ex}")
|
|
150
|
+
operation_records.append({
|
|
151
|
+
"program": program_name,
|
|
152
|
+
"file_key": a_mapper["file_name"],
|
|
153
|
+
"defaultPath": str(config_file_default_path.joinpath(a_target.name)),
|
|
154
|
+
"selfManaged": str(a_target),
|
|
155
|
+
"operation": operation_type,
|
|
156
|
+
"action": "error",
|
|
157
|
+
"details": f"Failed to process contents: {str(ex)}",
|
|
158
|
+
"status": f"error: {str(ex)}"
|
|
159
|
+
})
|
|
172
160
|
else:
|
|
161
|
+
operation_type = "copy" if use_copy else "symlink"
|
|
173
162
|
try:
|
|
174
163
|
if use_copy:
|
|
175
164
|
result = copy_map(config_file_default_path=config_file_default_path, self_managed_config_file_path=self_managed_config_file_path, on_conflict=on_conflict)
|
|
176
|
-
operation_type = "copy"
|
|
177
165
|
else:
|
|
178
166
|
result = symlink_map(config_file_default_path=config_file_default_path, self_managed_config_file_path=self_managed_config_file_path, on_conflict=on_conflict)
|
|
179
|
-
operation_type = "symlink"
|
|
180
167
|
operation_records.append({
|
|
181
168
|
"program": program_name,
|
|
182
169
|
"file_key": a_mapper["file_name"],
|
|
183
|
-
"
|
|
184
|
-
"
|
|
170
|
+
"defaultPath": str(config_file_default_path),
|
|
171
|
+
"selfManaged": str(self_managed_config_file_path),
|
|
185
172
|
"operation": operation_type,
|
|
186
173
|
"action": result["action"],
|
|
187
174
|
"details": result["details"],
|
|
188
175
|
"status": "success"
|
|
189
176
|
})
|
|
177
|
+
except ValueError as ex:
|
|
178
|
+
if "resolve to the same location" in str(ex):
|
|
179
|
+
operation_records.append({
|
|
180
|
+
"program": program_name,
|
|
181
|
+
"file_key": a_mapper["file_name"],
|
|
182
|
+
"defaultPath": str(config_file_default_path),
|
|
183
|
+
"selfManaged": str(self_managed_config_file_path),
|
|
184
|
+
"operation": operation_type,
|
|
185
|
+
"action": "already_linked",
|
|
186
|
+
"details": "defaultPath and selfManaged resolve to same location - already correctly configured",
|
|
187
|
+
"status": "success"
|
|
188
|
+
})
|
|
189
|
+
else:
|
|
190
|
+
raise
|
|
190
191
|
except Exception as ex:
|
|
191
|
-
console.print(f"❌ [red]Config error[/red]: {program_name} | {a_mapper['file_name']} |
|
|
192
|
+
console.print(f"❌ [red]Config error[/red]: {program_name} | {a_mapper['file_name']} | {ex}")
|
|
192
193
|
operation_records.append({
|
|
193
194
|
"program": program_name,
|
|
194
195
|
"file_key": a_mapper["file_name"],
|
|
195
|
-
"
|
|
196
|
-
"
|
|
197
|
-
"operation":
|
|
196
|
+
"defaultPath": str(config_file_default_path),
|
|
197
|
+
"selfManaged": str(self_managed_config_file_path),
|
|
198
|
+
"operation": operation_type,
|
|
198
199
|
"action": "error",
|
|
199
|
-
"details": f"Failed to create {
|
|
200
|
+
"details": f"Failed to create {operation_type}: {str(ex)}",
|
|
200
201
|
"status": f"error: {str(ex)}"
|
|
201
202
|
})
|
|
202
203
|
|
|
203
204
|
if program_name == "ssh" and system == "Linux": # permissions of ~/dotfiles/.ssh should be adjusted
|
|
204
205
|
try:
|
|
205
206
|
console.print("\n[bold]🔒 Setting secure permissions for SSH files...[/bold]")
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
subprocess.run("chmod
|
|
210
|
-
subprocess.run("chmod 700 ~/dotfiles/creds/.ssh/", check=True) # may require sudo
|
|
211
|
-
subprocess.run("chmod 600 ~/dotfiles/creds/.ssh/*", check=True)
|
|
207
|
+
subprocess.run("chmod 700 $HOME/.ssh/", shell=True, check=True)
|
|
208
|
+
subprocess.run("chmod 700 $HOME/dotfiles/creds/.ssh/", shell=True, check=True)
|
|
209
|
+
subprocess.run("chmod 600 $HOME/dotfiles/creds/.ssh/*", shell=True, check=True)
|
|
210
|
+
subprocess.run("chmod 600 $HOME/.ssh/*", shell=True, check=True)
|
|
212
211
|
console.print("[green]✅ SSH permissions set successfully[/green]")
|
|
213
212
|
except Exception as e:
|
|
214
213
|
ERROR_LIST.append(e)
|
|
@@ -224,8 +223,8 @@ def apply_mapper(mapper_data: dict[str, list[ConfigMapper]],
|
|
|
224
223
|
table = Table(title="🔗 Symlink Operations Summary", show_header=True, header_style="bold magenta")
|
|
225
224
|
table.add_column("Program", style="cyan", no_wrap=True)
|
|
226
225
|
table.add_column("File Key", style="blue", no_wrap=True)
|
|
227
|
-
table.add_column("
|
|
228
|
-
table.add_column("
|
|
226
|
+
table.add_column("Default Path", style="green")
|
|
227
|
+
table.add_column("Self Managed", style="yellow")
|
|
229
228
|
table.add_column("Operation", style="magenta", no_wrap=True)
|
|
230
229
|
table.add_column("Action", style="red", no_wrap=True)
|
|
231
230
|
table.add_column("Details", style="white")
|
|
@@ -237,8 +236,8 @@ def apply_mapper(mapper_data: dict[str, list[ConfigMapper]],
|
|
|
237
236
|
table.add_row(
|
|
238
237
|
record["program"],
|
|
239
238
|
record["file_key"],
|
|
240
|
-
record["
|
|
241
|
-
record["
|
|
239
|
+
record["defaultPath"],
|
|
240
|
+
record["selfManaged"],
|
|
242
241
|
record["operation"],
|
|
243
242
|
f"[{action_style}]{record['action']}[/{action_style}]",
|
|
244
243
|
record["details"],
|
|
@@ -247,6 +246,25 @@ def apply_mapper(mapper_data: dict[str, list[ConfigMapper]],
|
|
|
247
246
|
|
|
248
247
|
console.print("\n")
|
|
249
248
|
console.print(table)
|
|
249
|
+
|
|
250
|
+
# Export operation records to CSV
|
|
251
|
+
import csv
|
|
252
|
+
from datetime import datetime
|
|
253
|
+
|
|
254
|
+
csv_dir = PathExtended(CONFIG_PATH).joinpath("symlink_operations")
|
|
255
|
+
csv_dir.mkdir(parents=True, exist_ok=True)
|
|
256
|
+
|
|
257
|
+
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
|
|
258
|
+
csv_filename = f"symlink_operations_{timestamp}.csv"
|
|
259
|
+
csv_path = csv_dir.joinpath(csv_filename)
|
|
260
|
+
|
|
261
|
+
with open(csv_path, "w", newline="", encoding="utf-8") as csvfile:
|
|
262
|
+
fieldnames = ["program", "file_key", "defaultPath", "selfManaged", "operation", "action", "details", "status"]
|
|
263
|
+
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
|
|
264
|
+
writer.writeheader()
|
|
265
|
+
writer.writerows(operation_records)
|
|
266
|
+
|
|
267
|
+
console.print(f"\n[bold green]📊 Operations exported to CSV:[/bold green] [cyan]{csv_path}[/cyan]")
|
|
250
268
|
|
|
251
269
|
if len(ERROR_LIST) > 0:
|
|
252
270
|
console.print(
|
|
@@ -45,22 +45,32 @@ def interactive():
|
|
|
45
45
|
def status():
|
|
46
46
|
"""📊 STATUS of machine, shell profile, apps, symlinks, dotfiles, etc."""
|
|
47
47
|
pass
|
|
48
|
+
@self_app.command()
|
|
49
|
+
def clone():
|
|
50
|
+
"""📋 CLONE machienconfig locally for faster execution and nightly updates. """
|
|
51
|
+
import platform
|
|
52
|
+
from machineconfig.utils.code import run_shell_script
|
|
53
|
+
if platform.system() == "Windows":
|
|
54
|
+
from machineconfig.setup_windows import REPOS
|
|
55
|
+
else:
|
|
56
|
+
from machineconfig.setup_linux import REPOS
|
|
57
|
+
run_shell_script(REPOS.read_text(encoding="utf-8"))
|
|
48
58
|
|
|
49
59
|
|
|
50
60
|
@config_apps.command(no_args_is_help=True)
|
|
51
|
-
def private(method: Literal["symlink", "copy"] = typer.Option(..., help="Method to use for linking files"),
|
|
52
|
-
on_conflict: Literal["throwError", "overwriteSelfManaged", "backupSelfManaged", "overwriteDefaultPath", "backupDefaultPath"] = typer.Option("throwError", help="Action to take on conflict"),
|
|
53
|
-
which: Optional[str] = typer.Option(None, help="Specific items to process"),
|
|
54
|
-
interactive: bool = typer.Option(False, help="Run in interactive mode")):
|
|
61
|
+
def private(method: Literal["symlink", "copy"] = typer.Option(..., "--method", "-m", help="Method to use for linking files"),
|
|
62
|
+
on_conflict: Literal["throwError", "overwriteSelfManaged", "backupSelfManaged", "overwriteDefaultPath", "backupDefaultPath"] = typer.Option("throwError", "--on-conflict", "-o", help="Action to take on conflict"),
|
|
63
|
+
which: Optional[str] = typer.Option(None, "--which", "-w", help="Specific items to process"),
|
|
64
|
+
interactive: bool = typer.Option(False, "--interactive", "-ia", help="Run in interactive mode")):
|
|
55
65
|
"""🔗 Manage private configuration files."""
|
|
56
66
|
import machineconfig.profile.create_frontend as create_frontend
|
|
57
67
|
create_frontend.main_private_from_parser(method=method, on_conflict=on_conflict, which=which, interactive=interactive)
|
|
58
68
|
|
|
59
69
|
@config_apps.command(no_args_is_help=True)
|
|
60
|
-
def public(method: Literal["symlink", "copy"] = typer.Option(..., help="Method to use for setting up the config file."),
|
|
61
|
-
on_conflict: Literal["throwError", "overwriteDefaultPath", "backupDefaultPath"] = typer.Option(
|
|
62
|
-
which: Optional[str] = typer.Option(None, help="Specific items to process"),
|
|
63
|
-
interactive: bool = typer.Option(False, help="Run in interactive mode")):
|
|
70
|
+
def public(method: Literal["symlink", "copy"] = typer.Option(..., "--method", "-m", help="Method to use for setting up the config file."),
|
|
71
|
+
on_conflict: Literal["throwError", "overwriteDefaultPath", "backupDefaultPath"] = typer.Option("throwError", "--on-conflict", "-o", help="Action to take on conflict"),
|
|
72
|
+
which: Optional[str] = typer.Option(None, "--which", "-w", help="Specific items to process"),
|
|
73
|
+
interactive: bool = typer.Option(False, "--interactive", "-ia", help="Run in interactive mode")):
|
|
64
74
|
"""🔗 Manage public configuration files."""
|
|
65
75
|
import machineconfig.profile.create_frontend as create_frontend
|
|
66
76
|
create_frontend.main_public_from_parser(method=method, on_conflict=on_conflict, which=which, interactive=interactive)
|
|
@@ -19,8 +19,8 @@ for better user experience with checkbox selections.
|
|
|
19
19
|
|
|
20
20
|
import sys
|
|
21
21
|
from pathlib import Path
|
|
22
|
-
from platform import system
|
|
23
22
|
from typing import cast
|
|
23
|
+
import platform
|
|
24
24
|
|
|
25
25
|
import questionary
|
|
26
26
|
from questionary import Choice
|
|
@@ -80,14 +80,14 @@ def get_installation_choices() -> list[str]:
|
|
|
80
80
|
Choice(value="retrieve_data", title="💾 Retrieve Data - Backup restoration", checked=False),
|
|
81
81
|
]
|
|
82
82
|
# Add Windows-specific options
|
|
83
|
-
if system() == "Windows":
|
|
83
|
+
if platform.system() == "Windows":
|
|
84
84
|
choices.append(Choice(value="install_windows_desktop", title="💻 Install Windows Desktop Apps - Brave, Windows Terminal, PowerShell, VSCode (Windows only)", checked=False))
|
|
85
85
|
selected = questionary.checkbox("Select the installation options you want to execute:", choices=choices, show_description=True).ask()
|
|
86
86
|
return selected or []
|
|
87
87
|
|
|
88
88
|
|
|
89
89
|
def execute_installations(selected_options: list[str]) -> None:
|
|
90
|
-
if system() == "Windows":
|
|
90
|
+
if platform.system() == "Windows":
|
|
91
91
|
from machineconfig import setup_windows as module
|
|
92
92
|
script_path = Path(module.__file__).parent / "ve.ps1"
|
|
93
93
|
run_shell_script(script_path.read_text(encoding="utf-8"))
|
|
@@ -109,26 +109,24 @@ def execute_installations(selected_options: list[str]) -> None:
|
|
|
109
109
|
run_shell_script(". $HOME/.bashrc")
|
|
110
110
|
|
|
111
111
|
if "upgrade_system" in selected_options:
|
|
112
|
-
if system() == "Windows":
|
|
112
|
+
if platform.system() == "Windows":
|
|
113
113
|
console.print("❌ System upgrade is not applicable on Windows via this script.", style="bold red")
|
|
114
|
-
elif system() == "Linux":
|
|
114
|
+
elif platform.system() == "Linux":
|
|
115
115
|
console.print(Panel("🔄 [bold magenta]SYSTEM UPDATE[/bold magenta]\n[italic]Package management[/italic]", border_style="magenta"))
|
|
116
116
|
run_shell_script("sudo nala upgrade -y")
|
|
117
117
|
else:
|
|
118
|
-
console.print(f"❌ System upgrade not supported on {system()}.", style="bold red")
|
|
118
|
+
console.print(f"❌ System upgrade not supported on {platform.system()}.", style="bold red")
|
|
119
119
|
if "install_repos" in selected_options:
|
|
120
120
|
console.print(Panel("🐍 [bold green]PYTHON ENVIRONMENT[/bold green]\n[italic]Virtual environment setup[/italic]", border_style="green"))
|
|
121
|
-
if system() == "Windows":
|
|
122
|
-
from machineconfig import
|
|
123
|
-
script_path = Path(module.__file__).parent / "repos.ps1"
|
|
121
|
+
if platform.system() == "Windows":
|
|
122
|
+
from machineconfig.setup_windows import REPOS
|
|
124
123
|
else:
|
|
125
|
-
from machineconfig import
|
|
126
|
-
|
|
127
|
-
run_shell_script(script_path.read_text(encoding="utf-8"))
|
|
124
|
+
from machineconfig.setup_linux import REPOS
|
|
125
|
+
run_shell_script(REPOS.read_text(encoding="utf-8"))
|
|
128
126
|
|
|
129
127
|
if "install_ssh_server" in selected_options:
|
|
130
128
|
console.print(Panel("🔒 [bold red]SSH SERVER[/bold red]\n[italic]Remote access setup[/italic]", border_style="red"))
|
|
131
|
-
if system() == "Windows":
|
|
129
|
+
if platform.system() == "Windows":
|
|
132
130
|
powershell_script = """Write-Host "🔧 Installing and configuring SSH server..."
|
|
133
131
|
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
|
|
134
132
|
Start-Service sshd
|
|
@@ -35,7 +35,7 @@ CloudOption = Annotated[
|
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
|
|
38
|
-
@app.command()
|
|
38
|
+
@app.command(no_args_is_help=True)
|
|
39
39
|
def push(directory: DirectoryArgument = None,
|
|
40
40
|
recursive: RecursiveOption = False,
|
|
41
41
|
no_sync: NoSyncOption = False,
|
|
@@ -43,7 +43,7 @@ def push(directory: DirectoryArgument = None,
|
|
|
43
43
|
"""🚀 Push changes across repositories."""
|
|
44
44
|
from machineconfig.scripts.python.repos_helper import git_operations
|
|
45
45
|
git_operations(directory, pull=False, commit=False, push=True, recursive=recursive, no_sync=no_sync)
|
|
46
|
-
@app.command()
|
|
46
|
+
@app.command(no_args_is_help=True)
|
|
47
47
|
def pull(
|
|
48
48
|
directory: DirectoryArgument = None,
|
|
49
49
|
recursive: RecursiveOption = False,
|
|
@@ -52,7 +52,7 @@ def pull(
|
|
|
52
52
|
"""⬇️ Pull changes across repositories."""
|
|
53
53
|
from machineconfig.scripts.python.repos_helper import git_operations
|
|
54
54
|
git_operations(directory, pull=True, commit=False, push=False, recursive=recursive, no_sync=no_sync)
|
|
55
|
-
@app.command()
|
|
55
|
+
@app.command(no_args_is_help=True)
|
|
56
56
|
def commit(
|
|
57
57
|
directory: DirectoryArgument = None,
|
|
58
58
|
recursive: RecursiveOption = False,
|
|
@@ -61,8 +61,8 @@ def commit(
|
|
|
61
61
|
"""💾 Commit changes across repositories."""
|
|
62
62
|
from machineconfig.scripts.python.repos_helper import git_operations
|
|
63
63
|
git_operations(directory, pull=False, commit=True, push=False, recursive=recursive, no_sync=no_sync)
|
|
64
|
-
@app.command()
|
|
65
|
-
def
|
|
64
|
+
@app.command(no_args_is_help=True)
|
|
65
|
+
def cleanup(
|
|
66
66
|
directory: DirectoryArgument = None,
|
|
67
67
|
recursive: RecursiveOption = False,
|
|
68
68
|
no_sync: NoSyncOption = False,
|
|
@@ -72,7 +72,7 @@ def all(
|
|
|
72
72
|
git_operations(directory, pull=True, commit=True, push=True, recursive=recursive, no_sync=no_sync)
|
|
73
73
|
|
|
74
74
|
|
|
75
|
-
@sync_app.command()
|
|
75
|
+
@sync_app.command(no_args_is_help=True)
|
|
76
76
|
def capture(
|
|
77
77
|
directory: DirectoryArgument = None,
|
|
78
78
|
cloud: CloudOption = None,
|
|
@@ -86,7 +86,7 @@ def capture(
|
|
|
86
86
|
from machineconfig.utils.path_extended import PathExtended
|
|
87
87
|
if cloud is not None:
|
|
88
88
|
PathExtended(save_path).to_cloud(rel2home=True, cloud=cloud)
|
|
89
|
-
@sync_app.command()
|
|
89
|
+
@sync_app.command(no_args_is_help=True)
|
|
90
90
|
def clone(
|
|
91
91
|
directory: DirectoryArgument = None,
|
|
92
92
|
cloud: CloudOption = None,
|
|
@@ -97,7 +97,7 @@ def clone(
|
|
|
97
97
|
clone_from_specs(directory, cloud, checkout_branch_flag=False, checkout_commit_flag=False)
|
|
98
98
|
|
|
99
99
|
|
|
100
|
-
@sync_app.command(name="checkout-to-commit")
|
|
100
|
+
@sync_app.command(name="checkout-to-commit", no_args_is_help=True)
|
|
101
101
|
def checkout_command(
|
|
102
102
|
directory: DirectoryArgument = None,
|
|
103
103
|
cloud: CloudOption = None,
|
|
@@ -108,7 +108,7 @@ def checkout_command(
|
|
|
108
108
|
clone_from_specs(directory, cloud, checkout_branch_flag=False, checkout_commit_flag=True)
|
|
109
109
|
|
|
110
110
|
|
|
111
|
-
@sync_app.command(name="checkout-to-branch")
|
|
111
|
+
@sync_app.command(name="checkout-to-branch", no_args_is_help=True)
|
|
112
112
|
def checkout_to_branch_command(
|
|
113
113
|
directory: DirectoryArgument = None,
|
|
114
114
|
cloud: CloudOption = None,
|
|
@@ -119,7 +119,7 @@ def checkout_to_branch_command(
|
|
|
119
119
|
clone_from_specs(directory, cloud, checkout_branch_flag=True, checkout_commit_flag=False)
|
|
120
120
|
|
|
121
121
|
|
|
122
|
-
@app.command()
|
|
122
|
+
@app.command(no_args_is_help=True)
|
|
123
123
|
def analyze(
|
|
124
124
|
directory: DirectoryArgument = None,
|
|
125
125
|
) -> None:
|