machineconfig 7.32__tar.gz → 7.34__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-7.32/src/machineconfig.egg-info → machineconfig-7.34}/PKG-INFO +1 -1
- {machineconfig-7.32 → machineconfig-7.34}/pyproject.toml +3 -3
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/define.py +2 -2
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_devops/cli_config.py +1 -1
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_devops/cli_self.py +3 -3
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +1 -1
- machineconfig-7.32/src/machineconfig/scripts/python/mcfg.py → machineconfig-7.34/src/machineconfig/scripts/python/machineconfig.py +4 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/shells/bash/init.sh +1 -1
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/shells/pwsh/init.ps1 +2 -2
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +10 -10
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +10 -10
- machineconfig-7.34/src/machineconfig/utils/io.py +148 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/path_extended.py +2 -75
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/ssh.py +10 -6
- {machineconfig-7.32 → machineconfig-7.34/src/machineconfig.egg-info}/PKG-INFO +1 -1
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig.egg-info/SOURCES.txt +3 -3
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig.egg-info/entry_points.txt +2 -2
- machineconfig-7.32/src/machineconfig/utils/io.py +0 -79
- {machineconfig-7.32 → machineconfig-7.34}/MANIFEST.in +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/README.md +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/setup.cfg +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/remote/distribute.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/remote/file_manager.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/remote/job_params.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/remote/run_cloud.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/remote/run_cluster.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/remote/run_remote.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/remote/script_execution.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/helpers/enhanced_command_runner.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/helpers/load_balancer_helper.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/utils/load_balancer.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/utils/maker.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/wt_local.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/wt_utils/manager_persistence.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/wt_utils/monitoring_helpers.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporting.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/wt_utils/wt_helpers.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/zellij_local.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_restart.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_with_panes.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_manager_helper.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/templates/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/check_installations.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/custom/boxes.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/custom/gh.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/custom/hx.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/custom_dev/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/custom_dev/alacritty.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/custom_dev/brave.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/custom_dev/bypass_paywall.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/custom_dev/code.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/custom_dev/cursor.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/custom_dev/espanso.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/custom_dev/goes.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/custom_dev/lvim.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/custom_dev/nerdfont.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/custom_dev/redis.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/custom_dev/wezterm.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/custom_dev/winget.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/installer_data.json +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/linux_scripts/brave.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/linux_scripts/docker.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/linux_scripts/docker_start.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/linux_scripts/edge.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/linux_scripts/lid.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/linux_scripts/nerdfont.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/linux_scripts/network.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/linux_scripts/ngrok.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/linux_scripts/q.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/linux_scripts/redis.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/linux_scripts/vscode.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/linux_scripts/warp-cli.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/linux_scripts/wezterm.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/package_groups.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/powershell_scripts/archive_pygraphviz.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/powershell_scripts/openssh-server_add_key.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/jobs/installer/powershell_scripts/openssh-server_copy-ssh-id.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/logger.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/profile/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/profile/backup.toml +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/profile/bash_shell_profiles.md +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/profile/create_helper.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/profile/create_links.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/profile/create_links_export.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/profile/create_shell_profile.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/profile/mapper.toml +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/profile/records/generic/shares.toml +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/Restore-ThunderbirdProfile.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/linux/fzf2g +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/linux/fzfag +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/linux/fzffg +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/linux/fzfg +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/linux/fzfrga +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/linux/other/share_cloud.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/linux/other/share_nfs +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/linux/other/start_docker +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/linux/other/switch_ip +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/linux/skrg +0 -0
- /machineconfig-7.32/src/machineconfig/scripts/linux/mcfgs → /machineconfig-7.34/src/machineconfig/scripts/linux/wrap_mcfg +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/agents.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/command_runner/command_runner.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/command_runner/prompt.txt +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/initai.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/solutions/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/solutions/_shared.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/solutions/claude/claude.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/solutions/cline/cline.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/solutions/copilot/privacy.md +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/solutions/crush/crush.json +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/solutions/crush/crush.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/solutions/crush/privacy.md +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/solutions/cursor/cursors.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/solutions/gemini/gemini.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/solutions/gemini/settings.json +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/solutions/generic.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ai/vscode_tasks.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/cloud.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/croshell.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/devops.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/devops_navigator.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/env_manager/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/env_manager/path_manager_backend.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/fire_jobs.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/ftpx.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_agents/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_agents/agentic_frameworks/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.json +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_cursor_agents.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_gemini.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_qwen.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_agents/fire_agents_help_launch.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_agents/fire_agents_help_search.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_agents/fire_agents_helper_types.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_agents/fire_agents_load_balancer.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_agents/templates/prompt.txt +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_agents/templates/template.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_agents/templates/template.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_cloud/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_cloud/cloud_copy.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_cloud/cloud_helpers.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_cloud/cloud_mount.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_cloud/cloud_sync.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_cloud/helpers2.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_cloud/helpers5.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_croshell/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_croshell/crosh.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_croshell/pomodoro.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_croshell/scheduler.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_croshell/start_slidev.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_croshell/viewer.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_croshell/viewer_template.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_devops/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_devops/cli_data.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_devops/cli_nw.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_devops/cli_repos.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_devops/cli_share_server.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_devops/cli_terminal.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_devops/cli_utils.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_devops/devops_backup_retrieve.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_devops/devops_status.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_devops/devops_update_repos.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_devops/themes/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_devops/themes/choose_pwsh_theme.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_devops/themes/choose_starship_theme.bash +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_devops/themes/choose_starship_theme.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_devops/themes/choose_wezterm_theme.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_fire_command/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_fire_command/cloud_manager.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_fire_command/file_wrangler.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_navigator/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_navigator/command_builder.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_navigator/command_detail.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_navigator/command_tree.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_navigator/data_models.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_navigator/main_app.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_navigator/search_bar.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_repos/action.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_repos/action_helper.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_repos/clone.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_repos/count_lines.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_repos/entrypoint.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_repos/grource.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_repos/record.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_repos/secure_repo.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_repos/sync.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_repos/update.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_sessions/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/helpers_sessions/sessions_multiprocess.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/interactive.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/nw/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/nw/add_ssh_key.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/nw/devops_add_identity.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/nw/devops_add_ssh_key.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/nw/mount_drive +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/nw/mount_nfs +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/nw/mount_nfs.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/nw/mount_nw_drive +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/nw/mount_nw_drive.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/nw/mount_smb +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/nw/mount_ssh.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/nw/onetimeshare.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/nw/ssh_debug_linux.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/nw/ssh_debug_windows.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/nw/wifi_conn.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/nw/wsl_windows_transfer.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/sessions.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/terminal.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/python/utils.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/windows/mounts/mount_nfs.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/windows/mounts/mount_nw.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/windows/mounts/mount_smb.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/windows/mounts/share_cloud.cmd +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/windows/mounts/share_smb.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1 +0 -0
- /machineconfig-7.32/src/machineconfig/scripts/windows/mcfgs.ps1 → /machineconfig-7.34/src/machineconfig/scripts/windows/wrap_mcfg.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/broot/br.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/broot/conf.toml +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/glow/glow.yml +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/helix/config.toml +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/helix/languages.toml +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/keras/keras.json +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/linux/colors +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/linux/exe/previewer.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/linux/icons +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/linux/lfrc +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/windows/colors +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/windows/icons +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/windows/lfrc +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/linters/.flake8 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/linters/.mypy.ini +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/linters/.pylintrc +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/linters/.ruff.toml +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/marimo/marimo.toml +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/marimo/snippets/globalize.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/mprocs/windows/other +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/pistol/pistol.conf +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/presenterm/config.yaml +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/procs/.procs.toml +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/rofi/config.rasi +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/shells/wt/settings.json +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/shells/zsh/init.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/streamlit/config.toml +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/svim/linux/init.toml +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/svim/windows/init.toml +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/tere/terecd.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/wsl/.wslconfig +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/yazi/keymap.toml +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/yazi/theme.toml +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/yazi/yazi.toml +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/zed/settings.json +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/zellij/commands/monitor +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/zellij/config.kdl +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/zellij/layouts/hist +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_linux/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_linux/apps.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_linux/apps_desktop.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_linux/apps_gui.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_linux/others/android.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_linux/others/cli_installation.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_linux/ssh/openssh_all.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_linux/ssh/openssh_wsl.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_linux/uv.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_mac/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_mac/apps.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_mac/apps_gui.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_mac/ssh/openssh_setup.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_mac/uv.sh +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_windows/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_windows/apps.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_windows/others/power_options.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_windows/ssh/add-sshkey.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_windows/ssh/add_identity.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_windows/ssh/openssh-server.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_windows/uv.ps1 +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/accessories.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/ai/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/cloud/onedrive/README.md +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/code.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/files/art/fat_croco.txt +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/files/art/halfwit_croco.txt +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/files/art/happy_croco.txt +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/files/art/water_croco.txt +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/files/ascii_art.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/files/dbms.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/files/headers.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/files/ouch/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/files/ouch/decompress.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/files/read.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/installer.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/installer_utils/__init__.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/installer_utils/github_release_bulk.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/installer_utils/installer.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/installer_utils/installer_abc.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/installer_utils/installer_class.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/links.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/meta.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/notifications.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/options.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/path_helper.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/procs.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/scheduler.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/scheduling.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/schemas/installer/installer_types.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/schemas/layouts/layout_types.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/source_of_truth.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/ssh_utils/utils.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/terminal.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/tst.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/upgrade_packages.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/utils/ve.py +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig.egg-info/dependency_links.txt +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/src/machineconfig.egg-info/requires.txt +0 -0
- {machineconfig-7.32 → machineconfig-7.34}/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 = "7.
|
|
9
|
+
version = "7.34"
|
|
10
10
|
description = "Dotfiles management package"
|
|
11
11
|
readme = "README.md"
|
|
12
12
|
license = {text = "Apache 2.0"}
|
|
@@ -69,8 +69,8 @@ sessions = "machineconfig.scripts.python.sessions:main"
|
|
|
69
69
|
croshell = "machineconfig.scripts.python.croshell:main"
|
|
70
70
|
ftpx = "machineconfig.scripts.python.ftpx:main"
|
|
71
71
|
utils = "machineconfig.scripts.python.utils:main"
|
|
72
|
-
mcfg = "machineconfig.scripts.python.
|
|
73
|
-
machineconfig = "machineconfig.scripts.python.
|
|
72
|
+
mcfg = "machineconfig.scripts.python.machineconfig:main"
|
|
73
|
+
machineconfig = "machineconfig.scripts.python.machineconfig:main"
|
|
74
74
|
terminal = "machineconfig.scripts.python.terminal:main"
|
|
75
75
|
define = "machineconfig.scripts.python.define:main"
|
|
76
76
|
|
|
@@ -16,10 +16,10 @@ def define_scripts():
|
|
|
16
16
|
print(script)
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
def
|
|
19
|
+
def get_app():
|
|
20
20
|
app = typer.Typer(add_completion=False, no_args_is_help=True)
|
|
21
21
|
app.command(name="scripts", help="define all scripts", no_args_is_help=False)(define_scripts)
|
|
22
|
-
app
|
|
22
|
+
return app
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
# if __name__ == "__main__":
|
|
@@ -39,7 +39,7 @@ def path():
|
|
|
39
39
|
uv_with = ["textual"]
|
|
40
40
|
uv_project_dir = None
|
|
41
41
|
if not Path.home().joinpath("code/machineconfig").exists():
|
|
42
|
-
uv_with.append("machineconfig>=7.
|
|
42
|
+
uv_with.append("machineconfig>=7.34")
|
|
43
43
|
else:
|
|
44
44
|
uv_project_dir = str(Path.home().joinpath("code/machineconfig"))
|
|
45
45
|
run_shell_script(get_uv_command_executing_python_script(python_script=path.read_text(encoding="utf-8"), uv_with=uv_with, uv_project_dir=uv_project_dir)[0])
|
|
@@ -48,9 +48,9 @@ def install(no_copy_assets: Annotated[bool, typer.Option("--no-assets-copy", "-n
|
|
|
48
48
|
else:
|
|
49
49
|
import platform
|
|
50
50
|
if platform.system() == "Windows":
|
|
51
|
-
run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=7.
|
|
51
|
+
run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=7.34" """)
|
|
52
52
|
else:
|
|
53
|
-
run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=7.
|
|
53
|
+
run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=7.34" """)
|
|
54
54
|
from machineconfig.profile.create_shell_profile import create_default_shell_profile
|
|
55
55
|
if not no_copy_assets:
|
|
56
56
|
create_default_shell_profile() # involves copying assets too
|
|
@@ -75,7 +75,7 @@ def navigate():
|
|
|
75
75
|
path = Path(navigator.__file__).resolve().parent.joinpath("devops_navigator.py")
|
|
76
76
|
from machineconfig.utils.code import run_shell_script
|
|
77
77
|
if Path.home().joinpath("code/machineconfig").exists(): executable = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with textual"""
|
|
78
|
-
else: executable = """--with "machineconfig>=7.
|
|
78
|
+
else: executable = """--with "machineconfig>=7.34,textual" """
|
|
79
79
|
run_shell_script(f"""uv run {executable} {path}""")
|
|
80
80
|
|
|
81
81
|
|
|
@@ -8,6 +8,7 @@ from machineconfig.scripts.python.utils import get_app as get_utils_app
|
|
|
8
8
|
from machineconfig.scripts.python.ftpx import ftpx as ftpx_func
|
|
9
9
|
from machineconfig.scripts.python.croshell import croshell as croshell_func
|
|
10
10
|
from machineconfig.scripts.python.fire_jobs import fire as get_fire_jobs_app
|
|
11
|
+
from machineconfig.scripts.python.define import get_app as get_define_app
|
|
11
12
|
|
|
12
13
|
def get_app():
|
|
13
14
|
import typer
|
|
@@ -40,6 +41,9 @@ def get_app():
|
|
|
40
41
|
app.add_typer(utils_app, name="utils", help="[u] Utility commands", no_args_is_help=True)
|
|
41
42
|
app.add_typer(utils_app, name="u", hidden=True) # short alias
|
|
42
43
|
|
|
44
|
+
define_app = get_define_app()
|
|
45
|
+
app.add_typer(define_app, name="define", help="[df] Define and manage configurations", no_args_is_help=True)
|
|
46
|
+
app.add_typer(define_app, name="df", hidden=True) # short alias
|
|
43
47
|
return app
|
|
44
48
|
|
|
45
49
|
|
{machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/scripts/windows/mounts/mount_ssh.ps1
RENAMED
|
@@ -7,7 +7,7 @@ $user = ''
|
|
|
7
7
|
$sharePath = ''
|
|
8
8
|
$driveLetter = ''
|
|
9
9
|
|
|
10
|
-
uv run --python 3.14 --with "machineconfig>=7.
|
|
10
|
+
uv run --python 3.14 --with "machineconfig>=7.34" python -m machineconfig.scripts.python.mount_ssh
|
|
11
11
|
|
|
12
12
|
net use T: \\sshfs.kr\$user@$host.local
|
|
13
13
|
# this worked: net use T: \\sshfs\alex@alex-p51s-5.local
|
|
@@ -37,7 +37,7 @@ add_to_path_if_not_already \
|
|
|
37
37
|
. $CONFIG_ROOT/settings/broot/br.sh
|
|
38
38
|
. $CONFIG_ROOT/settings/lf/linux/exe/lfcd.sh
|
|
39
39
|
. $CONFIG_ROOT/settings/tere/terecd.sh
|
|
40
|
-
. $CONFIG_ROOT/scripts/linux/
|
|
40
|
+
. $CONFIG_ROOT/scripts/linux/wrap_mcfg
|
|
41
41
|
|
|
42
42
|
# check if file in ~/dotfiles/machineconfig/init_linux.sh exists and source it
|
|
43
43
|
if [ -f "$HOME/dotfiles/machineconfig/init_linux.sh" ]; then
|
|
@@ -24,11 +24,11 @@ Add-ToPathIfNotAlready -Directories @(
|
|
|
24
24
|
)
|
|
25
25
|
|
|
26
26
|
# sources ================================================================
|
|
27
|
-
if (Test-Path "$CONFIG_ROOT\scripts\windows\
|
|
27
|
+
if (Test-Path "$CONFIG_ROOT\scripts\windows\wrap_mcfg.ps1") {
|
|
28
28
|
. $CONFIG_ROOT\settings\broot\brootcd.ps1
|
|
29
29
|
. $CONFIG_ROOT\settings\lf\windows\lfcd.ps1
|
|
30
30
|
. $CONFIG_ROOT\settings\tere\terecd.ps1
|
|
31
|
-
. $CONFIG_ROOT\scripts\windows\
|
|
31
|
+
. $CONFIG_ROOT\scripts\windows\wrap_mcfg.ps1
|
|
32
32
|
|
|
33
33
|
function lsdla { lsd -la }
|
|
34
34
|
Set-Alias -Name l -Value lsdla -Option AllScope
|
{machineconfig-7.32 → machineconfig-7.34}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh
RENAMED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
2
|
. <( curl -sSL "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/uv.sh")
|
|
3
|
-
. <( curl -sSL "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/scripts/linux/
|
|
3
|
+
. <( curl -sSL "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/scripts/linux/wrap_mcfg")
|
|
4
4
|
|
|
5
|
-
alias devops='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.
|
|
6
|
-
alias cloud='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.
|
|
7
|
-
alias agents='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.
|
|
8
|
-
alias sessions='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.
|
|
9
|
-
alias ftpx='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.
|
|
10
|
-
alias fire='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.
|
|
11
|
-
alias croshell='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.
|
|
12
|
-
alias utils='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.
|
|
13
|
-
alias terminal='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.
|
|
5
|
+
alias devops='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.34" devops'
|
|
6
|
+
alias cloud='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.34" cloud'
|
|
7
|
+
alias agents='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.34" agents'
|
|
8
|
+
alias sessions='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.34" sessions'
|
|
9
|
+
alias ftpx='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.34" ftpx'
|
|
10
|
+
alias fire='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.34" fire'
|
|
11
|
+
alias croshell='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.34" croshell'
|
|
12
|
+
alias utils='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.34" utils'
|
|
13
|
+
alias terminal='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=7.34" terminal'
|
|
14
14
|
|
|
15
15
|
alias d='wrap_in_shell_script devops'
|
|
16
16
|
alias c='wrap_in_shell_script cloud'
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
3
|
iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/uv.ps1").Content
|
|
4
|
-
iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/scripts/windows/
|
|
4
|
+
iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/scripts/windows/wrap_mcfg.ps1").Content
|
|
5
5
|
|
|
6
|
-
function devops { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.
|
|
7
|
-
function cloud { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.
|
|
8
|
-
function agents { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.
|
|
9
|
-
function sessions { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.
|
|
10
|
-
function ftpx { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.
|
|
11
|
-
function fire { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.
|
|
12
|
-
function croshell { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.
|
|
13
|
-
function utils { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.
|
|
14
|
-
function terminal { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.
|
|
6
|
+
function devops { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.34" devops $args }
|
|
7
|
+
function cloud { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.34" cloud $args }
|
|
8
|
+
function agents { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.34" agents $args }
|
|
9
|
+
function sessions { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.34" sessions $args }
|
|
10
|
+
function ftpx { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.34" ftpx $args }
|
|
11
|
+
function fire { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.34" fire $args }
|
|
12
|
+
function croshell { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.34" croshell $args }
|
|
13
|
+
function utils { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.34" utils $args }
|
|
14
|
+
function terminal { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=7.34" terminal $args }
|
|
15
15
|
|
|
16
16
|
function d { wrap_in_shell_script devops @args }
|
|
17
17
|
function c { wrap_in_shell_script cloud @args }
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import Any, Union, Optional, Mapping
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
import json
|
|
6
|
+
import pickle
|
|
7
|
+
import configparser
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
PathLike = Union[str, Path]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def _ensure_parent(path: PathLike) -> Path:
|
|
14
|
+
path_obj = Path(path)
|
|
15
|
+
path_obj.parent.mkdir(parents=True, exist_ok=True)
|
|
16
|
+
return path_obj
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def save_pickle(obj: Any, path: PathLike, verbose: bool = False) -> Path:
|
|
20
|
+
path_obj = _ensure_parent(path)
|
|
21
|
+
with open(path_obj, "wb") as fh:
|
|
22
|
+
pickle.dump(obj, fh, protocol=pickle.HIGHEST_PROTOCOL)
|
|
23
|
+
if verbose:
|
|
24
|
+
print(f"Saved pickle -> {path_obj}")
|
|
25
|
+
return Path(path_obj)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def save_json(obj: Any, path: PathLike, indent: Optional[int] = None, verbose: bool = False) -> Path:
|
|
29
|
+
path_obj = _ensure_parent(path)
|
|
30
|
+
with open(path_obj, "w", encoding="utf-8") as fh:
|
|
31
|
+
json.dump(obj, fh, indent=indent, ensure_ascii=False)
|
|
32
|
+
fh.write("\n")
|
|
33
|
+
if verbose:
|
|
34
|
+
print(f"Saved json -> {path_obj}")
|
|
35
|
+
return Path(path_obj)
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def save_ini(path: PathLike, obj: Mapping[str, Mapping[str, Any]], verbose: bool = False) -> Path:
|
|
39
|
+
cp = configparser.ConfigParser()
|
|
40
|
+
for section, values in obj.items():
|
|
41
|
+
cp[section] = {str(k): str(v) for k, v in values.items()}
|
|
42
|
+
path_obj = _ensure_parent(path)
|
|
43
|
+
with open(path_obj, "w", encoding="utf-8") as fh:
|
|
44
|
+
cp.write(fh)
|
|
45
|
+
if verbose:
|
|
46
|
+
print(f"Saved ini -> {path_obj}")
|
|
47
|
+
return Path(path_obj)
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def read_ini(path: "Path", encoding: Optional[str] = None):
|
|
51
|
+
if not Path(path).exists() or Path(path).is_dir():
|
|
52
|
+
raise FileNotFoundError(f"File not found or is a directory: {path}")
|
|
53
|
+
import configparser
|
|
54
|
+
res = configparser.ConfigParser()
|
|
55
|
+
res.read(filenames=[str(path)], encoding=encoding)
|
|
56
|
+
return res
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
def read_json(path: "Path", r: bool = False, **kwargs: Any) -> Any: # return could be list or dict etc
|
|
60
|
+
import json
|
|
61
|
+
try:
|
|
62
|
+
mydict = json.loads(Path(path).read_text(encoding="utf-8"), **kwargs)
|
|
63
|
+
except Exception:
|
|
64
|
+
import re
|
|
65
|
+
def remove_comments(text: str) -> str:
|
|
66
|
+
# remove all // single-line comments
|
|
67
|
+
text = re.sub(r'//.*', '', text)
|
|
68
|
+
# remove all /* … */ block comments (non-greedy)
|
|
69
|
+
text = re.sub(r'/\*.*?\*/', '', text, flags=re.DOTALL)
|
|
70
|
+
return text
|
|
71
|
+
mydict = json.loads(remove_comments(Path(path).read_text(encoding="utf-8")), **kwargs)
|
|
72
|
+
_ = r
|
|
73
|
+
return mydict
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
def from_pickle(path: Path) -> Any:
|
|
77
|
+
import pickle
|
|
78
|
+
|
|
79
|
+
return pickle.loads(path.read_bytes())
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
def pwd2key(password: str, salt: Optional[bytes] = None, iterations: int = 10) -> bytes: # Derive a secret key from a given password and salt"""
|
|
83
|
+
import base64
|
|
84
|
+
if salt is None:
|
|
85
|
+
import hashlib
|
|
86
|
+
m = hashlib.sha256()
|
|
87
|
+
m.update(password.encode(encoding="utf-8"))
|
|
88
|
+
return base64.urlsafe_b64encode(s=m.digest()) # make url-safe bytes required by Ferent.
|
|
89
|
+
from cryptography.hazmat.primitives import hashes
|
|
90
|
+
from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC
|
|
91
|
+
return base64.urlsafe_b64encode(PBKDF2HMAC(algorithm=hashes.SHA256(), length=32, salt=salt, iterations=iterations, backend=None).derive(password.encode()))
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
def encrypt(msg: bytes, key: Optional[bytes] = None, pwd: Optional[str] = None, salted: bool = True, iteration: Optional[int] = None, gen_key: bool = False) -> bytes:
|
|
95
|
+
import base64
|
|
96
|
+
from cryptography.fernet import Fernet
|
|
97
|
+
|
|
98
|
+
salt, iteration = None, None
|
|
99
|
+
if pwd is not None: # generate it from password
|
|
100
|
+
assert (key is None) and (type(pwd) is str), "❌ You can either pass key or pwd, or none of them, but not both."
|
|
101
|
+
import secrets
|
|
102
|
+
iteration = iteration or secrets.randbelow(exclusive_upper_bound=1_000_000)
|
|
103
|
+
salt = secrets.token_bytes(nbytes=16) if salted else None
|
|
104
|
+
key_resolved = pwd2key(password=pwd, salt=salt, iterations=iteration)
|
|
105
|
+
elif key is None:
|
|
106
|
+
if gen_key:
|
|
107
|
+
key_resolved = Fernet.generate_key()
|
|
108
|
+
Path.home().joinpath("dotfiles/creds/data/encrypted_files_key.bytes").write_bytes(key_resolved)
|
|
109
|
+
else:
|
|
110
|
+
try:
|
|
111
|
+
key_resolved = Path.home().joinpath("dotfiles/creds/data/encrypted_files_key.bytes").read_bytes()
|
|
112
|
+
print(f"⚠️ Using key from: {Path.home().joinpath('dotfiles/creds/data/encrypted_files_key.bytes')}")
|
|
113
|
+
except FileNotFoundError as err:
|
|
114
|
+
print("\n" * 3, "~" * 50, """Consider Loading up your dotfiles or pass `gen_key=True` to make and save one.""", "~" * 50, "\n" * 3)
|
|
115
|
+
raise FileNotFoundError(err) from err
|
|
116
|
+
elif isinstance(key, (str, Path)):
|
|
117
|
+
key_resolved = Path(key).read_bytes() # a path to a key file was passed, read it:
|
|
118
|
+
elif type(key) is bytes:
|
|
119
|
+
key_resolved = key # key passed explicitly
|
|
120
|
+
else:
|
|
121
|
+
raise TypeError("❌ Key must be either a path, bytes object or None.")
|
|
122
|
+
code = Fernet(key=key_resolved).encrypt(msg)
|
|
123
|
+
if pwd is not None and salt is not None and iteration is not None:
|
|
124
|
+
return base64.urlsafe_b64encode(b"%b%b%b" % (salt, iteration.to_bytes(4, "big"), base64.urlsafe_b64decode(code)))
|
|
125
|
+
return code
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
def decrypt(token: bytes, key: Optional[bytes] = None, pwd: Optional[str] = None, salted: bool = True) -> bytes:
|
|
129
|
+
import base64
|
|
130
|
+
if pwd is not None:
|
|
131
|
+
assert key is None, "❌ You can either pass key or pwd, or none of them, but not both."
|
|
132
|
+
if salted:
|
|
133
|
+
decoded = base64.urlsafe_b64decode(token)
|
|
134
|
+
salt, iterations, token = decoded[:16], decoded[16:20], base64.urlsafe_b64encode(decoded[20:])
|
|
135
|
+
key_resolved = pwd2key(password=pwd, salt=salt, iterations=int.from_bytes(bytes=iterations, byteorder="big"))
|
|
136
|
+
else:
|
|
137
|
+
key_resolved = pwd2key(password=pwd) # trailing `;` prevents IPython from caching the result.
|
|
138
|
+
elif type(key) is bytes:
|
|
139
|
+
assert pwd is None, "❌ You can either pass key or pwd, or none of them, but not both."
|
|
140
|
+
key_resolved = key # passsed explicitly
|
|
141
|
+
elif key is None:
|
|
142
|
+
key_resolved = Path.home().joinpath("dotfiles/creds/data/encrypted_files_key.bytes").read_bytes() # read from file
|
|
143
|
+
elif isinstance(key, (str, Path)):
|
|
144
|
+
key_resolved = Path(key).read_bytes() # passed a path to a file containing kwy
|
|
145
|
+
else:
|
|
146
|
+
raise TypeError(f"❌ Key must be either str, P, Path, bytes or None. Recieved: {type(key)}")
|
|
147
|
+
from cryptography.fernet import Fernet
|
|
148
|
+
return Fernet(key=key_resolved).decrypt(token)
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from machineconfig.utils.accessories import randstr
|
|
2
|
+
from machineconfig.utils.io import decrypt, encrypt
|
|
2
3
|
|
|
3
4
|
from datetime import datetime
|
|
4
5
|
import time
|
|
@@ -10,6 +11,7 @@ from platform import system
|
|
|
10
11
|
from typing import Any, Optional, Union, Callable, TypeAlias, Literal
|
|
11
12
|
|
|
12
13
|
|
|
14
|
+
|
|
13
15
|
OPLike: TypeAlias = Union[str, "PathExtended", Path, None]
|
|
14
16
|
PLike: TypeAlias = Union[str, "PathExtended", Path]
|
|
15
17
|
FILE_MODE: TypeAlias = Literal["r", "w", "x", "a"]
|
|
@@ -54,81 +56,6 @@ def _run_shell_command(
|
|
|
54
56
|
)
|
|
55
57
|
|
|
56
58
|
|
|
57
|
-
def pwd2key(password: str, salt: Optional[bytes] = None, iterations: int = 10) -> bytes: # Derive a secret key from a given password and salt"""
|
|
58
|
-
import base64
|
|
59
|
-
|
|
60
|
-
if salt is None:
|
|
61
|
-
import hashlib
|
|
62
|
-
|
|
63
|
-
m = hashlib.sha256()
|
|
64
|
-
m.update(password.encode(encoding="utf-8"))
|
|
65
|
-
return base64.urlsafe_b64encode(s=m.digest()) # make url-safe bytes required by Ferent.
|
|
66
|
-
from cryptography.hazmat.primitives import hashes
|
|
67
|
-
from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC
|
|
68
|
-
|
|
69
|
-
return base64.urlsafe_b64encode(PBKDF2HMAC(algorithm=hashes.SHA256(), length=32, salt=salt, iterations=iterations, backend=None).derive(password.encode()))
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
def encrypt(msg: bytes, key: Optional[bytes] = None, pwd: Optional[str] = None, salted: bool = True, iteration: Optional[int] = None, gen_key: bool = False) -> bytes:
|
|
73
|
-
import base64
|
|
74
|
-
from cryptography.fernet import Fernet
|
|
75
|
-
|
|
76
|
-
salt, iteration = None, None
|
|
77
|
-
if pwd is not None: # generate it from password
|
|
78
|
-
assert (key is None) and (type(pwd) is str), "❌ You can either pass key or pwd, or none of them, but not both."
|
|
79
|
-
import secrets
|
|
80
|
-
|
|
81
|
-
iteration = iteration or secrets.randbelow(exclusive_upper_bound=1_000_000)
|
|
82
|
-
salt = secrets.token_bytes(nbytes=16) if salted else None
|
|
83
|
-
key_resolved = pwd2key(password=pwd, salt=salt, iterations=iteration)
|
|
84
|
-
elif key is None:
|
|
85
|
-
if gen_key:
|
|
86
|
-
key_resolved = Fernet.generate_key()
|
|
87
|
-
Path.home().joinpath("dotfiles/creds/data/encrypted_files_key.bytes").write_bytes(key_resolved)
|
|
88
|
-
else:
|
|
89
|
-
try:
|
|
90
|
-
key_resolved = Path.home().joinpath("dotfiles/creds/data/encrypted_files_key.bytes").read_bytes()
|
|
91
|
-
print(f"⚠️ Using key from: {Path.home().joinpath('dotfiles/creds/data/encrypted_files_key.bytes')}")
|
|
92
|
-
except FileNotFoundError as err:
|
|
93
|
-
print("\n" * 3, "~" * 50, """Consider Loading up your dotfiles or pass `gen_key=True` to make and save one.""", "~" * 50, "\n" * 3)
|
|
94
|
-
raise FileNotFoundError(err) from err
|
|
95
|
-
elif isinstance(key, (str, PathExtended, Path)):
|
|
96
|
-
key_resolved = Path(key).read_bytes() # a path to a key file was passed, read it:
|
|
97
|
-
elif type(key) is bytes:
|
|
98
|
-
key_resolved = key # key passed explicitly
|
|
99
|
-
else:
|
|
100
|
-
raise TypeError("❌ Key must be either a path, bytes object or None.")
|
|
101
|
-
code = Fernet(key=key_resolved).encrypt(msg)
|
|
102
|
-
if pwd is not None and salt is not None and iteration is not None:
|
|
103
|
-
return base64.urlsafe_b64encode(b"%b%b%b" % (salt, iteration.to_bytes(4, "big"), base64.urlsafe_b64decode(code)))
|
|
104
|
-
return code
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
def decrypt(token: bytes, key: Optional[bytes] = None, pwd: Optional[str] = None, salted: bool = True) -> bytes:
|
|
108
|
-
import base64
|
|
109
|
-
|
|
110
|
-
if pwd is not None:
|
|
111
|
-
assert key is None, "❌ You can either pass key or pwd, or none of them, but not both."
|
|
112
|
-
if salted:
|
|
113
|
-
decoded = base64.urlsafe_b64decode(token)
|
|
114
|
-
salt, iterations, token = decoded[:16], decoded[16:20], base64.urlsafe_b64encode(decoded[20:])
|
|
115
|
-
key_resolved = pwd2key(password=pwd, salt=salt, iterations=int.from_bytes(bytes=iterations, byteorder="big"))
|
|
116
|
-
else:
|
|
117
|
-
key_resolved = pwd2key(password=pwd) # trailing `;` prevents IPython from caching the result.
|
|
118
|
-
elif type(key) is bytes:
|
|
119
|
-
assert pwd is None, "❌ You can either pass key or pwd, or none of them, but not both."
|
|
120
|
-
key_resolved = key # passsed explicitly
|
|
121
|
-
elif key is None:
|
|
122
|
-
key_resolved = Path.home().joinpath("dotfiles/creds/data/encrypted_files_key.bytes").read_bytes() # read from file
|
|
123
|
-
elif isinstance(key, (str, Path)):
|
|
124
|
-
key_resolved = Path(key).read_bytes() # passed a path to a file containing kwy
|
|
125
|
-
else:
|
|
126
|
-
raise TypeError(f"❌ Key must be either str, P, Path, bytes or None. Recieved: {type(key)}")
|
|
127
|
-
from cryptography.fernet import Fernet
|
|
128
|
-
|
|
129
|
-
return Fernet(key=key_resolved).decrypt(token)
|
|
130
|
-
|
|
131
|
-
|
|
132
59
|
def validate_name(astring: str, replace: str = "_") -> str:
|
|
133
60
|
import re
|
|
134
61
|
|
|
@@ -8,7 +8,7 @@ from machineconfig.utils.terminal import Response
|
|
|
8
8
|
from machineconfig.utils.accessories import pprint, randstr
|
|
9
9
|
from machineconfig.utils.meta import lambda_to_python_script
|
|
10
10
|
UV_RUN_CMD = "$HOME/.local/bin/uv run" if platform.system() != "Windows" else """& "$env:USERPROFILE/.local/bin/uv" run"""
|
|
11
|
-
MACHINECONFIG_VERSION = "machineconfig>=7.
|
|
11
|
+
MACHINECONFIG_VERSION = "machineconfig>=7.34"
|
|
12
12
|
DEFAULT_PICKLE_SUBDIR = "tmp_results/tmp_scripts/ssh"
|
|
13
13
|
|
|
14
14
|
class SSH:
|
|
@@ -245,6 +245,8 @@ class SSH:
|
|
|
245
245
|
from pathlib import Path
|
|
246
246
|
import shutil
|
|
247
247
|
directory_path = Path(target_rel2home).expanduser()
|
|
248
|
+
if not directory_path.is_absolute():
|
|
249
|
+
directory_path = Path.home().joinpath(directory_path)
|
|
248
250
|
if overwrite and directory_path.exists():
|
|
249
251
|
if directory_path.is_dir():
|
|
250
252
|
shutil.rmtree(directory_path)
|
|
@@ -318,9 +320,11 @@ class SSH:
|
|
|
318
320
|
tmp_py_file = Path.home().joinpath(f"{DEFAULT_PICKLE_SUBDIR}/create_target_dir_{randstr()}.py")
|
|
319
321
|
tmp_py_file.parent.mkdir(parents=True, exist_ok=True)
|
|
320
322
|
tmp_py_file.write_text(command, encoding="utf-8")
|
|
321
|
-
|
|
322
|
-
self.
|
|
323
|
+
remote_tmp_py = tmp_py_file.relative_to(Path.home()).as_posix()
|
|
324
|
+
self.copy_from_here(source_path=str(tmp_py_file), target_rel2home=None, compress_with_zip=False, recursive=False, overwrite_existing=True)
|
|
325
|
+
self.run_shell(command=f"""{UV_RUN_CMD} python {remote_tmp_py}""", verbose_output=False, description=f"UNZIPPING {target_rel2home}", strict_stderr=True, strict_return_code=True)
|
|
323
326
|
source_obj.unlink()
|
|
327
|
+
tmp_py_file.unlink(missing_ok=True)
|
|
324
328
|
return None
|
|
325
329
|
|
|
326
330
|
def _check_remote_is_dir(self, source_path: Union[str, Path]) -> bool:
|
|
@@ -388,7 +392,7 @@ class SSH:
|
|
|
388
392
|
assert isinstance(result, str), f"Could not resolve source path {source_path}"
|
|
389
393
|
return result
|
|
390
394
|
|
|
391
|
-
def copy_to_here(self, source: Union[str, Path], target: Optional[Union[str, Path]], compress_with_zip: bool = False, recursive: bool = False, internal_call: bool = False) ->
|
|
395
|
+
def copy_to_here(self, source: Union[str, Path], target: Optional[Union[str, Path]], compress_with_zip: bool = False, recursive: bool = False, internal_call: bool = False) -> None:
|
|
392
396
|
if self.sftp is None:
|
|
393
397
|
raise RuntimeError(f"SFTP connection not available for {self.hostname}. Cannot transfer files.")
|
|
394
398
|
|
|
@@ -484,7 +488,7 @@ class SSH:
|
|
|
484
488
|
local_file_target = target_dir.joinpath(Path(file_path).relative_to(expanded_source))
|
|
485
489
|
self.copy_to_here(source=file_path, target=local_file_target, compress_with_zip=False, recursive=False, internal_call=True)
|
|
486
490
|
|
|
487
|
-
return
|
|
491
|
+
return None
|
|
488
492
|
|
|
489
493
|
if compress_with_zip:
|
|
490
494
|
print("🗜️ ZIPPING ...")
|
|
@@ -607,7 +611,7 @@ class SSH:
|
|
|
607
611
|
self.run_py(python_code=command, uv_with=[MACHINECONFIG_VERSION], uv_project_dir=None, description="Cleaning temp zip files @ remote.", verbose_output=False, strict_stderr=True, strict_return_code=True)
|
|
608
612
|
|
|
609
613
|
print("\n")
|
|
610
|
-
return
|
|
614
|
+
return None
|
|
611
615
|
|
|
612
616
|
if __name__ == "__main__":
|
|
613
617
|
ssh = SSH(host="p51s", username=None, hostname=None, ssh_key_path=None, password=None, port=22, enable_compression=False)
|
|
@@ -119,8 +119,8 @@ src/machineconfig/scripts/linux/fzfag
|
|
|
119
119
|
src/machineconfig/scripts/linux/fzffg
|
|
120
120
|
src/machineconfig/scripts/linux/fzfg
|
|
121
121
|
src/machineconfig/scripts/linux/fzfrga
|
|
122
|
-
src/machineconfig/scripts/linux/mcfgs
|
|
123
122
|
src/machineconfig/scripts/linux/skrg
|
|
123
|
+
src/machineconfig/scripts/linux/wrap_mcfg
|
|
124
124
|
src/machineconfig/scripts/linux/other/share_cloud.sh
|
|
125
125
|
src/machineconfig/scripts/linux/other/share_nfs
|
|
126
126
|
src/machineconfig/scripts/linux/other/start_docker
|
|
@@ -135,7 +135,7 @@ src/machineconfig/scripts/python/devops_navigator.py
|
|
|
135
135
|
src/machineconfig/scripts/python/fire_jobs.py
|
|
136
136
|
src/machineconfig/scripts/python/ftpx.py
|
|
137
137
|
src/machineconfig/scripts/python/interactive.py
|
|
138
|
-
src/machineconfig/scripts/python/
|
|
138
|
+
src/machineconfig/scripts/python/machineconfig.py
|
|
139
139
|
src/machineconfig/scripts/python/sessions.py
|
|
140
140
|
src/machineconfig/scripts/python/terminal.py
|
|
141
141
|
src/machineconfig/scripts/python/utils.py
|
|
@@ -264,7 +264,7 @@ src/machineconfig/scripts/python/nw/wsl_windows_transfer.py
|
|
|
264
264
|
src/machineconfig/scripts/windows/fzfb.ps1
|
|
265
265
|
src/machineconfig/scripts/windows/fzfg.ps1
|
|
266
266
|
src/machineconfig/scripts/windows/fzfrga.bat
|
|
267
|
-
src/machineconfig/scripts/windows/
|
|
267
|
+
src/machineconfig/scripts/windows/wrap_mcfg.ps1
|
|
268
268
|
src/machineconfig/scripts/windows/mounts/mount_nfs.ps1
|
|
269
269
|
src/machineconfig/scripts/windows/mounts/mount_nw.ps1
|
|
270
270
|
src/machineconfig/scripts/windows/mounts/mount_smb.ps1
|
|
@@ -6,8 +6,8 @@ define = machineconfig.scripts.python.define:main
|
|
|
6
6
|
devops = machineconfig.scripts.python.devops:main
|
|
7
7
|
fire = machineconfig.scripts.python.fire_jobs:main
|
|
8
8
|
ftpx = machineconfig.scripts.python.ftpx:main
|
|
9
|
-
machineconfig = machineconfig.scripts.python.
|
|
10
|
-
mcfg = machineconfig.scripts.python.
|
|
9
|
+
machineconfig = machineconfig.scripts.python.machineconfig:main
|
|
10
|
+
mcfg = machineconfig.scripts.python.machineconfig:main
|
|
11
11
|
sessions = machineconfig.scripts.python.sessions:main
|
|
12
12
|
terminal = machineconfig.scripts.python.terminal:main
|
|
13
13
|
utils = machineconfig.scripts.python.utils:main
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from typing import Any, Union, Optional, Mapping
|
|
4
|
-
from pathlib import Path
|
|
5
|
-
import json
|
|
6
|
-
import pickle
|
|
7
|
-
import configparser
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
PathLike = Union[str, Path]
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
def _ensure_parent(path: PathLike) -> Path:
|
|
14
|
-
path_obj = Path(path)
|
|
15
|
-
path_obj.parent.mkdir(parents=True, exist_ok=True)
|
|
16
|
-
return path_obj
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
def save_pickle(obj: Any, path: PathLike, verbose: bool = False) -> Path:
|
|
20
|
-
path_obj = _ensure_parent(path)
|
|
21
|
-
with open(path_obj, "wb") as fh:
|
|
22
|
-
pickle.dump(obj, fh, protocol=pickle.HIGHEST_PROTOCOL)
|
|
23
|
-
if verbose:
|
|
24
|
-
print(f"Saved pickle -> {path_obj}")
|
|
25
|
-
return Path(path_obj)
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
def save_json(obj: Any, path: PathLike, indent: Optional[int] = None, verbose: bool = False) -> Path:
|
|
29
|
-
path_obj = _ensure_parent(path)
|
|
30
|
-
with open(path_obj, "w", encoding="utf-8") as fh:
|
|
31
|
-
json.dump(obj, fh, indent=indent, ensure_ascii=False)
|
|
32
|
-
fh.write("\n")
|
|
33
|
-
if verbose:
|
|
34
|
-
print(f"Saved json -> {path_obj}")
|
|
35
|
-
return Path(path_obj)
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
def save_ini(path: PathLike, obj: Mapping[str, Mapping[str, Any]], verbose: bool = False) -> Path:
|
|
39
|
-
cp = configparser.ConfigParser()
|
|
40
|
-
for section, values in obj.items():
|
|
41
|
-
cp[section] = {str(k): str(v) for k, v in values.items()}
|
|
42
|
-
path_obj = _ensure_parent(path)
|
|
43
|
-
with open(path_obj, "w", encoding="utf-8") as fh:
|
|
44
|
-
cp.write(fh)
|
|
45
|
-
if verbose:
|
|
46
|
-
print(f"Saved ini -> {path_obj}")
|
|
47
|
-
return Path(path_obj)
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
def read_ini(path: "Path", encoding: Optional[str] = None):
|
|
51
|
-
if not Path(path).exists() or Path(path).is_dir():
|
|
52
|
-
raise FileNotFoundError(f"File not found or is a directory: {path}")
|
|
53
|
-
import configparser
|
|
54
|
-
res = configparser.ConfigParser()
|
|
55
|
-
res.read(filenames=[str(path)], encoding=encoding)
|
|
56
|
-
return res
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
def read_json(path: "Path", r: bool = False, **kwargs: Any) -> Any: # return could be list or dict etc
|
|
60
|
-
import json
|
|
61
|
-
try:
|
|
62
|
-
mydict = json.loads(Path(path).read_text(encoding="utf-8"), **kwargs)
|
|
63
|
-
except Exception:
|
|
64
|
-
import re
|
|
65
|
-
def remove_comments(text: str) -> str:
|
|
66
|
-
# remove all // single-line comments
|
|
67
|
-
text = re.sub(r'//.*', '', text)
|
|
68
|
-
# remove all /* … */ block comments (non-greedy)
|
|
69
|
-
text = re.sub(r'/\*.*?\*/', '', text, flags=re.DOTALL)
|
|
70
|
-
return text
|
|
71
|
-
mydict = json.loads(remove_comments(Path(path).read_text(encoding="utf-8")), **kwargs)
|
|
72
|
-
_ = r
|
|
73
|
-
return mydict
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
def from_pickle(path: Path) -> Any:
|
|
77
|
-
import pickle
|
|
78
|
-
|
|
79
|
-
return pickle.loads(path.read_bytes())
|
|
File without changes
|
|
File without changes
|