machineconfig 4.0__tar.gz → 4.1__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-4.0/src/machineconfig.egg-info → machineconfig-4.1}/PKG-INFO +1 -1
- {machineconfig-4.0 → machineconfig-4.1}/pyproject.toml +9 -8
- machineconfig-4.1/src/machineconfig/cluster/sessions_managers/utils/load_balancer.py +168 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/sessions_managers/zellij_local.py +1 -1
- machineconfig-4.1/src/machineconfig/jobs/installer/linux_scripts/q.sh +8 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/packages_custom_dev.json +137 -1
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/packages_github_dev.json +19 -2
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/packages_github_essential.json +0 -17
- machineconfig-4.1/src/machineconfig/jobs/linux/msc/cli_agents.sh +16 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/devops_devapps_install.py +52 -41
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/fire_agents.py +0 -22
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/installer.py +9 -9
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/schemas/layouts/layout_types.py +2 -1
- {machineconfig-4.0 → machineconfig-4.1/src/machineconfig.egg-info}/PKG-INFO +1 -1
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig.egg-info/SOURCES.txt +3 -1
- machineconfig-4.0/src/machineconfig/jobs/linux/msc/cli_agents.sh +0 -37
- {machineconfig-4.0 → machineconfig-4.1}/MANIFEST.in +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/README.md +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/setup.cfg +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/__init__.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/__init__.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/remote/distribute.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/remote/file_manager.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/remote/job_params.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/remote/script_execution.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
- {machineconfig-4.0/src/machineconfig/cluster/sessions_managers → machineconfig-4.1/src/machineconfig/cluster/sessions_managers/utils}/enhanced_command_runner.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/sessions_managers/wt_local.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/templates/__init__.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/templates/run_cloud.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/templates/run_cluster.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/templates/run_remote.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/templates/utils.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/__init__.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/__init__.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/custom/gh.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/custom/hx.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/custom_dev/__init__.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/custom_dev/alacritty.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/custom_dev/brave.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/custom_dev/bypass_paywall.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/custom_dev/code.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/custom_dev/cursor.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/custom_dev/espanso.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/custom_dev/goes.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/custom_dev/lvim.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/custom_dev/nerdfont.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/custom_dev/redis.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/custom_dev/wezterm.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/custom_dev/winget.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/linux_scripts/brave.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/linux_scripts/docker.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/linux_scripts/docker_start.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/linux_scripts/edge.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/linux_scripts/nerdfont.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/linux_scripts/ngrok.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/linux_scripts/redis.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/linux_scripts/vscode.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/linux_scripts/warp-cli.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/linux_scripts/wezterm.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/packages_custom_essential.json +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/linux/msc/lid.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/linux/msc/network.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/python/__init__.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/python/check_installations.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/python/create_bootable_media.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/python/python_cargo_build_share.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/python/python_ve_symlink.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/python/tasks.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/python/vscode/api.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/python/vscode/sync_code.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/windows/archive/openssh-server_add_key.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/windows/archive/openssh-server_copy-ssh-id.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/windows/msc/cli_agents.bat +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/windows/msc/cli_agents.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/windows/start_terminal.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/windows/startup_file.cmd +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/logger.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/profile/__init__.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/profile/create.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/profile/records/generic/shares.toml +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/profile/shell.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/__init__.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/cloud/init.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/choose_wezterm_theme +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/cloud_copy +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/cloud_mount +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/cloud_repo_sync +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/cloud_sync +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/croshell +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/devops +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/fire +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/fire_agents +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/ftpx +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/fzf2g +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/fzfag +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/fzffg +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/fzfg +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/fzfrga +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/gh_models +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/initai +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/kill_process +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/mount_drive +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/mount_nfs +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/mount_nw_drive +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/mount_smb +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/programs +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/repos +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/scheduler +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/share_cloud.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/share_nfs +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/share_smb +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/skrg +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/start_docker +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/start_slidev +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/start_terminals +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/switch_ip +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/warp-cli.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/wifi_conn +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/linux/z_ls +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/__init__.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/initai.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/solutions/__init__.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/solutions/_shared.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/solutions/claude/claude.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/solutions/cline/cline.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/solutions/copilot/privacy.md +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/allLintersAndTypeCheckers.prompt.md +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/solutions/crush/crush.json +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/solutions/crush/crush.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/solutions/crush/privacy.md +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/solutions/cursor/cursors.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/solutions/gemini/gemini.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/solutions/gemini/settings.json +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/solutions/generic.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/choose_wezterm_theme.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/cloud_copy.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/cloud_manager.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/cloud_mount.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/cloud_repo_sync.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/cloud_sync.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/croshell.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/devops.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/devops_add_identity.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/devops_add_ssh_key.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/devops_backup_retrieve.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/devops_update_repos.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/dotfile.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/fire_agents_help_launch.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/fire_agents_help_search.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/fire_agents_load_balancer.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/fire_jobs.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/fire_jobs_args_helper.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/fire_jobs_layout_helper.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/fire_jobs_streamlit_helper.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/ftpx.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/get_zellij_cmd.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/gh_models.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/helpers/__init__.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/helpers/cloud_helpers.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/helpers/helpers2.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/helpers/helpers4.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/helpers/helpers5.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/helpers/repo_sync_helpers.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/interactive.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/mount_nfs.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/mount_nw_drive.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/mount_ssh.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/onetimeshare.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/pomodoro.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/repos.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/repos_helper_action.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/repos_helper_clone.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/repos_helper_record.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/repos_helper_update.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/scheduler.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/share_terminal.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/snapshot.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/start_slidev.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/start_terminals.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/t4.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/viewer.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/viewer_template.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/wifi_conn.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/wsl_windows_transfer.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/choose_wezterm_theme.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/cloud_copy.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/cloud_mount.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/cloud_repo_sync.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/cloud_sync.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/croshell.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/devops.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/dotfile.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/fire.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/ftpx.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/gpt.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/grep.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/initai.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/kill_process.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/mount_nfs.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/mount_nw.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/mount_smb.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/mount_ssh.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/nano.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/pomodoro.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/reload_path.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/repos.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/scheduler.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/share_cloud.cmd +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/share_nfs.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/share_smb.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/snapshot.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/start_slidev.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/start_terminals.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/unlock_bitlocker.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/wifi_conn.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/wsl_rdp_windows_port_forwarding.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/windows/wsl_ssh_windows_port_forwarding.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/__init__.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/broot/br.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/broot/conf.toml +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/glow/glow.yml +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/helix/config.toml +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/helix/languages.toml +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/keras/keras.json +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/linux/colors +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/linux/exe/previewer.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/linux/icons +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/linux/lfrc +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/windows/colors +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/windows/icons +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/windows/lfrc +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/linters/.flake8 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/linters/.mypy.ini +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/linters/.pylintrc +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/linters/.ruff.toml +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/mprocs/windows/other +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/pistol/pistol.conf +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/presenterm/config.yaml +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/procs/.procs.toml +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/rofi/config.rasi +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/shells/bash/init.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/shells/pwsh/init.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/shells/wt/settings.json +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/streamlit/config.toml +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/svim/linux/init.toml +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/svim/windows/init.toml +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/tere/terecd.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/wsl/.wslconfig +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/yazi/keymap.toml +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/yazi/theme.toml +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/yazi/yazi.toml +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/zed/settings.json +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/zellij/commands/monitor +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/zellij/config.kdl +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/zellij/layouts/hist +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/setup_linux/__init__.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/setup_linux/nix/cli_installation.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/setup_linux/others/openssh-server_add_pub_key.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/setup_linux/web_shortcuts/android.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/setup_linux/web_shortcuts/ascii_art.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/setup_linux/web_shortcuts/croshell.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/setup_linux/web_shortcuts/ssh.sh +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/setup_windows/__init__.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/setup_windows/web_shortcuts/all.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/setup_windows/web_shortcuts/ascii_art.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/setup_windows/web_shortcuts/croshell.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/setup_windows/web_shortcuts/ssh.ps1 +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/__init__.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/accessories.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/ai/__init__.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/ai/generate_file_checklist.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/code.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/installer_utils/__init__.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/installer_utils/github_release_bulk.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/installer_utils/installer_abc.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/installer_utils/installer_class.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/io.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/links.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/notifications.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/options.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/path_extended.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/path_helper.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/procs.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/scheduler.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/scheduling.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/schemas/installer/installer_types.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/source_of_truth.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/ssh.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/terminal.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/upgrade_packages.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/utils/ve.py +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig.egg-info/dependency_links.txt +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig.egg-info/entry_points.txt +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig.egg-info/requires.txt +0 -0
- {machineconfig-4.0 → machineconfig-4.1}/src/machineconfig.egg-info/top_level.txt +0 -0
|
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
|
|
|
6
6
|
|
|
7
7
|
[project]
|
|
8
8
|
name = "machineconfig"
|
|
9
|
-
version = "4.
|
|
9
|
+
version = "4.01"
|
|
10
10
|
description = "Dotfiles management package"
|
|
11
11
|
readme = "README.md"
|
|
12
12
|
license = {text = "Apache 2.0"}
|
|
@@ -52,22 +52,23 @@ docs = [
|
|
|
52
52
|
|
|
53
53
|
[project.scripts]
|
|
54
54
|
devops = "machineconfig.scripts.python.devops:app"
|
|
55
|
+
fire = "machineconfig.scripts.python.fire_jobs:main_from_parser"
|
|
56
|
+
fire_agents = "machineconfig.scripts.python.fire_agents:main"
|
|
57
|
+
initai = "machineconfig.scripts.python.ai.initai:main"
|
|
58
|
+
|
|
55
59
|
choose_wezterm_theme = "machineconfig.scripts.python.choose_wezterm_theme:main"
|
|
56
60
|
cloud_copy = "machineconfig.scripts.python.cloud_copy:arg_parser"
|
|
57
61
|
cloud_mount = "machineconfig.scripts.python.cloud_mount:arg_parser"
|
|
58
62
|
cloud_repo_sync = "machineconfig.scripts.python.cloud_repo_sync:args_parser"
|
|
59
63
|
cloud_sync = "machineconfig.scripts.python.cloud_sync:arg_parser"
|
|
60
|
-
croshell = "machineconfig.scripts.python.croshell:arg_parser"
|
|
61
|
-
fire = "machineconfig.scripts.python.fire_jobs:main_from_parser"
|
|
62
|
-
fire_agents = "machineconfig.scripts.python.fire_agents:main"
|
|
63
64
|
ftpx = "machineconfig.scripts.python.ftpx:main_from_parser"
|
|
64
|
-
initai = "machineconfig.scripts.python.ai.initai:main"
|
|
65
|
-
mount_nfs = "machineconfig.scripts.python.mount_nfs:main"
|
|
66
|
-
mount_nw_drive = "machineconfig.scripts.python.mount_nw_drive:main"
|
|
67
65
|
repos = "machineconfig.scripts.python.repos:main_from_parser"
|
|
68
66
|
start_slidev = "machineconfig.scripts.python.start_slidev:arg_parser"
|
|
69
|
-
wifi_conn = "machineconfig.scripts.python.wifi_conn:arg_parser"
|
|
70
67
|
kill_process = "machineconfig.utils.procs:main"
|
|
68
|
+
wifi_conn = "machineconfig.scripts.python.wifi_conn:arg_parser"
|
|
69
|
+
mount_nfs = "machineconfig.scripts.python.mount_nfs:main"
|
|
70
|
+
mount_nw_drive = "machineconfig.scripts.python.mount_nw_drive:main"
|
|
71
|
+
croshell = "machineconfig.scripts.python.croshell:arg_parser"
|
|
71
72
|
|
|
72
73
|
[tool.setuptools]
|
|
73
74
|
package-dir = {"" = "src"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
|
|
2
|
+
from machineconfig.utils.schemas.layouts.layout_types import TabConfig, LayoutConfig
|
|
3
|
+
from machineconfig.utils.accessories import split_list
|
|
4
|
+
from typing import Literal
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def split_tabs_by_weight(tabs: list[TabConfig], max_weight: int) -> list[list[TabConfig]]:
|
|
9
|
+
"""Split tabs into chunks where each chunk's total weight <= max_weight."""
|
|
10
|
+
chunks: list[list[TabConfig]] = []
|
|
11
|
+
current_chunk: list[TabConfig] = []
|
|
12
|
+
current_weight = 0
|
|
13
|
+
for tab in tabs:
|
|
14
|
+
tab_weight = tab.get("tabWeight", 1)
|
|
15
|
+
if current_weight + tab_weight > max_weight and current_chunk:
|
|
16
|
+
chunks.append(current_chunk)
|
|
17
|
+
current_chunk = [tab]
|
|
18
|
+
current_weight = tab_weight
|
|
19
|
+
else:
|
|
20
|
+
current_chunk.append(tab)
|
|
21
|
+
current_weight += tab_weight
|
|
22
|
+
|
|
23
|
+
if current_chunk:
|
|
24
|
+
chunks.append(current_chunk)
|
|
25
|
+
|
|
26
|
+
return chunks
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def combine_tabs_into_super_tabs(tabs: list[TabConfig], num_super_tabs: int) -> list[TabConfig]:
|
|
30
|
+
"""Combine tabs into num_super_tabs super tabs with combined commands."""
|
|
31
|
+
if len(tabs) <= num_super_tabs:
|
|
32
|
+
return tabs # No need to combine
|
|
33
|
+
|
|
34
|
+
tab_groups = split_list(tabs, to=num_super_tabs)
|
|
35
|
+
super_tabs: list[TabConfig] = []
|
|
36
|
+
for idx, group in enumerate(tab_groups):
|
|
37
|
+
if len(group) == 1:
|
|
38
|
+
super_tabs.append(group[0])
|
|
39
|
+
else:
|
|
40
|
+
combined_command = "; ".join(tab["command"] for tab in group)
|
|
41
|
+
combined_name = f"super_tab_{idx+1}"
|
|
42
|
+
# Use startDir of the first tab
|
|
43
|
+
start_dir = group[0]["startDir"]
|
|
44
|
+
# Sum weights
|
|
45
|
+
total_weight = sum(tab.get("tabWeight", 1) for tab in group)
|
|
46
|
+
super_tabs.append({
|
|
47
|
+
"tabName": combined_name,
|
|
48
|
+
"startDir": start_dir,
|
|
49
|
+
"command": combined_command,
|
|
50
|
+
"tabWeight": total_weight
|
|
51
|
+
})
|
|
52
|
+
return super_tabs
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
def combine_tabs_by_weight_into_super_tabs(tabs: list[TabConfig], max_weight: int) -> list[TabConfig]:
|
|
56
|
+
"""Combine tabs into super tabs where each super tab has weight <= max_weight."""
|
|
57
|
+
tab_groups = split_tabs_by_weight(tabs, max_weight=max_weight)
|
|
58
|
+
super_tabs: list[TabConfig] = []
|
|
59
|
+
for idx, group in enumerate(tab_groups):
|
|
60
|
+
if len(group) == 1:
|
|
61
|
+
super_tabs.append(group[0])
|
|
62
|
+
else:
|
|
63
|
+
combined_command = "; ".join(tab["command"] for tab in group)
|
|
64
|
+
combined_name = f"super_tab_{idx+1}"
|
|
65
|
+
start_dir = group[0]["startDir"]
|
|
66
|
+
total_weight = sum(tab.get("tabWeight", 1) for tab in group)
|
|
67
|
+
super_tabs.append({
|
|
68
|
+
"tabName": combined_name,
|
|
69
|
+
"startDir": start_dir,
|
|
70
|
+
"command": combined_command,
|
|
71
|
+
"tabWeight": total_weight
|
|
72
|
+
})
|
|
73
|
+
return super_tabs
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
def restrict_num_tabs(layout_configs: list[LayoutConfig], max_thresh: int, threshold_type: Literal["number", "weight"], breaking_method: Literal["moreLayouts", "combineTabs"]) -> list[LayoutConfig]:
|
|
77
|
+
match threshold_type, breaking_method:
|
|
78
|
+
case "number", "moreLayouts":
|
|
79
|
+
return _restrict_num_tabs_helper1(layout_configs=layout_configs, max_thresh=max_thresh, threshold_type=threshold_type, breaking_method=breaking_method)
|
|
80
|
+
case "number", "combineTabs":
|
|
81
|
+
return _restrict_num_tabs_helper2(layout_configs=layout_configs, max_thresh=max_thresh, threshold_type=threshold_type, breaking_method=breaking_method)
|
|
82
|
+
case "weight", "moreLayouts":
|
|
83
|
+
return _restrict_num_tabs_helper3(layout_configs=layout_configs, max_thresh=max_thresh, threshold_type=threshold_type, breaking_method=breaking_method)
|
|
84
|
+
case "weight", "combineTabs":
|
|
85
|
+
return _restrict_num_tabs_helper4(layout_configs=layout_configs, max_thresh=max_thresh, threshold_type=threshold_type, breaking_method=breaking_method)
|
|
86
|
+
case _:
|
|
87
|
+
raise NotImplementedError(f"The combination {threshold_type}, {breaking_method} is not implemented")
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
def _restrict_num_tabs_helper1(layout_configs: list[LayoutConfig], max_thresh: int, threshold_type: Literal["number"], breaking_method: Literal["moreLayouts"]) -> list[LayoutConfig]:
|
|
91
|
+
"""When threshold is exceeded, create more layouts with max_thresh tabs each."""
|
|
92
|
+
new_layout_configs: list[LayoutConfig] = []
|
|
93
|
+
for a_layout_config in layout_configs:
|
|
94
|
+
if len(a_layout_config["layoutTabs"]) > max_thresh:
|
|
95
|
+
print(f"Layout '{a_layout_config['layoutName']}' has too many tabs ({len(a_layout_config['layoutTabs'])} > {max_thresh}). Splitting into multiple layouts.")
|
|
96
|
+
tab_chunks = split_list(a_layout_config["layoutTabs"], every=max_thresh)
|
|
97
|
+
for idx, tab_chunk in enumerate(tab_chunks):
|
|
98
|
+
new_layout_configs.append({
|
|
99
|
+
"layoutName": f"{a_layout_config['layoutName']}_part{idx+1}",
|
|
100
|
+
"layoutTabs": tab_chunk
|
|
101
|
+
})
|
|
102
|
+
else:
|
|
103
|
+
print(f"Layout '{a_layout_config['layoutName']}' has acceptable number of tabs ({len(a_layout_config['layoutTabs'])} <= {max_thresh}). Keeping as is.")
|
|
104
|
+
new_layout_configs.append(a_layout_config)
|
|
105
|
+
return new_layout_configs
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
def _restrict_num_tabs_helper2(layout_configs: list[LayoutConfig], max_thresh: int, threshold_type: Literal["number"], breaking_method: Literal["combineTabs"]) -> list[LayoutConfig]:
|
|
109
|
+
"""When threshold is exceeded, combine tabs into super tabs to reduce count to max_thresh."""
|
|
110
|
+
new_layout_configs: list[LayoutConfig] = []
|
|
111
|
+
for a_layout_config in layout_configs:
|
|
112
|
+
num_tabs = len(a_layout_config["layoutTabs"])
|
|
113
|
+
if num_tabs > max_thresh:
|
|
114
|
+
print(f"Layout '{a_layout_config['layoutName']}' has too many tabs ({num_tabs} > {max_thresh}). Combining into {max_thresh} super tabs.")
|
|
115
|
+
super_tabs = combine_tabs_into_super_tabs(a_layout_config["layoutTabs"], num_super_tabs=max_thresh)
|
|
116
|
+
new_layout_configs.append({
|
|
117
|
+
"layoutName": a_layout_config["layoutName"],
|
|
118
|
+
"layoutTabs": super_tabs
|
|
119
|
+
})
|
|
120
|
+
else:
|
|
121
|
+
print(f"Layout '{a_layout_config['layoutName']}' has acceptable number of tabs ({num_tabs} <= {max_thresh}). Keeping as is.")
|
|
122
|
+
new_layout_configs.append(a_layout_config)
|
|
123
|
+
return new_layout_configs
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
def _restrict_num_tabs_helper3(layout_configs: list[LayoutConfig], max_thresh: int, threshold_type: Literal["weight"], breaking_method: Literal["moreLayouts"]) -> list[LayoutConfig]:
|
|
127
|
+
"""When threshold is exceeded, create more layouts with max_thresh total weight each."""
|
|
128
|
+
new_layout_configs: list[LayoutConfig] = []
|
|
129
|
+
for a_layout_config in layout_configs:
|
|
130
|
+
layout_weight = sum(tab.get("tabWeight", 1) for tab in a_layout_config["layoutTabs"])
|
|
131
|
+
if layout_weight > max_thresh:
|
|
132
|
+
print(f"Layout '{a_layout_config['layoutName']}' has too much weight ({layout_weight} > {max_thresh}). Splitting into multiple layouts.")
|
|
133
|
+
tab_chunks = split_tabs_by_weight(a_layout_config["layoutTabs"], max_weight=max_thresh)
|
|
134
|
+
for idx, tab_chunk in enumerate(tab_chunks):
|
|
135
|
+
new_layout_configs.append({
|
|
136
|
+
"layoutName": f"{a_layout_config['layoutName']}_part{idx+1}",
|
|
137
|
+
"layoutTabs": tab_chunk
|
|
138
|
+
})
|
|
139
|
+
else:
|
|
140
|
+
print(f"Layout '{a_layout_config['layoutName']}' has acceptable total weight ({layout_weight} <= {max_thresh}). Keeping as is.")
|
|
141
|
+
new_layout_configs.append(a_layout_config)
|
|
142
|
+
return new_layout_configs
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
def _restrict_num_tabs_helper4(layout_configs: list[LayoutConfig], max_thresh: int, threshold_type: Literal["weight"], breaking_method: Literal["combineTabs"]) -> list[LayoutConfig]:
|
|
146
|
+
"""When threshold is exceeded, combine tabs into super tabs with weight <= max_thresh."""
|
|
147
|
+
new_layout_configs: list[LayoutConfig] = []
|
|
148
|
+
for a_layout_config in layout_configs:
|
|
149
|
+
layout_weight = sum(tab.get("tabWeight", 1) for tab in a_layout_config["layoutTabs"])
|
|
150
|
+
if layout_weight > max_thresh:
|
|
151
|
+
print(f"Layout '{a_layout_config['layoutName']}' has too much weight ({layout_weight} > {max_thresh}). Combining into super tabs with weight <= {max_thresh}.")
|
|
152
|
+
super_tabs = combine_tabs_by_weight_into_super_tabs(a_layout_config["layoutTabs"], max_weight=max_thresh)
|
|
153
|
+
new_layout_configs.append({
|
|
154
|
+
"layoutName": a_layout_config["layoutName"],
|
|
155
|
+
"layoutTabs": super_tabs
|
|
156
|
+
})
|
|
157
|
+
else:
|
|
158
|
+
print(f"Layout '{a_layout_config['layoutName']}' has acceptable total weight ({layout_weight} <= {max_thresh}). Keeping as is.")
|
|
159
|
+
new_layout_configs.append(a_layout_config)
|
|
160
|
+
return new_layout_configs
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
def run(layouts: list[LayoutConfig]):
|
|
164
|
+
from machineconfig.cluster.sessions_managers.zellij_local_manager import ZellijLocalManager
|
|
165
|
+
manager = ZellijLocalManager(session_layouts=layouts)
|
|
166
|
+
manager.start_all_sessions(poll_interval=2, poll_seconds=2)
|
|
167
|
+
manager.run_monitoring_routine(wait_ms=2000)
|
|
168
|
+
manager.kill_all_sessions()
|
{machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/cluster/sessions_managers/zellij_local.py
RENAMED
|
@@ -456,7 +456,7 @@ def run_zellij_layout(layout_config: LayoutConfig):
|
|
|
456
456
|
layout_path = created_zellij_layout(layout_config, None)
|
|
457
457
|
session_name = layout_config["layoutName"]
|
|
458
458
|
try:
|
|
459
|
-
from machineconfig.cluster.sessions_managers.enhanced_command_runner import enhanced_zellij_session_start
|
|
459
|
+
from machineconfig.cluster.sessions_managers.utils.enhanced_command_runner import enhanced_zellij_session_start
|
|
460
460
|
|
|
461
461
|
enhanced_zellij_session_start(session_name, layout_path)
|
|
462
462
|
except ImportError:
|
{machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/packages_custom_dev.json
RENAMED
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
|
-
"appName": "aider
|
|
40
|
+
"appName": "aider",
|
|
41
41
|
"repoURL": "CMD",
|
|
42
42
|
"doc": "Aider Chat",
|
|
43
43
|
"fileNamePattern": {
|
|
@@ -53,6 +53,142 @@
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
},
|
|
56
|
+
{
|
|
57
|
+
"appName": "github-copilot-cli",
|
|
58
|
+
"repoURL": "CMD",
|
|
59
|
+
"doc": "Terminal-based CLI agents and tools for productivity and coding.",
|
|
60
|
+
"fileNamePattern": {
|
|
61
|
+
"amd64": {
|
|
62
|
+
"linux": "npm install -g @github/copilot",
|
|
63
|
+
"windows": "npm install -g @github/copilot",
|
|
64
|
+
"macos": "npm install -g @github/copilot"
|
|
65
|
+
},
|
|
66
|
+
"arm64": {
|
|
67
|
+
"linux": "npm install -g @github/copilot",
|
|
68
|
+
"windows": "npm install -g @github/copilot",
|
|
69
|
+
"macos": "npm install -g @github/copilot"
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"appName": "gemini",
|
|
75
|
+
"repoURL": "CMD",
|
|
76
|
+
"doc": "Terminal-based CLI agents and tools for productivity and coding.",
|
|
77
|
+
"fileNamePattern": {
|
|
78
|
+
"amd64": {
|
|
79
|
+
"linux": "npm install -g @google/gemini-cli",
|
|
80
|
+
"windows": "npm install -g @google/gemini-cli",
|
|
81
|
+
"macos": "npm install -g @google/gemini-cli"
|
|
82
|
+
},
|
|
83
|
+
"arm64": {
|
|
84
|
+
"linux": "npm install -g @google/gemini-cli",
|
|
85
|
+
"windows": "npm install -g @google/gemini-cli",
|
|
86
|
+
"macos": "npm install -g @google/gemini-cli"
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"appName": "crush",
|
|
92
|
+
"repoURL": "CMD",
|
|
93
|
+
"doc": "Terminal-based CLI agents and tools for productivity and coding.",
|
|
94
|
+
"fileNamePattern": {
|
|
95
|
+
"amd64": {
|
|
96
|
+
"linux": "npm install -g @charmland/crush",
|
|
97
|
+
"windows": "npm install -g @charmland/crush",
|
|
98
|
+
"macos": "npm install -g @charmland/crush"
|
|
99
|
+
},
|
|
100
|
+
"arm64": {
|
|
101
|
+
"linux": "npm install -g @charmland/crush",
|
|
102
|
+
"windows": "npm install -g @charmland/crush",
|
|
103
|
+
"macos": "npm install -g @charmland/crush"
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"appName": "opencode-ai",
|
|
109
|
+
"repoURL": "CMD",
|
|
110
|
+
"doc": "Terminal-based CLI agents and tools for productivity and coding.",
|
|
111
|
+
"fileNamePattern": {
|
|
112
|
+
"amd64": {
|
|
113
|
+
"linux": "npm install -g opencode-ai@latest",
|
|
114
|
+
"windows": "npm install -g opencode-ai@latest",
|
|
115
|
+
"macos": "npm install -g opencode-ai@latest"
|
|
116
|
+
},
|
|
117
|
+
"arm64": {
|
|
118
|
+
"linux": "npm install -g opencode-ai@latest",
|
|
119
|
+
"windows": "npm install -g opencode-ai@latest",
|
|
120
|
+
"macos": "npm install -g opencode-ai@latest"
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"appName": "warp",
|
|
126
|
+
"repoURL": "CMD",
|
|
127
|
+
"doc": "Modern terminal with AI-powered features",
|
|
128
|
+
"fileNamePattern": {
|
|
129
|
+
"amd64": {
|
|
130
|
+
"linux": "https://app.warp.dev/download/cli?os=linux&package=deb&arch=x86_64",
|
|
131
|
+
"windows": null,
|
|
132
|
+
"macos": null
|
|
133
|
+
},
|
|
134
|
+
"arm64": {
|
|
135
|
+
"linux": "https://app.warp.dev/download/cli?os=linux&package=deb&arch=aarch64",
|
|
136
|
+
"windows": null,
|
|
137
|
+
"macos": null
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"appName": "q",
|
|
143
|
+
"repoURL": "CMD",
|
|
144
|
+
"doc": "Q desktop application",
|
|
145
|
+
"fileNamePattern": {
|
|
146
|
+
"amd64": {
|
|
147
|
+
"linux": "q.sh",
|
|
148
|
+
"windows": null,
|
|
149
|
+
"macos": null
|
|
150
|
+
},
|
|
151
|
+
"arm64": {
|
|
152
|
+
"linux": null,
|
|
153
|
+
"windows": null,
|
|
154
|
+
"macos": null
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"appName": "cursor-cli",
|
|
160
|
+
"repoURL": "CMD",
|
|
161
|
+
"doc": "Cursor CLI installer",
|
|
162
|
+
"fileNamePattern": {
|
|
163
|
+
"amd64": {
|
|
164
|
+
"linux": "curl https://cursor.com/install -fsS | bash",
|
|
165
|
+
"windows": null,
|
|
166
|
+
"macos": null
|
|
167
|
+
},
|
|
168
|
+
"arm64": {
|
|
169
|
+
"linux": null,
|
|
170
|
+
"windows": null,
|
|
171
|
+
"macos": null
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"appName": "droid",
|
|
177
|
+
"repoURL": "CMD",
|
|
178
|
+
"doc": "Factory AI CLI installer",
|
|
179
|
+
"fileNamePattern": {
|
|
180
|
+
"amd64": {
|
|
181
|
+
"linux": "curl -fsSL https://app.factory.ai/cli | sh",
|
|
182
|
+
"windows": null,
|
|
183
|
+
"macos": null
|
|
184
|
+
},
|
|
185
|
+
"arm64": {
|
|
186
|
+
"linux": null,
|
|
187
|
+
"windows": null,
|
|
188
|
+
"macos": null
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
},
|
|
56
192
|
{
|
|
57
193
|
"appName": "Alacritty",
|
|
58
194
|
"repoURL": "CMD",
|
{machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/jobs/installer/packages_github_dev.json
RENAMED
|
@@ -245,17 +245,34 @@
|
|
|
245
245
|
"doc": "🗃️ TUI DB Visualizer",
|
|
246
246
|
"fileNamePattern": {
|
|
247
247
|
"amd64": {
|
|
248
|
-
"linux": "rainfrog-{version}-x86_64-unknown-linux-
|
|
248
|
+
"linux": "rainfrog-{version}-x86_64-unknown-linux-musl.tar.gz",
|
|
249
249
|
"macos": null,
|
|
250
250
|
"windows": null
|
|
251
251
|
},
|
|
252
252
|
"arm64": {
|
|
253
|
-
"linux": "rainfrog-{version}-aarch64-unknown-linux-
|
|
253
|
+
"linux": "rainfrog-{version}-aarch64-unknown-linux-musl.tar.gz",
|
|
254
254
|
"macos": null,
|
|
255
255
|
"windows": null
|
|
256
256
|
}
|
|
257
257
|
}
|
|
258
258
|
},
|
|
259
|
+
{
|
|
260
|
+
"appName": "duckdb",
|
|
261
|
+
"repoURL": "https://github.com/duckdb/duckdb",
|
|
262
|
+
"doc": "🗃️ An in-process SQL OLAP database management system",
|
|
263
|
+
"fileNamePattern": {
|
|
264
|
+
"amd64": {
|
|
265
|
+
"linux": "duckdb_cli-linux-amd64.zip",
|
|
266
|
+
"macos": "duckdb_cli-osx-universal.zip",
|
|
267
|
+
"windows": "duckdb_cli-windows-amd64.zip"
|
|
268
|
+
},
|
|
269
|
+
"arm64": {
|
|
270
|
+
"linux": "duckdb_cli-linux-arm64.zip",
|
|
271
|
+
"macos": "duckdb_cli-osx-universal.zip",
|
|
272
|
+
"windows": "duckdb_cli-windows-arm64.zip"
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
},
|
|
259
276
|
{
|
|
260
277
|
"appName": "cpz",
|
|
261
278
|
"repoURL": "https://github.com/SUPERCILEX/fuc",
|
|
@@ -409,23 +409,6 @@
|
|
|
409
409
|
}
|
|
410
410
|
}
|
|
411
411
|
},
|
|
412
|
-
{
|
|
413
|
-
"appName": "gemini-cli",
|
|
414
|
-
"repoURL": "CMD",
|
|
415
|
-
"doc": "🤖 Gemini CLI is a command line interface for Google Gemini AI.",
|
|
416
|
-
"fileNamePattern": {
|
|
417
|
-
"amd64": {
|
|
418
|
-
"linux": "npm install -g @google/gemini-cli",
|
|
419
|
-
"macos": "npm install -g @google/gemini-cli",
|
|
420
|
-
"windows": "npm install -g @google/gemini-cli"
|
|
421
|
-
},
|
|
422
|
-
"arm64": {
|
|
423
|
-
"linux": "npm install -g @google/gemini-cli",
|
|
424
|
-
"macos": "npm install -g @google/gemini-cli",
|
|
425
|
-
"windows": "npm install -g @google/gemini-cli"
|
|
426
|
-
}
|
|
427
|
-
}
|
|
428
|
-
},
|
|
429
412
|
{
|
|
430
413
|
"appName": "gitui",
|
|
431
414
|
"repoURL": "https://github.com/gitui-org/gitui",
|
{machineconfig-4.0 → machineconfig-4.1}/src/machineconfig/scripts/python/devops_devapps_install.py
RENAMED
|
@@ -8,6 +8,42 @@ from typing import Optional, Literal, TypeAlias, cast, get_args, Annotated
|
|
|
8
8
|
WHICH_CAT: TypeAlias = Literal["essentials", "essentialsDev", "systymPackages", "precheckedPackages", "ia"]
|
|
9
9
|
|
|
10
10
|
|
|
11
|
+
def _handle_installer_not_found(search_term: str, all_installers: list["InstallerData"]) -> None: # type: ignore
|
|
12
|
+
"""Handle installer not found with friendly suggestions using fuzzy matching."""
|
|
13
|
+
from difflib import get_close_matches
|
|
14
|
+
|
|
15
|
+
# Get all possible names (both exe names and app names)
|
|
16
|
+
all_names = []
|
|
17
|
+
for inst in all_installers:
|
|
18
|
+
exe_name = inst["appName"]
|
|
19
|
+
all_names.append(exe_name)
|
|
20
|
+
|
|
21
|
+
# Find close matches using fuzzy matching
|
|
22
|
+
close_matches = get_close_matches(search_term, all_names, n=5, cutoff=0.4)
|
|
23
|
+
|
|
24
|
+
print(f"\n❌ '{search_term}' was not found.")
|
|
25
|
+
|
|
26
|
+
if close_matches:
|
|
27
|
+
print("🤔 Did you mean one of these?")
|
|
28
|
+
for i, match in enumerate(close_matches, 1):
|
|
29
|
+
print(f" {i}. {match}")
|
|
30
|
+
else:
|
|
31
|
+
print("📋 Here are some available options:")
|
|
32
|
+
# Show first 10 installers as examples
|
|
33
|
+
sample_names = []
|
|
34
|
+
for inst in all_installers[:10]:
|
|
35
|
+
exe_name = inst["appName"]
|
|
36
|
+
sample_names.append(exe_name)
|
|
37
|
+
for i, name in enumerate(sample_names, 1):
|
|
38
|
+
print(f" {i}. {name}")
|
|
39
|
+
|
|
40
|
+
if len(all_installers) > 10:
|
|
41
|
+
print(f" ... and {len(all_installers) - 10} more")
|
|
42
|
+
|
|
43
|
+
print("\n💡 Use 'ia' to interactively browse all available installers.")
|
|
44
|
+
print(f"💡 Use one of the categories: {list(get_args(WHICH_CAT))}")
|
|
45
|
+
|
|
46
|
+
|
|
11
47
|
def main_with_parser():
|
|
12
48
|
import typer
|
|
13
49
|
app = typer.Typer()
|
|
@@ -20,6 +56,7 @@ def main(which: Annotated[Optional[str], typer.Argument(help=f"Choose a category
|
|
|
20
56
|
return get_programs_by_category(program_name=which) # type: ignore
|
|
21
57
|
from machineconfig.utils.schemas.installer.installer_types import get_normalized_arch, get_os_name
|
|
22
58
|
from machineconfig.utils.installer import get_installers
|
|
59
|
+
from machineconfig.utils.installer_utils.installer_class import Installer
|
|
23
60
|
if which != "ia" and which is not None: # install by name
|
|
24
61
|
total_messages: list[str] = []
|
|
25
62
|
for a_which in which.split(",") if type(which) == str else which:
|
|
@@ -28,22 +65,16 @@ def main(which: Annotated[Optional[str], typer.Argument(help=f"Choose a category
|
|
|
28
65
|
# Find installer by exe_name or name
|
|
29
66
|
selected_installer = None
|
|
30
67
|
for installer in all_installers:
|
|
31
|
-
exe_name = installer
|
|
32
|
-
app_name = installer
|
|
68
|
+
exe_name = installer["appName"]
|
|
69
|
+
app_name = installer["appName"]
|
|
33
70
|
if exe_name == a_which or app_name == a_which:
|
|
34
71
|
selected_installer = installer
|
|
35
72
|
break
|
|
36
73
|
|
|
37
74
|
if selected_installer is None:
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
print(f"""
|
|
42
|
-
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
43
|
-
┃ 🔧 Installing: {a_which}
|
|
44
|
-
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━""")
|
|
45
|
-
print(selected_installer)
|
|
46
|
-
message = selected_installer.install_robust(version=None) # finish the task
|
|
75
|
+
_handle_installer_not_found(a_which, all_installers)
|
|
76
|
+
return None
|
|
77
|
+
message = Installer(selected_installer).install_robust(version=None) # finish the task
|
|
47
78
|
total_messages.append(message)
|
|
48
79
|
for a_message in total_messages:
|
|
49
80
|
print(a_message)
|
|
@@ -55,58 +86,35 @@ def install_interactively():
|
|
|
55
86
|
from machineconfig.utils.options import choose_from_options
|
|
56
87
|
from machineconfig.utils.schemas.installer.installer_types import get_normalized_arch, get_os_name
|
|
57
88
|
from machineconfig.utils.installer import get_installers
|
|
89
|
+
from machineconfig.utils.installer_utils.installer_class import Installer
|
|
58
90
|
installers = get_installers(os=get_os_name(), arch=get_normalized_arch(), which_cats=["GITHUB_ESSENTIAL", "CUSTOM_ESSENTIAL", "GITHUB_DEV", "CUSTOM_DEV"])
|
|
59
|
-
# Check installed programs with progress indicator
|
|
60
91
|
with Progress(SpinnerColumn(), TextColumn("[progress.description]{task.description}")) as progress:
|
|
61
92
|
task = progress.add_task("✅ Checking installed programs...", total=len(installers))
|
|
62
93
|
installer_options = []
|
|
63
94
|
for x in installers:
|
|
64
|
-
installer_options.append(x.get_description())
|
|
95
|
+
installer_options.append(Installer(installer_data=x).get_description())
|
|
65
96
|
progress.update(task, advance=1)
|
|
66
|
-
|
|
67
|
-
# Add category options at the beginning for better visibility
|
|
68
97
|
category_options = [f"📦 {cat}" for cat in get_args(WHICH_CAT)]
|
|
69
|
-
options = category_options + ["─" * 50] + installer_options
|
|
70
|
-
|
|
98
|
+
options = category_options + ["─" * 50] + installer_options
|
|
71
99
|
program_names = choose_from_options(multi=True, msg="Categories are prefixed with 📦", options=options, header="🚀 CHOOSE DEV APP OR CATEGORY", default="📦 essentials", fzf=True)
|
|
72
|
-
|
|
73
|
-
total_commands = ""
|
|
74
100
|
installation_messages: list[str] = []
|
|
75
101
|
for _an_idx, a_program_name in enumerate(program_names):
|
|
76
|
-
# Skip separator lines
|
|
77
102
|
if a_program_name.startswith("─"):
|
|
78
103
|
continue
|
|
79
|
-
|
|
80
|
-
print(f"""
|
|
81
|
-
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
82
|
-
┃ 🔄 Processing: {a_program_name}
|
|
83
|
-
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━""")
|
|
84
|
-
|
|
85
|
-
# Handle category options (remove emoji prefix)
|
|
86
104
|
if a_program_name.startswith("📦 "):
|
|
87
105
|
category_name = a_program_name[2:] # Remove "📦 " prefix
|
|
88
106
|
if category_name in get_args(WHICH_CAT):
|
|
89
107
|
get_programs_by_category(program_name=cast(WHICH_CAT, category_name))
|
|
90
108
|
else:
|
|
91
|
-
# Handle individual installer options
|
|
92
109
|
installer_idx = installer_options.index(a_program_name)
|
|
93
|
-
|
|
94
|
-
status_message =
|
|
110
|
+
an_installer_data = installers[installer_idx]
|
|
111
|
+
status_message = Installer(an_installer_data).install_robust(version=None) # finish the task - this returns a status message, not a command
|
|
95
112
|
installation_messages.append(status_message)
|
|
96
|
-
|
|
97
|
-
# Print all installation status messages
|
|
98
113
|
print("\n📊 INSTALLATION SUMMARY:")
|
|
99
114
|
print("=" * 50)
|
|
100
115
|
for message in installation_messages:
|
|
101
116
|
print(message)
|
|
102
117
|
|
|
103
|
-
# Only run shell commands if there are any (from category installations)
|
|
104
|
-
if total_commands.strip():
|
|
105
|
-
import subprocess
|
|
106
|
-
|
|
107
|
-
print("\n🚀 Running additional shell commands...")
|
|
108
|
-
subprocess.run(total_commands, shell=True, check=True)
|
|
109
|
-
|
|
110
118
|
|
|
111
119
|
def get_programs_by_category(program_name: WHICH_CAT):
|
|
112
120
|
print(f"""
|
|
@@ -121,10 +129,10 @@ def get_programs_by_category(program_name: WHICH_CAT):
|
|
|
121
129
|
match program_name:
|
|
122
130
|
case "essentials":
|
|
123
131
|
installers_ = get_installers(os=get_os_name(), arch=get_normalized_arch(), which_cats=["GITHUB_ESSENTIAL", "CUSTOM_ESSENTIAL"])
|
|
124
|
-
install_all(
|
|
132
|
+
install_all(installers_data=installers_)
|
|
125
133
|
case "essentialsDev":
|
|
126
134
|
installers_ = get_installers(os=get_os_name(), arch=get_normalized_arch(), which_cats=["GITHUB_DEV", "CUSTOM_DEV", "GITHUB_ESSENTIAL", "CUSTOM_ESSENTIAL"])
|
|
127
|
-
install_all(
|
|
135
|
+
install_all(installers_data=installers_)
|
|
128
136
|
case "systymPackages":
|
|
129
137
|
if system() == "Windows":
|
|
130
138
|
options_system = parse_apps_installer_windows(LIBRARY_ROOT.joinpath("setup_windows/apps.ps1").read_text(encoding="utf-8"))
|
|
@@ -156,4 +164,7 @@ def get_programs_by_category(program_name: WHICH_CAT):
|
|
|
156
164
|
|
|
157
165
|
|
|
158
166
|
if __name__ == "__main__":
|
|
167
|
+
from machineconfig.utils.schemas.installer.installer_types import InstallerData
|
|
168
|
+
from machineconfig.utils.installer_utils.installer_class import Installer
|
|
169
|
+
_ = InstallerData, Installer
|
|
159
170
|
pass
|
|
@@ -16,7 +16,6 @@ from machineconfig.scripts.python.fire_agents_help_launch import prep_agent_laun
|
|
|
16
16
|
from machineconfig.scripts.python.fire_agents_help_search import search_files_by_pattern, search_python_files
|
|
17
17
|
from machineconfig.scripts.python.fire_agents_load_balancer import chunk_prompts, SPLITTING_STRATEGY, DEFAULT_AGENT_CAP
|
|
18
18
|
from machineconfig.utils.options import choose_from_options
|
|
19
|
-
from machineconfig.utils.schemas.layouts.layout_types import TabConfig, LayoutConfig
|
|
20
19
|
from machineconfig.utils.accessories import get_repo_root
|
|
21
20
|
|
|
22
21
|
SEARCH_STRATEGIES: TypeAlias = Literal["file_path", "keyword_search", "filename_pattern"]
|
|
@@ -150,26 +149,5 @@ manager.run_monitoring_routine()
|
|
|
150
149
|
manager.run_monitoring_routine(wait_ms=2000)
|
|
151
150
|
|
|
152
151
|
|
|
153
|
-
def split_too_many_tabs_to_run_in_sequential_sessions(layout_tabs: list[TabConfig], every: int):
|
|
154
|
-
from machineconfig.utils.accessories import split_list
|
|
155
|
-
from machineconfig.cluster.sessions_managers.zellij_local_manager import ZellijLocalManager
|
|
156
|
-
|
|
157
|
-
for idx, layout_tabs_chunk in enumerate(split_list(layout_tabs, every=every, to=None)):
|
|
158
|
-
a_layout_file: LayoutConfig = {"layoutName": f"split_{idx}", "layoutTabs": layout_tabs_chunk}
|
|
159
|
-
manager = ZellijLocalManager(session_layouts=[a_layout_file])
|
|
160
|
-
manager.start_all_sessions(poll_interval=2, poll_seconds=2)
|
|
161
|
-
manager.run_monitoring_routine(wait_ms=2000)
|
|
162
|
-
manager.kill_all_sessions()
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
def split_too_many_layouts_to_run_in_sequential_sessions(layouts: list[LayoutConfig], every: int):
|
|
166
|
-
from machineconfig.utils.accessories import split_list
|
|
167
|
-
from machineconfig.cluster.sessions_managers.zellij_local_manager import ZellijLocalManager
|
|
168
|
-
for _idx, layout_chunk in enumerate(split_list(layouts, every=every)):
|
|
169
|
-
manager = ZellijLocalManager(session_layouts=layout_chunk)
|
|
170
|
-
manager.start_all_sessions(poll_interval=2, poll_seconds=2)
|
|
171
|
-
manager.run_monitoring_routine(wait_ms=2000)
|
|
172
|
-
|
|
173
|
-
|
|
174
152
|
if __name__ == "__main__": # pragma: no cover
|
|
175
153
|
main()
|