machineconfig 5.15__py3-none-any.whl → 7.66__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 +0 -1
- machineconfig/cluster/sessions_managers/{utils → helpers}/enhanced_command_runner.py +4 -6
- machineconfig/cluster/sessions_managers/utils/load_balancer.py +1 -1
- machineconfig/cluster/sessions_managers/utils/maker.py +69 -0
- machineconfig/cluster/sessions_managers/wt_local.py +114 -289
- machineconfig/cluster/sessions_managers/wt_local_manager.py +50 -193
- 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 -169
- 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 +2 -3
- machineconfig/jobs/installer/custom/boxes.py +61 -0
- machineconfig/jobs/installer/custom/hx.py +76 -19
- machineconfig/jobs/installer/custom_dev/alacritty.py +4 -4
- machineconfig/jobs/installer/custom_dev/brave.py +1 -7
- machineconfig/jobs/installer/custom_dev/cloudflare_warp_cli.py +23 -0
- machineconfig/jobs/installer/custom_dev/code.py +4 -1
- machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +30 -0
- machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +9 -18
- machineconfig/jobs/installer/custom_dev/sysabc.py +119 -0
- machineconfig/jobs/installer/custom_dev/wezterm.py +2 -19
- machineconfig/jobs/installer/installer_data.json +1101 -115
- machineconfig/jobs/installer/linux_scripts/brave.sh +4 -14
- machineconfig/jobs/installer/linux_scripts/{warp-cli.sh → cloudflare_warp_cli.sh} +5 -17
- machineconfig/jobs/installer/linux_scripts/docker.sh +5 -17
- machineconfig/jobs/installer/linux_scripts/docker_start.sh +6 -14
- machineconfig/jobs/installer/linux_scripts/edge.sh +3 -11
- machineconfig/jobs/{linux/msc → installer/linux_scripts}/lid.sh +2 -8
- machineconfig/jobs/installer/linux_scripts/nerdfont.sh +5 -17
- machineconfig/jobs/{linux/msc → installer/linux_scripts}/network.sh +2 -8
- machineconfig/jobs/installer/linux_scripts/q.sh +1 -0
- machineconfig/jobs/installer/linux_scripts/redis.sh +6 -17
- machineconfig/jobs/installer/linux_scripts/vscode.sh +5 -17
- machineconfig/jobs/installer/linux_scripts/wezterm.sh +4 -12
- machineconfig/jobs/installer/package_groups.py +108 -180
- 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/Restore-ThunderbirdProfile.ps1 +92 -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 +92 -103
- 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/initai.py +3 -28
- machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +17 -18
- machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +17 -18
- machineconfig/scripts/python/ai/solutions/_shared.py +9 -1
- machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +1 -1
- machineconfig/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +16 -0
- 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 +111 -114
- machineconfig/scripts/python/define.py +31 -0
- machineconfig/scripts/python/devops.py +44 -103
- machineconfig/scripts/python/devops_navigator.py +10 -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/explore.py +49 -0
- machineconfig/scripts/python/fire_jobs.py +115 -152
- machineconfig/scripts/python/ftpx.py +29 -24
- 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/{fire_agents_help_launch.py → helpers_agents/fire_agents_help_launch.py} +34 -44
- machineconfig/scripts/python/helpers_agents/fire_agents_helper_types.py +34 -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} +30 -23
- machineconfig/scripts/python/{cloud_mount.py → helpers_cloud/cloud_mount.py} +10 -18
- machineconfig/scripts/python/{cloud_sync.py → helpers_cloud/cloud_sync.py} +12 -18
- machineconfig/scripts/python/{helpers → helpers_cloud}/helpers2.py +1 -1
- machineconfig/scripts/python/helpers_croshell/crosh.py +39 -0
- machineconfig/scripts/python/{start_slidev.py → helpers_croshell/start_slidev.py} +2 -2
- 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/{share_terminal.py → helpers_devops/cli_terminal.py} +35 -23
- 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/{devops_update_repos.py → helpers_devops/devops_update_repos.py} +68 -49
- 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/helpers_fire_command/__init__.py +0 -0
- machineconfig/scripts/python/{helpers/helpers4.py → helpers_fire_command/file_wrangler.py} +56 -20
- machineconfig/scripts/python/{fire_jobs_args_helper.py → helpers_fire_command/fire_jobs_args_helper.py} +5 -1
- machineconfig/scripts/python/{fire_jobs_route_helper.py → helpers_fire_command/fire_jobs_route_helper.py} +47 -2
- machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -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 +588 -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} +2 -3
- machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +218 -0
- machineconfig/scripts/python/{count_lines.py → helpers_repos/count_lines.py} +10 -10
- machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +17 -0
- machineconfig/scripts/python/{repos_helper.py → helpers_repos/entrypoint.py} +9 -17
- machineconfig/scripts/python/helpers_repos/grource.py +340 -0
- machineconfig/scripts/python/{repos_helper_record.py → helpers_repos/record.py} +4 -3
- 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/__init__.py +0 -0
- 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 +64 -84
- machineconfig/scripts/python/machineconfig.py +63 -0
- machineconfig/scripts/python/msearch.py +21 -0
- machineconfig/scripts/python/nw/__init__.py +0 -0
- machineconfig/scripts/python/{devops_add_identity.py → nw/devops_add_identity.py} +0 -2
- machineconfig/scripts/python/{devops_add_ssh_key.py → nw/devops_add_ssh_key.py} +73 -43
- machineconfig/scripts/{linux → python/nw}/mount_nfs +1 -1
- machineconfig/scripts/python/{mount_nfs.py → nw/mount_nfs.py} +3 -3
- machineconfig/scripts/{linux → python/nw}/mount_nw_drive +1 -2
- machineconfig/scripts/python/{mount_ssh.py → nw/mount_ssh.py} +3 -3
- 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 -53
- machineconfig/scripts/python/{wsl_windows_transfer.py → nw/wsl_windows_transfer.py} +5 -4
- machineconfig/scripts/python/sessions.py +64 -44
- machineconfig/scripts/python/terminal.py +127 -0
- machineconfig/scripts/python/utils.py +66 -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/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 +60 -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 +13 -0
- 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 +26 -6
- 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 +10 -0
- machineconfig/setup_windows/web_shortcuts/interactive.ps1 +27 -10
- machineconfig/setup_windows/web_shortcuts/quick_init.ps1 +16 -0
- machineconfig/utils/accessories.py +7 -5
- machineconfig/utils/cloud/onedrive/README.md +139 -0
- machineconfig/utils/code.py +133 -106
- 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 +1 -1
- machineconfig/utils/files/dbms.py +257 -0
- machineconfig/utils/files/headers.py +11 -14
- machineconfig/utils/files/ouch/__init__.py +0 -0
- machineconfig/utils/files/ouch/decompress.py +45 -0
- machineconfig/utils/files/read.py +10 -18
- machineconfig/utils/installer_utils/installer_class.py +68 -126
- machineconfig/utils/installer_utils/{installer.py → installer_cli.py} +109 -117
- machineconfig/utils/installer_utils/{installer_abc.py → installer_locator_utils.py} +31 -81
- machineconfig/utils/{installer.py → installer_utils/installer_runner.py} +44 -74
- machineconfig/utils/io.py +77 -23
- machineconfig/utils/links.py +254 -162
- machineconfig/utils/meta.py +255 -0
- machineconfig/utils/notifications.py +1 -1
- machineconfig/utils/options.py +13 -3
- machineconfig/utils/path_extended.py +46 -100
- machineconfig/utils/path_helper.py +75 -22
- machineconfig/utils/procs.py +50 -70
- machineconfig/utils/scheduler.py +94 -97
- machineconfig/utils/scheduling.py +0 -3
- machineconfig/utils/schemas/fire_agents/fire_agents_input.py +1 -1
- machineconfig/utils/schemas/layouts/layout_types.py +1 -1
- machineconfig/utils/source_of_truth.py +3 -6
- machineconfig/utils/ssh.py +742 -264
- machineconfig/utils/ssh_utils/utils.py +0 -0
- machineconfig/utils/terminal.py +2 -113
- machineconfig/utils/tst.py +20 -0
- machineconfig/utils/upgrade_packages.py +109 -28
- machineconfig/utils/ve.py +11 -4
- machineconfig-7.66.dist-info/METADATA +124 -0
- machineconfig-7.66.dist-info/RECORD +451 -0
- machineconfig-7.66.dist-info/entry_points.txt +15 -0
- machineconfig/cluster/sessions_managers/ffile.py +0 -4
- machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -49
- machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -85
- machineconfig/jobs/linux/msc/cli_agents.sh +0 -16
- machineconfig/jobs/python/python_ve_symlink.py +0 -37
- machineconfig/jobs/python/vscode/api.py +0 -57
- machineconfig/jobs/python/vscode/sync_code.py +0 -73
- 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 -303
- machineconfig/profile/shell.py +0 -176
- machineconfig/scripts/cloud/init.sh +0 -119
- machineconfig/scripts/linux/agents +0 -2
- 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/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/initai +0 -2
- machineconfig/scripts/linux/kill_process +0 -2
- machineconfig/scripts/linux/scheduler +0 -2
- machineconfig/scripts/linux/sessions +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/cloud_repo_sync.py +0 -190
- machineconfig/scripts/python/count_lines_frontend.py +0 -16
- machineconfig/scripts/python/dotfile.py +0 -78
- machineconfig/scripts/python/fire_agents_helper_types.py +0 -12
- 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 -116
- machineconfig/scripts/python/repos.py +0 -132
- machineconfig/scripts/python/repos_helper_action.py +0 -378
- machineconfig/scripts/python/snapshot.py +0 -25
- machineconfig/scripts/python/start_terminals.py +0 -121
- machineconfig/scripts/python/t4.py +0 -17
- machineconfig/scripts/windows/agents.ps1 +0 -1
- 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/initai.ps1 +0 -1
- machineconfig/scripts/windows/kill_process.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/scheduler.ps1 +0 -1
- machineconfig/scripts/windows/sessions.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/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/utils/ai/generate_file_checklist.py +0 -68
- machineconfig-5.15.dist-info/METADATA +0 -188
- machineconfig-5.15.dist-info/RECORD +0 -415
- machineconfig-5.15.dist-info/entry_points.txt +0 -18
- machineconfig/cluster/sessions_managers/{utils → helpers}/load_balancer_helper.py +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 → scripts/python/helpers_agents}/__init__.py +0 -0
- machineconfig/scripts/python/{helpers → 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/scripts/python/{fire_agents_load_balancer.py → helpers_agents/fire_agents_load_balancer.py} +0 -0
- machineconfig/{jobs/windows/msc/cli_agents.bat → 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/windows/msc/cli_agents.ps1 → scripts/python/helpers_croshell/__init__.py} +0 -0
- /machineconfig/scripts/python/{pomodoro.py → helpers_croshell/pomodoro.py} +0 -0
- /machineconfig/scripts/python/{scheduler.py → helpers_croshell/scheduler.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/scripts/python/{fire_jobs_streamlit_helper.py → helpers_devops/__init__.py} +0 -0
- /machineconfig/scripts/{windows/share_nfs.ps1 → python/helpers_devops/themes/__init__.py} +0 -0
- /machineconfig/{settings/yazi/keymap.toml → scripts/python/helpers_devops/themes/choose_starship_theme.ps1} +0 -0
- /machineconfig/scripts/python/{cloud_manager.py → helpers_fire_command/cloud_manager.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/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-5.15.dist-info → machineconfig-7.66.dist-info}/WHEEL +0 -0
- {machineconfig-5.15.dist-info → machineconfig-7.66.dist-info}/top_level.txt +0 -0
machineconfig/profile/shell.py
DELETED
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
"""shell"""
|
|
2
|
-
|
|
3
|
-
from machineconfig.utils.path_extended import PathExtended
|
|
4
|
-
from machineconfig.utils.source_of_truth import LIBRARY_ROOT
|
|
5
|
-
|
|
6
|
-
import platform
|
|
7
|
-
import os
|
|
8
|
-
import subprocess
|
|
9
|
-
from rich.console import Console
|
|
10
|
-
from rich.panel import Panel
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
system = platform.system()
|
|
14
|
-
sep = ";" if system == "Windows" else ":" # PATH separator, this is special for PATH object, not to be confused with PathExtended.sep (normal paths), usually / or \
|
|
15
|
-
PATH = os.environ["PATH"].split(sep) # this is a list of paths in PATH variable, not a crocodile.file_management.P object.
|
|
16
|
-
console = Console()
|
|
17
|
-
BOX_WIDTH = 100 # Define BOX_WIDTH or get it from a config
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
def get_shell_profile_path() -> PathExtended:
|
|
21
|
-
if system == "Windows":
|
|
22
|
-
result = subprocess.run(["pwsh", "-Command", "$PROFILE"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, check=False)
|
|
23
|
-
if result.returncode == 0 and result.stdout.strip():
|
|
24
|
-
profile_path = PathExtended(result.stdout.strip())
|
|
25
|
-
else:
|
|
26
|
-
print(f"Command failed with return code {result.returncode}")
|
|
27
|
-
print(f"stdout: {result.stdout}")
|
|
28
|
-
print(f"stderr: {result.stderr}")
|
|
29
|
-
raise ValueError(f"""Could not get profile path for Windows. Got stdout: {result.stdout}, stderr: {result.stderr}""")
|
|
30
|
-
elif system == "Linux":
|
|
31
|
-
profile_path = PathExtended("~/.bashrc").expanduser()
|
|
32
|
-
else:
|
|
33
|
-
raise ValueError(f"""Not implemented for this system {system}""")
|
|
34
|
-
console.print(Panel(f"""🐚 SHELL PROFILE | Working with path: `{profile_path}`""", title="[bold blue]Shell Profile[/bold blue]", border_style="blue"))
|
|
35
|
-
return profile_path
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
def create_default_shell_profile() -> None:
|
|
39
|
-
shell_profile_path = get_shell_profile_path()
|
|
40
|
-
shell_profile = shell_profile_path.read_text(encoding="utf-8")
|
|
41
|
-
if system == "Windows":
|
|
42
|
-
source = f""". {str(PathExtended(LIBRARY_ROOT).joinpath("settings/shells/pwsh/init.ps1").collapseuser()).replace("~", "$HOME")}"""
|
|
43
|
-
else:
|
|
44
|
-
source = f"""source {str(PathExtended(LIBRARY_ROOT).joinpath("settings/shells/bash/init.sh").collapseuser()).replace("~", "$HOME")}"""
|
|
45
|
-
if source in shell_profile:
|
|
46
|
-
console.print(Panel("🔄 PROFILE | Skipping init script sourcing - already present in profile", title="[bold blue]Profile[/bold blue]", border_style="blue"))
|
|
47
|
-
else:
|
|
48
|
-
console.print(Panel("📝 PROFILE | Adding init script sourcing to profile", title="[bold blue]Profile[/bold blue]", border_style="blue"))
|
|
49
|
-
shell_profile += "\n" + source + "\n"
|
|
50
|
-
if system == "Linux":
|
|
51
|
-
result = subprocess.run(["cat", "/proc/version"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, check=False)
|
|
52
|
-
if result.returncode == 0 and result.stdout:
|
|
53
|
-
version_info = result.stdout.lower()
|
|
54
|
-
if "microsoft" in version_info or "wsl" in version_info:
|
|
55
|
-
shell_profile += "\ncd ~"
|
|
56
|
-
console.print("📌 WSL detected - adding 'cd ~' to profile to avoid Windows filesystem")
|
|
57
|
-
shell_profile_path.parent.mkdir(parents=True, exist_ok=True)
|
|
58
|
-
shell_profile_path.write_text(shell_profile, encoding="utf-8")
|
|
59
|
-
console.print(Panel("✅ Profile updated successfully", title="[bold blue]Profile[/bold blue]", border_style="blue"))
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
# def append_temporarily(dirs: list[str], kind: Literal["append", "prefix", "replace"]) -> str:
|
|
63
|
-
# dirs_ = []
|
|
64
|
-
# for path in dirs:
|
|
65
|
-
# path_rel = PathExtended(path).collapseuser(strict=False)
|
|
66
|
-
# if path_rel.as_posix() in PATH or str(path_rel) in PATH or str(path_rel.expanduser()) in PATH or path_rel.expanduser().as_posix() in PATH:
|
|
67
|
-
# print(f"Path passed `{path}` is already in PATH, skipping the appending.")
|
|
68
|
-
# else:
|
|
69
|
-
# dirs_.append(path_rel.as_posix() if system == "Linux" else str(path_rel))
|
|
70
|
-
# dirs = dirs_
|
|
71
|
-
# if len(dirs) == 0:
|
|
72
|
-
# return ""
|
|
73
|
-
|
|
74
|
-
# if system == "Windows":
|
|
75
|
-
# """Source: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_environment_variables?view=powershell-7.2"""
|
|
76
|
-
# if kind == "append":
|
|
77
|
-
# command = rf'$env:Path += ";{sep.join(dirs)}"' # Append to the Path variable in the current window:
|
|
78
|
-
# elif kind == "prefix":
|
|
79
|
-
# command = rf'$env:Path = "{sep.join(dirs)};" + $env:Path' # Prefix the Path variable in the current window:
|
|
80
|
-
# elif kind == "replace":
|
|
81
|
-
# command = rf'$env:Path = "{sep.join(dirs)}"' # Replace the Path variable in the current window (use with caution!):
|
|
82
|
-
# else:
|
|
83
|
-
# raise KeyError
|
|
84
|
-
# return command # if run is False else tm.run(command, shell="powershell")
|
|
85
|
-
# elif system in ["Linux", "Darwin"]:
|
|
86
|
-
# result = f'export PATH="{sep.join(dirs)}:$PATH"'
|
|
87
|
-
# else:
|
|
88
|
-
# raise ValueError
|
|
89
|
-
# return result
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
# def main_add_sources_to_shell_profile(profile_path: Optional[str], choice: Optional[str]) -> None:
|
|
93
|
-
# sources: list[str] = read_toml(LIBRARY_ROOT.joinpath("profile/sources.toml"))[system.lower()]["files"]
|
|
94
|
-
# console.print(Panel("🔄 Adding sources to shell profile", title="[bold blue]Sources[/bold blue]", border_style="blue"))
|
|
95
|
-
|
|
96
|
-
# if choice is None:
|
|
97
|
-
# choice_obj = choose_from_options(msg="Which patch to add?", options=sources + ["all", "none(EXIT)"], default="none(EXIT)", multi=True)
|
|
98
|
-
# if isinstance(choice_obj, str):
|
|
99
|
-
# if choice_obj == "all":
|
|
100
|
-
# choice = choice_obj
|
|
101
|
-
# elif choice_obj == "none(EXIT)":
|
|
102
|
-
# return
|
|
103
|
-
# else:
|
|
104
|
-
# sources = [choice_obj]
|
|
105
|
-
# else: # isinstance(choice_obj, list):
|
|
106
|
-
# sources = choice_obj
|
|
107
|
-
# elif choice == "none(EXIT)":
|
|
108
|
-
# return
|
|
109
|
-
|
|
110
|
-
# if isinstance(profile_path, str):
|
|
111
|
-
# profile_path_obj = PathExtended(profile_path)
|
|
112
|
-
# else:
|
|
113
|
-
# profile_path_obj = get_shell_profile_path()
|
|
114
|
-
# profile = profile_path_obj.read_text(encoding="utf-8")
|
|
115
|
-
|
|
116
|
-
# for a_file in sources:
|
|
117
|
-
# tmp = a_file.replace("REPO_ROOT", REPO_ROOT.as_posix()).replace("LIBRARY_ROOT", LIBRARY_ROOT.as_posix())
|
|
118
|
-
# file = PathExtended(tmp).collapseuser() # this makes the shell profile interuseable across machines.
|
|
119
|
-
# file = file.as_posix() if system == "Linux" else str(file)
|
|
120
|
-
# if file not in profile:
|
|
121
|
-
# if system == "Windows":
|
|
122
|
-
# profile += f"\n. {file}"
|
|
123
|
-
# console.print(f"➕ Added PowerShell source: {file}")
|
|
124
|
-
# elif system == "Linux":
|
|
125
|
-
# profile += f"\nsource {file}"
|
|
126
|
-
# console.print(f"➕ Added Bash source: {file}")
|
|
127
|
-
# else:
|
|
128
|
-
# raise ValueError(f"Not implemented for this system {system}")
|
|
129
|
-
# else:
|
|
130
|
-
# console.print(f"⏭️ Source already present: {file}")
|
|
131
|
-
|
|
132
|
-
# profile_path_obj.write_text(profile, encoding="utf-8")
|
|
133
|
-
# console.print(Panel("✅ Shell profile updated with sources", title="[bold blue]Sources[/bold blue]", border_style="blue"))
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
# def main_add_patches_to_shell_profile(profile_path: Optional[str], choice: Optional[str]) -> None:
|
|
137
|
-
# patches: list[str] = [item.as_posix() for item in PathExtended(LIBRARY_ROOT).joinpath(f"profile/patches/{system.lower()}").search()]
|
|
138
|
-
|
|
139
|
-
# console.print(Panel("🩹 Adding patches to shell profile", title="[bold blue]Patches[/bold blue]", border_style="blue"))
|
|
140
|
-
|
|
141
|
-
# if choice is None:
|
|
142
|
-
# choice_chosen = choose_from_options(msg="Which patch to add?", options=list(patches) + ["all", "none(EXIT)"], default="none(EXIT)", multi=False)
|
|
143
|
-
# assert isinstance(choice_chosen, str), f"Choice must be a string or a list of strings, not {type(choice)}"
|
|
144
|
-
# choice = choice_chosen
|
|
145
|
-
# if choice == "none(EXIT)":
|
|
146
|
-
# return None
|
|
147
|
-
# elif str(choice) == "all":
|
|
148
|
-
# console.print("📌 Adding all patches to profile")
|
|
149
|
-
# else:
|
|
150
|
-
# patches = [choice]
|
|
151
|
-
# console.print(f"📌 Adding selected patch: {choice}")
|
|
152
|
-
|
|
153
|
-
# profile_path_obj = PathExtended(profile_path) if isinstance(profile_path, str) else get_shell_profile_path()
|
|
154
|
-
# profile = profile_path_obj.read_text(encoding="utf-8")
|
|
155
|
-
|
|
156
|
-
# for patch_path in patches:
|
|
157
|
-
# patch_path_obj = PathExtended(patch_path)
|
|
158
|
-
# patch = patch_path_obj.read_text(encoding="utf-8")
|
|
159
|
-
# if patch in profile:
|
|
160
|
-
# console.print(f"⏭️ Patch already present: {patch_path_obj.name}")
|
|
161
|
-
# else:
|
|
162
|
-
# profile += "\n" + patch
|
|
163
|
-
# console.print(f"➕ Added patch: {patch_path_obj.name}")
|
|
164
|
-
|
|
165
|
-
# if system == "Linux":
|
|
166
|
-
# res = Terminal().run("cat /proc/version").op
|
|
167
|
-
# if "microsoft" in res.lower() or "wsl" in res.lower():
|
|
168
|
-
# profile += "\ncd ~" # this is to make sure that the current dir is not in the windows file system, which is terribly slow and its a bad idea to be there anyway.
|
|
169
|
-
# console.print("📌 WSL detected - adding 'cd ~' to profile to avoid Windows filesystem")
|
|
170
|
-
|
|
171
|
-
# profile_path_obj.write_text(profile, encoding="utf-8")
|
|
172
|
-
# console.print(Panel("✅ Shell profile updated with patches", title="[bold blue]Patches[/bold blue]", border_style="blue"))
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
if __name__ == "__main__":
|
|
176
|
-
pass
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
#=======================================================================
|
|
3
|
-
# ☁️ CLOUD CONFIGURATION INITIALIZATION SCRIPT ☁️
|
|
4
|
-
#=======================================================================
|
|
5
|
-
# This script initializes cloud configuration settings and sets up the environment
|
|
6
|
-
|
|
7
|
-
echo """#=======================================================================
|
|
8
|
-
🔑 COLLECTING CONFIGURATION PARAMETERS | Setting up cloud environment
|
|
9
|
-
#=======================================================================
|
|
10
|
-
"""
|
|
11
|
-
|
|
12
|
-
# Check for required environment variables and prompt if not set
|
|
13
|
-
if [ -z "$CLOUD_CONFIG_NAME" ]; then
|
|
14
|
-
echo """ #-----------------------------------------------------------------------
|
|
15
|
-
📋 CONFIG NAME | Specify cloud configuration to run
|
|
16
|
-
#-----------------------------------------------------------------------
|
|
17
|
-
"""
|
|
18
|
-
read -s -p "💭 Enter CLOUD_CONFIG_NAME (should be under cloud_config_name): " CLOUD_CONFIG_NAME
|
|
19
|
-
export CLOUD_CONFIG_NAME=$CLOUD_CONFIG_NAME
|
|
20
|
-
echo ""
|
|
21
|
-
fi
|
|
22
|
-
|
|
23
|
-
if [ -z "$SHARE_URL" ]; then
|
|
24
|
-
echo """ #-----------------------------------------------------------------------
|
|
25
|
-
🔗 SHARE URL | Provide cloud share URL for configuration files
|
|
26
|
-
#-----------------------------------------------------------------------
|
|
27
|
-
ℹ️ To get share_url, go to dotfiles and run: cloud_copy . :^ --config ss
|
|
28
|
-
"""
|
|
29
|
-
read -s -p "🔗 Enter SHARE_URL: " SHARE_URL
|
|
30
|
-
export SHARE_URL=$SHARE_URL
|
|
31
|
-
echo ""
|
|
32
|
-
fi
|
|
33
|
-
|
|
34
|
-
if [ -z "$DECRYPTION_PASSWORD" ]; then
|
|
35
|
-
echo """ #-----------------------------------------------------------------------
|
|
36
|
-
🔒 SECURITY | Enter decryption password
|
|
37
|
-
#-----------------------------------------------------------------------
|
|
38
|
-
"""
|
|
39
|
-
read -s -p "🔑 Enter DECRYPTION_PASSWORD: " DECRYPTION_PASSWORD
|
|
40
|
-
export DECRYPTION_PASSWORD=$DECRYPTION_PASSWORD
|
|
41
|
-
echo ""
|
|
42
|
-
fi
|
|
43
|
-
|
|
44
|
-
echo """#=======================================================================
|
|
45
|
-
📦 INSTALLING ESSENTIALS | Setting up core dependencies
|
|
46
|
-
#=======================================================================
|
|
47
|
-
"""
|
|
48
|
-
|
|
49
|
-
# Set up package manager
|
|
50
|
-
export package_manager="apt"
|
|
51
|
-
|
|
52
|
-
# Install essential applications
|
|
53
|
-
echo "📥 Installing essential Linux applications..."
|
|
54
|
-
curl bit.ly/cfgappslinux -L | bash
|
|
55
|
-
|
|
56
|
-
# Set up virtual environment
|
|
57
|
-
echo "🔧 Setting up Python virtual environment..."
|
|
58
|
-
curl bit.ly/cfgvelinux -L | bash
|
|
59
|
-
|
|
60
|
-
# Activate virtual environment
|
|
61
|
-
echo "🚀 Activating Python virtual environment..."
|
|
62
|
-
. $HOME/code/machineconfig/.venv/bin/activate
|
|
63
|
-
|
|
64
|
-
# Clone repositories
|
|
65
|
-
echo "📋 Setting up code repositories..."
|
|
66
|
-
curl bit.ly/cfgreposlinux -L | bash
|
|
67
|
-
|
|
68
|
-
echo """#=======================================================================
|
|
69
|
-
⚙️ CONFIGURING ENVIRONMENT | Setting up dotfiles
|
|
70
|
-
#=======================================================================
|
|
71
|
-
"""
|
|
72
|
-
|
|
73
|
-
# Link configuration files
|
|
74
|
-
echo "🔄 Creating symlinks for configuration files..."
|
|
75
|
-
source ~/code/machineconfig/src/machineconfig/setup_linux/symlinks.sh
|
|
76
|
-
sleep 1
|
|
77
|
-
|
|
78
|
-
# Copy cloud configurations
|
|
79
|
-
echo "☁️ Copying configuration files from cloud storage..."
|
|
80
|
-
~/scripts/cloud_copy $SHARE_URL $HOME --config ss
|
|
81
|
-
|
|
82
|
-
# Refresh symlinks
|
|
83
|
-
echo "🔄 Refreshing symlinks after cloud copy..."
|
|
84
|
-
source ~/code/machineconfig/src/machineconfig/setup_linux/symlinks.sh
|
|
85
|
-
|
|
86
|
-
# Reload shell configuration
|
|
87
|
-
echo "🔄 Reloading shell configuration..."
|
|
88
|
-
. ~/.bashrc
|
|
89
|
-
|
|
90
|
-
echo """#=======================================================================
|
|
91
|
-
📦 INSTALLING DEVELOPMENT TOOLS | Setting up development environment
|
|
92
|
-
#=======================================================================
|
|
93
|
-
"""
|
|
94
|
-
|
|
95
|
-
# Activate virtual environment
|
|
96
|
-
echo "🚀 Activating Python virtual environment..."
|
|
97
|
-
. $HOME/scripts/activate_ve '.venv'
|
|
98
|
-
|
|
99
|
-
# Install all essential development applications
|
|
100
|
-
echo "📥 Installing essential development applications..."
|
|
101
|
-
python -m fire machineconfig.scripts.python.devops_devapps_install main --which=essentials
|
|
102
|
-
|
|
103
|
-
# Reload shell configuration
|
|
104
|
-
echo "🔄 Reloading shell configuration..."
|
|
105
|
-
. ~/.bashrc
|
|
106
|
-
|
|
107
|
-
echo """#=======================================================================
|
|
108
|
-
✅ FINALIZING CONFIGURATION | Running cloud-specific initialization
|
|
109
|
-
#=======================================================================
|
|
110
|
-
"""
|
|
111
|
-
|
|
112
|
-
# Run cloud-specific initialization script
|
|
113
|
-
echo "⚙️ Running cloud-specific configuration: $CLOUD_CONFIG_NAME"
|
|
114
|
-
. $HOME/dotfiles/config/cloud/$CLOUD_CONFIG_NAME/init.sh
|
|
115
|
-
|
|
116
|
-
echo """#=======================================================================
|
|
117
|
-
✅ INITIALIZATION COMPLETE | Cloud environment has been set up successfully
|
|
118
|
-
#=======================================================================
|
|
119
|
-
"""
|
machineconfig/scripts/linux/fire
DELETED
machineconfig/scripts/linux/ftpx
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
# uses fzf as interactive ripgrep launcher.
|
|
4
|
-
# from https://github.com/junegunn/fzf/blob/master/ADVANCED.md#using-fzf-as-interative-ripgrep-launcher
|
|
5
|
-
|
|
6
|
-
# 1. Search for text in files using Ripgrep
|
|
7
|
-
# 2. Interactively restart Ripgrep with reload action
|
|
8
|
-
# 3. Open the file in Vim
|
|
9
|
-
|
|
10
|
-
RG_PREFIX="rg --column --line-number --no-heading --color=always --smart-case "
|
|
11
|
-
INITIAL_QUERY="${*:-}"
|
|
12
|
-
IFS=: read -ra selected < <(
|
|
13
|
-
FZF_DEFAULT_COMMAND="$RG_PREFIX $(printf %q "$INITIAL_QUERY")" \
|
|
14
|
-
fzf --ansi \
|
|
15
|
-
--disabled --query "$INITIAL_QUERY" \
|
|
16
|
-
--bind "change:reload:sleep 0.1; $RG_PREFIX {q} || true" \
|
|
17
|
-
--delimiter : \
|
|
18
|
-
--preview 'bat --color=always {1} --highlight-line {2}' \
|
|
19
|
-
--preview-window 'up,60%,border-bottom,+{2}+3/3,~3'
|
|
20
|
-
)
|
|
21
|
-
[ -n "${selected[0]}" ] && lvim "${selected[0]}" "+${selected[1]}"
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# fzf from grep
|
|
3
|
-
# from https://github.com/junegunn/fzf/blob/master/ADVANCED.md#switching-to-fzf-only-search-mode
|
|
4
|
-
|
|
5
|
-
# Two-phase filtering with Ripgrep and fzf
|
|
6
|
-
#
|
|
7
|
-
# 1. Search for text in files using Ripgrep
|
|
8
|
-
# 2. Interactively restart Ripgrep with reload action
|
|
9
|
-
# * Press alt-enter to switch to fzf-only filtering
|
|
10
|
-
# 3. Open the file in Vim
|
|
11
|
-
RG_PREFIX="rg --column --line-number --no-heading --color=always --smart-case "
|
|
12
|
-
INITIAL_QUERY="${*:-}"
|
|
13
|
-
IFS=: read -ra selected < <(
|
|
14
|
-
FZF_DEFAULT_COMMAND="$RG_PREFIX $(printf %q "$INITIAL_QUERY")" \
|
|
15
|
-
fzf --ansi \
|
|
16
|
-
--color "hl:-1:underline,hl+:-1:underline:reverse" \
|
|
17
|
-
--disabled --query "$INITIAL_QUERY" \
|
|
18
|
-
--bind "change:reload:sleep 0.1; $RG_PREFIX {q} || true" \
|
|
19
|
-
--bind "alt-enter:unbind(change,alt-enter)+change-prompt(2. fzf> )+enable-search+clear-query" \
|
|
20
|
-
--prompt '1. ripgrep> ' \
|
|
21
|
-
--delimiter : \
|
|
22
|
-
--preview 'batcat --color=always {1} --highlight-line {2}' \
|
|
23
|
-
--preview-window 'up,60%,border-bottom,+{2}+3/3,~3'
|
|
24
|
-
)
|
|
25
|
-
[ -n "${selected[0]}" ] && lvim "${selected[0]}" "+${selected[1]}"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# Installs Cloudflare WARP (warp-cli) on supported Ubuntu / Debian systems.
|
|
3
|
-
# Usage: sudo ./warp-cli.sh [--allow-unsupported] [--force-reinstall]
|
|
4
|
-
|
|
5
|
-
set -euo pipefail
|
|
6
|
-
|
|
7
|
-
ALLOW_UNSUPPORTED=0
|
|
8
|
-
FORCE_REINSTALL=0
|
|
9
|
-
|
|
10
|
-
for arg in "$@"; do
|
|
11
|
-
case "$arg" in
|
|
12
|
-
--allow-unsupported) ALLOW_UNSUPPORTED=1 ;;
|
|
13
|
-
--force-reinstall) FORCE_REINSTALL=1 ;;
|
|
14
|
-
-h|--help)
|
|
15
|
-
printf "Usage: %s [--allow-unsupported] [--force-reinstall]\n" "$0"
|
|
16
|
-
exit 0
|
|
17
|
-
;;
|
|
18
|
-
*)
|
|
19
|
-
printf "Unknown argument: %s\n" "$arg" >&2
|
|
20
|
-
exit 2
|
|
21
|
-
;;
|
|
22
|
-
esac
|
|
23
|
-
done
|
|
24
|
-
|
|
25
|
-
require_root() {
|
|
26
|
-
if [ "${EUID}" -ne 0 ]; then
|
|
27
|
-
printf "Please run as root (use sudo).\n" >&2
|
|
28
|
-
exit 1
|
|
29
|
-
fi
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
have_cmd() { command -v "$1" >/dev/null 2>&1; }
|
|
33
|
-
|
|
34
|
-
detect_os() {
|
|
35
|
-
if have_cmd lsb_release; then
|
|
36
|
-
DIST_ID=$(lsb_release -si 2>/dev/null | tr '[:upper:]' '[:lower:]')
|
|
37
|
-
CODENAME=$(lsb_release -sc 2>/dev/null | tr '[:upper:]' '[:lower:]')
|
|
38
|
-
elif [ -f /etc/os-release ]; then
|
|
39
|
-
# shellcheck disable=SC1091
|
|
40
|
-
. /etc/os-release
|
|
41
|
-
DIST_ID=$(printf "%s" "${ID:-}" | tr '[:upper:]' '[:lower:]')
|
|
42
|
-
CODENAME=$(printf "%s" "${VERSION_CODENAME:-}" | tr '[:upper:]' '[:lower:]')
|
|
43
|
-
else
|
|
44
|
-
printf "Cannot detect distribution. Install lsb_release or provide /etc/os-release.\n" >&2
|
|
45
|
-
exit 1
|
|
46
|
-
fi
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
is_supported() {
|
|
50
|
-
case "$DIST_ID" in
|
|
51
|
-
ubuntu)
|
|
52
|
-
# Supported: noble jammy focal (older: bionic xenial)
|
|
53
|
-
case "$CODENAME" in
|
|
54
|
-
noble|jammy|focal|bionic|xenial) return 0 ;; esac ;;
|
|
55
|
-
debian)
|
|
56
|
-
# Supported: bookworm bullseye buster (older: stretch)
|
|
57
|
-
case "$CODENAME" in
|
|
58
|
-
bookworm|bullseye|buster|stretch) return 0 ;; esac ;;
|
|
59
|
-
esac
|
|
60
|
-
return 1
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
add_key() {
|
|
64
|
-
local key_path="/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg"
|
|
65
|
-
if [ -s "$key_path" ]; then
|
|
66
|
-
return 0
|
|
67
|
-
fi
|
|
68
|
-
curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | gpg --yes --dearmor --output "$key_path"
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
add_repo() {
|
|
72
|
-
local list_file="/etc/apt/sources.list.d/cloudflare-client.list"
|
|
73
|
-
if grep -q "pkg.cloudflareclient.com" "$list_file" 2>/dev/null; then
|
|
74
|
-
return 0
|
|
75
|
-
fi
|
|
76
|
-
echo "deb [signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ ${CODENAME} main" > "$list_file"
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
need_update=0
|
|
80
|
-
install_package() {
|
|
81
|
-
if dpkg -s cloudflare-warp >/dev/null 2>&1; then
|
|
82
|
-
if [ "$FORCE_REINSTALL" -eq 1 ]; then
|
|
83
|
-
apt-get install --reinstall -y cloudflare-warp
|
|
84
|
-
else
|
|
85
|
-
printf "cloudflare-warp already installed. Use --force-reinstall to reinstall.\n"
|
|
86
|
-
fi
|
|
87
|
-
else
|
|
88
|
-
apt-get install -y cloudflare-warp
|
|
89
|
-
fi
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
main() {
|
|
93
|
-
require_root
|
|
94
|
-
if ! have_cmd apt-get; then
|
|
95
|
-
printf "apt-get not found. This script supports only Debian/Ubuntu.\n" >&2
|
|
96
|
-
exit 1
|
|
97
|
-
fi
|
|
98
|
-
detect_os
|
|
99
|
-
if ! is_supported; then
|
|
100
|
-
if [ "$ALLOW_UNSUPPORTED" -ne 1 ]; then
|
|
101
|
-
printf "Distribution %s (%s) not in supported list. Use --allow-unsupported to proceed.\n" "$DIST_ID" "$CODENAME" >&2
|
|
102
|
-
exit 3
|
|
103
|
-
else
|
|
104
|
-
printf "Proceeding on unsupported distribution %s (%s).\n" "$DIST_ID" "$CODENAME"
|
|
105
|
-
fi
|
|
106
|
-
fi
|
|
107
|
-
pre_key_checksum=$( [ -f /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg ] && sha256sum /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg | cut -d' ' -f1 || true )
|
|
108
|
-
add_key
|
|
109
|
-
post_key_checksum=$(sha256sum /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg | cut -d' ' -f1)
|
|
110
|
-
if [ "$pre_key_checksum" != "$post_key_checksum" ]; then need_update=1; fi
|
|
111
|
-
repo_before=$(grep -R "pkg.cloudflareclient.com" /etc/apt/sources.list.d 2>/dev/null || true)
|
|
112
|
-
add_repo
|
|
113
|
-
repo_after=$(grep -R "pkg.cloudflareclient.com" /etc/apt/sources.list.d 2>/dev/null || true)
|
|
114
|
-
if [ "$repo_before" != "$repo_after" ]; then need_update=1; fi
|
|
115
|
-
if [ "$need_update" -eq 1 ]; then
|
|
116
|
-
apt-get update
|
|
117
|
-
fi
|
|
118
|
-
install_package
|
|
119
|
-
printf "Done. Basic usage: 'warp-cli register' then 'warp-cli connect'. For account: 'warp-cli set-mode warp'.\n"
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
main "$@"
|
machineconfig/scripts/linux/z_ls
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
# if variable zellij is not set, then set it to /$HOME/.local/bin/zellij
|
|
4
|
-
if [ -z "$zellij" ]; then
|
|
5
|
-
# zellij="$HOME/.local/bin/zellij"
|
|
6
|
-
PATH="$HOME/.local/bin:$PATH"
|
|
7
|
-
fi
|
|
8
|
-
|
|
9
|
-
# adopted from https://zellij.dev/documentation/integration.html
|
|
10
|
-
ZJ_SESSIONS=$(zellij list-sessions)
|
|
11
|
-
# echo "$ZJ_SESSIONS"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
attach=false
|
|
15
|
-
|
|
16
|
-
while (( "$#" )); do
|
|
17
|
-
case "$1" in
|
|
18
|
-
--attach)
|
|
19
|
-
attach=true
|
|
20
|
-
shift
|
|
21
|
-
;;
|
|
22
|
-
*)
|
|
23
|
-
shift
|
|
24
|
-
;;
|
|
25
|
-
esac
|
|
26
|
-
done
|
|
27
|
-
|
|
28
|
-
if $attach; then
|
|
29
|
-
echo "attached"
|
|
30
|
-
fi
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
NO_SESSIONS=$(echo "${ZJ_SESSIONS}" | wc -l)
|
|
34
|
-
# if ZJ_SESSIONS is empty, then set NO_SESSIONS to 0
|
|
35
|
-
if [ -z "${ZJ_SESSIONS}" ]; then
|
|
36
|
-
NO_SESSIONS=0
|
|
37
|
-
fi
|
|
38
|
-
|
|
39
|
-
# check whether the string "(current)" is in ZJ_SESSIONS
|
|
40
|
-
if [[ "${ZJ_SESSIONS}" == *"(current)"* ]]; then
|
|
41
|
-
# if so, then we are in a zellijsession
|
|
42
|
-
echo "already inside a session, existing."
|
|
43
|
-
COMMANDS=$(ls $HOME/code/machineconfig/src/machineconfig/settings/zellij/commands)
|
|
44
|
-
# fzf the results
|
|
45
|
-
res="$(echo -e "${COMMANDS}" | fzf --ansi)"
|
|
46
|
-
# run the bash fiZJ_SESSIONSle chosen
|
|
47
|
-
bash $HOME/code/machineconfig/src/machineconfig/settings/zellij/commands/$res
|
|
48
|
-
|
|
49
|
-
else # ==> we are not in a zellijsession
|
|
50
|
-
if [ "${NO_SESSIONS}" -ge 1 ]; then # sessions do exist
|
|
51
|
-
|
|
52
|
-
# remove sessions that have 'EXITED' in them
|
|
53
|
-
ZJ_SESSIONS=$(echo -e "${ZJ_SESSIONS}" | grep -v "EXITED")
|
|
54
|
-
|
|
55
|
-
echo "zj_sessions:$ZJ_SESSIONS:end of zj_sessions"
|
|
56
|
-
|
|
57
|
-
# if the result has only 1 line in it and $attach is raised, then attach to it and exit the if statement and the script
|
|
58
|
-
NO_SESSIONS=$(echo "${ZJ_SESSIONS}" | wc -l)
|
|
59
|
-
|
|
60
|
-
echo "NO_SESSIONS: $NO_SESSIONS"
|
|
61
|
-
|
|
62
|
-
# if ZJ_SESSIONS is empty, then set NO_SESSIONS to 0
|
|
63
|
-
if [ -z "${ZJ_SESSIONS}" ]; then
|
|
64
|
-
NO_SESSIONS=0
|
|
65
|
-
zellij --layout st2
|
|
66
|
-
exit 0
|
|
67
|
-
fi
|
|
68
|
-
echo "NO_SESSIONS: $NO_SESSIONS"
|
|
69
|
-
|
|
70
|
-
if [ "${NO_SESSIONS}" -eq 1 ] && $attach; then
|
|
71
|
-
chosen_session=$(echo -e "${ZJ_SESSIONS}" | cut -d' ' -f1)
|
|
72
|
-
# remove the ansi colors from chosen_session
|
|
73
|
-
chosen_session=$(echo $chosen_session | sed 's/\x1b\[[0-9;]*m//g')
|
|
74
|
-
# echo "attaching to $chosen_session exclusively."
|
|
75
|
-
zellij attach "$chosen_session"
|
|
76
|
-
exit 0
|
|
77
|
-
fi
|
|
78
|
-
|
|
79
|
-
# add my options to the list of sessions
|
|
80
|
-
# if number of sessions is zero, then exclude ZJ_SESSIONS from the fzf options
|
|
81
|
-
if [ "${NO_SESSIONS}" -eq 0 ]; then
|
|
82
|
-
ZJ_SESSIONS="new_session\nkill_all_and_create_fresh_one\nexit_zellij"
|
|
83
|
-
else
|
|
84
|
-
ZJ_SESSIONS="$ZJ_SESSIONS\nnew_session\nkill_all_and_create_fresh_one\nexit_zellij"
|
|
85
|
-
fi
|
|
86
|
-
|
|
87
|
-
res="$(echo -e "${ZJ_SESSIONS}" | fzf --ansi)"
|
|
88
|
-
# split `res` at the first space, and take the first element
|
|
89
|
-
res=$(echo $res | cut -d' ' -f1)
|
|
90
|
-
if [ "${res}" = "exit_zellij" ]; then
|
|
91
|
-
echo "existing zellij."
|
|
92
|
-
elif [ "${res}" = "new_session" ]; then
|
|
93
|
-
zellij --layout st2 # can't specify name here. I can call it "main" only if it is the first, otherwise name conflict! also, can't use attach -c syntax because layout can't be specified.
|
|
94
|
-
elif [ "${res}" = "kill_all_and_create_fresh_one" ]; then
|
|
95
|
-
zellij ka -y
|
|
96
|
-
zellij --layout st2
|
|
97
|
-
else
|
|
98
|
-
zellij attach $res # options --mirror-session false
|
|
99
|
-
fi
|
|
100
|
-
else # no sessions, create one called main
|
|
101
|
-
zellij --layout st2
|
|
102
|
-
fi
|
|
103
|
-
|
|
104
|
-
fi
|