machineconfig 5.75__tar.gz → 5.77__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.75/src/machineconfig.egg-info → machineconfig-5.77}/PKG-INFO +1 -1
- {machineconfig-5.75 → machineconfig-5.77}/pyproject.toml +2 -3
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/profile/mapper.toml +0 -8
- machineconfig-5.77/src/machineconfig/scripts/python/ai/command_runner/command_runner.sh +9 -0
- machineconfig-5.77/src/machineconfig/scripts/python/ai/command_runner/prompt.txt +9 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/devops.py +12 -8
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/cli_nw.py +13 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/cli_self.py +29 -3
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/devops_update_repos.py +3 -1
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +7 -7
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_repos/secure_repo.py +1 -1
- machineconfig-5.77/src/machineconfig/scripts/python/nw/add_ssh_key.py +148 -0
- machineconfig-5.77/src/machineconfig/scripts/python/nw/devops_add_identity.py +82 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/exe/previewer.sh +6 -1
- machineconfig-5.77/src/machineconfig/settings/lf/linux/lfrc +631 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/setup_linux/uv.sh +1 -1
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/setup_windows/uv.ps1 +1 -1
- {machineconfig-5.75 → machineconfig-5.77/src/machineconfig.egg-info}/PKG-INFO +1 -1
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig.egg-info/SOURCES.txt +4 -0
- machineconfig-5.75/src/machineconfig/settings/lf/linux/lfrc +0 -224
- {machineconfig-5.75 → machineconfig-5.77}/MANIFEST.in +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/README.md +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/setup.cfg +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/remote/distribute.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/remote/file_manager.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/remote/job_params.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/remote/run_cloud.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/remote/run_cluster.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/remote/run_remote.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/remote/script_execution.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/helpers/zellij_local_helper.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/helpers/zellij_local_helper_restart.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/helpers/zellij_local_helper_with_panes.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/helpers/zellij_local_manager_helper.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/utils/enhanced_command_runner.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/utils/load_balancer.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/utils/load_balancer_helper.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/wt_local.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/zellij_local.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/templates/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/check_installations.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom/gh.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom/hx.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/alacritty.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/brave.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/bypass_paywall.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/code.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/cursor.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/espanso.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/goes.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/lvim.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/nerdfont.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/redis.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/wezterm.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/custom_dev/winget.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/installer_data.json +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/brave.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/docker.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/docker_start.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/edge.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/nerdfont.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/ngrok.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/q.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/redis.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/vscode.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/warp-cli.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/linux_scripts/wezterm.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/package_groups.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/linux/msc/cli_agents.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/linux/msc/lid.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/linux/msc/network.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/python/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/python/python_ve_symlink.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/python/vscode/api.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/python/vscode/sync_code.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/windows/archive/openssh-server_add_key.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/windows/archive/openssh-server_copy-ssh-id.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/windows/msc/cli_agents.bat +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/jobs/windows/msc/cli_agents.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/logger.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/profile/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/profile/backup.toml +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/profile/bash_shell_profiles.md +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/profile/create_helper.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/profile/create_links.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/profile/create_links_export.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/profile/create_shell_profile.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/profile/records/generic/shares.toml +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/Restore-ThunderbirdProfile.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/linux/fzf2g +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/linux/fzfag +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/linux/fzffg +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/linux/fzfg +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/linux/fzfrga +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/linux/other/share_cloud.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/linux/other/share_nfs +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/linux/other/share_smb +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/linux/other/start_docker +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/linux/other/switch_ip +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/linux/skrg +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/linux/warp-cli.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/linux/z_ls +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/agents.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/initai.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/_shared.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/claude/claude.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/cline/cline.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/copilot/privacy.md +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/crush/crush.json +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/crush/crush.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/crush/privacy.md +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/cursor/cursors.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/gemini/gemini.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/gemini/settings.json +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/generic.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ai/vscode_tasks.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/cloud.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/cloud_helpers/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/cloud_helpers/cloud_copy.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/cloud_helpers/cloud_helpers.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/cloud_helpers/cloud_mount.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/cloud_helpers/cloud_sync.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/cloud_helpers/helpers2.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/cloud_helpers/helpers5.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/croshell.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/croshell_helpers/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/croshell_helpers/pomodoro.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/croshell_helpers/scheduler.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/croshell_helpers/start_slidev.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/croshell_helpers/viewer.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/croshell_helpers/viewer_template.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/cli_config.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/cli_config_dotfile.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/cli_data.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/cli_repos.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/cli_share_server.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/cli_terminal.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/devops_add_identity.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/devops_add_ssh_key.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/devops_backup_retrieve.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/devops_status.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/themes/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/themes/choose_pwsh_theme.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/themes/choose_wezterm_theme.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_navigator.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/entry.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/env_manager/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/env_manager/path_manager_backend.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/env_manager/path_manager_tui.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/fire_jobs.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/ftpx.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helper_navigator/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helper_navigator/command_builder.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helper_navigator/command_detail.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helper_navigator/command_tree.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helper_navigator/data_models.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helper_navigator/main_app.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helper_navigator/search_bar.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.json +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_cursor_agents.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_gemini.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_qwen.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/fire_agents_help_launch.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/fire_agents_help_search.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/fire_agents_helper_types.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/fire_agents_load_balancer.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/helpers4.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/prompt.txt +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/template.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire/template.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire_command/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire_command/cloud_manager.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_repos/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/helpers_repos/grource.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/interactive.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/nw/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/nw/mount_drive +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/nw/mount_nfs +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/nw/mount_nfs.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/nw/mount_nw_drive +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/nw/mount_nw_drive.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/nw/mount_smb +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/nw/mount_ssh.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/nw/onetimeshare.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/nw/wifi_conn.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/nw/wsl_windows_transfer.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/repos_helpers/action.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/repos_helpers/clone.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/repos_helpers/count_lines.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/repos_helpers/count_lines_frontend.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/repos_helpers/entrypoint.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/repos_helpers/record.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/repos_helpers/sync.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/repos_helpers/update.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/sessions.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/sessions_helpers/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/sessions_helpers/sessions_multiprocess.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/windows/mounts/mount_nfs.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/windows/mounts/mount_nw.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/windows/mounts/mount_smb.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/windows/mounts/mount_ssh.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/windows/mounts/share_cloud.cmd +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/windows/mounts/share_smb.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/broot/br.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/broot/conf.toml +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/glow/glow.yml +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/helix/config.toml +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/helix/languages.toml +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/keras/keras.json +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/colors +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/icons +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/colors +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/icons +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/lfrc +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/linters/.flake8 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/linters/.mypy.ini +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/linters/.pylintrc +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/linters/.ruff.toml +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/mprocs/windows/other +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/pistol/pistol.conf +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/presenterm/config.yaml +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/procs/.procs.toml +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/rofi/config.rasi +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/shells/bash/init.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/shells/pwsh/init.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/shells/wt/settings.json +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/streamlit/config.toml +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/svim/linux/init.toml +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/svim/windows/init.toml +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/tere/terecd.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/wsl/.wslconfig +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/yazi/keymap.toml +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/yazi/theme.toml +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/yazi/yazi.toml +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/zed/settings.json +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/zellij/commands/monitor +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/zellij/config.kdl +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/zellij/layouts/hist +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/setup_linux/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/setup_linux/apps.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/setup_linux/apps_desktop.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/setup_linux/apps_gui.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/setup_linux/nix/cli_installation.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/setup_linux/ssh/openssh_all.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/setup_linux/ssh/openssh_wsl.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/setup_linux/web_shortcuts/android.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/setup_windows/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/setup_windows/apps.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/setup_windows/others/power_options.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/setup_windows/ssh/add-sshkey.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/setup_windows/ssh/add_identity.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/setup_windows/ssh/openssh-server.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/accessories.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/ai/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/cloud/onedrive/README.md +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/code.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/files/ascii_art.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/files/dbms.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/files/headers.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/files/ouch/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/files/ouch/decompress.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/files/read.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/installer.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/installer_utils/__init__.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/installer_utils/github_release_bulk.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/installer_utils/installer.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/installer_utils/installer_abc.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/installer_utils/installer_class.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/io.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/links.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/meta.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/notifications.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/options.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/path_extended.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/path_helper.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/procs.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/scheduler.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/scheduling.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/schemas/installer/installer_types.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/schemas/layouts/layout_types.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/source_of_truth.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/ssh.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/ssh_utils/utils.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/terminal.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/upgrade_packages.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/utils/ve.py +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig.egg-info/dependency_links.txt +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig.egg-info/entry_points.txt +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/src/machineconfig.egg-info/requires.txt +0 -0
- {machineconfig-5.75 → machineconfig-5.77}/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 = "5.
|
|
9
|
+
version = "5.77"
|
|
10
10
|
description = "Dotfiles management package"
|
|
11
11
|
readme = "README.md"
|
|
12
12
|
license = {text = "Apache 2.0"}
|
|
@@ -89,7 +89,7 @@ dev = [
|
|
|
89
89
|
"build>=1.3.0",
|
|
90
90
|
"cleanpy>=0.5.1",
|
|
91
91
|
"cowsay>=6.1",
|
|
92
|
-
"duckdb-engine>=0.17.0",
|
|
92
|
+
# "duckdb-engine>=0.17.0",
|
|
93
93
|
"euporie>=2.8.14",
|
|
94
94
|
"ipdb>=0.13.13",
|
|
95
95
|
"ipykernel>=6.30.1",
|
|
@@ -99,7 +99,6 @@ dev = [
|
|
|
99
99
|
"numpy>=2.3.3",
|
|
100
100
|
"pandas>=2.3.3",
|
|
101
101
|
"plotly>=6.3.0",
|
|
102
|
-
"polars>=1.33.1",
|
|
103
102
|
"pre-commit>=4.3.0",
|
|
104
103
|
"pudb>=2025.1",
|
|
105
104
|
"pylint>=3.3.8",
|
|
@@ -50,14 +50,6 @@ brave = {this = '~/.local/share/applications', to_this = '~/dotfiles/config/weba
|
|
|
50
50
|
[wt_windows]
|
|
51
51
|
settings = { this = '~/AppData/Local/Packages/Microsoft.WindowsTerminal_8wekyb3d8bbwe/LocalState/settings.json', to_this = 'CONFIG_ROOT/settings/shells/wt/settings.json' }
|
|
52
52
|
|
|
53
|
-
# [wsl_windows]
|
|
54
|
-
# home = {this = '~/wsl', to_this = '\\wsl.localhost\Ubuntu-22.04\home\username'}
|
|
55
|
-
# see \\wsl$ and ~\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState
|
|
56
|
-
# config = {this = '~/.wslconfig', to_this = 'CONFIG_ROOT/settings/wsl/.wslconfig'}
|
|
57
|
-
|
|
58
|
-
# [wsl_linux]
|
|
59
|
-
# home = {this = '~/win', to_this = '/mnt/c/Users/username'}
|
|
60
|
-
|
|
61
53
|
|
|
62
54
|
# =================== LLMs ============================
|
|
63
55
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
TERMINAL_OUTPUT_PATH_RAW="/.ai/terminal/debug/terminal_output_raw.txt"
|
|
3
|
+
TERMINAL_OUTPUT_PATH="/.ai/terminal/debug/terminal_output.txt"
|
|
4
|
+
> $TERMINAL_OUTPUT_PATH
|
|
5
|
+
echo "New run is underway. If you are reading this message, it means the execution has not finished yet, and you will need to wait. Once done you won't see this message and you will see terminal output instead." >> $TERMINAL_OUTPUT_PATH
|
|
6
|
+
echo "Starting new uv run..."
|
|
7
|
+
COLUMNS=200 unbuffer uv run /home/alex/code/bytesense/exchanges/src/exchanges/cli/cli_binance.py b > $TERMINAL_OUTPUT_PATH_RAW 2>&1
|
|
8
|
+
cat $TERMINAL_OUTPUT_PATH_RAW | sed -r "s/\x1B\[[0-9;]*[mK]//g" > $TERMINAL_OUTPUT_PATH
|
|
9
|
+
# watchexec --watch ./.ai/terminal/make_output.sh --watch . -e py -- bash ./.ai/terminal/make_output.sh
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
|
|
2
|
+
I have started a watch-exec server in my terminal and its working now.
|
|
3
|
+
I have set it up to re-run thi script `.ai/terminal/debug/command_runner.sh` automatically.
|
|
4
|
+
A re-run is triggered upon any change of any python file in the repo, or, any change in the make_output.sh script itself.
|
|
5
|
+
The script redirects the output from terminal to the file ./.ai/debug/terminal_output.txt
|
|
6
|
+
Run takes 50 ms only. So by the time you finish editing any python file or the command runner script, the new output is ready for you to read in that text file,
|
|
7
|
+
this makes it much faster for you to iterate because pulling the terminal and closing it every time is a bit slow.
|
|
8
|
+
Please use the terminal_output.txt as your main iteration driver.
|
|
9
|
+
please fix the mistakes that you can see in terminal output.
|
|
@@ -22,16 +22,20 @@ def get_app():
|
|
|
22
22
|
_ = install
|
|
23
23
|
app.command("install", no_args_is_help=True, help="🛠️ [i] Install essential packages")(install)
|
|
24
24
|
app.command("i", no_args_is_help=True, help="Install essential packages", hidden=True)(install)
|
|
25
|
-
|
|
26
|
-
app.add_typer(
|
|
27
|
-
app.add_typer(
|
|
28
|
-
|
|
25
|
+
app_repos = cli_repos.get_app()
|
|
26
|
+
app.add_typer(app_repos, name="repos")
|
|
27
|
+
app.add_typer(app_repos, name="r", hidden=True)
|
|
28
|
+
app_config = cli_config.get_app()
|
|
29
|
+
app.add_typer(app_config, name="config")
|
|
30
|
+
app.add_typer(app_config, name="c", hidden=True)
|
|
29
31
|
app.add_typer(cli_data.app_data, name="data")
|
|
30
32
|
app.add_typer(cli_data.app_data, name="d", hidden=True)
|
|
31
|
-
|
|
32
|
-
app.add_typer(
|
|
33
|
-
app.add_typer(
|
|
34
|
-
|
|
33
|
+
app_self = cli_self.get_app()
|
|
34
|
+
app.add_typer(app_self, name="self")
|
|
35
|
+
app.add_typer(app_self, name="s", hidden=True)
|
|
36
|
+
app_nw = cli_network.get_app()
|
|
37
|
+
app.add_typer(app_nw, name="network")
|
|
38
|
+
app.add_typer(app_nw, name="n", hidden=True)
|
|
35
39
|
return app
|
|
36
40
|
|
|
37
41
|
def main():
|
{machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/scripts/python/devops_helpers/cli_nw.py
RENAMED
|
@@ -31,6 +31,17 @@ def add_ssh_identity():
|
|
|
31
31
|
import machineconfig.scripts.python.devops_helpers.devops_add_identity as helper
|
|
32
32
|
helper.main()
|
|
33
33
|
|
|
34
|
+
|
|
35
|
+
def show_address():
|
|
36
|
+
import socket
|
|
37
|
+
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
|
38
|
+
s.connect(('8.8.8.8',80))
|
|
39
|
+
local_ip_v4 = s.getsockname()[0]
|
|
40
|
+
s.close()
|
|
41
|
+
print(f"This computer is @ {local_ip_v4}")
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
34
45
|
def get_app():
|
|
35
46
|
nw_apps = typer.Typer(help="🔐 [n] Network subcommands", no_args_is_help=True)
|
|
36
47
|
nw_apps.command(name="share-terminal", help="📡 [t] Share terminal via web browser")(cli_terminal.main)
|
|
@@ -43,4 +54,6 @@ def get_app():
|
|
|
43
54
|
nw_apps.command(name="k", help="Add SSH public key to this machine", hidden=True)(add_ssh_key)
|
|
44
55
|
nw_apps.command(name="add-ssh-identity", help="🗝️ [a] Add SSH identity (private key) to this machine")(add_ssh_identity)
|
|
45
56
|
nw_apps.command(name="a", help="Add SSH identity (private key) to this machine", hidden=True)(add_ssh_identity)
|
|
57
|
+
nw_apps.command(name="show-address", help="[A] Show this computer addresses on network")(show_address)
|
|
58
|
+
nw_apps.command(name="a", help="Show this computer addresses on network", hidden=True)(show_address)
|
|
46
59
|
return nw_apps
|
|
@@ -4,9 +4,14 @@ from typing import Optional
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
def update():
|
|
7
|
-
"""🔄 UPDATE
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
"""🔄 UPDATE uv and machineconfig"""
|
|
8
|
+
code = """
|
|
9
|
+
uv self update
|
|
10
|
+
uv tool install --upgrade machineconfig
|
|
11
|
+
"""
|
|
12
|
+
from machineconfig.utils.code import run_shell_script
|
|
13
|
+
run_shell_script(code)
|
|
14
|
+
|
|
10
15
|
def interactive():
|
|
11
16
|
"""🤖 INTERACTIVE configuration of machine."""
|
|
12
17
|
from machineconfig.scripts.python.interactive import main
|
|
@@ -48,6 +53,25 @@ def run_python(ip: str = typer.Argument(..., help="Python command to run in the
|
|
|
48
53
|
import subprocess
|
|
49
54
|
import sys
|
|
50
55
|
subprocess.run([sys.executable, ip], cwd=machineconfig.__path__[0])
|
|
56
|
+
def readme():
|
|
57
|
+
from rich.console import Console
|
|
58
|
+
from rich.markdown import Markdown
|
|
59
|
+
import requests
|
|
60
|
+
|
|
61
|
+
# URL of the raw README.md file
|
|
62
|
+
url_readme = "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/refs/heads/main/README.md"
|
|
63
|
+
|
|
64
|
+
# Fetch the content
|
|
65
|
+
response = requests.get(url_readme)
|
|
66
|
+
response.raise_for_status() # Raise an error for bad responses
|
|
67
|
+
|
|
68
|
+
# Parse markdown
|
|
69
|
+
md = Markdown(response.text)
|
|
70
|
+
|
|
71
|
+
# Render in terminal
|
|
72
|
+
console = Console()
|
|
73
|
+
console.print(md)
|
|
74
|
+
|
|
51
75
|
|
|
52
76
|
def get_app():
|
|
53
77
|
cli_app = typer.Typer(help="🔄 [s] self operations subcommands", no_args_is_help=True)
|
|
@@ -63,4 +87,6 @@ def get_app():
|
|
|
63
87
|
cli_app.command("n", no_args_is_help=False, help="NAVIGATE command structure with TUI", hidden=True)(navigate)
|
|
64
88
|
cli_app.command("python", no_args_is_help=False, help="🐍 [c] python command/file in the machineconfig environment")(run_python)
|
|
65
89
|
cli_app.command("c", no_args_is_help=False, help="RUN python command/file in the machineconfig environment", hidden=True)(run_python)
|
|
90
|
+
cli_app.command("readme", no_args_is_help=False, help="📚 [r] render readme markdown in terminal.")(readme)
|
|
91
|
+
cli_app.command("r", no_args_is_help=False, hidden=True)(readme)
|
|
66
92
|
return cli_app
|
|
@@ -238,11 +238,13 @@ def main(verbose: bool = True, allow_password_prompt: bool = False) -> None:
|
|
|
238
238
|
padding=(1, 2),
|
|
239
239
|
)
|
|
240
240
|
)
|
|
241
|
+
update_repos(repos, allow_password_prompt)
|
|
241
242
|
|
|
243
|
+
|
|
244
|
+
def update_repos(repos: list[Path], allow_password_prompt: bool) -> None:
|
|
242
245
|
# Process repositories in parallel
|
|
243
246
|
results: list[RepositoryUpdateResult] = []
|
|
244
247
|
repos_with_changes = []
|
|
245
|
-
|
|
246
248
|
with ThreadPoolExecutor(max_workers=min(len(repos), 8)) as executor:
|
|
247
249
|
# Submit all tasks
|
|
248
250
|
future_to_repo = {
|
|
@@ -20,7 +20,7 @@ def main(
|
|
|
20
20
|
cloud: Optional[str] = typer.Option(None, "--cloud", "-c", help="Cloud storage profile name. If not provided, uses default from config."),
|
|
21
21
|
repo: Optional[str] = typer.Option(None, "--repo", "-r", help="Path to the local repository. Defaults to current working directory."),
|
|
22
22
|
message: Optional[str] = typer.Option(None, "--message", "-m", help="Commit message for local changes."),
|
|
23
|
-
on_conflict: Literal["ask", "
|
|
23
|
+
on_conflict: Literal["ask", "push-local-merge", "overwrite-local", "stop-on-conflict", "remove-rclone-conflict"] = typer.Option("ask", "--on-conflict", "-oc", help="Action to take on merge conflict. Default is 'ask'."),
|
|
24
24
|
pwd: Optional[str] = typer.Option(None, "--password", help="Password for encryption/decryption of the remote repository."),
|
|
25
25
|
):
|
|
26
26
|
if cloud is None:
|
|
@@ -101,7 +101,7 @@ git pull originEnc master
|
|
|
101
101
|
return "done"
|
|
102
102
|
from machineconfig.utils.meta import function_to_script
|
|
103
103
|
program_1_py = function_to_script(func=func2, call_with_args=None, call_with_kwargs={"remote_repo": str(repo_remote_root), "local_repo": str(repo_local_root), "cloud": cloud_resolved})
|
|
104
|
-
shell_file_1 = get_shell_file_executing_python_script(python_script=program_1_py, ve_path=None, executable="uv run --with machineconfig")
|
|
104
|
+
shell_file_1 = get_shell_file_executing_python_script(python_script=program_1_py, ve_path=None, executable="""uv run --with "machineconfig>=5.74" """)
|
|
105
105
|
# ================================================================================
|
|
106
106
|
option2 = "Delete local repo and replace it with remote copy:"
|
|
107
107
|
program_2 = f"""
|
|
@@ -122,7 +122,7 @@ sudo chmod +x $HOME/dotfiles/scripts/linux -R
|
|
|
122
122
|
inspect_repos(repo_local_root=repo_local_root, repo_remote_root=repo_remote_root)
|
|
123
123
|
return "done"
|
|
124
124
|
program_3_py = function_to_script(func=func, call_with_args=None, call_with_kwargs={"repo_local_root": str(repo_local_root), "repo_remote_root": str(repo_remote_root)})
|
|
125
|
-
shell_file_3 = get_shell_file_executing_python_script(python_script=program_3_py, ve_path=None, executable="uv run --with machineconfig")
|
|
125
|
+
shell_file_3 = get_shell_file_executing_python_script(python_script=program_3_py, ve_path=None, executable="""uv run --with "machineconfig>=5.74" """)
|
|
126
126
|
# ================================================================================
|
|
127
127
|
|
|
128
128
|
option4 = "Remove problematic rclone file from repo and replace with remote:"
|
|
@@ -159,13 +159,13 @@ git commit -am "finished merging"
|
|
|
159
159
|
program_content = program_4
|
|
160
160
|
else:
|
|
161
161
|
raise NotImplementedError(f"Choice {choice} not implemented.")
|
|
162
|
-
case "
|
|
162
|
+
case "push-local-merge":
|
|
163
163
|
program_content = shell_file_1.read_text(encoding="utf-8")
|
|
164
|
-
case "
|
|
164
|
+
case "overwrite-local":
|
|
165
165
|
program_content = program_2
|
|
166
|
-
case "
|
|
166
|
+
case "stop-on-conflict":
|
|
167
167
|
program_content = shell_file_3.read_text(encoding="utf-8")
|
|
168
|
-
case "
|
|
168
|
+
case "remove-rclone-conflict":
|
|
169
169
|
program_content = program_4
|
|
170
170
|
case _:
|
|
171
171
|
raise ValueError(f"Unknown action: {on_conflict}")
|
|
@@ -8,7 +8,7 @@ def main(
|
|
|
8
8
|
cloud: Optional[str] = typer.Option(None, "--cloud", "-c", help="Cloud storage profile name. If not provided, uses default from config."),
|
|
9
9
|
repo: Optional[str] = typer.Option(None, "--repo", "-r", help="Path to the local repository. Defaults to current working directory."),
|
|
10
10
|
message: Optional[str] = typer.Option(None, "--message", "-m", help="Commit message for local changes."),
|
|
11
|
-
on_conflict: Literal["ask", "
|
|
11
|
+
on_conflict: Literal["ask", "push-local-merge", "overwrite-local", "stop-on-conflict", "remove-rclone-conflict"] = typer.Option("ask", "--on-conflict", "-oc", help="Action to take on merge conflict. Default is 'ask'."),
|
|
12
12
|
pwd: Optional[str] = typer.Option(None, "--password", help="Password for encryption/decryption of the remote repository."),
|
|
13
13
|
):
|
|
14
14
|
from machineconfig.scripts.python.helpers_repos.cloud_repo_sync import main as program_content
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"""SSH"""
|
|
2
|
+
|
|
3
|
+
from platform import system
|
|
4
|
+
from machineconfig.utils.source_of_truth import LIBRARY_ROOT
|
|
5
|
+
from machineconfig.utils.path_extended import PathExtended
|
|
6
|
+
from rich.console import Console
|
|
7
|
+
from rich.panel import Panel
|
|
8
|
+
from rich import box # Import box
|
|
9
|
+
from typing import Optional
|
|
10
|
+
import typer
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
console = Console()
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def get_add_ssh_key_script(path_to_key: PathExtended):
|
|
17
|
+
console.print(Panel("🔑 SSH KEY CONFIGURATION", title="[bold blue]SSH Setup[/bold blue]"))
|
|
18
|
+
if system() == "Linux" or system() == "Darwin":
|
|
19
|
+
authorized_keys = PathExtended.home().joinpath(".ssh/authorized_keys")
|
|
20
|
+
console.print(Panel(f"🐧 Linux SSH configuration\n📄 Authorized keys file: {authorized_keys}", title="[bold blue]System Info[/bold blue]"))
|
|
21
|
+
elif system() == "Windows":
|
|
22
|
+
authorized_keys = PathExtended("C:/ProgramData/ssh/administrators_authorized_keys")
|
|
23
|
+
console.print(Panel(f"🪟 Windows SSH configuration\n📄 Authorized keys file: {authorized_keys}", title="[bold blue]System Info[/bold blue]"))
|
|
24
|
+
else:
|
|
25
|
+
console.print(Panel("❌ ERROR: Unsupported operating system\nOnly Linux and Windows are supported", title="[bold red]Error[/bold red]"))
|
|
26
|
+
raise NotImplementedError
|
|
27
|
+
|
|
28
|
+
if authorized_keys.exists():
|
|
29
|
+
split = "\n"
|
|
30
|
+
keys_text = authorized_keys.read_text(encoding="utf-8").split(split)
|
|
31
|
+
key_count = len([k for k in keys_text if k.strip()])
|
|
32
|
+
console.print(Panel(f"🔍 Current SSH authorization status\n✅ Found {key_count} authorized key(s)", title="[bold blue]Status[/bold blue]"))
|
|
33
|
+
if path_to_key.read_text(encoding="utf-8") in authorized_keys.read_text(encoding="utf-8"):
|
|
34
|
+
console.print(Panel(f"⚠️ Key already authorized\nKey: {path_to_key.name}\nStatus: Already present in authorized_keys file\nNo action required", title="[bold yellow]Warning[/bold yellow]"))
|
|
35
|
+
program = ""
|
|
36
|
+
else:
|
|
37
|
+
console.print(Panel(f"➕ Adding new SSH key to authorized keys\n🔑 Key file: {path_to_key.name}", title="[bold blue]Action[/bold blue]"))
|
|
38
|
+
if system() == "Linux":
|
|
39
|
+
program = f"cat {path_to_key} >> ~/.ssh/authorized_keys"
|
|
40
|
+
elif system() == "Windows":
|
|
41
|
+
program_path = LIBRARY_ROOT.joinpath("setup_windows/add-sshkey.ps1")
|
|
42
|
+
program = program_path.expanduser().read_text(encoding="utf-8")
|
|
43
|
+
place_holder = r'$sshfile = "$env:USERPROFILE\.ssh\pubkey.pub"'
|
|
44
|
+
assert place_holder in program, f"This section performs string manipulation on the script {program_path} to add the key to the authorized_keys file. The script has changed and the string {place_holder} is not found."
|
|
45
|
+
program = program.replace(place_holder, f'$sshfile = "{path_to_key}"')
|
|
46
|
+
console.print(Panel("🔧 Configured PowerShell script for Windows\n📝 Replaced placeholder with actual key path", title="[bold blue]Configuration[/bold blue]"))
|
|
47
|
+
else:
|
|
48
|
+
raise NotImplementedError
|
|
49
|
+
else:
|
|
50
|
+
console.print(Panel(f"📝 Creating new authorized_keys file\n🔑 Using key: {path_to_key.name}", title="[bold blue]Action[/bold blue]"))
|
|
51
|
+
if system() == "Linux":
|
|
52
|
+
program = f"cat {path_to_key} > ~/.ssh/authorized_keys"
|
|
53
|
+
else:
|
|
54
|
+
program_path = LIBRARY_ROOT.joinpath("setup_windows/openssh-server_add-sshkey.ps1")
|
|
55
|
+
program = PathExtended(program_path).expanduser().read_text(encoding="utf-8").replace('$sshfile=""', f'$sshfile="{path_to_key}"')
|
|
56
|
+
console.print(Panel("🔧 Configured PowerShell script for Windows\n📝 Set key path in script", title="[bold blue]Configuration[/bold blue]"))
|
|
57
|
+
|
|
58
|
+
if system() == "Linux" or system() == "Darwin":
|
|
59
|
+
program += """
|
|
60
|
+
sudo chmod 700 ~/.ssh
|
|
61
|
+
sudo chmod 644 ~/.ssh/authorized_keys
|
|
62
|
+
sudo chmod 644 ~/.ssh/*.pub
|
|
63
|
+
sudo service ssh --full-restart
|
|
64
|
+
# from superuser.com/questions/215504/permissions-on-private-key-in-ssh-folder
|
|
65
|
+
"""
|
|
66
|
+
return program
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
"""
|
|
71
|
+
# Common pitfalls:
|
|
72
|
+
# 🚫 Wrong line endings (LF/CRLF) in config files
|
|
73
|
+
# 🌐 Network port conflicts (try 2222 -> 2223) between WSL and Windows
|
|
74
|
+
# sudo service ssh restart
|
|
75
|
+
# sudo service ssh status
|
|
76
|
+
# sudo nano /etc/ssh/sshd_config
|
|
77
|
+
"""
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
def main(pub_path: Optional[str] = typer.Argument(None, help="Path to the public key file"),
|
|
81
|
+
pub_choose: bool = typer.Option(False, "--choose", "-c", help="Choose from available public keys in ~/.ssh"),
|
|
82
|
+
pub_val: bool = typer.Option(False, "--paste", "-p", help="Paste the public key content manually"),
|
|
83
|
+
from_github: Optional[str] = typer.Option(None, "--from-github", "-g", help="Fetch public keys from a GitHub username")
|
|
84
|
+
) -> None:
|
|
85
|
+
if pub_path:
|
|
86
|
+
key_path = PathExtended(pub_path).expanduser().absolute()
|
|
87
|
+
if not key_path.exists():
|
|
88
|
+
console.print(Panel(f"❌ ERROR: Provided key path does not exist\nPath: {key_path}", title="[bold red]Error[/bold red]"))
|
|
89
|
+
raise FileNotFoundError(f"Provided key path does not exist: {key_path}")
|
|
90
|
+
console.print(Panel(f"📄 Using provided public key file: {key_path}", title="[bold blue]Info[/bold blue]"))
|
|
91
|
+
program = get_add_ssh_key_script(key_path)
|
|
92
|
+
from machineconfig.utils.code import run_shell_script
|
|
93
|
+
run_shell_script(script=program)
|
|
94
|
+
console.print(Panel("✅ SSH KEY AUTHORIZATION COMPLETED", box=box.DOUBLE_EDGE, title_align="left"))
|
|
95
|
+
return
|
|
96
|
+
elif pub_choose:
|
|
97
|
+
console.print(Panel("🔐 SSH PUBLIC KEY AUTHORIZATION TOOL", box=box.DOUBLE_EDGE, title_align="left"))
|
|
98
|
+
console.print(Panel("🔍 Searching for public keys...", title="[bold blue]SSH Setup[/bold blue]", border_style="blue"))
|
|
99
|
+
pub_keys = PathExtended.home().joinpath(".ssh").search("*.pub")
|
|
100
|
+
if pub_keys:
|
|
101
|
+
console.print(Panel(f"✅ Found {len(pub_keys)} public key(s)", title="[bold green]Status[/bold green]", border_style="green"))
|
|
102
|
+
else:
|
|
103
|
+
console.print(Panel("⚠️ No public keys found", title="[bold yellow]Warning[/bold yellow]", border_style="yellow"))
|
|
104
|
+
return
|
|
105
|
+
console.print(Panel(f"🔄 Processing all {len(pub_keys)} public keys...", title="[bold blue]Processing[/bold blue]", border_style="blue"))
|
|
106
|
+
program = "\n\n\n".join([get_add_ssh_key_script(key) for key in pub_keys])
|
|
107
|
+
|
|
108
|
+
elif pub_val:
|
|
109
|
+
console.print(Panel("📋 Please provide a filename and paste the public key content", title="[bold blue]Input Required[/bold blue]", border_style="blue"))
|
|
110
|
+
key_filename = input("📝 File name (default: my_pasted_key.pub): ") or "my_pasted_key.pub"
|
|
111
|
+
key_path = PathExtended.home().joinpath(f".ssh/{key_filename}")
|
|
112
|
+
key_path.write_text(input("🔑 Paste the public key here: "), encoding="utf-8")
|
|
113
|
+
console.print(Panel(f"💾 Key saved to: {key_path}", title="[bold green]Success[/bold green]", border_style="green"))
|
|
114
|
+
program = get_add_ssh_key_script(key_path)
|
|
115
|
+
elif from_github:
|
|
116
|
+
console.print(Panel(f"🌐 Fetching public keys from GitHub user: {from_github}", title="[bold blue]GitHub Fetch[/bold blue]", border_style="blue"))
|
|
117
|
+
import requests
|
|
118
|
+
# $pubkey_url = 'https://github.com/thisismygitrepo.keys' # $pubkey_string = (Invoke-WebRequest $pubkey_url).Content
|
|
119
|
+
response = requests.get(f"https://api.github.com/users/{from_github}/keys")
|
|
120
|
+
if response.status_code != 200:
|
|
121
|
+
console.print(Panel(f"❌ ERROR: Failed to fetch keys from GitHub user {from_github}\nStatus Code: {response.status_code}", title="[bold red]Error[/bold red]", border_style="red"))
|
|
122
|
+
raise RuntimeError(f"Failed to fetch keys from GitHub user {from_github}: Status Code {response.status_code}")
|
|
123
|
+
keys = response.json()
|
|
124
|
+
if not keys:
|
|
125
|
+
console.print(Panel(f"⚠️ No public keys found for GitHub user: {from_github}", title="[bold yellow]Warning[/bold yellow]", border_style="yellow"))
|
|
126
|
+
return
|
|
127
|
+
console.print(Panel(f"✅ Found {len(keys)} public key(s) for user: {from_github}", title="[bold green]Success[/bold green]", border_style="green"))
|
|
128
|
+
key_path = PathExtended.home().joinpath(f".ssh/{from_github}_github_keys.pub")
|
|
129
|
+
key_path.write_text("\n".join([key["key"] for key in keys]), encoding="utf-8")
|
|
130
|
+
console.print(Panel(f"💾 Keys saved to: {key_path}", title="[bold green]Success[/bold green]", border_style="green"))
|
|
131
|
+
program = get_add_ssh_key_script(key_path)
|
|
132
|
+
else:
|
|
133
|
+
console.print(Panel("❌ ERROR: No method provided to add SSH key\nUse --help for options", title="[bold red]Error[/bold red]", border_style="red"))
|
|
134
|
+
raise ValueError("No method provided to add SSH key. Use --help for options.")
|
|
135
|
+
console.print(Panel("🚀 SSH KEY AUTHORIZATION READY\nRun the generated script to apply changes", box=box.DOUBLE_EDGE, title_align="left"))
|
|
136
|
+
from machineconfig.utils.code import run_shell_script
|
|
137
|
+
run_shell_script(script=program)
|
|
138
|
+
import socket
|
|
139
|
+
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
|
140
|
+
s.connect(('8.8.8.8',80))
|
|
141
|
+
local_ip_v4 = s.getsockname()[0]
|
|
142
|
+
s.close()
|
|
143
|
+
print(f"This computer is @ {local_ip_v4}")
|
|
144
|
+
console.print(Panel("✅ SSH KEY AUTHORIZATION COMPLETED", box=box.DOUBLE_EDGE, title_align="left"))
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
if __name__ == "__main__":
|
|
148
|
+
pass
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"""ID"""
|
|
2
|
+
|
|
3
|
+
# from platform import system
|
|
4
|
+
from machineconfig.utils.path_extended import PathExtended
|
|
5
|
+
from machineconfig.utils.options import choose_from_options
|
|
6
|
+
from rich.panel import Panel
|
|
7
|
+
from rich.text import Text
|
|
8
|
+
|
|
9
|
+
BOX_WIDTH = 150 # width for box drawing
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def main() -> None:
|
|
13
|
+
title = "🔑 SSH IDENTITY MANAGEMENT"
|
|
14
|
+
print(Panel(Text(title, justify="center"), expand=False))
|
|
15
|
+
print(Panel("🔍 Searching for existing SSH keys...", expand=False))
|
|
16
|
+
private_keys = [x.with_name(x.stem) for x in PathExtended.home().joinpath(".ssh").search("*.pub")]
|
|
17
|
+
private_keys = [x for x in private_keys if x.exists()]
|
|
18
|
+
if private_keys:
|
|
19
|
+
print(Panel(f"✅ Found {len(private_keys)} SSH private key(s)", expand=False))
|
|
20
|
+
else:
|
|
21
|
+
print(Panel("⚠️ No SSH private keys found", expand=False))
|
|
22
|
+
|
|
23
|
+
choice = choose_from_options(msg="Path to private key to be used when ssh'ing: ", options=[str(x) for x in private_keys] + ["I have the path to the key file", "I want to paste the key itself"], multi=False)
|
|
24
|
+
|
|
25
|
+
if choice == "I have the path to the key file":
|
|
26
|
+
print(Panel("📄 Please enter the path to your private key file", expand=False))
|
|
27
|
+
path_to_key = PathExtended(input("📋 Input path here: ")).expanduser().absolute()
|
|
28
|
+
print(Panel(f"📂 Using key from custom path: {path_to_key}", expand=False))
|
|
29
|
+
|
|
30
|
+
elif choice == "I want to paste the key itself":
|
|
31
|
+
print(Panel("📋 Please provide a filename and paste the private key content", expand=False))
|
|
32
|
+
key_filename = input("📝 File name (default: my_pasted_key): ") or "my_pasted_key"
|
|
33
|
+
path_to_key = PathExtended.home().joinpath(f".ssh/{key_filename}")
|
|
34
|
+
path_to_key.parent.mkdir(parents=True, exist_ok=True)
|
|
35
|
+
path_to_key.write_text(input("🔑 Paste the private key here: "), encoding="utf-8")
|
|
36
|
+
print(Panel(f"💾 Key saved to: {path_to_key}", expand=False))
|
|
37
|
+
|
|
38
|
+
else:
|
|
39
|
+
path_to_key = PathExtended(choice)
|
|
40
|
+
print(Panel(f"🔑 Using selected key: {path_to_key.name}", expand=False))
|
|
41
|
+
|
|
42
|
+
txt = f"IdentityFile {path_to_key.collapseuser().as_posix()}" # adds this id for all connections, no host specified.
|
|
43
|
+
config_path = PathExtended.home().joinpath(".ssh/config")
|
|
44
|
+
|
|
45
|
+
print(Panel("📝 Updating SSH configuration...", expand=False))
|
|
46
|
+
|
|
47
|
+
# Inline the previous modify_text behavior (now deprecated):
|
|
48
|
+
# - If file doesn't exist, seed content with txt_search
|
|
49
|
+
# - Otherwise, replace a matching line or append if not found
|
|
50
|
+
if config_path.exists():
|
|
51
|
+
current = config_path.read_text(encoding="utf-8")
|
|
52
|
+
print(Panel("✏️ Updated existing SSH config file", expand=False))
|
|
53
|
+
else:
|
|
54
|
+
current = txt
|
|
55
|
+
print(Panel("📄 Created new SSH config file", expand=False))
|
|
56
|
+
lines = current.split("\n")
|
|
57
|
+
found = False
|
|
58
|
+
for i, line in enumerate(lines):
|
|
59
|
+
if txt in line:
|
|
60
|
+
lines[i] = txt
|
|
61
|
+
found = True
|
|
62
|
+
if not found:
|
|
63
|
+
lines.insert(0, txt)
|
|
64
|
+
new_content = "\n".join(lines)
|
|
65
|
+
config_path.write_text(new_content, encoding="utf-8")
|
|
66
|
+
|
|
67
|
+
panel_complete = Panel(Text("✅ SSH IDENTITY CONFIGURATION COMPLETE\nIdentity added to SSH config file\nConsider reloading the SSH config to apply changes", justify="center"), expand=False, border_style="green")
|
|
68
|
+
program = f"echo '{panel_complete}'"
|
|
69
|
+
|
|
70
|
+
success_message = f"🎉 CONFIGURATION SUCCESSFUL\nIdentity added: {path_to_key.name}\nConfig file: {config_path}"
|
|
71
|
+
print(Panel(Text(success_message, justify="center"), expand=False, border_style="green"))
|
|
72
|
+
|
|
73
|
+
import subprocess
|
|
74
|
+
|
|
75
|
+
# run program
|
|
76
|
+
subprocess.run(program, shell=True, check=True, text=True)
|
|
77
|
+
print(Panel("🔐 Identity added to SSH agent", expand=False, border_style="green"))
|
|
78
|
+
return None
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
if __name__ == "__main__":
|
|
82
|
+
pass
|
{machineconfig-5.75 → machineconfig-5.77}/src/machineconfig/settings/lf/linux/exe/previewer.sh
RENAMED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
# 🔍 File Preview Script for LF File Manager
|
|
3
3
|
# Uses:
|
|
4
4
|
# 🖼️ chafa, viu - Image preview
|
|
5
|
-
# 📝
|
|
5
|
+
# 📝 bat - Syntax-highlighted text/code preview
|
|
6
|
+
# 📄 pistol - General file preview
|
|
6
7
|
|
|
7
8
|
file=$1
|
|
8
9
|
width="$2"
|
|
@@ -30,6 +31,10 @@ case "$file" in
|
|
|
30
31
|
fi
|
|
31
32
|
exit 0
|
|
32
33
|
;;
|
|
34
|
+
# 📝 Text/Code Files - Use bat for syntax highlighting
|
|
35
|
+
*.py|*.json|*.js|*.ts|*.html|*.css|*.scss|*.less|*.xml|*.yml|*.yaml|*.toml|*.ini|*.cfg|*.conf|*.sh|*.bash|*.zsh|*.fish|*.ps1|*.rs|*.go|*.java|*.cpp|*.c|*.h|*.hpp|*.cs|*.php|*.rb|*.pl|*.pm|*.lua|*.vim|*.sql|*.md|*.txt|*.log|*.csv|*.tsv)
|
|
36
|
+
bat --color=always --style=plain --paging=never "$file"
|
|
37
|
+
;;
|
|
33
38
|
*)
|
|
34
39
|
# 📄 Default file preview
|
|
35
40
|
pistol "$file"
|