machineconfig 5.17__tar.gz → 5.18__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.17/src/machineconfig.egg-info → machineconfig-5.18}/PKG-INFO +1 -1
- {machineconfig-5.17 → machineconfig-5.18}/pyproject.toml +1 -1
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/wt_local.py +6 -1
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +4 -2
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +4 -2
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +4 -2
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +1 -1
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +3 -1
- machineconfig-5.18/src/machineconfig/profile/create.py +271 -0
- machineconfig-5.18/src/machineconfig/profile/create_frontend.py +58 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/profile/shell.py +45 -9
- machineconfig-5.18/src/machineconfig/scripts/python/ai/solutions/_shared.py +13 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +1 -1
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/solutions/generic.py +12 -2
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/count_lines_frontend.py +1 -1
- machineconfig-5.18/src/machineconfig/scripts/python/devops.py +135 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/dotfile.py +14 -8
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/interactive.py +3 -21
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/share_terminal.py +1 -1
- machineconfig-5.18/src/machineconfig/setup_linux/__init__.py +11 -0
- {machineconfig-5.17/src/machineconfig/setup_linux → machineconfig-5.18/src/machineconfig/setup_linux/ssh}/openssh_all.sh +1 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +1 -1
- machineconfig-5.18/src/machineconfig/setup_windows/__init__.py +12 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/setup_windows/apps.ps1 +1 -0
- {machineconfig-5.17/src/machineconfig/setup_windows → machineconfig-5.18/src/machineconfig/setup_windows/ssh}/openssh_all.ps1 +5 -5
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +1 -1
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/code.py +7 -4
- machineconfig-5.18/src/machineconfig/utils/files/dbms.py +355 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/files/read.py +2 -2
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/installer.py +5 -5
- machineconfig-5.18/src/machineconfig/utils/links.py +302 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/procs.py +4 -4
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/scheduler.py +10 -14
- {machineconfig-5.17 → machineconfig-5.18/src/machineconfig.egg-info}/PKG-INFO +1 -1
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig.egg-info/SOURCES.txt +9 -19
- machineconfig-5.17/src/machineconfig/profile/create.py +0 -303
- machineconfig-5.17/src/machineconfig/scripts/python/ai/solutions/_shared.py +0 -5
- machineconfig-5.17/src/machineconfig/scripts/python/devops.py +0 -106
- machineconfig-5.17/src/machineconfig/scripts/windows/dotfile.ps1 +0 -1
- machineconfig-5.17/src/machineconfig/setup_linux/others/openssh-server_add_pub_key.sh +0 -57
- machineconfig-5.17/src/machineconfig/setup_linux/web_shortcuts/croshell.sh +0 -11
- machineconfig-5.17/src/machineconfig/setup_linux/web_shortcuts/ssh.sh +0 -52
- machineconfig-5.17/src/machineconfig/setup_windows/symlinks.ps1 +0 -5
- machineconfig-5.17/src/machineconfig/setup_windows/symlinks2linux.ps1 +0 -1
- machineconfig-5.17/src/machineconfig/setup_windows/web_shortcuts/all.ps1 +0 -18
- machineconfig-5.17/src/machineconfig/setup_windows/web_shortcuts/ascii_art.ps1 +0 -36
- machineconfig-5.17/src/machineconfig/setup_windows/web_shortcuts/croshell.ps1 +0 -16
- machineconfig-5.17/src/machineconfig/setup_windows/web_shortcuts/ssh.ps1 +0 -11
- machineconfig-5.17/src/machineconfig/setup_windows/wsl_refresh.ps1 +0 -8
- machineconfig-5.17/src/machineconfig/setup_windows/wt_and_pwsh.ps1 +0 -9
- machineconfig-5.17/src/machineconfig/utils/ai/__init__.py +0 -0
- machineconfig-5.17/src/machineconfig/utils/installer_utils/__init__.py +0 -0
- machineconfig-5.17/src/machineconfig/utils/links.py +0 -278
- {machineconfig-5.17 → machineconfig-5.18}/MANIFEST.in +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/README.md +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/setup.cfg +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/__init__.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/__init__.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/remote/distribute.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/remote/file_manager.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/remote/job_params.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/remote/run_cloud.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/remote/run_cluster.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/remote/run_remote.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/remote/script_execution.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/ffile.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/utils/enhanced_command_runner.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/utils/load_balancer.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/utils/load_balancer_helper.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/zellij_local.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/templates/__init__.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/__init__.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/__init__.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/custom/gh.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/custom/hx.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/custom_dev/__init__.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/custom_dev/alacritty.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/custom_dev/brave.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/custom_dev/bypass_paywall.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/custom_dev/code.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/custom_dev/cursor.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/custom_dev/espanso.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/custom_dev/goes.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/custom_dev/lvim.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/custom_dev/nerdfont.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/custom_dev/redis.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/custom_dev/wezterm.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/custom_dev/winget.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/installer_data.json +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/linux_scripts/brave.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/linux_scripts/docker.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/linux_scripts/docker_start.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/linux_scripts/edge.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/linux_scripts/nerdfont.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/linux_scripts/ngrok.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/linux_scripts/q.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/linux_scripts/redis.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/linux_scripts/vscode.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/linux_scripts/warp-cli.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/linux_scripts/wezterm.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/package_groups.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/linux/msc/cli_agents.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/linux/msc/lid.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/linux/msc/network.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/python/__init__.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/python/check_installations.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/python/python_ve_symlink.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/python/vscode/api.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/python/vscode/sync_code.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/windows/archive/openssh-server_add_key.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/windows/archive/openssh-server_copy-ssh-id.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/windows/msc/cli_agents.bat +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/windows/msc/cli_agents.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/windows/start_terminal.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/jobs/windows/startup_file.cmd +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/logger.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/profile/__init__.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/profile/records/generic/shares.toml +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/__init__.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/cloud/init.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/agents +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/choose_wezterm_theme +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/cloud_copy +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/cloud_mount +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/cloud_repo_sync +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/cloud_sync +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/croshell +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/devops +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/fire +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/ftpx +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/fzf2g +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/fzfag +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/fzffg +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/fzfg +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/fzfrga +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/gh_models +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/initai +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/kill_process +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/mount_drive +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/mount_nfs +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/mount_nw_drive +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/mount_smb +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/scheduler +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/sessions +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/share_cloud.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/share_nfs +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/share_smb +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/skrg +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/start_docker +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/start_slidev +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/start_terminals +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/switch_ip +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/warp-cli.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/wifi_conn +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/linux/z_ls +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/__init__.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/agents.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/initai.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/solutions/__init__.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/solutions/claude/claude.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/solutions/cline/cline.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/solutions/copilot/privacy.md +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/allLintersAndTypeCheckers.prompt.md +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/solutions/crush/crush.json +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/solutions/crush/crush.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/solutions/crush/privacy.md +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/solutions/cursor/cursors.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/solutions/gemini/gemini.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/solutions/gemini/settings.json +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/choose_wezterm_theme.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/cloud_copy.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/cloud_manager.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/cloud_mount.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/cloud_repo_sync.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/cloud_sync.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/count_lines.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/croshell.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/devops_add_identity.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/devops_add_ssh_key.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/devops_backup_retrieve.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/devops_update_repos.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/fire_agents_help_launch.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/fire_agents_help_search.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/fire_agents_helper_types.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/fire_agents_load_balancer.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/fire_jobs.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/fire_jobs_args_helper.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/fire_jobs_route_helper.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/fire_jobs_streamlit_helper.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ftpx.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/get_zellij_cmd.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/gh_models.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/helpers/__init__.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/helpers/cloud_helpers.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/helpers/helpers2.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/helpers/helpers4.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/helpers/helpers5.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/helpers/repo_sync_helpers.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/mount_nfs.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/mount_nw_drive.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/mount_ssh.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/onetimeshare.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/pomodoro.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/repos.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/repos_helper.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/repos_helper_action.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/repos_helper_clone.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/repos_helper_record.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/repos_helper_update.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/scheduler.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/sessions.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/snapshot.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/start_slidev.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/start_terminals.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/t4.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/viewer.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/viewer_template.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/wifi_conn.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/wsl_windows_transfer.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/agents.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/choose_wezterm_theme.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/cloud_copy.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/cloud_mount.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/cloud_repo_sync.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/cloud_sync.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/croshell.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/devops.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/fire.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/ftpx.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/gpt.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/grep.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/initai.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/kill_process.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/mount_nfs.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/mount_nw.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/mount_smb.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/mount_ssh.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/nano.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/pomodoro.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/reload_path.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/scheduler.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/sessions.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/share_cloud.cmd +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/share_nfs.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/share_smb.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/snapshot.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/start_slidev.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/start_terminals.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/unlock_bitlocker.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/wifi_conn.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/wsl_rdp_windows_port_forwarding.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/windows/wsl_ssh_windows_port_forwarding.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/__init__.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/broot/br.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/broot/conf.toml +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/glow/glow.yml +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/helix/config.toml +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/helix/languages.toml +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/keras/keras.json +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/linux/colors +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/linux/exe/previewer.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/linux/icons +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/linux/lfrc +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/windows/colors +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/windows/icons +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/windows/lfrc +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/linters/.flake8 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/linters/.mypy.ini +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/linters/.pylintrc +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/linters/.ruff.toml +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/mprocs/windows/other +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/pistol/pistol.conf +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/presenterm/config.yaml +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/procs/.procs.toml +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/rofi/config.rasi +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/shells/bash/init.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/shells/pwsh/init.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/shells/wt/settings.json +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/streamlit/config.toml +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/svim/linux/init.toml +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/svim/windows/init.toml +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/tere/terecd.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/wsl/.wslconfig +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/yazi/keymap.toml +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/yazi/theme.toml +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/yazi/yazi.toml +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/zed/settings.json +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/zellij/commands/monitor +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/zellij/config.kdl +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/zellij/layouts/hist +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/setup_linux/apps.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/setup_linux/apps_desktop.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/setup_linux/apps_gui.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/setup_linux/nix/cli_installation.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/setup_linux/repos.sh +0 -0
- {machineconfig-5.17/src/machineconfig/setup_linux → machineconfig-5.18/src/machineconfig/setup_linux/ssh}/openssh_wsl.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/setup_linux/ve.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/setup_linux/web_shortcuts/android.sh +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
- /machineconfig-5.17/src/machineconfig/setup_windows/quirks.ps1 → /machineconfig-5.18/src/machineconfig/setup_windows/others/power_options.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/setup_windows/repos.ps1 +0 -0
- {machineconfig-5.17/src/machineconfig/setup_windows → machineconfig-5.18/src/machineconfig/setup_windows/ssh}/openssh-server.ps1 +0 -0
- {machineconfig-5.17/src/machineconfig/setup_windows → machineconfig-5.18/src/machineconfig/setup_windows/ssh}/openssh-server_add-sshkey.ps1 +0 -0
- {machineconfig-5.17/src/machineconfig/setup_windows → machineconfig-5.18/src/machineconfig/setup_windows/ssh}/openssh-server_add_identity.ps1 +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/setup_windows/ve.ps1 +0 -0
- {machineconfig-5.17/src/machineconfig/setup_linux → machineconfig-5.18/src/machineconfig/setup_windows/wt_and_pwsh}/__init__.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
- {machineconfig-5.17/src/machineconfig/setup_windows → machineconfig-5.18/src/machineconfig/utils}/__init__.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/accessories.py +0 -0
- {machineconfig-5.17/src/machineconfig/setup_windows/wt_and_pwsh → machineconfig-5.18/src/machineconfig/utils/ai}/__init__.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/ai/generate_file_checklist.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/files/ascii_art.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/files/headers.py +0 -0
- {machineconfig-5.17/src/machineconfig/utils → machineconfig-5.18/src/machineconfig/utils/installer_utils}/__init__.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/installer_utils/github_release_bulk.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/installer_utils/installer.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/installer_utils/installer_abc.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/installer_utils/installer_class.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/io.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/notifications.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/options.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/path_extended.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/path_helper.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/scheduling.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/schemas/installer/installer_types.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/schemas/layouts/layout_types.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/source_of_truth.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/ssh.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/terminal.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/upgrade_packages.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/utils/ve.py +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig.egg-info/dependency_links.txt +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig.egg-info/entry_points.txt +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig.egg-info/requires.txt +0 -0
- {machineconfig-5.17 → machineconfig-5.18}/src/machineconfig.egg-info/top_level.txt +0 -0
{machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/cluster/sessions_managers/wt_local.py
RENAMED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
"""
|
|
3
3
|
Windows Terminal local layout generator and session manager.
|
|
4
4
|
Equivalent to zellij_local.py but for Windows Terminal.
|
|
5
|
+
|
|
6
|
+
https://github.com/ruby9455/app_management/tree/main/app_management
|
|
7
|
+
|
|
5
8
|
"""
|
|
6
9
|
|
|
7
10
|
import shlex
|
|
@@ -13,11 +16,13 @@ import platform
|
|
|
13
16
|
from typing import Dict, List, Optional, Any
|
|
14
17
|
from pathlib import Path
|
|
15
18
|
import logging
|
|
19
|
+
from rich.console import Console
|
|
16
20
|
|
|
17
21
|
from machineconfig.utils.schemas.layouts.layout_types import LayoutConfig
|
|
18
22
|
|
|
19
23
|
logging.basicConfig(level=logging.INFO)
|
|
20
24
|
logger = logging.getLogger(__name__)
|
|
25
|
+
console = Console()
|
|
21
26
|
TMP_LAYOUT_DIR = Path.home().joinpath("tmp_results", "session_manager", "wt", "layout_manager")
|
|
22
27
|
|
|
23
28
|
# Check if we're on Windows
|
|
@@ -341,7 +346,7 @@ try {{
|
|
|
341
346
|
for proc in cmd_status["processes"][:2]: # Show first 2 processes
|
|
342
347
|
pid = proc.get("pid", "Unknown")
|
|
343
348
|
name = proc.get("name", "Unknown")
|
|
344
|
-
print(f" └─ PID {pid}: {name}")
|
|
349
|
+
console.print(f" [dim]└─[/dim] PID {pid}: {name}")
|
|
345
350
|
print()
|
|
346
351
|
|
|
347
352
|
print("=" * 80)
|
|
@@ -6,6 +6,7 @@ import logging
|
|
|
6
6
|
import subprocess
|
|
7
7
|
from pathlib import Path
|
|
8
8
|
from typing import TypedDict, Optional, Dict, List, Any
|
|
9
|
+
from rich.console import Console
|
|
9
10
|
from machineconfig.utils.scheduler import Scheduler
|
|
10
11
|
from machineconfig.cluster.sessions_managers.wt_local import WTLayoutGenerator
|
|
11
12
|
from machineconfig.utils.schemas.layouts.layout_types import LayoutConfig
|
|
@@ -21,6 +22,7 @@ class WTSessionReport(TypedDict):
|
|
|
21
22
|
|
|
22
23
|
logging.basicConfig(level=logging.INFO)
|
|
23
24
|
logger = logging.getLogger(__name__)
|
|
25
|
+
console = Console()
|
|
24
26
|
|
|
25
27
|
TMP_SERIALIZATION_DIR = Path.home().joinpath("tmp_results", "session_manager", "wt", "local_manager")
|
|
26
28
|
|
|
@@ -220,11 +222,11 @@ class WTLocalManager:
|
|
|
220
222
|
cmd_text = cmd_status.get("command", "Unknown")[:50]
|
|
221
223
|
if len(cmd_status.get("command", "")) > 50:
|
|
222
224
|
cmd_text += "..."
|
|
223
|
-
print(f" {status_icon} {tab_name}: {cmd_text}")
|
|
225
|
+
console.print(f" {status_icon} {tab_name}: {cmd_text}")
|
|
224
226
|
|
|
225
227
|
if cmd_status.get("processes"):
|
|
226
228
|
for proc in cmd_status["processes"][:2]: # Show first 2 processes
|
|
227
|
-
print(f" └─ PID {proc['pid']}: {proc['name']}")
|
|
229
|
+
console.print(f" [dim]└─[/dim] PID {proc['pid']}: {proc['name']}")
|
|
228
230
|
print()
|
|
229
231
|
|
|
230
232
|
print("=" * 80)
|
|
@@ -4,6 +4,7 @@ import uuid
|
|
|
4
4
|
import logging
|
|
5
5
|
from pathlib import Path
|
|
6
6
|
from typing import Optional, Any
|
|
7
|
+
from rich.console import Console
|
|
7
8
|
from machineconfig.utils.scheduler import Scheduler
|
|
8
9
|
from machineconfig.cluster.sessions_managers.wt_local import run_command_in_wt_tab
|
|
9
10
|
from machineconfig.cluster.sessions_managers.wt_remote import WTRemoteLayoutGenerator
|
|
@@ -13,6 +14,7 @@ TMP_SERIALIZATION_DIR = Path.home().joinpath("tmp_results", "session_manager", "
|
|
|
13
14
|
|
|
14
15
|
# Module-level logger to be used throughout this module
|
|
15
16
|
logger = logging.getLogger(__name__)
|
|
17
|
+
console = Console()
|
|
16
18
|
|
|
17
19
|
|
|
18
20
|
class WTSessionManager:
|
|
@@ -315,11 +317,11 @@ class WTSessionManager:
|
|
|
315
317
|
cmd_text = cmd_status.get("command", "Unknown")[:50]
|
|
316
318
|
if len(cmd_status.get("command", "")) > 50:
|
|
317
319
|
cmd_text += "..."
|
|
318
|
-
print(f" {status_icon} {tab_name}: {cmd_text}")
|
|
320
|
+
console.print(f" {status_icon} {tab_name}: {cmd_text}")
|
|
319
321
|
|
|
320
322
|
if cmd_status.get("processes"):
|
|
321
323
|
for proc in cmd_status["processes"][:2]: # Show first 2 processes
|
|
322
|
-
print(f" └─ PID {proc.get('pid', 'Unknown')}: {proc.get('name', 'Unknown')}")
|
|
324
|
+
console.print(f" [dim]└─[/dim] PID {proc.get('pid', 'Unknown')}: {proc.get('name', 'Unknown')}")
|
|
323
325
|
print()
|
|
324
326
|
|
|
325
327
|
print("=" * 80)
|
|
@@ -5,11 +5,13 @@ Status reporting utilities for Windows Terminal layouts and sessions.
|
|
|
5
5
|
|
|
6
6
|
import logging
|
|
7
7
|
from typing import Dict, Any, List
|
|
8
|
+
from rich.console import Console
|
|
8
9
|
from machineconfig.cluster.sessions_managers.wt_utils.process_monitor import WTProcessMonitor
|
|
9
10
|
from machineconfig.cluster.sessions_managers.wt_utils.session_manager import WTSessionManager
|
|
10
11
|
from machineconfig.utils.schemas.layouts.layout_types import TabConfig
|
|
11
12
|
|
|
12
13
|
logger = logging.getLogger(__name__)
|
|
14
|
+
console = Console()
|
|
13
15
|
|
|
14
16
|
|
|
15
17
|
class WTStatusReporter:
|
|
@@ -82,11 +84,11 @@ class WTStatusReporter:
|
|
|
82
84
|
for proc in processes:
|
|
83
85
|
pid = proc.get("pid", "Unknown")
|
|
84
86
|
name = proc.get("name", "Unknown")
|
|
85
|
-
print(f" └─ PID {pid}: {name}")
|
|
87
|
+
console.print(f" [dim]└─[/dim] PID {pid}: {name}")
|
|
86
88
|
|
|
87
89
|
if len(cmd_status["processes"]) > 3:
|
|
88
90
|
remaining = len(cmd_status["processes"]) - 3
|
|
89
|
-
print(f" └─ ... and {remaining} more processes")
|
|
91
|
+
console.print(f" [dim]└─[/dim] ... and {remaining} more processes")
|
|
90
92
|
|
|
91
93
|
if cmd_status.get("error"):
|
|
92
94
|
print(f" Error: {cmd_status['error']}")
|
|
@@ -245,7 +245,7 @@ class ZellijLocalManager:
|
|
|
245
245
|
|
|
246
246
|
if cmd_status.get("processes"):
|
|
247
247
|
for proc in cmd_status["processes"][:2]: # Show first 2 processes
|
|
248
|
-
print(f" └─ PID {proc['pid']}: {proc['name']} ({proc['status']})")
|
|
248
|
+
console.print(f" [dim]└─[/dim] PID {proc['pid']}: {proc['name']} ({proc['status']})")
|
|
249
249
|
print()
|
|
250
250
|
|
|
251
251
|
print("=" * 80)
|
|
@@ -5,11 +5,13 @@ Status reporting utilities for Zellij remote layouts.
|
|
|
5
5
|
|
|
6
6
|
import logging
|
|
7
7
|
from typing import Dict, Any
|
|
8
|
+
from rich.console import Console
|
|
8
9
|
from machineconfig.cluster.sessions_managers.zellij_utils.process_monitor import ProcessMonitor
|
|
9
10
|
from machineconfig.cluster.sessions_managers.zellij_utils.session_manager import SessionManager
|
|
10
11
|
from machineconfig.utils.schemas.layouts.layout_types import LayoutConfig
|
|
11
12
|
|
|
12
13
|
logger = logging.getLogger(__name__)
|
|
14
|
+
console = Console()
|
|
13
15
|
|
|
14
16
|
|
|
15
17
|
class StatusReporter:
|
|
@@ -70,7 +72,7 @@ class StatusReporter:
|
|
|
70
72
|
print(f"✅ {tab_name}: Running on {remote_name}")
|
|
71
73
|
if cmd_status.get("processes"):
|
|
72
74
|
for proc in cmd_status["processes"][:2]: # Show first 2 processes
|
|
73
|
-
print(f" └─ PID {proc['pid']}: {proc['name']} ({proc['status']})")
|
|
75
|
+
console.print(f" [dim]└─[/dim] PID {proc['pid']}: {proc['name']} ({proc['status']})")
|
|
74
76
|
else:
|
|
75
77
|
print(f"❌ {tab_name}: Not running on {remote_name}")
|
|
76
78
|
print(f" Command: {cmd_status.get('command', 'Unknown')}")
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
"""
|
|
2
|
+
This script Takes away all config files from the computer, place them in one directory
|
|
3
|
+
`dotfiles`, and create symlinks to those files from thier original locations.
|
|
4
|
+
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from rich.console import Console
|
|
8
|
+
from rich.panel import Panel
|
|
9
|
+
from rich.pretty import Pretty
|
|
10
|
+
from rich.text import Text
|
|
11
|
+
from rich.table import Table
|
|
12
|
+
|
|
13
|
+
from machineconfig.utils.path_extended import PathExtended
|
|
14
|
+
from machineconfig.utils.links import symlink_map, copy_map
|
|
15
|
+
from machineconfig.utils.source_of_truth import LIBRARY_ROOT
|
|
16
|
+
|
|
17
|
+
import platform
|
|
18
|
+
import subprocess
|
|
19
|
+
import tomllib
|
|
20
|
+
from typing import Optional, Any, TypedDict, Literal
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
system = platform.system() # Linux or Windows
|
|
24
|
+
ERROR_LIST: list[Any] = [] # append to this after every exception captured.
|
|
25
|
+
SYSTEM = system.lower()
|
|
26
|
+
|
|
27
|
+
console = Console()
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def get_other_systems(current_system: str) -> list[str]:
|
|
31
|
+
all_systems = ["linux", "windows", "darwin"]
|
|
32
|
+
return [s for s in all_systems if s != current_system.lower()]
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
OTHER_SYSTEMS = get_other_systems(SYSTEM)
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class Base(TypedDict):
|
|
39
|
+
this: str
|
|
40
|
+
to_this: str
|
|
41
|
+
contents: Optional[bool]
|
|
42
|
+
copy: Optional[bool]
|
|
43
|
+
|
|
44
|
+
class ConfigMapper(TypedDict):
|
|
45
|
+
file_name: str
|
|
46
|
+
config_file_default_path: str
|
|
47
|
+
self_managed_config_file_path: str
|
|
48
|
+
contents: Optional[bool]
|
|
49
|
+
copy: Optional[bool]
|
|
50
|
+
class MapperFileData(TypedDict):
|
|
51
|
+
public: dict[str, list[ConfigMapper]]
|
|
52
|
+
private: dict[str, list[ConfigMapper]]
|
|
53
|
+
def read_mapper() -> MapperFileData:
|
|
54
|
+
mapper_data: dict[str, dict[str, Base]] = tomllib.loads(LIBRARY_ROOT.joinpath("profile/mapper.toml").read_text(encoding="utf-8"))
|
|
55
|
+
public: dict[str, list[ConfigMapper]] = {}
|
|
56
|
+
private: dict[str, list[ConfigMapper]] = {}
|
|
57
|
+
for program_key, program_map in mapper_data.items():
|
|
58
|
+
for file_name, file_base in program_map.items():
|
|
59
|
+
file_map: ConfigMapper = {
|
|
60
|
+
"file_name": file_name,
|
|
61
|
+
"config_file_default_path": file_base["this"],
|
|
62
|
+
"self_managed_config_file_path": file_base["to_this"],
|
|
63
|
+
"contents": file_base.get("contents"),
|
|
64
|
+
"copy": file_base.get("copy"),
|
|
65
|
+
}
|
|
66
|
+
if "LIBRARY_ROOT" in file_map["self_managed_config_file_path"]:
|
|
67
|
+
if program_key not in public:
|
|
68
|
+
public[program_key] = []
|
|
69
|
+
public[program_key].append(file_map)
|
|
70
|
+
else:
|
|
71
|
+
if program_key not in private:
|
|
72
|
+
private[program_key] = []
|
|
73
|
+
private[program_key].append(file_map)
|
|
74
|
+
return {"public": public, "private": private}
|
|
75
|
+
|
|
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
|
+
def apply_mapper(mapper_data: dict[str, list[ConfigMapper]],
|
|
103
|
+
on_conflict: Literal["throwError", "overwriteSelfManaged", "backupSelfManaged", "overwriteDefaultPath", "backupDefaultPath"],
|
|
104
|
+
method: Literal["symlink", "copy"]
|
|
105
|
+
):
|
|
106
|
+
operation_records: list[OperationRecord] = []
|
|
107
|
+
|
|
108
|
+
import os
|
|
109
|
+
if os.name == "nt":
|
|
110
|
+
import ctypes
|
|
111
|
+
try:
|
|
112
|
+
is_admin = ctypes.windll.shell32.IsUserAnAdmin()
|
|
113
|
+
except Exception:
|
|
114
|
+
is_admin = False
|
|
115
|
+
total_length = sum(len(item) for item in mapper_data.values())
|
|
116
|
+
if not is_admin and method == "symlink" and total_length > 5:
|
|
117
|
+
warning_body = "\n".join([
|
|
118
|
+
"[bold yellow]Administrator privileges required[/]",
|
|
119
|
+
"Run the terminal as admin and try again to avoid repeated elevation prompts.",
|
|
120
|
+
])
|
|
121
|
+
console.print(
|
|
122
|
+
Panel.fit(
|
|
123
|
+
warning_body,
|
|
124
|
+
title="⚠️ Permission Needed",
|
|
125
|
+
border_style="yellow",
|
|
126
|
+
padding=(1, 2),
|
|
127
|
+
)
|
|
128
|
+
)
|
|
129
|
+
raise RuntimeError("Run terminal as admin and try again, otherwise, there will be too many popups for admin requests and no chance to terminate the program.")
|
|
130
|
+
|
|
131
|
+
for program_name, program_files in mapper_data.items():
|
|
132
|
+
console.rule(f"🔄 Processing [bold]{program_name}[/] symlinks", style="cyan")
|
|
133
|
+
for a_mapper in program_files:
|
|
134
|
+
config_file_default_path = PathExtended(a_mapper["config_file_default_path"])
|
|
135
|
+
self_managed_config_file_path = PathExtended(a_mapper["self_managed_config_file_path"].replace("LIBRARY_ROOT", LIBRARY_ROOT.as_posix()))
|
|
136
|
+
|
|
137
|
+
# Determine whether to use copy or symlink
|
|
138
|
+
use_copy = method == "copy" or "copy" in a_mapper
|
|
139
|
+
|
|
140
|
+
if "contents" in a_mapper:
|
|
141
|
+
try:
|
|
142
|
+
targets = list(self_managed_config_file_path.expanduser().search("*"))
|
|
143
|
+
for a_target in targets:
|
|
144
|
+
if use_copy:
|
|
145
|
+
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
|
+
else:
|
|
148
|
+
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
|
+
operation_records.append({
|
|
151
|
+
"program": program_name,
|
|
152
|
+
"file_key": a_mapper["file_name"],
|
|
153
|
+
"source": str(config_file_default_path.joinpath(a_target.name)),
|
|
154
|
+
"target": str(a_target),
|
|
155
|
+
"operation": operation_type,
|
|
156
|
+
"action": result["action"],
|
|
157
|
+
"details": result["details"],
|
|
158
|
+
"status": "success"
|
|
159
|
+
})
|
|
160
|
+
except Exception as ex:
|
|
161
|
+
console.print(f"❌ [red]Config error[/red]: {program_name} | {a_mapper['file_name']} | missing keys 'config_file_default_path ==> self_managed_config_file_path'. {ex}")
|
|
162
|
+
operation_records.append({
|
|
163
|
+
"program": program_name,
|
|
164
|
+
"file_key": a_mapper["file_name"],
|
|
165
|
+
"source": str(config_file_default_path),
|
|
166
|
+
"target": str(self_managed_config_file_path),
|
|
167
|
+
"operation": "contents_symlink" if not use_copy else "contents_copy",
|
|
168
|
+
"action": "error",
|
|
169
|
+
"details": f"Failed to process contents: {str(ex)}",
|
|
170
|
+
"status": f"error: {str(ex)}"
|
|
171
|
+
})
|
|
172
|
+
else:
|
|
173
|
+
try:
|
|
174
|
+
if use_copy:
|
|
175
|
+
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
|
+
else:
|
|
178
|
+
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
|
+
operation_records.append({
|
|
181
|
+
"program": program_name,
|
|
182
|
+
"file_key": a_mapper["file_name"],
|
|
183
|
+
"source": str(config_file_default_path),
|
|
184
|
+
"target": str(self_managed_config_file_path),
|
|
185
|
+
"operation": operation_type,
|
|
186
|
+
"action": result["action"],
|
|
187
|
+
"details": result["details"],
|
|
188
|
+
"status": "success"
|
|
189
|
+
})
|
|
190
|
+
except Exception as ex:
|
|
191
|
+
console.print(f"❌ [red]Config error[/red]: {program_name} | {a_mapper['file_name']} | missing keys 'config_file_default_path ==> self_managed_config_file_path'. {ex}")
|
|
192
|
+
operation_records.append({
|
|
193
|
+
"program": program_name,
|
|
194
|
+
"file_key": a_mapper["file_name"],
|
|
195
|
+
"source": str(config_file_default_path),
|
|
196
|
+
"target": str(self_managed_config_file_path),
|
|
197
|
+
"operation": "symlink" if not use_copy else "copy",
|
|
198
|
+
"action": "error",
|
|
199
|
+
"details": f"Failed to create {'symlink' if not use_copy else 'copy'}: {str(ex)}",
|
|
200
|
+
"status": f"error: {str(ex)}"
|
|
201
|
+
})
|
|
202
|
+
|
|
203
|
+
if program_name == "ssh" and system == "Linux": # permissions of ~/dotfiles/.ssh should be adjusted
|
|
204
|
+
try:
|
|
205
|
+
console.print("\n[bold]🔒 Setting secure permissions for SSH files...[/bold]")
|
|
206
|
+
# run_shell_script("sudo chmod 600 $HOME/.ssh/*")
|
|
207
|
+
# run_shell_script("sudo chmod 700 $HOME/.ssh")
|
|
208
|
+
|
|
209
|
+
subprocess.run("chmod 700 ~/.ssh/", check=True)
|
|
210
|
+
subprocess.run("chmod 700 ~/dotfiles/creds/.ssh/", check=True) # may require sudo
|
|
211
|
+
subprocess.run("chmod 600 ~/dotfiles/creds/.ssh/*", check=True)
|
|
212
|
+
console.print("[green]✅ SSH permissions set successfully[/green]")
|
|
213
|
+
except Exception as e:
|
|
214
|
+
ERROR_LIST.append(e)
|
|
215
|
+
console.print(f"❌ [red]Error setting SSH permissions[/red]: {e}")
|
|
216
|
+
|
|
217
|
+
if system == "Linux":
|
|
218
|
+
console.print("\n[bold]📜 Setting executable permissions for scripts...[/bold]")
|
|
219
|
+
subprocess.run(f"chmod +x {LIBRARY_ROOT.joinpath(f'scripts/{system.lower()}')} -R", shell=True, capture_output=True, text=True)
|
|
220
|
+
console.print("[green]✅ Script permissions updated[/green]")
|
|
221
|
+
|
|
222
|
+
# Display operation summary table
|
|
223
|
+
if operation_records:
|
|
224
|
+
table = Table(title="🔗 Symlink Operations Summary", show_header=True, header_style="bold magenta")
|
|
225
|
+
table.add_column("Program", style="cyan", no_wrap=True)
|
|
226
|
+
table.add_column("File Key", style="blue", no_wrap=True)
|
|
227
|
+
table.add_column("Source", style="green")
|
|
228
|
+
table.add_column("Target", style="yellow")
|
|
229
|
+
table.add_column("Operation", style="magenta", no_wrap=True)
|
|
230
|
+
table.add_column("Action", style="red", no_wrap=True)
|
|
231
|
+
table.add_column("Details", style="white")
|
|
232
|
+
table.add_column("Status", style="red", no_wrap=True)
|
|
233
|
+
|
|
234
|
+
for record in operation_records:
|
|
235
|
+
status_style = "green" if record["status"] == "success" else "red"
|
|
236
|
+
action_style = "green" if record["action"] != "error" else "red"
|
|
237
|
+
table.add_row(
|
|
238
|
+
record["program"],
|
|
239
|
+
record["file_key"],
|
|
240
|
+
record["source"],
|
|
241
|
+
record["target"],
|
|
242
|
+
record["operation"],
|
|
243
|
+
f"[{action_style}]{record['action']}[/{action_style}]",
|
|
244
|
+
record["details"],
|
|
245
|
+
f"[{status_style}]{record['status']}[/{status_style}]"
|
|
246
|
+
)
|
|
247
|
+
|
|
248
|
+
console.print("\n")
|
|
249
|
+
console.print(table)
|
|
250
|
+
|
|
251
|
+
if len(ERROR_LIST) > 0:
|
|
252
|
+
console.print(
|
|
253
|
+
Panel(
|
|
254
|
+
Pretty(ERROR_LIST),
|
|
255
|
+
title="❗ Errors Encountered During Processing",
|
|
256
|
+
border_style="red",
|
|
257
|
+
padding=(1, 2),
|
|
258
|
+
)
|
|
259
|
+
)
|
|
260
|
+
else:
|
|
261
|
+
console.print(
|
|
262
|
+
Panel.fit(
|
|
263
|
+
Text("✅ All symlinks created successfully!", justify="center"),
|
|
264
|
+
title="Symlink Creation Complete",
|
|
265
|
+
border_style="green",
|
|
266
|
+
)
|
|
267
|
+
)
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
if __name__ == "__main__":
|
|
271
|
+
pass
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
|
|
2
|
+
import typer
|
|
3
|
+
from typing import Optional, Literal
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def main_public_from_parser(method: Literal["symlink", "copy"] = typer.Option(..., help="Method to use for setting up the config file."),
|
|
8
|
+
on_conflict: Literal["throwError", "overwriteDefaultPath", "backupDefaultPath"] = typer.Option(..., help="Action to take on conflict"),
|
|
9
|
+
which: Optional[str] = typer.Option(None, help="Specific items to process"),
|
|
10
|
+
interactive: bool = typer.Option(False, help="Run in interactive mode")):
|
|
11
|
+
"""Terminology:
|
|
12
|
+
SOURCE = Self-Managed-Config-File-Path
|
|
13
|
+
TARGET = Config-File-Default-Path
|
|
14
|
+
For public config files, the source always exists, because we know it comes from machineconfig repo."""
|
|
15
|
+
from machineconfig.profile.create import ConfigMapper, read_mapper
|
|
16
|
+
if method == "symlink":
|
|
17
|
+
machineconfig_repo_path = Path.home().joinpath("code/machineconfig")
|
|
18
|
+
if not machineconfig_repo_path.exists() or not machineconfig_repo_path.is_dir():
|
|
19
|
+
raise FileNotFoundError(f"machineconfig repo not found at {machineconfig_repo_path}. Cannot create symlinks to non-existing source files.")
|
|
20
|
+
|
|
21
|
+
mapper_full = read_mapper()["public"]
|
|
22
|
+
if which is None:
|
|
23
|
+
assert interactive is True
|
|
24
|
+
from machineconfig.utils.options import choose_from_options
|
|
25
|
+
items_chosen = choose_from_options(msg="Which symlink to create?", options=list(mapper_full.keys()), fzf=True, multi=True)
|
|
26
|
+
else:
|
|
27
|
+
assert interactive is False
|
|
28
|
+
if which == "all":
|
|
29
|
+
items_chosen = list(mapper_full.keys())
|
|
30
|
+
else:
|
|
31
|
+
items_chosen = which.split(",")
|
|
32
|
+
items_objections: dict[str, list[ConfigMapper]] = {item: mapper_full[item] for item in items_chosen if item in mapper_full}
|
|
33
|
+
|
|
34
|
+
from machineconfig.profile.create import apply_mapper
|
|
35
|
+
apply_mapper(mapper_data=items_objections, on_conflict=on_conflict, method=method)
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def main_private_from_parser(method: Literal["symlink", "copy"] = typer.Option(..., help="Method to use for linking files"),
|
|
39
|
+
on_conflict: Literal["throwError", "overwriteSelfManaged", "backupSelfManaged", "overwriteDefaultPath", "backupDefaultPath"] = typer.Option("throwError", help="Action to take on conflict"),
|
|
40
|
+
which: Optional[str] = typer.Option(None, help="Specific items to process"),
|
|
41
|
+
interactive: bool = typer.Option(False, help="Run in interactive mode")):
|
|
42
|
+
from machineconfig.profile.create import ConfigMapper, read_mapper
|
|
43
|
+
|
|
44
|
+
mapper_full = read_mapper()["private"]
|
|
45
|
+
if which is None:
|
|
46
|
+
assert interactive is True
|
|
47
|
+
from machineconfig.utils.options import choose_from_options
|
|
48
|
+
items_chosen = choose_from_options(msg="Which symlink to create?", options=list(mapper_full.keys()), fzf=True, multi=True)
|
|
49
|
+
else:
|
|
50
|
+
assert interactive is False
|
|
51
|
+
if which == "all":
|
|
52
|
+
items_chosen = list(mapper_full.keys())
|
|
53
|
+
else:
|
|
54
|
+
items_chosen = which.split(",")
|
|
55
|
+
items_objections: dict[str, list[ConfigMapper]] = {item: mapper_full[item] for item in items_chosen if item in mapper_full}
|
|
56
|
+
|
|
57
|
+
from machineconfig.profile.create import apply_mapper
|
|
58
|
+
apply_mapper(mapper_data=items_objections, on_conflict=on_conflict, method=method)
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"""shell"""
|
|
2
2
|
|
|
3
|
+
from typing import Literal
|
|
3
4
|
from machineconfig.utils.path_extended import PathExtended
|
|
4
|
-
from machineconfig.utils.source_of_truth import LIBRARY_ROOT
|
|
5
|
+
from machineconfig.utils.source_of_truth import LIBRARY_ROOT, CONFIG_PATH
|
|
5
6
|
|
|
6
7
|
import platform
|
|
7
8
|
import os
|
|
@@ -35,25 +36,60 @@ def get_shell_profile_path() -> PathExtended:
|
|
|
35
36
|
return profile_path
|
|
36
37
|
|
|
37
38
|
|
|
38
|
-
def create_default_shell_profile() -> None:
|
|
39
|
+
def create_default_shell_profile(method: Literal["copy", "reference"]) -> None:
|
|
40
|
+
if method == "reference":
|
|
41
|
+
machineconfig_repo_path = PathExtended.home().joinpath("code/machineconfig")
|
|
42
|
+
if not machineconfig_repo_path.exists() or not machineconfig_repo_path.is_dir():
|
|
43
|
+
raise FileNotFoundError(f"machineconfig repo not found at {machineconfig_repo_path}. Cannot create symlinks to non-existing source files.")
|
|
44
|
+
|
|
39
45
|
shell_profile_path = get_shell_profile_path()
|
|
40
46
|
shell_profile = shell_profile_path.read_text(encoding="utf-8")
|
|
47
|
+
|
|
41
48
|
if system == "Windows":
|
|
42
|
-
|
|
49
|
+
init_script = PathExtended(LIBRARY_ROOT).joinpath("settings/shells/pwsh/init.ps1")
|
|
50
|
+
|
|
51
|
+
init_script_copy_path = PathExtended(CONFIG_PATH).joinpath("profile/init.ps1").collapseuser()
|
|
52
|
+
init_script_copy_path.parent.mkdir(parents=True, exist_ok=True)
|
|
53
|
+
init_script.copy(path=init_script_copy_path, overwrite=True)
|
|
54
|
+
|
|
55
|
+
source_using_copy = f""". {str(init_script_copy_path).replace("~", "$HOME")}"""
|
|
56
|
+
source_using_reference = f""". {str(init_script.collapseuser()).replace("~", "$HOME")}"""
|
|
43
57
|
else:
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
58
|
+
init_script = PathExtended(LIBRARY_ROOT).joinpath("settings/shells/bash/init.sh")
|
|
59
|
+
init_script_copy_path = PathExtended(CONFIG_PATH).joinpath("profile/init.sh").collapseuser()
|
|
60
|
+
init_script_copy_path.parent.mkdir(parents=True, exist_ok=True)
|
|
61
|
+
init_script.copy(path=init_script_copy_path, overwrite=True)
|
|
62
|
+
|
|
63
|
+
source_using_reference = f"""source {str(init_script.collapseuser()).replace("~", "$HOME")}"""
|
|
64
|
+
source_using_copy = f"""source {str(init_script_copy_path).replace("~", "$HOME")}"""
|
|
65
|
+
|
|
66
|
+
match method:
|
|
67
|
+
case "copy":
|
|
68
|
+
line_of_interest = source_using_copy
|
|
69
|
+
line_other = source_using_reference
|
|
70
|
+
case "reference":
|
|
71
|
+
line_of_interest = source_using_reference
|
|
72
|
+
line_other = source_using_copy
|
|
73
|
+
|
|
74
|
+
was_shell_updated = False
|
|
75
|
+
if line_other in shell_profile: # always remove this irrelevant line
|
|
76
|
+
shell_profile = shell_profile.replace(line_other, "")
|
|
77
|
+
was_shell_updated = True
|
|
78
|
+
|
|
79
|
+
if line_of_interest in shell_profile:
|
|
80
|
+
console.print(Panel("🔄 PROFILE | Skipping init script sourcing - already present in profile", title="[bold blue]Profile[/bold blue]", border_style="blue"))
|
|
47
81
|
else:
|
|
48
82
|
console.print(Panel("📝 PROFILE | Adding init script sourcing to profile", title="[bold blue]Profile[/bold blue]", border_style="blue"))
|
|
49
|
-
shell_profile += "\n" +
|
|
83
|
+
shell_profile += "\n" + line_of_interest + "\n"
|
|
50
84
|
if system == "Linux":
|
|
51
85
|
result = subprocess.run(["cat", "/proc/version"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, check=False)
|
|
52
86
|
if result.returncode == 0 and result.stdout:
|
|
53
87
|
version_info = result.stdout.lower()
|
|
54
88
|
if "microsoft" in version_info or "wsl" in version_info:
|
|
55
|
-
shell_profile += "\ncd
|
|
56
|
-
console.print("📌 WSL detected - adding 'cd
|
|
89
|
+
shell_profile += "\ncd $HOME"
|
|
90
|
+
console.print("📌 WSL detected - adding 'cd $HOME' to profile to avoid Windows filesystem")
|
|
91
|
+
was_shell_updated = True
|
|
92
|
+
if was_shell_updated:
|
|
57
93
|
shell_profile_path.parent.mkdir(parents=True, exist_ok=True)
|
|
58
94
|
shell_profile_path.write_text(shell_profile, encoding="utf-8")
|
|
59
95
|
console.print(Panel("✅ Profile updated successfully", title="[bold blue]Profile[/bold blue]", border_style="blue"))
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from pathlib import Path
|
|
2
|
+
from machineconfig.utils.source_of_truth import LIBRARY_ROOT
|
|
3
|
+
|
|
4
|
+
def get_generic_instructions_path() -> Path:
|
|
5
|
+
path = LIBRARY_ROOT.joinpath("scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md")
|
|
6
|
+
text = path.read_text(encoding="utf-8")
|
|
7
|
+
import platform
|
|
8
|
+
if platform.system().lower() == "windows":
|
|
9
|
+
text = text.replace("bash", "powershell").replace(".sh", ".ps1")
|
|
10
|
+
import tempfile
|
|
11
|
+
temp_path = Path(tempfile.gettempdir()).joinpath("generic_instructions.md")
|
|
12
|
+
temp_path.write_text(data=text, encoding="utf-8")
|
|
13
|
+
return temp_path
|
|
@@ -34,7 +34,7 @@ applyTo: "**/*.py"
|
|
|
34
34
|
* when finished, run a linting static analysis check against files you touched, Any fix any mistakes.
|
|
35
35
|
* Please run `uv run -m pyright $file_touched` and address all issues. if `pyright is not there, first run `uv add pyright --dev`.
|
|
36
36
|
* For all type checkers and linters, like mypy, pyright, pyrefly and pylint, there are config files at different levels of the repo all the way up to home directory level. You don't need to worry about them, just be mindful that they exist. The tools themselves will respect the configs therein.
|
|
37
|
-
* If you want to run all linters and pycheckers agains the entire project to make sure everything is clean, I prepared a nice shell script, you can run it from the repo root as `./.scripts/
|
|
37
|
+
* If you want to run all linters and pycheckers agains the entire project to make sure everything is clean, I prepared a nice shell script, you can run it from the repo root as `./.scripts/lint_and_type_check.sh`. It will produce markdown files that are you are meant to look at @ ./.linters/*.md
|
|
38
38
|
|
|
39
39
|
# General Programming Ethos:
|
|
40
40
|
* Make sure all the code is rigorous, no lazy stuff.
|
{machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/ai/solutions/generic.py
RENAMED
|
@@ -6,9 +6,19 @@ from machineconfig.utils.source_of_truth import LIBRARY_ROOT
|
|
|
6
6
|
def create_dot_scripts(repo_root: Path) -> None:
|
|
7
7
|
scripts_dir = LIBRARY_ROOT.joinpath("scripts/python/ai/scripts")
|
|
8
8
|
target_dir = repo_root.joinpath(".scripts")
|
|
9
|
+
import shutil
|
|
10
|
+
shutil.rmtree(target_dir, ignore_errors=True)
|
|
9
11
|
target_dir.mkdir(parents=True, exist_ok=True)
|
|
10
|
-
for script_path in scripts_dir.iterdir():
|
|
11
|
-
|
|
12
|
+
# for script_path in scripts_dir.iterdir():
|
|
13
|
+
# target_dir.joinpath(script_path.name).write_text(data=script_path.read_text(encoding="utf-8"), encoding="utf-8")
|
|
14
|
+
import platform
|
|
15
|
+
if platform.system() == "Windows":
|
|
16
|
+
script_path = scripts_dir.joinpath("lint_and_type_check.ps1")
|
|
17
|
+
elif platform.system() in ["Linux", "Darwin"]:
|
|
18
|
+
script_path = scripts_dir.joinpath("lint_and_type_check.sh")
|
|
19
|
+
else:
|
|
20
|
+
raise NotImplementedError(f"Platform {platform.system()} is not supported.")
|
|
21
|
+
target_dir.joinpath(script_path.name).write_text(data=script_path.read_text(encoding="utf-8"), encoding="utf-8")
|
|
12
22
|
|
|
13
23
|
|
|
14
24
|
def adjust_gitignore(repo_root: Path) -> None:
|
{machineconfig-5.17 → machineconfig-5.18}/src/machineconfig/scripts/python/count_lines_frontend.py
RENAMED
|
@@ -6,7 +6,7 @@ def analyze_repo_development(repo_path: str = typer.Argument(..., help="Path to
|
|
|
6
6
|
from machineconfig.scripts.python import count_lines
|
|
7
7
|
from pathlib import Path
|
|
8
8
|
count_lines_path = Path(count_lines.__file__)
|
|
9
|
-
# --project $HOME/code/machineconfig
|
|
9
|
+
# --project $HOME/code/machineconfig --group plot
|
|
10
10
|
cmd = f"""uv run --python 3.13 --with machineconfig[plot] {count_lines_path} analyze-over-time {repo_path}"""
|
|
11
11
|
from machineconfig.utils.code import run_shell_script
|
|
12
12
|
run_shell_script(cmd)
|