machineconfig 3.7__py3-none-any.whl → 7.69__py3-none-any.whl
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/__init__.py +0 -28
- machineconfig/cluster/remote/distribute.py +0 -1
- machineconfig/cluster/remote/file_manager.py +0 -2
- machineconfig/cluster/remote/script_execution.py +1 -2
- machineconfig/cluster/sessions_managers/{enhanced_command_runner.py → helpers/enhanced_command_runner.py} +4 -6
- machineconfig/cluster/sessions_managers/helpers/load_balancer_helper.py +145 -0
- machineconfig/cluster/sessions_managers/utils/load_balancer.py +53 -0
- machineconfig/cluster/sessions_managers/utils/maker.py +69 -0
- machineconfig/cluster/sessions_managers/wt_local.py +128 -330
- machineconfig/cluster/sessions_managers/wt_local_manager.py +53 -187
- machineconfig/cluster/sessions_managers/wt_remote.py +51 -43
- machineconfig/cluster/sessions_managers/wt_remote_manager.py +49 -197
- machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +6 -19
- machineconfig/cluster/sessions_managers/wt_utils/manager_persistence.py +52 -0
- machineconfig/cluster/sessions_managers/wt_utils/monitoring_helpers.py +50 -0
- machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +4 -2
- machineconfig/cluster/sessions_managers/wt_utils/status_reporting.py +76 -0
- machineconfig/cluster/sessions_managers/wt_utils/wt_helpers.py +199 -0
- machineconfig/cluster/sessions_managers/zellij_local.py +81 -375
- machineconfig/cluster/sessions_managers/zellij_local_manager.py +22 -172
- machineconfig/cluster/sessions_managers/zellij_remote.py +40 -41
- machineconfig/cluster/sessions_managers/zellij_remote_manager.py +13 -10
- machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +4 -8
- machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +5 -20
- machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +3 -9
- machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +3 -1
- machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper.py +298 -0
- machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_restart.py +77 -0
- machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_with_panes.py +228 -0
- machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_manager_helper.py +165 -0
- machineconfig/jobs/{python → installer}/check_installations.py +7 -21
- machineconfig/jobs/installer/custom/boxes.py +61 -0
- machineconfig/jobs/installer/custom/gh.py +128 -0
- machineconfig/jobs/{python_custom_installers → installer/custom}/hx.py +84 -18
- machineconfig/jobs/installer/custom_dev/alacritty.py +86 -0
- machineconfig/jobs/installer/custom_dev/brave.py +82 -0
- machineconfig/jobs/installer/custom_dev/bypass_paywall.py +59 -0
- machineconfig/jobs/installer/custom_dev/cloudflare_warp_cli.py +23 -0
- machineconfig/jobs/installer/custom_dev/code.py +63 -0
- machineconfig/jobs/{python_custom_installers/dev → installer/custom_dev}/cursor.py +7 -7
- machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +30 -0
- machineconfig/jobs/installer/custom_dev/espanso.py +117 -0
- machineconfig/jobs/installer/custom_dev/goes.py +68 -0
- machineconfig/jobs/installer/custom_dev/lvim.py +89 -0
- machineconfig/jobs/installer/custom_dev/nerdfont.py +111 -0
- machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +149 -0
- machineconfig/jobs/installer/custom_dev/redis.py +88 -0
- machineconfig/jobs/installer/custom_dev/sysabc.py +145 -0
- machineconfig/jobs/installer/custom_dev/wezterm.py +92 -0
- machineconfig/jobs/{python_custom_installers/dev → installer/custom_dev}/winget.py +2 -3
- machineconfig/jobs/installer/installer_data.json +3440 -0
- machineconfig/jobs/{python_custom_installers/scripts/linux → installer/linux_scripts}/brave.sh +4 -14
- machineconfig/jobs/{python_custom_installers/scripts/linux/warp-cli.sh → installer/linux_scripts/cloudflare_warp_cli.sh} +5 -17
- machineconfig/jobs/{python_custom_installers/scripts/linux → installer/linux_scripts}/docker.sh +6 -18
- machineconfig/jobs/installer/linux_scripts/docker_start.sh +37 -0
- machineconfig/jobs/{python_custom_installers/scripts/linux → installer/linux_scripts}/edge.sh +3 -11
- machineconfig/jobs/{linux/msc → installer/linux_scripts}/lid.sh +2 -8
- machineconfig/jobs/{python_custom_installers/scripts/linux → installer/linux_scripts}/nerdfont.sh +5 -17
- machineconfig/jobs/{linux/msc → installer/linux_scripts}/network.sh +2 -8
- machineconfig/jobs/installer/linux_scripts/ngrok.sh +6 -0
- machineconfig/jobs/installer/linux_scripts/q.sh +9 -0
- machineconfig/jobs/{python_custom_installers/scripts/linux → installer/linux_scripts}/redis.sh +6 -17
- machineconfig/jobs/{python_custom_installers/scripts/linux → installer/linux_scripts}/vscode.sh +5 -17
- machineconfig/jobs/{python_custom_installers/scripts/linux → installer/linux_scripts}/wezterm.sh +4 -12
- machineconfig/jobs/installer/package_groups.py +255 -0
- machineconfig/logger.py +0 -1
- machineconfig/profile/backup.toml +49 -0
- machineconfig/profile/bash_shell_profiles.md +11 -0
- machineconfig/profile/create_helper.py +74 -0
- machineconfig/profile/create_links.py +288 -0
- machineconfig/profile/create_links_export.py +100 -0
- machineconfig/profile/create_shell_profile.py +136 -0
- machineconfig/profile/mapper.toml +258 -0
- machineconfig/scripts/__init__.py +0 -4
- machineconfig/scripts/linux/{share_cloud.sh → other/share_cloud.sh} +14 -25
- machineconfig/scripts/linux/wrap_mcfg +47 -0
- machineconfig/scripts/nu/wrap_mcfg.nu +69 -0
- machineconfig/scripts/python/agents.py +198 -0
- machineconfig/scripts/python/ai/command_runner/command_runner.sh +9 -0
- machineconfig/scripts/python/ai/command_runner/prompt.txt +9 -0
- machineconfig/scripts/python/ai/generate_files.py +307 -42
- machineconfig/scripts/python/ai/{mcinit.py → initai.py} +3 -38
- machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +114 -0
- machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +88 -22
- machineconfig/scripts/python/ai/solutions/_shared.py +9 -1
- machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +4 -1
- machineconfig/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +16 -0
- machineconfig/scripts/python/ai/solutions/gemini/settings.json +1 -1
- machineconfig/scripts/python/ai/solutions/generic.py +27 -4
- machineconfig/scripts/python/ai/vscode_tasks.py +37 -0
- machineconfig/scripts/python/cloud.py +29 -0
- machineconfig/scripts/python/croshell.py +129 -198
- machineconfig/scripts/python/define.py +31 -0
- machineconfig/scripts/python/devops.py +45 -131
- machineconfig/scripts/python/devops_navigator.py +6 -0
- machineconfig/scripts/python/env_manager/__init__.py +1 -0
- machineconfig/scripts/python/env_manager/path_manager_backend.py +47 -0
- machineconfig/scripts/python/env_manager/path_manager_tui.py +228 -0
- machineconfig/scripts/python/fire_jobs.py +166 -235
- machineconfig/scripts/python/ftpx.py +164 -100
- machineconfig/scripts/python/helpers/ast_search.py +74 -0
- machineconfig/scripts/python/helpers/repo_rag.py +325 -0
- machineconfig/scripts/python/helpers/symantic_search.py +25 -0
- machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.json +14 -0
- machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.py +37 -0
- machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_cursor_agents.py +22 -0
- machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_gemini.py +42 -0
- machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_qwen.py +30 -0
- machineconfig/scripts/python/helpers_agents/fire_agents_help_launch.py +110 -0
- machineconfig/scripts/python/helpers_agents/fire_agents_helper_types.py +34 -0
- machineconfig/scripts/python/helpers_agents/fire_agents_load_balancer.py +22 -0
- machineconfig/scripts/python/helpers_agents/templates/prompt.txt +6 -0
- machineconfig/scripts/python/helpers_agents/templates/template.ps1 +14 -0
- machineconfig/scripts/python/helpers_agents/templates/template.sh +24 -0
- machineconfig/scripts/python/{cloud_copy.py → helpers_cloud/cloud_copy.py} +52 -39
- machineconfig/scripts/python/{cloud_mount.py → helpers_cloud/cloud_mount.py} +13 -18
- machineconfig/scripts/python/helpers_cloud/cloud_sync.py +81 -0
- machineconfig/scripts/python/{helpers → helpers_cloud}/helpers2.py +3 -3
- machineconfig/scripts/python/helpers_croshell/crosh.py +39 -0
- machineconfig/scripts/python/{scheduler.py → helpers_croshell/scheduler.py} +0 -1
- machineconfig/scripts/python/{start_slidev.py → helpers_croshell/start_slidev.py} +32 -20
- machineconfig/scripts/python/helpers_devops/cli_config.py +95 -0
- machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +89 -0
- machineconfig/scripts/python/helpers_devops/cli_data.py +25 -0
- machineconfig/scripts/python/helpers_devops/cli_nw.py +134 -0
- machineconfig/scripts/python/helpers_devops/cli_repos.py +182 -0
- machineconfig/scripts/python/helpers_devops/cli_self.py +134 -0
- machineconfig/scripts/python/helpers_devops/cli_share_file.py +137 -0
- machineconfig/scripts/python/helpers_devops/cli_share_server.py +141 -0
- machineconfig/scripts/python/helpers_devops/cli_terminal.py +156 -0
- machineconfig/scripts/python/helpers_devops/cli_utils.py +96 -0
- machineconfig/scripts/python/{devops_backup_retrieve.py → helpers_devops/devops_backup_retrieve.py} +7 -10
- machineconfig/scripts/python/helpers_devops/devops_status.py +511 -0
- machineconfig/scripts/python/helpers_devops/devops_update_repos.py +269 -0
- machineconfig/scripts/python/helpers_devops/themes/choose_pwsh_theme.ps1 +81 -0
- machineconfig/scripts/python/helpers_devops/themes/choose_starship_theme.bash +3 -0
- machineconfig/scripts/python/{choose_wezterm_theme.py → helpers_devops/themes/choose_wezterm_theme.py} +2 -2
- machineconfig/scripts/python/{cloud_manager.py → helpers_fire_command/cloud_manager.py} +0 -2
- machineconfig/scripts/python/{helpers/helpers4.py → helpers_fire_command/file_wrangler.py} +57 -89
- machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py +145 -0
- machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +110 -0
- machineconfig/scripts/python/helpers_msearch/__init__.py +5 -0
- machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/fzfag +1 -1
- machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/fzfg +1 -1
- machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/fzfrga +1 -1
- machineconfig/scripts/python/helpers_navigator/__init__.py +20 -0
- machineconfig/scripts/python/helpers_navigator/command_builder.py +111 -0
- machineconfig/scripts/python/helpers_navigator/command_detail.py +44 -0
- machineconfig/scripts/python/helpers_navigator/command_tree.py +620 -0
- machineconfig/scripts/python/helpers_navigator/data_models.py +28 -0
- machineconfig/scripts/python/helpers_navigator/main_app.py +272 -0
- machineconfig/scripts/python/helpers_navigator/search_bar.py +15 -0
- machineconfig/scripts/python/helpers_repos/action.py +209 -0
- machineconfig/scripts/python/helpers_repos/action_helper.py +150 -0
- machineconfig/scripts/python/{repos_helper_clone.py → helpers_repos/clone.py} +6 -7
- machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +218 -0
- machineconfig/scripts/python/helpers_repos/count_lines.py +348 -0
- machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +17 -0
- machineconfig/scripts/python/helpers_repos/entrypoint.py +77 -0
- machineconfig/scripts/python/helpers_repos/grource.py +340 -0
- machineconfig/scripts/python/{repos_helper_record.py → helpers_repos/record.py} +7 -4
- machineconfig/scripts/python/helpers_repos/sync.py +66 -0
- machineconfig/scripts/python/{repos_helper_update.py → helpers_repos/update.py} +3 -3
- machineconfig/scripts/python/helpers_sessions/sessions_multiprocess.py +58 -0
- machineconfig/scripts/python/helpers_utils/download.py +152 -0
- machineconfig/scripts/python/helpers_utils/path.py +108 -0
- machineconfig/scripts/python/interactive.py +187 -0
- machineconfig/scripts/python/mcfg_entry.py +63 -0
- machineconfig/scripts/python/msearch.py +40 -0
- machineconfig/scripts/python/{devops_add_identity.py → nw/devops_add_identity.py} +1 -3
- machineconfig/scripts/python/{devops_add_ssh_key.py → nw/devops_add_ssh_key.py} +74 -44
- machineconfig/scripts/{linux → python/nw}/mount_nfs +1 -1
- machineconfig/scripts/python/{mount_nfs.py → nw/mount_nfs.py} +19 -16
- machineconfig/scripts/{linux → python/nw}/mount_nw_drive +1 -2
- machineconfig/scripts/python/{mount_ssh.py → nw/mount_ssh.py} +7 -8
- machineconfig/scripts/python/{onetimeshare.py → nw/onetimeshare.py} +0 -1
- machineconfig/scripts/python/nw/ssh_debug_linux.py +391 -0
- machineconfig/scripts/python/nw/ssh_debug_windows.py +338 -0
- machineconfig/scripts/python/{wifi_conn.py → nw/wifi_conn.py} +1 -51
- machineconfig/scripts/python/nw/wsl_windows_transfer.py +67 -0
- machineconfig/scripts/python/sessions.py +167 -0
- machineconfig/scripts/python/terminal.py +127 -0
- machineconfig/scripts/python/utils.py +66 -0
- machineconfig/scripts/windows/mounts/Restore-ThunderbirdProfile.ps1 +92 -0
- machineconfig/scripts/windows/{mount_nfs.ps1 → mounts/mount_nfs.ps1} +1 -3
- machineconfig/scripts/windows/{mount_ssh.ps1 → mounts/mount_ssh.ps1} +1 -1
- machineconfig/scripts/windows/{share_smb.ps1 → mounts/share_smb.ps1} +0 -6
- machineconfig/scripts/windows/wrap_mcfg.ps1 +60 -0
- machineconfig/settings/broot/br.sh +0 -4
- machineconfig/settings/broot/conf.toml +1 -1
- machineconfig/settings/helix/config.toml +16 -0
- machineconfig/settings/helix/languages.toml +13 -4
- machineconfig/settings/helix/yazi-picker.sh +12 -0
- machineconfig/settings/lf/linux/exe/lfcd.sh +1 -0
- machineconfig/settings/lf/linux/exe/previewer.sh +9 -3
- machineconfig/settings/lf/linux/lfrc +10 -12
- machineconfig/settings/lf/windows/fzf_edit.ps1 +2 -2
- machineconfig/settings/lf/windows/lfcd.ps1 +1 -1
- machineconfig/settings/lf/windows/lfrc +18 -38
- machineconfig/settings/lf/windows/mkfile.ps1 +1 -1
- machineconfig/settings/linters/.ruff.toml +1 -1
- machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -6
- machineconfig/settings/marimo/marimo.toml +80 -0
- machineconfig/settings/marimo/snippets/globalize.py +34 -0
- machineconfig/settings/pistol/pistol.conf +1 -1
- machineconfig/settings/shells/bash/init.sh +55 -31
- machineconfig/settings/shells/nushell/config.nu +1 -34
- machineconfig/settings/shells/nushell/init.nu +127 -0
- machineconfig/settings/shells/pwsh/init.ps1 +61 -43
- machineconfig/settings/shells/starship/starship.toml +16 -0
- machineconfig/settings/shells/wezterm/wezterm.lua +2 -0
- machineconfig/settings/shells/wt/settings.json +32 -17
- machineconfig/settings/shells/zsh/init.sh +89 -0
- machineconfig/settings/svim/linux/init.toml +0 -4
- machineconfig/settings/svim/windows/init.toml +0 -3
- machineconfig/settings/yazi/init.lua +57 -0
- machineconfig/settings/yazi/keymap_linux.toml +79 -0
- machineconfig/settings/yazi/keymap_windows.toml +78 -0
- machineconfig/settings/yazi/shell/yazi_cd.ps1 +33 -0
- machineconfig/settings/yazi/shell/yazi_cd.sh +8 -0
- machineconfig/settings/yazi/yazi.toml +14 -1
- machineconfig/setup_linux/__init__.py +10 -0
- machineconfig/setup_linux/apps_desktop.sh +89 -0
- machineconfig/setup_linux/apps_gui.sh +64 -0
- machineconfig/setup_linux/{nix → others}/cli_installation.sh +9 -29
- machineconfig/setup_linux/ssh/openssh_all.sh +25 -0
- machineconfig/setup_linux/ssh/openssh_wsl.sh +38 -0
- machineconfig/setup_linux/uv.sh +15 -0
- machineconfig/setup_linux/web_shortcuts/interactive.sh +28 -203
- machineconfig/setup_mac/__init__.py +16 -0
- machineconfig/setup_mac/apps_gui.sh +248 -0
- machineconfig/setup_mac/ssh/openssh_setup.sh +114 -0
- machineconfig/setup_mac/uv.sh +36 -0
- machineconfig/setup_windows/__init__.py +8 -0
- machineconfig/setup_windows/others/power_options.ps1 +7 -0
- machineconfig/setup_windows/ssh/add-sshkey.ps1 +29 -0
- machineconfig/setup_windows/ssh/add_identity.ps1 +11 -0
- machineconfig/setup_windows/ssh/openssh-server.ps1 +37 -0
- machineconfig/setup_windows/uv.ps1 +17 -0
- machineconfig/setup_windows/web_shortcuts/interactive.ps1 +28 -189
- machineconfig/setup_windows/web_shortcuts/quick_init.ps1 +17 -0
- machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +37 -23
- machineconfig/utils/accessories.py +52 -12
- machineconfig/utils/cloud/onedrive/README.md +139 -0
- machineconfig/utils/code.py +140 -93
- machineconfig/utils/files/art/fat_croco.txt +10 -0
- machineconfig/utils/files/art/halfwit_croco.txt +9 -0
- machineconfig/utils/files/art/happy_croco.txt +22 -0
- machineconfig/utils/files/art/water_croco.txt +11 -0
- machineconfig/utils/files/ascii_art.py +118 -0
- machineconfig/utils/files/dbms.py +257 -0
- machineconfig/utils/files/headers.py +68 -0
- machineconfig/utils/files/ouch/decompress.py +45 -0
- machineconfig/utils/files/read.py +95 -0
- machineconfig/utils/installer_utils/github_release_bulk.py +188 -0
- machineconfig/utils/installer_utils/install_from_url.py +180 -0
- machineconfig/utils/installer_utils/installer_class.py +239 -316
- machineconfig/utils/installer_utils/installer_cli.py +186 -0
- machineconfig/utils/installer_utils/{installer_abc.py → installer_locator_utils.py} +90 -5
- machineconfig/utils/installer_utils/installer_runner.py +191 -0
- machineconfig/utils/io.py +77 -24
- machineconfig/utils/links.py +309 -100
- machineconfig/utils/meta.py +255 -0
- machineconfig/utils/notifications.py +1 -1
- machineconfig/utils/options.py +19 -47
- machineconfig/utils/path_extended.py +111 -121
- machineconfig/utils/path_helper.py +75 -22
- machineconfig/utils/procs.py +50 -74
- machineconfig/utils/scheduler.py +94 -97
- machineconfig/utils/scheduling.py +0 -3
- machineconfig/utils/schemas/fire_agents/fire_agents_input.py +5 -17
- machineconfig/utils/schemas/installer/installer_types.py +28 -6
- machineconfig/utils/schemas/layouts/layout_types.py +34 -1
- machineconfig/utils/source_of_truth.py +3 -6
- machineconfig/utils/ssh.py +742 -254
- machineconfig/utils/ssh_utils/utils.py +0 -0
- machineconfig/utils/terminal.py +3 -140
- machineconfig/utils/tst.py +20 -0
- machineconfig/utils/upgrade_packages.py +109 -28
- machineconfig/utils/ve.py +13 -5
- machineconfig-7.69.dist-info/METADATA +124 -0
- machineconfig-7.69.dist-info/RECORD +454 -0
- machineconfig-7.69.dist-info/entry_points.txt +15 -0
- machineconfig/cluster/templates/cli_click.py +0 -102
- machineconfig/cluster/templates/cli_gooey.py +0 -115
- machineconfig/cluster/templates/utils.py +0 -51
- machineconfig/jobs/linux/msc/cli_agents.sh +0 -32
- machineconfig/jobs/python/create_bootable_media.py +0 -16
- machineconfig/jobs/python/python_cargo_build_share.py +0 -59
- machineconfig/jobs/python/python_ve_symlink.py +0 -29
- machineconfig/jobs/python/tasks.py +0 -3
- machineconfig/jobs/python/vscode/api.py +0 -48
- machineconfig/jobs/python/vscode/link_ve.py +0 -63
- machineconfig/jobs/python/vscode/select_interpreter.py +0 -87
- machineconfig/jobs/python/vscode/sync_code.py +0 -58
- machineconfig/jobs/python_custom_installers/archive/ngrok.py +0 -63
- machineconfig/jobs/python_custom_installers/dev/aider.py +0 -37
- machineconfig/jobs/python_custom_installers/dev/alacritty.py +0 -65
- machineconfig/jobs/python_custom_installers/dev/brave.py +0 -71
- machineconfig/jobs/python_custom_installers/dev/bypass_paywall.py +0 -50
- machineconfig/jobs/python_custom_installers/dev/code.py +0 -51
- machineconfig/jobs/python_custom_installers/dev/docker_desktop.py +0 -78
- machineconfig/jobs/python_custom_installers/dev/espanso.py +0 -90
- machineconfig/jobs/python_custom_installers/dev/goes.py +0 -55
- machineconfig/jobs/python_custom_installers/dev/lvim.py +0 -77
- machineconfig/jobs/python_custom_installers/dev/nerdfont.py +0 -68
- machineconfig/jobs/python_custom_installers/dev/redis.py +0 -65
- machineconfig/jobs/python_custom_installers/dev/reverse_proxy.md +0 -31
- machineconfig/jobs/python_custom_installers/dev/wezterm.py +0 -70
- machineconfig/jobs/python_custom_installers/docker.py +0 -74
- machineconfig/jobs/python_custom_installers/gh.py +0 -97
- machineconfig/jobs/python_custom_installers/scripts/linux/docker_start.sh +0 -45
- machineconfig/jobs/python_custom_installers/scripts/linux/pgsql.sh +0 -49
- machineconfig/jobs/python_custom_installers/scripts/linux/timescaledb.sh +0 -85
- machineconfig/jobs/python_custom_installers/warp-cli.py +0 -71
- machineconfig/jobs/python_generic_installers/config.json +0 -603
- machineconfig/jobs/python_generic_installers/config.json.bak +0 -414
- machineconfig/jobs/python_generic_installers/dev/config.archive.json +0 -18
- machineconfig/jobs/python_generic_installers/dev/config.json +0 -825
- machineconfig/jobs/python_generic_installers/dev/config.json.bak +0 -565
- machineconfig/jobs/python_linux_installers/archive/config.json +0 -18
- machineconfig/jobs/python_linux_installers/archive/config.json.bak +0 -10
- machineconfig/jobs/python_linux_installers/config.json +0 -145
- machineconfig/jobs/python_linux_installers/config.json.bak +0 -110
- machineconfig/jobs/python_linux_installers/dev/config.json +0 -276
- machineconfig/jobs/python_linux_installers/dev/config.json.bak +0 -206
- machineconfig/jobs/python_windows_installers/archive/file.json +0 -11
- machineconfig/jobs/python_windows_installers/config.json +0 -82
- machineconfig/jobs/python_windows_installers/config.json.bak +0 -56
- machineconfig/jobs/python_windows_installers/dev/config.json +0 -4
- machineconfig/jobs/python_windows_installers/dev/config.json.bak +0 -3
- machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -14
- machineconfig/jobs/windows/start_terminal.ps1 +0 -6
- machineconfig/jobs/windows/startup_file.cmd +0 -2
- machineconfig/profile/create.py +0 -169
- machineconfig/profile/shell.py +0 -176
- machineconfig/scripts/cloud/init.sh +0 -119
- machineconfig/scripts/linux/choose_wezterm_theme +0 -3
- machineconfig/scripts/linux/cloud_copy +0 -2
- machineconfig/scripts/linux/cloud_mount +0 -2
- machineconfig/scripts/linux/cloud_repo_sync +0 -2
- machineconfig/scripts/linux/cloud_sync +0 -2
- machineconfig/scripts/linux/croshell +0 -3
- machineconfig/scripts/linux/devops +0 -2
- machineconfig/scripts/linux/fire +0 -2
- machineconfig/scripts/linux/fire_agents +0 -2
- machineconfig/scripts/linux/ftpx +0 -2
- machineconfig/scripts/linux/fzf2g +0 -21
- machineconfig/scripts/linux/fzffg +0 -25
- machineconfig/scripts/linux/gh_models +0 -2
- machineconfig/scripts/linux/kill_process +0 -2
- machineconfig/scripts/linux/mcinit +0 -2
- machineconfig/scripts/linux/programs +0 -21
- machineconfig/scripts/linux/repos +0 -2
- machineconfig/scripts/linux/scheduler +0 -2
- machineconfig/scripts/linux/share_smb +0 -1
- machineconfig/scripts/linux/start_slidev +0 -2
- machineconfig/scripts/linux/start_terminals +0 -3
- machineconfig/scripts/linux/warp-cli.sh +0 -122
- machineconfig/scripts/linux/wifi_conn +0 -2
- machineconfig/scripts/linux/z_ls +0 -104
- machineconfig/scripts/python/ai/solutions/copilot/prompts/allLintersAndTypeCheckers.prompt.md +0 -5
- machineconfig/scripts/python/archive/im2text.py +0 -34
- machineconfig/scripts/python/archive/tmate_conn.py +0 -41
- machineconfig/scripts/python/archive/tmate_start.py +0 -44
- machineconfig/scripts/python/cloud_repo_sync.py +0 -192
- machineconfig/scripts/python/cloud_sync.py +0 -85
- machineconfig/scripts/python/devops_devapps_install.py +0 -202
- machineconfig/scripts/python/devops_update_repos.py +0 -180
- machineconfig/scripts/python/dotfile.py +0 -52
- machineconfig/scripts/python/fire_agents.py +0 -176
- machineconfig/scripts/python/fire_agents_help_launch.py +0 -143
- machineconfig/scripts/python/fire_agents_load_balancer.py +0 -50
- machineconfig/scripts/python/fire_jobs_args_helper.py +0 -84
- machineconfig/scripts/python/fire_jobs_layout_helper.py +0 -66
- machineconfig/scripts/python/get_zellij_cmd.py +0 -15
- machineconfig/scripts/python/gh_models.py +0 -104
- machineconfig/scripts/python/helpers/repo_sync_helpers.py +0 -114
- machineconfig/scripts/python/repos.py +0 -160
- machineconfig/scripts/python/snapshot.py +0 -25
- machineconfig/scripts/python/start_terminals.py +0 -121
- machineconfig/scripts/python/wsl_windows_transfer.py +0 -72
- machineconfig/scripts/windows/choose_wezterm_theme.ps1 +0 -1
- machineconfig/scripts/windows/cloud_copy.ps1 +0 -1
- machineconfig/scripts/windows/cloud_mount.ps1 +0 -1
- machineconfig/scripts/windows/cloud_repo_sync.ps1 +0 -1
- machineconfig/scripts/windows/cloud_sync.ps1 +0 -1
- machineconfig/scripts/windows/croshell.ps1 +0 -1
- machineconfig/scripts/windows/devops.ps1 +0 -1
- machineconfig/scripts/windows/dotfile.ps1 +0 -1
- machineconfig/scripts/windows/fire.ps1 +0 -1
- machineconfig/scripts/windows/ftpx.ps1 +0 -1
- machineconfig/scripts/windows/gpt.ps1 +0 -1
- machineconfig/scripts/windows/grep.ps1 +0 -2
- machineconfig/scripts/windows/kill_process.ps1 +0 -1
- machineconfig/scripts/windows/mcinit.ps1 +0 -1
- machineconfig/scripts/windows/nano.ps1 +0 -3
- machineconfig/scripts/windows/pomodoro.ps1 +0 -1
- machineconfig/scripts/windows/reload_path.ps1 +0 -3
- machineconfig/scripts/windows/repos.ps1 +0 -1
- machineconfig/scripts/windows/scheduler.ps1 +0 -1
- machineconfig/scripts/windows/snapshot.ps1 +0 -1
- machineconfig/scripts/windows/start_slidev.ps1 +0 -1
- machineconfig/scripts/windows/start_terminals.ps1 +0 -1
- machineconfig/scripts/windows/wifi_conn.ps1 +0 -2
- machineconfig/scripts/windows/wsl_rdp_windows_port_forwarding.ps1 +0 -46
- machineconfig/scripts/windows/wsl_ssh_windows_port_forwarding.ps1 +0 -76
- machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -16
- machineconfig/setup_linux/others/openssh-server_add_pub_key.sh +0 -57
- machineconfig/setup_linux/web_shortcuts/ascii_art.sh +0 -93
- machineconfig/setup_linux/web_shortcuts/croshell.sh +0 -11
- machineconfig/setup_linux/web_shortcuts/ssh.sh +0 -52
- machineconfig/setup_windows/web_shortcuts/all.ps1 +0 -18
- machineconfig/setup_windows/web_shortcuts/ascii_art.ps1 +0 -36
- machineconfig/setup_windows/web_shortcuts/croshell.ps1 +0 -16
- machineconfig/setup_windows/web_shortcuts/ssh.ps1 +0 -11
- machineconfig/setup_windows/wt_and_pwsh/install_nerd_fonts.py +0 -100
- machineconfig/utils/ai/generate_file_checklist.py +0 -68
- machineconfig/utils/installer.py +0 -255
- machineconfig-3.7.dist-info/METADATA +0 -165
- machineconfig-3.7.dist-info/RECORD +0 -432
- machineconfig-3.7.dist-info/entry_points.txt +0 -18
- machineconfig/cluster/{templates → remote}/run_cloud.py +0 -0
- machineconfig/cluster/{templates → remote}/run_cluster.py +0 -0
- machineconfig/cluster/{templates → remote}/run_remote.py +0 -0
- machineconfig/jobs/{python → installer}/__init__.py +0 -0
- machineconfig/jobs/{python_custom_installers → installer/custom_dev}/__init__.py +0 -0
- machineconfig/{setup_windows/wt_and_pwsh → jobs/installer/powershell_scripts}/install_fonts.ps1 +0 -0
- machineconfig/scripts/linux/{share_nfs → other/share_nfs} +0 -0
- machineconfig/scripts/linux/{start_docker → other/start_docker} +0 -0
- machineconfig/scripts/linux/{switch_ip → other/switch_ip} +0 -0
- machineconfig/{jobs/python_generic_installers → scripts/python/helpers_agents}/__init__.py +0 -0
- machineconfig/{jobs/python_linux_installers → scripts/python/helpers_agents/agentic_frameworks}/__init__.py +0 -0
- machineconfig/scripts/python/{fire_agents_help_search.py → helpers_agents/fire_agents_help_search.py} +0 -0
- machineconfig/{jobs/python_linux_installers/dev → scripts/python/helpers_cloud}/__init__.py +0 -0
- machineconfig/scripts/python/{helpers → helpers_cloud}/cloud_helpers.py +1 -1
- /machineconfig/scripts/python/{helpers → helpers_cloud}/helpers5.py +0 -0
- /machineconfig/{jobs/python_windows_installers → scripts/python/helpers_croshell}/__init__.py +0 -0
- /machineconfig/scripts/python/{pomodoro.py → helpers_croshell/pomodoro.py} +0 -0
- /machineconfig/scripts/python/{viewer.py → helpers_croshell/viewer.py} +0 -0
- /machineconfig/scripts/python/{viewer_template.py → helpers_croshell/viewer_template.py} +0 -0
- /machineconfig/{jobs/python_windows_installers/archive → scripts/python/helpers_devops}/__init__.py +0 -0
- /machineconfig/{jobs/python_windows_installers/dev → scripts/python/helpers_devops/themes}/__init__.py +0 -0
- /machineconfig/{jobs/windows/msc/cli_agents.bat → scripts/python/helpers_devops/themes/choose_starship_theme.ps1} +0 -0
- /machineconfig/scripts/python/{helpers → helpers_fire_command}/__init__.py +0 -0
- /machineconfig/scripts/python/{fire_jobs_streamlit_helper.py → helpers_fire_command/fire_jobs_streamlit_helper.py} +0 -0
- /machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/skrg +0 -0
- /machineconfig/scripts/{windows → python/helpers_msearch/scripts_windows}/fzfb.ps1 +0 -0
- /machineconfig/scripts/{windows → python/helpers_msearch/scripts_windows}/fzfg.ps1 +0 -0
- /machineconfig/scripts/{windows → python/helpers_msearch/scripts_windows}/fzfrga.bat +0 -0
- /machineconfig/{jobs/windows/msc/cli_agents.ps1 → scripts/python/helpers_sessions/__init__.py} +0 -0
- /machineconfig/scripts/{windows/share_nfs.ps1 → python/nw/__init__.py} +0 -0
- /machineconfig/scripts/{linux → python/nw}/mount_drive +0 -0
- /machineconfig/scripts/python/{mount_nw_drive.py → nw/mount_nw_drive.py} +0 -0
- /machineconfig/scripts/{linux → python/nw}/mount_smb +0 -0
- /machineconfig/scripts/windows/{mount_nw.ps1 → mounts/mount_nw.ps1} +0 -0
- /machineconfig/scripts/windows/{mount_smb.ps1 → mounts/mount_smb.ps1} +0 -0
- /machineconfig/scripts/windows/{share_cloud.cmd → mounts/share_cloud.cmd} +0 -0
- /machineconfig/scripts/windows/{unlock_bitlocker.ps1 → mounts/unlock_bitlocker.ps1} +0 -0
- /machineconfig/setup_linux/{web_shortcuts → others}/android.sh +0 -0
- /machineconfig/{jobs/windows/archive → setup_windows/ssh}/openssh-server_add_key.ps1 +0 -0
- /machineconfig/{jobs/windows/archive → setup_windows/ssh}/openssh-server_copy-ssh-id.ps1 +0 -0
- /machineconfig/{settings/yazi/keymap.toml → utils/files/ouch/__init__.py} +0 -0
- {machineconfig-3.7.dist-info → machineconfig-7.69.dist-info}/WHEEL +0 -0
- {machineconfig-3.7.dist-info → machineconfig-7.69.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Set error action preference to stop on error, like set -e
|
|
2
|
+
$ErrorActionPreference = "Stop"
|
|
3
|
+
|
|
4
|
+
$JOB_NAME = "outpatient_mapping"
|
|
5
|
+
$REPO_ROOT = "$HOME/code/work/winter_planning/"
|
|
6
|
+
$CONTEXT_PATH = "$REPO_ROOT/data/outpatient_mapping/op_services.csv"
|
|
7
|
+
$PROMPT_PATH = "$REPO_ROOT/data/outpatient_mapping/prompt"
|
|
8
|
+
$AGENTS_DIR = "$REPO_ROOT/.ai/agents/$JOB_NAME"
|
|
9
|
+
|
|
10
|
+
agents create --agents crush --host docker --model x-ai/grok-4-fast:free --provider openrouter --context-path $CONTEXT_PATH --prompt-path $PROMPT_PATH --job-name $JOB_NAME --agents-dir $AGENTS_DIR
|
|
11
|
+
sessions balance-load "$AGENTS_DIR/layout.json" --max-thresh 6 --breaking-method moreLayouts --thresh-type number --output-path "$AGENTS_DIR/layout_balanced.json"
|
|
12
|
+
sessions run "$AGENTS_DIR/layout_balanced.json" --kill-upon-completion
|
|
13
|
+
|
|
14
|
+
# agents collect $AGENTS_DIR "$REPO_ROOT/.ai/agents/$JOB_NAME/collected.txt"
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
|
|
2
|
+
#!/bin/bash
|
|
3
|
+
# set -e # Exit immediately if a command exits with a non-zero status.
|
|
4
|
+
|
|
5
|
+
JOB_NAME="outpatient_mapping"
|
|
6
|
+
REPO_ROOT="$HOME/code/machineconfig"
|
|
7
|
+
CONTEXT_PATH="$REPO_ROOT/.ai/todo/files.md"
|
|
8
|
+
# agents make-todo --strategy keywords from machineconfig.utils.path_extended import PathExtended
|
|
9
|
+
PROMPT_PATH="$REPO_ROOT/src/machineconfig/scripts/python/helpers_agents/templates/prompt.txt"
|
|
10
|
+
AGENTS_DIR="$REPO_ROOT/.ai/agents/$JOB_NAME"
|
|
11
|
+
|
|
12
|
+
agents create --agents crush \
|
|
13
|
+
--host docker \
|
|
14
|
+
--model x-ai/grok-4-fast:free \
|
|
15
|
+
--provider openrouter \
|
|
16
|
+
--context-path $CONTEXT_PATH \
|
|
17
|
+
--prompt-path $PROMPT_PATH \
|
|
18
|
+
--job-name $JOB_NAME \
|
|
19
|
+
--agents-dir $AGENTS_DIR
|
|
20
|
+
sessions balance-load "$AGENTS_DIR/layout.json" --max-thresh 6 --breaking-method moreLayouts --thresh-type number --output-path "$AGENTS_DIR/layout_balanced.json"
|
|
21
|
+
sessions run "$AGENTS_DIR/layout_balanced.json" --kill-upon-completion
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
# agents collect $AGENTS_DIR "$REPO_ROOT/.ai/agents/$JOB_NAME/collected.txt"
|
|
@@ -2,25 +2,24 @@
|
|
|
2
2
|
CC
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
|
-
from
|
|
6
|
-
|
|
7
|
-
import getpass
|
|
8
|
-
import argparse
|
|
9
|
-
import os
|
|
10
|
-
from typing import Optional
|
|
5
|
+
from typing import Optional, Annotated
|
|
6
|
+
import typer
|
|
11
7
|
|
|
12
|
-
from
|
|
13
|
-
from machineconfig.scripts.python.helpers.cloud_helpers import ArgsDefaults, Args
|
|
14
|
-
from rich.console import Console
|
|
15
|
-
from rich.panel import Panel
|
|
16
|
-
from rich.progress import Progress
|
|
17
|
-
from machineconfig.utils.accessories import pprint
|
|
8
|
+
from tenacity import retry, stop_after_attempt, wait_chain, wait_fixed
|
|
18
9
|
|
|
19
|
-
console = Console()
|
|
20
10
|
|
|
21
11
|
|
|
22
12
|
@retry(stop=stop_after_attempt(3), wait=wait_chain(wait_fixed(1), wait_fixed(4), wait_fixed(9)))
|
|
23
13
|
def get_securely_shared_file(url: Optional[str] = None, folder: Optional[str] = None) -> None:
|
|
14
|
+
from rich.console import Console
|
|
15
|
+
from rich.panel import Panel
|
|
16
|
+
from rich.progress import Progress
|
|
17
|
+
import getpass
|
|
18
|
+
import os
|
|
19
|
+
from machineconfig.utils.path_extended import PathExtended
|
|
20
|
+
|
|
21
|
+
console = Console()
|
|
22
|
+
|
|
24
23
|
console.print(Panel("🚀 Secure File Downloader", title="[bold blue]Downloader[/bold blue]", border_style="blue"))
|
|
25
24
|
|
|
26
25
|
folder_obj = PathExtended.cwd() if folder is None else PathExtended(folder)
|
|
@@ -61,33 +60,43 @@ def get_securely_shared_file(url: Optional[str] = None, folder: Optional[str] =
|
|
|
61
60
|
tmp_folder.delete()
|
|
62
61
|
|
|
63
62
|
|
|
64
|
-
def arg_parser() -> None:
|
|
65
|
-
console.print(Panel("☁️ Cloud Copy Utility", title="[bold blue]Cloud Copy[/bold blue]", border_style="blue", width=152))
|
|
66
|
-
|
|
67
|
-
parser = argparse.ArgumentParser(description="🚀 Cloud CLI. It wraps rclone with sane defaults for optimum type time.")
|
|
68
|
-
|
|
69
|
-
# positional argument
|
|
70
|
-
parser.add_argument("source", help="📂 file/folder path to be taken from here.")
|
|
71
|
-
parser.add_argument("target", help="🎯 file/folder path to be be sent to here.")
|
|
72
63
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
64
|
+
def main(
|
|
65
|
+
source: Annotated[str, typer.Argument(help="📂 file/folder path to be taken from here.")],
|
|
66
|
+
target: Annotated[str, typer.Argument(help="🎯 file/folder path to be be sent to here.")],
|
|
67
|
+
overwrite: Annotated[bool, typer.Option("--overwrite", "-o", help="✍️ Overwrite existing file.")] = False,
|
|
68
|
+
share: Annotated[bool, typer.Option("--share", "-s", help="🔗 Share file / directory")] = False,
|
|
69
|
+
rel2home: Annotated[bool, typer.Option("--relative2home", "-r", help="🏠 Relative to `myhome` folder")] = False,
|
|
70
|
+
root: Annotated[Optional[str], typer.Option("--root", "-R", help="🌳 Remote root. None is the default, unless rel2home is raied, making the default `myhome`.")] = None,
|
|
71
|
+
key: Annotated[Optional[str], typer.Option("--key", "-k", help="🔑 Key for encryption")] = None,
|
|
72
|
+
pwd: Annotated[Optional[str], typer.Option("--password", "-p", help="🔒 Password for encryption")] = None,
|
|
73
|
+
encrypt: Annotated[bool, typer.Option("--encrypt", "-e", help="🔐 Encrypt before sending.")] = False,
|
|
74
|
+
zip_: Annotated[bool, typer.Option("--zip", "-z", help="📦 unzip after receiving.")] = False,
|
|
75
|
+
os_specific: Annotated[bool, typer.Option("--os-specific", "-O", help="💻 choose path specific for this OS.")] = False,
|
|
76
|
+
config: Annotated[Optional[str], typer.Option("--config", "-c", help="⚙️ path to cloud.json file.")] = None,
|
|
77
|
+
) -> None:
|
|
78
|
+
"""📤 Upload or 📥 Download files/folders to/from cloud storage services like Google Drive, Dropbox, OneDrive, etc."""
|
|
79
|
+
from rich.console import Console
|
|
80
|
+
from rich.panel import Panel
|
|
81
|
+
from machineconfig.utils.path_extended import PathExtended
|
|
82
|
+
from machineconfig.scripts.python.helpers_cloud.helpers2 import parse_cloud_source_target
|
|
83
|
+
from machineconfig.scripts.python.helpers_cloud.cloud_helpers import Args
|
|
84
|
+
from machineconfig.utils.accessories import pprint
|
|
85
|
+
|
|
86
|
+
console = Console()
|
|
87
|
+
console.print(Panel("☁️ Cloud Copy Utility", title="[bold blue]Cloud Copy[/bold blue]", border_style="blue", width=152))
|
|
88
|
+
args_obj = Args(
|
|
89
|
+
overwrite=overwrite,
|
|
90
|
+
share=share,
|
|
91
|
+
rel2home=rel2home,
|
|
92
|
+
root=root,
|
|
93
|
+
key=key,
|
|
94
|
+
pwd=pwd,
|
|
95
|
+
encrypt=encrypt,
|
|
96
|
+
zip=zip_,
|
|
97
|
+
os_specific=os_specific,
|
|
98
|
+
config=config,
|
|
99
|
+
)
|
|
91
100
|
|
|
92
101
|
if args_obj.config == "ss" and (source.startswith("http") or source.startswith("bit.ly")):
|
|
93
102
|
console.print(Panel("🔒 Detected secure share link", title="[bold yellow]Warning[/bold yellow]", border_style="yellow"))
|
|
@@ -153,5 +162,9 @@ def arg_parser() -> None:
|
|
|
153
162
|
raise ValueError(f"Cloud `{cloud}` not found in source or target.")
|
|
154
163
|
|
|
155
164
|
|
|
165
|
+
def arg_parser() -> None:
|
|
166
|
+
typer.run(main)
|
|
167
|
+
|
|
168
|
+
|
|
156
169
|
if __name__ == "__main__":
|
|
157
170
|
arg_parser()
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
from machineconfig.utils.options import choose_from_options
|
|
4
4
|
from machineconfig.utils.io import read_ini
|
|
5
|
-
from machineconfig.utils.path_extended import PathExtended
|
|
5
|
+
from machineconfig.utils.path_extended import PathExtended
|
|
6
6
|
|
|
7
7
|
import platform
|
|
8
|
-
import
|
|
9
|
-
|
|
8
|
+
from typing import Optional, Annotated
|
|
9
|
+
import typer
|
|
10
10
|
from rich.console import Console
|
|
11
11
|
from rich.panel import Panel
|
|
12
12
|
|
|
@@ -52,7 +52,12 @@ mprocs "echo 'see {DEFAULT_MOUNT}/{cloud} for the mounted cloud'; rclone about {
|
|
|
52
52
|
return txt
|
|
53
53
|
|
|
54
54
|
|
|
55
|
-
def mount(
|
|
55
|
+
def mount(
|
|
56
|
+
cloud: Annotated[Optional[str], typer.Option(help="cloud to mount")] = None,
|
|
57
|
+
destination: Annotated[Optional[str], typer.Option(help="destination to mount")] = None,
|
|
58
|
+
network: Annotated[Optional[str], typer.Option(help="mount network drive")] = None,
|
|
59
|
+
) -> None:
|
|
60
|
+
|
|
56
61
|
# draw header box dynamically
|
|
57
62
|
title = "☁️ Cloud Mount Utility"
|
|
58
63
|
console.print(Panel(title, title_align="left", border_style="blue"))
|
|
@@ -153,18 +158,8 @@ zellij action move-focus up
|
|
|
153
158
|
console.print(Panel(f"{title1}\n{title2}", title="Success", border_style="green"))
|
|
154
159
|
|
|
155
160
|
|
|
156
|
-
def main():
|
|
157
|
-
# draw main title box dynamically
|
|
158
|
-
main_title = "☁️ RCLONE CLOUD MOUNT"
|
|
159
|
-
console.print(Panel(main_title, title_align="left", border_style="blue"))
|
|
160
|
-
|
|
161
|
-
parser = argparse.ArgumentParser(description="mount cloud")
|
|
162
|
-
parser.add_argument("cloud", nargs="?", type=str, default=None, help="cloud to mount")
|
|
163
|
-
parser.add_argument("destination", nargs="?", type=str, default=None, help="destination to mount")
|
|
164
|
-
parser.add_argument("--network", type=str, default=None, help="mount network drive")
|
|
165
|
-
args = parser.parse_args()
|
|
166
|
-
mount(cloud=args.cloud, network=args.network, destination=args.destination)
|
|
167
|
-
|
|
168
161
|
|
|
169
|
-
|
|
170
|
-
|
|
162
|
+
def get_app():
|
|
163
|
+
app = typer.Typer(name="cloud-mount", help="Cloud mount utility")
|
|
164
|
+
app.command(name="mount", no_args_is_help=True)(mount)
|
|
165
|
+
return app
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"""CS
|
|
2
|
+
TODO: use typer or typed-argument-parser to parse args
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
from typing import Annotated, Optional
|
|
7
|
+
import typer
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def main(
|
|
11
|
+
source: Annotated[str, typer.Argument(help="source")],
|
|
12
|
+
target: Annotated[str, typer.Argument(help="target")],
|
|
13
|
+
transfers: Annotated[int, typer.Option("--transfers", "-t", help="Number of threads in syncing.")] = 10,
|
|
14
|
+
root: Annotated[str, typer.Option("--root", "-R", help="Remote root.")] = "myhome",
|
|
15
|
+
key: Annotated[Optional[str], typer.Option("--key", "-k", help="Key for encryption")] = None,
|
|
16
|
+
pwd: Annotated[Optional[str], typer.Option("--pwd", "-P", help="Password for encryption")] = None,
|
|
17
|
+
encrypt: Annotated[bool, typer.Option("--encrypt", "-e", help="Decrypt after receiving.")] = False,
|
|
18
|
+
zip_: Annotated[bool, typer.Option("--zip", "-z", help="unzip after receiving.")] = False,
|
|
19
|
+
bisync: Annotated[bool, typer.Option("--bisync", "-b", help="Bidirectional sync.")] = False,
|
|
20
|
+
delete: Annotated[bool, typer.Option("--delete", "-D", help="Delete files in remote that are not in local.")] = False,
|
|
21
|
+
verbose: Annotated[bool, typer.Option("--verbose", "-v", help="Verbosity of mprocs to show details of syncing.")] = False,
|
|
22
|
+
) -> None:
|
|
23
|
+
|
|
24
|
+
from machineconfig.scripts.python.helpers_cloud.helpers2 import parse_cloud_source_target
|
|
25
|
+
from machineconfig.scripts.python.helpers_cloud.cloud_helpers import Args
|
|
26
|
+
from machineconfig.scripts.python.helpers_cloud.cloud_mount import get_mprocs_mount_txt
|
|
27
|
+
from rich.console import Console
|
|
28
|
+
from rich.panel import Panel
|
|
29
|
+
console = Console()
|
|
30
|
+
|
|
31
|
+
title = "☁️ Cloud Sync Utility"
|
|
32
|
+
console.print(Panel(title, title_align="left", border_style="blue"))
|
|
33
|
+
|
|
34
|
+
args_obj = Args(
|
|
35
|
+
root=root,
|
|
36
|
+
key=key,
|
|
37
|
+
pwd=pwd,
|
|
38
|
+
encrypt=encrypt,
|
|
39
|
+
zip=zip_,
|
|
40
|
+
rel2home=True,
|
|
41
|
+
os_specific=False,
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
cloud, source, target = parse_cloud_source_target(args=args_obj, source=source, target=target)
|
|
45
|
+
# map short flags to long flags (-u -> --upload), for easier use in the script
|
|
46
|
+
if bisync:
|
|
47
|
+
title = "🔄 BI-DIRECTIONAL SYNC"
|
|
48
|
+
source_line = f"Source: {source}"
|
|
49
|
+
target_line = f"Target: {target}"
|
|
50
|
+
console.print(Panel(f"{source_line}\n{target_line}", title=title, border_style="blue"))
|
|
51
|
+
rclone_cmd = f"""rclone bisync '{source}' '{target}' --resync"""
|
|
52
|
+
else:
|
|
53
|
+
title = "📤 ONE-WAY SYNC"
|
|
54
|
+
source_line = f"Source: {source}"
|
|
55
|
+
arrow_line = "↓"
|
|
56
|
+
target_line = f"Target: {target}"
|
|
57
|
+
console.print(Panel(f"{source_line}\n{arrow_line}\n{target_line}", title=title, border_style="blue"))
|
|
58
|
+
if delete:
|
|
59
|
+
rclone_cmd = f'rclone sync -P "{source}" "{target}" --delete-during --transfers={transfers}'
|
|
60
|
+
else:
|
|
61
|
+
rclone_cmd = f'rclone sync -P "{source}" "{target}" --transfers={transfers}'
|
|
62
|
+
|
|
63
|
+
rclone_cmd += f" --progress --transfers={transfers} --verbose"
|
|
64
|
+
# rclone_cmd += f" --vfs-cache-mode full"
|
|
65
|
+
if delete:
|
|
66
|
+
rclone_cmd += " --delete-during"
|
|
67
|
+
|
|
68
|
+
if verbose:
|
|
69
|
+
txt = get_mprocs_mount_txt(cloud=cloud, rclone_cmd=rclone_cmd, cloud_brand="Unknown")
|
|
70
|
+
else:
|
|
71
|
+
txt = f"""{rclone_cmd}"""
|
|
72
|
+
|
|
73
|
+
title = "🚀 EXECUTING COMMAND"
|
|
74
|
+
cmd_line = f"{rclone_cmd[:65]}..."
|
|
75
|
+
console.print(Panel(f"{title}\n{cmd_line}", title="[bold blue]Command[/bold blue]", expand=False))
|
|
76
|
+
|
|
77
|
+
# import subprocess
|
|
78
|
+
# subprocess.run(txt, shell=True, check=True)
|
|
79
|
+
from machineconfig.utils.code import run_shell_script
|
|
80
|
+
run_shell_script(txt)
|
|
81
|
+
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from machineconfig.scripts.python.
|
|
1
|
+
from machineconfig.scripts.python.helpers_cloud.cloud_helpers import Args, ArgsDefaults, absolute, find_cloud_config, get_secure_share_cloud_config
|
|
2
2
|
from machineconfig.utils.io import read_ini
|
|
3
3
|
from machineconfig.utils.source_of_truth import DEFAULTS_PATH
|
|
4
4
|
from machineconfig.utils.accessories import pprint
|
|
@@ -104,7 +104,7 @@ def parse_cloud_source_target(args: Args, source: str, target: str) -> tuple[str
|
|
|
104
104
|
if len(source_parts) > 1 and source_parts[1] == ES: # the source path is to be inferred from target.
|
|
105
105
|
assert ES not in target, f"You can't use expand symbol `{ES}` in both source and target. Cyclical inference dependency arised."
|
|
106
106
|
target_obj = absolute(target)
|
|
107
|
-
from machineconfig.utils.path_extended import PathExtended
|
|
107
|
+
from machineconfig.utils.path_extended import PathExtended
|
|
108
108
|
|
|
109
109
|
remote_path = PathExtended(target_obj).get_remote_path(os_specific=os_specific, root=root, rel2home=rel2home, strict=False)
|
|
110
110
|
source = f"{cloud}:{remote_path.as_posix()}"
|
|
@@ -124,7 +124,7 @@ def parse_cloud_source_target(args: Args, source: str, target: str) -> tuple[str
|
|
|
124
124
|
if len(target_parts) > 1 and target_parts[1] == ES: # the target path is to be inferred from source.
|
|
125
125
|
assert ES not in source, "You can't use $ in both source and target. Cyclical inference dependency arised."
|
|
126
126
|
source_obj = absolute(source)
|
|
127
|
-
from machineconfig.utils.path_extended import PathExtended
|
|
127
|
+
from machineconfig.utils.path_extended import PathExtended
|
|
128
128
|
|
|
129
129
|
remote_path = PathExtended(source_obj).get_remote_path(os_specific=os_specific, root=root, rel2home=rel2home, strict=False)
|
|
130
130
|
target = f"{cloud}:{remote_path.as_posix()}"
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
def get_read_python_file_pycode(path: str, title: str):
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
print("Reading code from path:", path)
|
|
6
|
+
pycode = Path(path).read_text(encoding="utf-8")
|
|
7
|
+
pycode = pycode.split("except Exception: print(pycode)")[2]
|
|
8
|
+
try:
|
|
9
|
+
# from rich.text import Text
|
|
10
|
+
from rich.panel import Panel
|
|
11
|
+
from rich.console import Console
|
|
12
|
+
from rich.syntax import Syntax
|
|
13
|
+
console = Console()
|
|
14
|
+
if pycode.strip() != "":
|
|
15
|
+
console.print(Panel(Syntax(pycode, lexer="python"), title=title), style="bold red")
|
|
16
|
+
except Exception: print(pycode)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def get_read_data_pycode(path: str):
|
|
20
|
+
from rich.panel import Panel
|
|
21
|
+
from rich.text import Text
|
|
22
|
+
from rich.console import Console
|
|
23
|
+
from pathlib import Path
|
|
24
|
+
console = Console()
|
|
25
|
+
p = Path(path).absolute()
|
|
26
|
+
try:
|
|
27
|
+
from machineconfig.utils.files.read import Read
|
|
28
|
+
from machineconfig.utils.accessories import pprint
|
|
29
|
+
dat = Read.read(p)
|
|
30
|
+
if isinstance(dat, dict):
|
|
31
|
+
panel_title = f"📄 File Data: {p.name}"
|
|
32
|
+
console.print(Panel(Text(str(dat), justify="left"), title=panel_title, expand=False))
|
|
33
|
+
pprint(dat, p.name)
|
|
34
|
+
else:
|
|
35
|
+
panel_title = f"📄 Successfully read the file: {p.name}"
|
|
36
|
+
console.print(Panel(Text(str(dat), justify="left"), title=panel_title, expand=False))
|
|
37
|
+
except Exception as e:
|
|
38
|
+
error_message = f'''❌ ERROR READING FILE\nFile: {p.name}\nError: {e}'''
|
|
39
|
+
console.print(Panel(Text(error_message, justify="left"), title="Error", expand=False, border_style="red"))
|
|
@@ -2,22 +2,34 @@
|
|
|
2
2
|
slidev
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
|
-
from machineconfig.utils.source_of_truth import
|
|
5
|
+
from machineconfig.utils.source_of_truth import CONFIG_ROOT
|
|
6
6
|
from machineconfig.utils.code import print_code
|
|
7
|
-
from machineconfig.utils.path_extended import PathExtended
|
|
8
|
-
from machineconfig.utils.terminal import
|
|
7
|
+
from machineconfig.utils.path_extended import PathExtended
|
|
8
|
+
from machineconfig.utils.terminal import Response
|
|
9
|
+
from typing import Annotated, Optional
|
|
10
|
+
import typer
|
|
9
11
|
import subprocess
|
|
10
12
|
import platform
|
|
11
13
|
|
|
12
14
|
PORT_DEFAULT = 3030
|
|
13
15
|
|
|
14
|
-
SLIDEV_REPO = PathExtended(
|
|
16
|
+
SLIDEV_REPO = PathExtended(CONFIG_ROOT).joinpath(".cache/slidev")
|
|
15
17
|
if not SLIDEV_REPO.joinpath("components").exists():
|
|
16
18
|
print("📦 Initializing Slidev repository...")
|
|
17
|
-
|
|
19
|
+
subprocess.run(f"cd {SLIDEV_REPO.parent};npm init slidev@latest", check=False, shell=True, text=True)
|
|
18
20
|
print("✅ Slidev repository initialized successfully!\n")
|
|
19
21
|
|
|
20
22
|
|
|
23
|
+
def _execute_with_shell(command: str) -> Response:
|
|
24
|
+
if platform.system() == "Windows":
|
|
25
|
+
completed = subprocess.run(["powershell", "-Command", command], capture_output=True, check=False, text=True)
|
|
26
|
+
else:
|
|
27
|
+
completed = subprocess.run(command, capture_output=True, check=False, text=True, shell=True)
|
|
28
|
+
response = Response.from_completed_process(completed)
|
|
29
|
+
response.print()
|
|
30
|
+
return response
|
|
31
|
+
|
|
32
|
+
|
|
21
33
|
def jupyter_to_markdown(file: PathExtended):
|
|
22
34
|
op_dir = file.parent.joinpath("presentation")
|
|
23
35
|
print("📝 Converting Jupyter notebook to markdown...")
|
|
@@ -33,9 +45,9 @@ def jupyter_to_markdown(file: PathExtended):
|
|
|
33
45
|
# for key, value in resources['outputs'].items():
|
|
34
46
|
|
|
35
47
|
cmd = f"jupyter nbconvert --to markdown --no-prompt --no-input --output-dir {op_dir} --output slides_raw.md {file}"
|
|
36
|
-
|
|
48
|
+
_execute_with_shell(cmd)
|
|
37
49
|
cmd = f"jupyter nbconvert --to html --no-prompt --no-input --output-dir {op_dir} {file}"
|
|
38
|
-
|
|
50
|
+
_execute_with_shell(cmd)
|
|
39
51
|
|
|
40
52
|
op_file = op_dir.joinpath("slides_raw.md")
|
|
41
53
|
slide_separator = "\n\n---\n\n"
|
|
@@ -47,28 +59,24 @@ def jupyter_to_markdown(file: PathExtended):
|
|
|
47
59
|
return op_dir
|
|
48
60
|
|
|
49
61
|
|
|
50
|
-
def main(
|
|
51
|
-
|
|
52
|
-
|
|
62
|
+
def main(
|
|
63
|
+
directory: Annotated[Optional[str], typer.Option("-d", "--directory", help="📁 Directory of the report.")] = None,
|
|
64
|
+
jupyter_file: Annotated[Optional[str], typer.Option("-j", "--jupyter-file", help="📓 Jupyter notebook file to convert to slides. If not provided, slides.md is used.")] = None,
|
|
65
|
+
) -> None:
|
|
53
66
|
print("\n" + "=" * 50)
|
|
54
67
|
print("🎥 Welcome to the Slidev Presentation Tool")
|
|
55
68
|
print("=" * 50 + "\n")
|
|
56
69
|
|
|
57
|
-
parser = argparse.ArgumentParser()
|
|
58
|
-
parser.add_argument("-d", "--directory", default=None, help="📁 Directory of the report.")
|
|
59
|
-
parser.add_argument("-j", "--jupyter-file", default=None, help="📓 Jupyter notebook file to convert to slides. If not provided, slides.md is used.")
|
|
60
|
-
args = parser.parse_args()
|
|
61
|
-
|
|
62
70
|
port = PORT_DEFAULT
|
|
63
71
|
|
|
64
|
-
if
|
|
72
|
+
if jupyter_file is not None:
|
|
65
73
|
print("📓 Jupyter file provided. Converting to markdown...")
|
|
66
|
-
report_dir = jupyter_to_markdown(PathExtended(
|
|
74
|
+
report_dir = jupyter_to_markdown(PathExtended(jupyter_file))
|
|
67
75
|
else:
|
|
68
|
-
if
|
|
76
|
+
if directory is None:
|
|
69
77
|
report_dir = PathExtended.cwd()
|
|
70
78
|
else:
|
|
71
|
-
report_dir = PathExtended(
|
|
79
|
+
report_dir = PathExtended(directory)
|
|
72
80
|
|
|
73
81
|
assert report_dir.exists(), f"❌ Directory {report_dir} does not exist."
|
|
74
82
|
assert report_dir.is_dir(), f"❌ {report_dir} is not a directory."
|
|
@@ -108,5 +116,9 @@ def main() -> None:
|
|
|
108
116
|
print_code(code=program, lexer="bash", desc="Run the following command to start the presentation")
|
|
109
117
|
|
|
110
118
|
|
|
119
|
+
def arg_parser() -> None:
|
|
120
|
+
typer.run(main)
|
|
121
|
+
|
|
122
|
+
|
|
111
123
|
if __name__ == "__main__":
|
|
112
|
-
|
|
124
|
+
arg_parser()
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
from typing import Literal, Annotated
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
import typer
|
|
6
|
+
import machineconfig.scripts.python.helpers_devops.cli_config_dotfile as dotfile_module
|
|
7
|
+
import machineconfig.profile.create_links_export as create_links_export
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def configure_shell_profile(which: Annotated[Literal["default", "d", "nushell", "n"], typer.Option(..., "--which", "-w", help="Which shell profile to create/configure")]="default"):
|
|
11
|
+
"""🔗 Configure your shell profile."""
|
|
12
|
+
from machineconfig.profile.create_shell_profile import create_default_shell_profile, create_nu_shell_profile
|
|
13
|
+
match which:
|
|
14
|
+
case "nushell" | "n":
|
|
15
|
+
create_nu_shell_profile()
|
|
16
|
+
return
|
|
17
|
+
case "default" | "d":
|
|
18
|
+
create_default_shell_profile()
|
|
19
|
+
return
|
|
20
|
+
typer.echo(f"[red]Error:[/] Unknown shell profile type: {which}")
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def pwsh_theme():
|
|
25
|
+
"""🔗 Select powershell prompt theme."""
|
|
26
|
+
import machineconfig.scripts.python.helpers_devops.themes as themes
|
|
27
|
+
file = Path(themes.__file__).parent / "choose_pwsh_theme.ps1"
|
|
28
|
+
import subprocess
|
|
29
|
+
subprocess.run(["pwsh", "-File", str(file)])
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def starship_theme():
|
|
33
|
+
"""🔗 Select starship prompt theme."""
|
|
34
|
+
import subprocess
|
|
35
|
+
from machineconfig.utils.code import run_shell_script
|
|
36
|
+
|
|
37
|
+
presets: list[str] = ["catppuccin-powerline", "pastel-powerline", "tokyo-night", "gruvbox-rainbow", "jetpack"]
|
|
38
|
+
config_path: Path = Path.home() / ".config" / "starship.toml"
|
|
39
|
+
|
|
40
|
+
typer.echo("\n🚀 Starship Theme Selector\n")
|
|
41
|
+
for idx, preset in enumerate(presets, start=1):
|
|
42
|
+
typer.echo(f"{idx}. {preset}")
|
|
43
|
+
|
|
44
|
+
choice: str = typer.prompt("Select a preset")
|
|
45
|
+
|
|
46
|
+
try:
|
|
47
|
+
choice_idx: int = int(choice)
|
|
48
|
+
if 1 <= choice_idx <= len(presets):
|
|
49
|
+
selected_preset: str = presets[choice_idx - 1]
|
|
50
|
+
typer.echo(f"\n✨ Applying {selected_preset}...")
|
|
51
|
+
run_shell_script(f"""starship preset {selected_preset} -o {config_path}""")
|
|
52
|
+
typer.echo("\n📋 Preview:")
|
|
53
|
+
subprocess.run(["starship", "module", "all"], check=False)
|
|
54
|
+
typer.echo(f"\n✅ {selected_preset} applied!")
|
|
55
|
+
else:
|
|
56
|
+
typer.echo("❌ Invalid selection")
|
|
57
|
+
except ValueError:
|
|
58
|
+
typer.echo("❌ Please enter a valid number")
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def copy_assets(which: Annotated[Literal["scripts", "s", "settings", "t", "both", "b"], typer.Argument(..., help="Which assets to copy")]):
|
|
62
|
+
"""🔗 Copy asset files from library to machine."""
|
|
63
|
+
import machineconfig.profile.create_helper as create_helper
|
|
64
|
+
match which:
|
|
65
|
+
case "both" | "b":
|
|
66
|
+
create_helper.copy_assets_to_machine(which="scripts")
|
|
67
|
+
create_helper.copy_assets_to_machine(which="settings")
|
|
68
|
+
return
|
|
69
|
+
case "scripts" | "s":
|
|
70
|
+
create_helper.copy_assets_to_machine(which="scripts")
|
|
71
|
+
return
|
|
72
|
+
case "settings" | "t":
|
|
73
|
+
create_helper.copy_assets_to_machine(which="settings")
|
|
74
|
+
return
|
|
75
|
+
typer.echo(f"[red]Error:[/] Unknown asset type: {which}")
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
def get_app():
|
|
79
|
+
config_apps = typer.Typer(help="⚙️ [c] configuration subcommands", no_args_is_help=True, add_help_option=False, add_completion=False)
|
|
80
|
+
config_apps.command("private", no_args_is_help=True, help="🔗 [v] Manage private configuration files.")(create_links_export.main_private_from_parser)
|
|
81
|
+
config_apps.command("v", no_args_is_help=True, hidden=True)(create_links_export.main_private_from_parser)
|
|
82
|
+
config_apps.command("public", no_args_is_help=True, help="🔗 [b] Manage public configuration files.")(create_links_export.main_public_from_parser)
|
|
83
|
+
config_apps.command("b", no_args_is_help=True, help="Manage public configuration files.", hidden=True)(create_links_export.main_public_from_parser)
|
|
84
|
+
config_apps.command("dotfile", no_args_is_help=True, help="🔗 [d] Manage dotfiles.")(dotfile_module.main)
|
|
85
|
+
config_apps.command("d", no_args_is_help=True, hidden=True)(dotfile_module.main)
|
|
86
|
+
config_apps.command("shell", no_args_is_help=False, help="🔗 [s] Configure your shell profile.")(configure_shell_profile)
|
|
87
|
+
config_apps.command("s", no_args_is_help=False, help="Configure your shell profile.", hidden=True)(configure_shell_profile)
|
|
88
|
+
config_apps.command("starship-theme", no_args_is_help=False, help="🔗 [t] Select starship prompt theme.")(starship_theme)
|
|
89
|
+
config_apps.command("t", no_args_is_help=False, help="Select starship prompt theme.", hidden=True)(starship_theme)
|
|
90
|
+
config_apps.command("pwsh-theme", no_args_is_help=False, help="🔗 [T] Select powershell prompt theme.")(pwsh_theme)
|
|
91
|
+
config_apps.command("T", no_args_is_help=False, help="Select powershell prompt theme.", hidden=True)(pwsh_theme)
|
|
92
|
+
|
|
93
|
+
config_apps.command("copy-assets", no_args_is_help=True, help="🔗 [c] Copy asset files from library to machine.", hidden=False)(copy_assets)
|
|
94
|
+
config_apps.command("c", no_args_is_help=True, help="Copy asset files from library to machine.", hidden=True)(copy_assets)
|
|
95
|
+
return config_apps
|