machineconfig 7.98__py3-none-any.whl → 8.51__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.
- machineconfig/cluster/remote/run_cluster.py +1 -1
- machineconfig/cluster/remote/run_remote.py +1 -1
- machineconfig/cluster/sessions_managers/utils/maker.py +10 -8
- machineconfig/cluster/sessions_managers/wt_local.py +1 -1
- machineconfig/cluster/sessions_managers/wt_local_manager.py +1 -1
- machineconfig/cluster/sessions_managers/zellij_local.py +1 -1
- machineconfig/cluster/sessions_managers/zellij_local_manager.py +1 -1
- machineconfig/jobs/installer/checks/check_installations.py +133 -0
- machineconfig/jobs/installer/checks/install_utils.py +132 -0
- machineconfig/jobs/installer/checks/report_utils.py +39 -0
- machineconfig/jobs/installer/checks/vt_utils.py +89 -0
- machineconfig/jobs/installer/installer_data.json +271 -152
- machineconfig/jobs/installer/linux_scripts/docker.sh +6 -9
- machineconfig/jobs/installer/package_groups.py +11 -9
- machineconfig/jobs/installer/{custom → python_scripts}/boxes.py +1 -2
- machineconfig/jobs/installer/{custom_dev → python_scripts}/brave.py +1 -1
- machineconfig/jobs/installer/{custom_dev → python_scripts}/code.py +10 -8
- machineconfig/jobs/installer/{custom → python_scripts}/hx.py +30 -13
- machineconfig/jobs/installer/{custom_dev → python_scripts}/nerdfont.py +1 -1
- machineconfig/jobs/installer/{custom_dev → python_scripts}/nerfont_windows_helper.py +6 -5
- machineconfig/jobs/installer/{custom_dev → python_scripts}/sysabc.py +26 -20
- machineconfig/jobs/installer/{custom_dev → python_scripts}/wezterm.py +1 -1
- machineconfig/jobs/installer/{custom → python_scripts}/yazi.py +39 -19
- machineconfig/jobs/scripts/powershell_scripts/cmatrix.ps1 +52 -0
- machineconfig/jobs/scripts/powershell_scripts/mount_ssh.ps1 +13 -0
- machineconfig/jobs/scripts/powershell_scripts/obs.ps1 +4 -0
- machineconfig/jobs/scripts_dynamic/a.py +428 -0
- machineconfig/logger.py +1 -1
- machineconfig/profile/create_helper.py +21 -10
- machineconfig/profile/create_links.py +77 -20
- machineconfig/profile/create_links_export.py +63 -58
- machineconfig/profile/create_shell_profile.py +14 -0
- machineconfig/profile/mapper_data.toml +45 -0
- machineconfig/profile/mapper_dotfiles.toml +249 -0
- machineconfig/scripts/python/agents.py +76 -171
- machineconfig/scripts/python/ai/initai.py +3 -1
- machineconfig/scripts/python/ai/scripts/__init__.py +1 -0
- machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +2 -0
- machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +8 -6
- machineconfig/scripts/python/ai/solutions/claude/claude.py +1 -1
- machineconfig/scripts/python/ai/solutions/cline/cline.py +1 -1
- machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +1 -1
- machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +29 -0
- machineconfig/scripts/python/ai/solutions/crush/crush.py +1 -1
- machineconfig/scripts/python/ai/solutions/cursor/cursors.py +1 -1
- machineconfig/scripts/python/ai/solutions/gemini/gemini.py +1 -1
- machineconfig/scripts/python/ai/solutions/gemini/settings.json +3 -0
- machineconfig/scripts/python/ai/{solutions → utils}/generic.py +2 -15
- machineconfig/scripts/python/ai/utils/vscode_tasks.py +6 -3
- machineconfig/scripts/python/cloud.py +58 -11
- machineconfig/scripts/python/croshell.py +4 -155
- machineconfig/scripts/python/devops.py +57 -38
- machineconfig/scripts/python/devops_navigator.py +17 -3
- machineconfig/scripts/python/fire_jobs.py +10 -193
- machineconfig/scripts/python/ftpx.py +5 -224
- machineconfig/scripts/python/graph/cli_graph.json +8743 -0
- machineconfig/scripts/python/{env_manager → helper_env}/path_manager_tui.py +2 -2
- machineconfig/scripts/python/{env_manager → helpers/helper_env}/env_manager_tui.py +1 -1
- machineconfig/scripts/python/helpers/helper_env/path_manager_tui.py +228 -0
- machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/agentic_frameworks/fire_crush.py +1 -1
- machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/agentic_frameworks/fire_cursor_agents.py +1 -1
- machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/agentic_frameworks/fire_gemini.py +1 -1
- machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/agentic_frameworks/fire_qwen.py +1 -1
- machineconfig/scripts/python/helpers/helpers_agents/agents_impl.py +168 -0
- machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/fire_agents_help_launch.py +10 -7
- machineconfig/scripts/python/helpers/helpers_agents/privacy/configs/aichat/config.yaml +5 -0
- machineconfig/scripts/python/helpers/helpers_agents/privacy/configs/aider/.aider.conf.yml +2 -0
- machineconfig/scripts/python/helpers/helpers_agents/privacy/configs/copilot/config.yml +1 -0
- machineconfig/scripts/python/helpers/helpers_agents/privacy/configs/crush/crush.json +10 -0
- machineconfig/scripts/python/helpers/helpers_agents/privacy/configs/gemini/settings.json +12 -0
- machineconfig/scripts/python/helpers/helpers_agents/privacy/privacy.py +109 -0
- machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/templates/template.sh +3 -1
- machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/cloud_copy.py +6 -6
- machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/cloud_mount.py +10 -5
- machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/cloud_sync.py +4 -4
- machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/helpers2.py +1 -1
- machineconfig/scripts/python/helpers/helpers_croshell/croshell_impl.py +225 -0
- machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/scheduler.py +4 -4
- machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/start_slidev.py +7 -6
- machineconfig/scripts/python/helpers/helpers_devops/backup_config.py +149 -0
- machineconfig/scripts/python/helpers/helpers_devops/cli_backup_retrieve.py +262 -0
- machineconfig/scripts/python/helpers/helpers_devops/cli_config.py +98 -0
- machineconfig/scripts/python/helpers/helpers_devops/cli_config_dotfile.py +274 -0
- machineconfig/scripts/python/helpers/helpers_devops/cli_data.py +67 -0
- machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/cli_nw.py +69 -82
- machineconfig/scripts/python/helpers/helpers_devops/cli_repos.py +274 -0
- machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/cli_self.py +47 -22
- machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/cli_share_file.py +44 -30
- machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/cli_share_server.py +26 -43
- machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/cli_share_terminal.py +12 -6
- machineconfig/scripts/python/helpers/helpers_devops/cli_ssh.py +167 -0
- machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/devops_status.py +12 -6
- machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/devops_update_repos.py +1 -1
- machineconfig/scripts/python/{interactive.py → helpers/helpers_devops/interactive.py} +64 -50
- machineconfig/scripts/python/helpers/helpers_devops/run_script.py +197 -0
- machineconfig/scripts/python/helpers/helpers_devops/themes/choose_starship_theme.ps1 +41 -0
- machineconfig/scripts/python/helpers/helpers_devops/themes/choose_starship_theme.sh +48 -0
- machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/themes/choose_wezterm_theme.py +3 -3
- machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/file_wrangler.py +1 -0
- machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/fire_jobs_args_helper.py +1 -0
- machineconfig/scripts/python/helpers/helpers_fire_command/fire_jobs_impl.py +233 -0
- machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/fire_jobs_route_helper.py +3 -3
- machineconfig/scripts/python/helpers/helpers_msearch/msearch_impl.py +248 -0
- machineconfig/scripts/python/{helpers_msearch → helpers/helpers_msearch}/scripts_linux/fzfg +4 -3
- machineconfig/scripts/python/helpers/helpers_msearch/scripts_linux/search_with_context.sh +48 -0
- machineconfig/scripts/python/{helpers_msearch → helpers/helpers_msearch}/scripts_windows/fzfg.ps1 +1 -1
- machineconfig/scripts/python/helpers/helpers_navigator/__init__.py +20 -0
- machineconfig/scripts/python/helpers/helpers_navigator/cli_graph_loader.py +234 -0
- machineconfig/scripts/python/{helpers_navigator → helpers/helpers_navigator}/command_builder.py +61 -13
- machineconfig/scripts/python/helpers/helpers_navigator/command_detail.py +153 -0
- machineconfig/scripts/python/helpers/helpers_navigator/command_tree.py +45 -0
- machineconfig/scripts/python/{helpers_navigator → helpers/helpers_navigator}/data_models.py +18 -11
- machineconfig/scripts/python/{helpers_navigator → helpers/helpers_navigator}/main_app.py +5 -5
- machineconfig/scripts/python/{helpers_network → helpers/helpers_network}/address.py +52 -10
- machineconfig/scripts/python/helpers/helpers_network/address_switch.py +78 -0
- machineconfig/scripts/python/helpers/helpers_network/ftpx_impl.py +276 -0
- machineconfig/scripts/python/{helpers_network → helpers/helpers_network}/mount_ssh.py +2 -2
- machineconfig/scripts/python/helpers/helpers_network/ssh_add_identity.py +73 -0
- machineconfig/scripts/python/helpers/helpers_network/ssh_add_ssh_key.py +175 -0
- machineconfig/scripts/python/helpers/helpers_network/ssh_debug_linux.py +319 -0
- machineconfig/scripts/python/helpers/helpers_network/ssh_debug_windows.py +275 -0
- machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/action.py +3 -3
- machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/action_helper.py +3 -3
- machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/cloud_repo_sync.py +118 -34
- machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/grource.py +3 -2
- machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/record.py +33 -13
- machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/repo_analyzer_2.py +63 -19
- machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/update.py +0 -6
- machineconfig/scripts/python/helpers/helpers_search/script_help.py +81 -0
- machineconfig/scripts/python/helpers/helpers_sessions/__init__.py +0 -0
- machineconfig/scripts/python/helpers/helpers_sessions/sessions_impl.py +186 -0
- machineconfig/scripts/python/{helpers_sessions → helpers/helpers_sessions}/sessions_multiprocess.py +1 -2
- machineconfig/scripts/python/helpers/helpers_terminal/__init__.py +0 -0
- machineconfig/scripts/python/helpers/helpers_terminal/terminal_impl.py +96 -0
- machineconfig/scripts/python/{helpers_utils → helpers/helpers_utils}/download.py +1 -1
- machineconfig/scripts/python/{helpers_devops/cli_utils.py → helpers/helpers_utils/pdf.py} +2 -2
- machineconfig/scripts/python/{helpers_utils/path.py → helpers/helpers_utils/python.py} +65 -40
- machineconfig/scripts/python/helpers/helpers_utils/specs.py +246 -0
- machineconfig/scripts/python/mcfg_entry.py +133 -48
- machineconfig/scripts/python/msearch.py +16 -61
- machineconfig/scripts/python/sessions.py +68 -203
- machineconfig/scripts/python/terminal.py +27 -102
- machineconfig/scripts/python/utils.py +101 -22
- machineconfig/settings/atuin/config.toml +294 -0
- machineconfig/settings/atuin/themes/catppuccin-mocha-mauve.toml +12 -0
- machineconfig/settings/linters/.ruff.toml +2 -1
- machineconfig/settings/mprocs/windows/mprocs.yaml +2 -2
- machineconfig/settings/shells/bash/init.sh +6 -3
- machineconfig/settings/shells/nushell/config.nu +23 -1
- machineconfig/settings/shells/nushell/env.nu +22 -48
- machineconfig/settings/shells/nushell/init.nu +64 -240
- machineconfig/settings/shells/pwsh/init.ps1 +69 -1
- machineconfig/settings/shells/pwsh/search_pwsh_history.ps1 +99 -0
- machineconfig/settings/shells/wezterm/wezterm.lua +4 -1
- machineconfig/settings/shells/wt/settings.json +21 -21
- machineconfig/settings/shells/zsh/init.sh +25 -4
- machineconfig/settings/television/cable_unix/bash-history.toml +1 -1
- machineconfig/settings/television/cable_windows/pwsh-history.toml +1 -1
- machineconfig/settings/tv/config.toml +234 -0
- machineconfig/settings/tv/themes/catppuccin-mocha-sky.toml +22 -0
- machineconfig/settings/wsl/.wslconfig +5 -30
- machineconfig/settings/wt/__init__.py +0 -0
- machineconfig/settings/yazi/yazi_linux.toml +18 -8
- machineconfig/settings/zellij/layouts/st.kdl +40 -9
- machineconfig/settings/zellij/layouts/st2.kdl +1 -1
- machineconfig/setup_linux/__init__.py +0 -1
- machineconfig/setup_linux/apps_desktop.sh +8 -27
- machineconfig/setup_linux/web_shortcuts/interactive.sh +10 -10
- machineconfig/setup_linux/web_shortcuts/live_from_github.sh +3 -0
- machineconfig/setup_mac/__init__.py +0 -2
- machineconfig/setup_windows/__init__.py +2 -5
- machineconfig/setup_windows/web_shortcuts/interactive.ps1 +14 -13
- machineconfig/setup_windows/web_shortcuts/live_from_github.ps1 +4 -3
- machineconfig/setup_windows/web_shortcuts/quick_init.ps1 +3 -3
- machineconfig/type_hinting/sql/__init__.py +1 -0
- machineconfig/type_hinting/sql/base.py +216 -0
- machineconfig/type_hinting/sql/core_schema.py +64 -0
- machineconfig/type_hinting/sql/core_schema_typeddict.py +41 -0
- machineconfig/type_hinting/sql/typeddict_codegen.py +222 -0
- machineconfig/type_hinting/typedict/__init__.py +1 -0
- machineconfig/type_hinting/typedict/ast_utils.py +130 -0
- machineconfig/type_hinting/typedict/generator_helpers.py +319 -0
- machineconfig/type_hinting/typedict/generators.py +231 -0
- machineconfig/type_hinting/typedict/polars_schema.py +24 -0
- machineconfig/type_hinting/typedict/polars_schema_typeddict.py +63 -0
- machineconfig/utils/accessories.py +24 -0
- machineconfig/utils/code.py +78 -33
- machineconfig/utils/files/ascii_art.py +10 -14
- machineconfig/utils/files/headers.py +3 -5
- machineconfig/utils/files/read.py +8 -1
- machineconfig/utils/installer_utils/github_release_bulk.py +11 -91
- machineconfig/utils/installer_utils/github_release_scraper.py +99 -0
- machineconfig/utils/installer_utils/install_from_url.py +1 -1
- machineconfig/utils/installer_utils/installer_class.py +12 -4
- machineconfig/utils/installer_utils/installer_cli.py +1 -15
- machineconfig/utils/installer_utils/installer_helper.py +2 -2
- machineconfig/utils/installer_utils/installer_locator_utils.py +13 -13
- machineconfig/utils/installer_utils/installer_runner.py +4 -4
- machineconfig/utils/io.py +25 -8
- machineconfig/utils/meta.py +6 -4
- machineconfig/utils/options.py +49 -19
- machineconfig/utils/options_utils/__init__.py +0 -0
- machineconfig/utils/options_utils/options_tv_linux.py +211 -0
- machineconfig/utils/options_utils/options_tv_windows.py +88 -0
- machineconfig/utils/options_utils/tv_options.py +37 -0
- machineconfig/utils/path_extended.py +8 -7
- machineconfig/utils/scheduler.py +8 -2
- machineconfig/utils/schemas/fire_agents/fire_agents_input.py +1 -1
- machineconfig/utils/source_of_truth.py +6 -1
- machineconfig/utils/ssh.py +73 -23
- machineconfig/utils/ssh_utils/abc.py +1 -1
- machineconfig/utils/ssh_utils/copy_from_here.py +19 -14
- machineconfig/utils/ssh_utils/copy_to_here.py +2 -1
- machineconfig/utils/ssh_utils/utils.py +23 -7
- machineconfig/utils/ssh_utils/wsl.py +107 -170
- machineconfig/utils/ssh_utils/wsl_helper.py +217 -0
- machineconfig/utils/upgrade_packages.py +4 -8
- {machineconfig-7.98.dist-info → machineconfig-8.51.dist-info}/METADATA +30 -22
- machineconfig-8.51.dist-info/RECORD +543 -0
- machineconfig/jobs/installer/check_installations.py +0 -248
- machineconfig/profile/backup.toml +0 -49
- machineconfig/profile/mapper.toml +0 -263
- machineconfig/scripts/linux/other/switch_ip +0 -20
- machineconfig/scripts/python/helpers/run_py_script.py +0 -79
- machineconfig/scripts/python/helpers/tmp_py_scripts/a.py +0 -26
- machineconfig/scripts/python/helpers_devops/cli_config.py +0 -105
- machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +0 -89
- machineconfig/scripts/python/helpers_devops/cli_data.py +0 -25
- machineconfig/scripts/python/helpers_devops/cli_repos.py +0 -215
- machineconfig/scripts/python/helpers_devops/devops_backup_retrieve.py +0 -80
- machineconfig/scripts/python/helpers_devops/themes/choose_starship_theme.bash +0 -3
- machineconfig/scripts/python/helpers_navigator/__init__.py +0 -20
- machineconfig/scripts/python/helpers_navigator/command_detail.py +0 -44
- machineconfig/scripts/python/helpers_navigator/command_tree.py +0 -620
- machineconfig/scripts/python/helpers_network/devops_add_identity.py +0 -82
- machineconfig/scripts/python/helpers_network/devops_add_ssh_key.py +0 -153
- machineconfig/scripts/python/helpers_network/ssh_debug_linux.py +0 -391
- machineconfig/scripts/python/helpers_network/ssh_debug_windows.py +0 -338
- machineconfig/scripts/python/helpers_network/wsl_windows_transfer.py +0 -67
- machineconfig/scripts/python/helpers_repos/entrypoint.py +0 -77
- machineconfig/scripts/windows/mounts/mount_ssh.ps1 +0 -13
- machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -30
- machineconfig/setup_linux/ssh/openssh_all.sh +0 -25
- machineconfig/setup_linux/ssh/openssh_wsl.sh +0 -38
- machineconfig/setup_mac/ssh/openssh_setup.sh +0 -114
- machineconfig/setup_windows/others/obs.ps1 +0 -4
- machineconfig/setup_windows/ssh/add-sshkey.ps1 +0 -29
- machineconfig/setup_windows/ssh/add_identity.ps1 +0 -11
- machineconfig/setup_windows/ssh/openssh-server.ps1 +0 -37
- machineconfig/setup_windows/ssh/openssh-server_add_key.ps1 +0 -7
- machineconfig/setup_windows/ssh/openssh-server_copy-ssh-id.ps1 +0 -14
- machineconfig/utils/options_tv.py +0 -119
- machineconfig/utils/tst.py +0 -20
- machineconfig-7.98.dist-info/RECORD +0 -504
- /machineconfig/jobs/installer/{custom_dev → checks}/__init__.py +0 -0
- /machineconfig/{scripts/python/helpers_agents → jobs/installer/python_scripts}/__init__.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/alacritty.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/bypass_paywall.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/cloudflare_warp_cli.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/cursor.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/dubdb_adbc.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/espanso.py +0 -0
- /machineconfig/jobs/installer/{custom → python_scripts}/gh.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/goes.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/lvim.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/redis.py +0 -0
- /machineconfig/jobs/installer/{custom_dev → python_scripts}/winget.py +0 -0
- /machineconfig/{setup_linux/others → jobs/scripts/bash_scripts}/android.sh +0 -0
- /machineconfig/jobs/{installer/linux_scripts → scripts/bash_scripts}/lid.sh +0 -0
- /machineconfig/{scripts/python/helpers_network → jobs/scripts/bash_scripts}/mount_drive +0 -0
- /machineconfig/{scripts/python/helpers_network → jobs/scripts/bash_scripts}/mount_nfs +0 -0
- /machineconfig/{scripts/python/helpers_network → jobs/scripts/bash_scripts}/mount_nw_drive +0 -0
- /machineconfig/{scripts/python/helpers_network → jobs/scripts/bash_scripts}/mount_smb +0 -0
- /machineconfig/{scripts/linux/other → jobs/scripts/bash_scripts}/share_cloud.sh +0 -0
- /machineconfig/{scripts/linux/other → jobs/scripts/bash_scripts}/share_nfs +0 -0
- /machineconfig/{scripts/linux/other → jobs/scripts/bash_scripts}/start_docker +0 -0
- /machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/Restore-ThunderbirdProfile.ps1 +0 -0
- /machineconfig/{setup_windows/others → jobs/scripts/powershell_scripts}/docker.ps1 +0 -0
- /machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/mount_nfs.ps1 +0 -0
- /machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/mount_nw.ps1 +0 -0
- /machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/mount_smb.ps1 +0 -0
- /machineconfig/{setup_windows/others → jobs/scripts/powershell_scripts}/power_options.ps1 +0 -0
- /machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/share_cloud.cmd +0 -0
- /machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/share_smb.ps1 +0 -0
- /machineconfig/{scripts/windows/mounts → jobs/scripts/powershell_scripts}/unlock_bitlocker.ps1 +0 -0
- /machineconfig/scripts/python/ai/{solutions/_shared.py → utils/shared.py} +0 -0
- /machineconfig/scripts/python/{helpers_agents/agentic_frameworks → graph}/__init__.py +0 -0
- /machineconfig/scripts/python/{helpers_cloud → helpers}/__init__.py +0 -0
- /machineconfig/scripts/python/{env_manager → helpers/helper_env}/__init__.py +0 -0
- /machineconfig/scripts/python/{env_manager → helpers/helper_env}/path_manager_backend.py +0 -0
- /machineconfig/scripts/python/{helpers_croshell → helpers/helpers_agents}/__init__.py +0 -0
- /machineconfig/scripts/python/{helpers_devops → helpers/helpers_agents/agentic_frameworks}/__init__.py +0 -0
- /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/agentic_frameworks/fire_crush.json +0 -0
- /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/fire_agents_help_search.py +0 -0
- /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/fire_agents_helper_types.py +0 -0
- /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/fire_agents_load_balancer.py +0 -0
- /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/templates/prompt.txt +0 -0
- /machineconfig/scripts/python/{helpers_agents → helpers/helpers_agents}/templates/template.ps1 +0 -0
- /machineconfig/scripts/python/{helpers_devops/themes → helpers/helpers_cloud}/__init__.py +0 -0
- /machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/cloud_helpers.py +0 -0
- /machineconfig/scripts/python/{helpers_cloud → helpers/helpers_cloud}/helpers5.py +0 -0
- /machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_croshell}/__init__.py +0 -0
- /machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/crosh.py +0 -0
- /machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/pomodoro.py +0 -0
- /machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/viewer.py +0 -0
- /machineconfig/scripts/python/{helpers_croshell → helpers/helpers_croshell}/viewer_template.py +0 -0
- /machineconfig/scripts/python/{helpers_network → helpers/helpers_devops}/__init__.py +0 -0
- /machineconfig/scripts/python/{helpers_sessions → helpers/helpers_devops/themes}/__init__.py +0 -0
- /machineconfig/scripts/python/{helpers_devops → helpers/helpers_devops}/themes/choose_pwsh_theme.ps1 +0 -0
- /machineconfig/{setup_windows/wt_and_pwsh → scripts/python/helpers/helpers_fire_command}/__init__.py +0 -0
- /machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/cloud_manager.py +0 -0
- /machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/f.py +0 -0
- /machineconfig/scripts/python/{helpers_fire_command → helpers/helpers_fire_command}/fire_jobs_streamlit_helper.py +0 -0
- /machineconfig/scripts/python/{helpers_msearch → helpers/helpers_msearch}/__init__.py +0 -0
- /machineconfig/scripts/python/{helpers_navigator → helpers/helpers_navigator}/search_bar.py +0 -0
- /machineconfig/scripts/python/{helpers_devops/themes/choose_starship_theme.ps1 → helpers/helpers_network/__init__.py} +0 -0
- /machineconfig/scripts/python/{helpers_network → helpers/helpers_network}/mount_nfs.py +0 -0
- /machineconfig/scripts/python/{helpers_network → helpers/helpers_network}/mount_nw_drive.py +0 -0
- /machineconfig/scripts/python/{helpers_network → helpers/helpers_network}/onetimeshare.py +0 -0
- /machineconfig/scripts/python/{helpers_network → helpers/helpers_network}/wifi_conn.py +0 -0
- /machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/clone.py +0 -0
- /machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/repo_analyzer_1.py +0 -0
- /machineconfig/scripts/python/{helpers_repos → helpers/helpers_repos}/sync.py +0 -0
- /machineconfig/scripts/python/helpers/{ast_search.py → helpers_search/ast_search.py} +0 -0
- /machineconfig/scripts/python/helpers/{qr_code.py → helpers_search/qr_code.py} +0 -0
- /machineconfig/scripts/python/helpers/{repo_rag.py → helpers_search/repo_rag.py} +0 -0
- /machineconfig/scripts/python/helpers/{symantic_search.py → helpers_search/symantic_search.py} +0 -0
- /machineconfig/{setup_windows/wt_and_pwsh → settings/wt}/set_wt_settings.py +0 -0
- {machineconfig-7.98.dist-info → machineconfig-8.51.dist-info}/WHEEL +0 -0
- {machineconfig-7.98.dist-info → machineconfig-8.51.dist-info}/entry_points.txt +0 -0
- {machineconfig-7.98.dist-info → machineconfig-8.51.dist-info}/top_level.txt +0 -0
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
# 🔐 OpenSSH Setup for macOS
|
|
4
|
-
# This script sets up SSH configuration and permissions on macOS
|
|
5
|
-
|
|
6
|
-
echo "🔐 Starting OpenSSH setup for macOS..."
|
|
7
|
-
|
|
8
|
-
# ✅ SSH is built-in on macOS (OpenSSH comes pre-installed)
|
|
9
|
-
echo "✅ OpenSSH is pre-installed on macOS"
|
|
10
|
-
|
|
11
|
-
# 📁 Create SSH directory with correct permissions
|
|
12
|
-
echo "📁 Setting up SSH directory..."
|
|
13
|
-
mkdir -p ~/.ssh
|
|
14
|
-
chmod 700 ~/.ssh
|
|
15
|
-
echo "✅ SSH directory created with correct permissions (700)"
|
|
16
|
-
|
|
17
|
-
# 📝 Create authorized_keys file if it doesn't exist
|
|
18
|
-
if [ ! -f ~/.ssh/authorized_keys ]; then
|
|
19
|
-
touch ~/.ssh/authorized_keys
|
|
20
|
-
chmod 600 ~/.ssh/authorized_keys
|
|
21
|
-
echo "✅ Created authorized_keys file"
|
|
22
|
-
else
|
|
23
|
-
echo "✅ authorized_keys file already exists"
|
|
24
|
-
chmod 600 ~/.ssh/authorized_keys
|
|
25
|
-
fi
|
|
26
|
-
|
|
27
|
-
# 🔑 Create SSH keys if they don't exist
|
|
28
|
-
if [ ! -f ~/.ssh/id_rsa ]; then
|
|
29
|
-
echo "🔑 Generating SSH keys (RSA)..."
|
|
30
|
-
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N "" -C "$(whoami)@$(hostname)"
|
|
31
|
-
echo "✅ SSH RSA keys generated: ~/.ssh/id_rsa"
|
|
32
|
-
else
|
|
33
|
-
echo "✅ SSH keys already exist"
|
|
34
|
-
fi
|
|
35
|
-
|
|
36
|
-
# 🔐 Create Ed25519 keys (modern alternative)
|
|
37
|
-
if [ ! -f ~/.ssh/id_ed25519 ]; then
|
|
38
|
-
echo "🔑 Generating SSH keys (Ed25519)..."
|
|
39
|
-
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -N "" -C "$(whoami)@$(hostname)"
|
|
40
|
-
echo "✅ SSH Ed25519 keys generated: ~/.ssh/id_ed25519"
|
|
41
|
-
else
|
|
42
|
-
echo "✅ SSH Ed25519 keys already exist"
|
|
43
|
-
fi
|
|
44
|
-
|
|
45
|
-
# 🔧 Configure SSH config file for convenience
|
|
46
|
-
SSH_CONFIG="$HOME/.ssh/config"
|
|
47
|
-
if [ ! -f "$SSH_CONFIG" ]; then
|
|
48
|
-
echo "📝 Creating SSH config file..."
|
|
49
|
-
cat > "$SSH_CONFIG" << 'EOF'
|
|
50
|
-
# SSH Config File for macOS
|
|
51
|
-
# Add your remote hosts below
|
|
52
|
-
|
|
53
|
-
# Example host configuration:
|
|
54
|
-
# Host myserver
|
|
55
|
-
# HostName example.com
|
|
56
|
-
# User username
|
|
57
|
-
# Port 22
|
|
58
|
-
# IdentityFile ~/.ssh/id_ed25519
|
|
59
|
-
# IdentityFile ~/.ssh/id_rsa
|
|
60
|
-
|
|
61
|
-
# Global settings
|
|
62
|
-
Host *
|
|
63
|
-
AddKeysToAgent yes
|
|
64
|
-
UseKeychain yes
|
|
65
|
-
IdentityFile ~/.ssh/id_ed25519
|
|
66
|
-
IdentityFile ~/.ssh/id_rsa
|
|
67
|
-
ServerAliveInterval 60
|
|
68
|
-
EOF
|
|
69
|
-
chmod 600 "$SSH_CONFIG"
|
|
70
|
-
echo "✅ SSH config file created: $SSH_CONFIG"
|
|
71
|
-
else
|
|
72
|
-
echo "✅ SSH config file already exists"
|
|
73
|
-
fi
|
|
74
|
-
|
|
75
|
-
# 🔒 Ensure correct file permissions
|
|
76
|
-
echo "🔒 Setting correct SSH file permissions..."
|
|
77
|
-
chmod 700 ~/.ssh
|
|
78
|
-
chmod 600 ~/.ssh/authorized_keys 2>/dev/null || true
|
|
79
|
-
chmod 600 ~/.ssh/id_rsa 2>/dev/null || true
|
|
80
|
-
chmod 644 ~/.ssh/id_rsa.pub 2>/dev/null || true
|
|
81
|
-
chmod 600 ~/.ssh/id_ed25519 2>/dev/null || true
|
|
82
|
-
chmod 644 ~/.ssh/id_ed25519.pub 2>/dev/null || true
|
|
83
|
-
chmod 600 ~/.ssh/config 2>/dev/null || true
|
|
84
|
-
echo "✅ SSH file permissions configured correctly"
|
|
85
|
-
|
|
86
|
-
# ℹ️ Display SSH key information
|
|
87
|
-
echo ""
|
|
88
|
-
echo "📋 SSH Setup Summary:"
|
|
89
|
-
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
90
|
-
echo "SSH Directory: ~/.ssh"
|
|
91
|
-
echo "SSH Config: ~/.ssh/config"
|
|
92
|
-
echo ""
|
|
93
|
-
echo "Available SSH Keys:"
|
|
94
|
-
if [ -f ~/.ssh/id_rsa.pub ]; then
|
|
95
|
-
echo " • RSA Key: ~/.ssh/id_rsa"
|
|
96
|
-
fi
|
|
97
|
-
if [ -f ~/.ssh/id_ed25519.pub ]; then
|
|
98
|
-
echo " • Ed25519 Key: ~/.ssh/id_ed25519"
|
|
99
|
-
fi
|
|
100
|
-
echo ""
|
|
101
|
-
echo "💡 Next Steps:"
|
|
102
|
-
echo " 1. View your public key:"
|
|
103
|
-
echo " cat ~/.ssh/id_ed25519.pub (or id_rsa.pub)"
|
|
104
|
-
echo " 2. Add it to your GitHub/GitLab/server authorized_keys"
|
|
105
|
-
echo " 3. Test connection:"
|
|
106
|
-
echo " ssh -v your_server"
|
|
107
|
-
echo " 4. Configure hosts in ~/.ssh/config for easy access"
|
|
108
|
-
echo ""
|
|
109
|
-
echo "📚 Learn more about SSH:"
|
|
110
|
-
echo " • man ssh"
|
|
111
|
-
echo " • man ssh-keygen"
|
|
112
|
-
echo " • man ssh_config"
|
|
113
|
-
echo ""
|
|
114
|
-
echo "✅ OpenSSH setup complete!"
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
# This script adds a public key to the authorized_keys file for the sshd service
|
|
3
|
-
# as a result, a remote can connet to the machine if they got the corresponding private key (identity).
|
|
4
|
-
|
|
5
|
-
# https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement
|
|
6
|
-
# http://woshub.com/using-ssh-key-based-authentication-on-windows/
|
|
7
|
-
|
|
8
|
-
$ErrorActionPreference = "Stop"
|
|
9
|
-
$sshd_dir = "$env:ProgramData\ssh"
|
|
10
|
-
$sshfile = "$env:USERPROFILE\.ssh\pubkey.pub" # this directory is for normal users, not admins.
|
|
11
|
-
# Once they are populated, we can create administrators_authorized_keys
|
|
12
|
-
|
|
13
|
-
Get-Content $sshfile >> "$sshd_dir\administrators_authorized_keys"
|
|
14
|
-
# set appropirate persmissions for this file
|
|
15
|
-
Set-Location $sshd_dir
|
|
16
|
-
icacls administrators_authorized_keys /inheritance:r /grant "Administrators:F" /grant "SYSTEM:F"
|
|
17
|
-
# Lastly, enabling public key authentication.
|
|
18
|
-
$sshd_config = "$sshd_dir\sshd_config"
|
|
19
|
-
(Get-Content $sshd_config) -replace '#PubkeyAuthentication', 'PubkeyAuthentication' | Out-File -encoding ASCII $sshd_config
|
|
20
|
-
#(Get-Content $sshd_dir\sshd_config) -replace 'AuthorizedKeysFile __PROGRAMDATA__', '#AuthorizedKeysFile __PROGRAMDATA__' | Out-File -encoding ASCII $sshd_config
|
|
21
|
-
#(Get-Content $sshd_dir\sshd_config) -replace 'Match Group administrators', '#Match Group administrators' | Out-File -encoding ASCII $sshd_config
|
|
22
|
-
#cat C:\ProgramData\ssh\sshd_config
|
|
23
|
-
|
|
24
|
-
# to load the fresh settings, we need to restart the service:
|
|
25
|
-
Restart-Service sshd -Force
|
|
26
|
-
|
|
27
|
-
#Write-Host "Use this to Login/test Now"
|
|
28
|
-
#write-host ssh $env:UserName@localhost
|
|
29
|
-
# debug tip: use nano editor to inspect files above, if unreadable max-text format is used, ssh won't work.
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
# on the side of the local machine, you need to sort out the following:
|
|
3
|
-
# if the $sshfile doesn't have a standard name, you will need to explicitly specify the identity while SSHing (e.g. ssh u@s -i ~/.ssh/my_id)
|
|
4
|
-
# However, this must be done every time. For permanent solutions, use .ssh/config
|
|
5
|
-
|
|
6
|
-
$sshfile = "$env:USERPROFILE\.ssh\id_rsa"
|
|
7
|
-
|
|
8
|
-
Set-Service ssh-agent -StartupType Manual # allow the service to be started manually
|
|
9
|
-
ssh-agent # start the service
|
|
10
|
-
ssh-add.exe $sshfile # add the key to the agent
|
|
11
|
-
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
$ErrorActionPreference = "Stop"
|
|
3
|
-
# ALL of the following require admin priviliages:
|
|
4
|
-
Set-ExecutionPolicy Bypass
|
|
5
|
-
# PowerShell.exe -ExecutionPolicy Bypass -File "C:\bypass\prompt\standard.ps1" 2>&1>$null
|
|
6
|
-
|
|
7
|
-
# Install SSH-Server on a windows machine. see this one below if this one didn't work:
|
|
8
|
-
# to install: winget install --Id Microsoft.OpenSSH.Preview --source winget --scope user # from: https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH
|
|
9
|
-
# the result is installed in C:\Program Files\OpenSSH as opposed to C:\Windows\System32\OpenSSH which is the case if openssh is added as a feature/capability to windows
|
|
10
|
-
# However, notice the new path is not in PATH as is the cases with system variant, so it needs to be added manually.
|
|
11
|
-
# finally, ssh config files are always @ "$env:ProgramData\ssh" irrespective of installation method.
|
|
12
|
-
# if ssh key is created on windows, it doesn't work on linux and gives a cryptlib error. It must be read again and saved in non DOS format.
|
|
13
|
-
|
|
14
|
-
Add-WindowsCapability -Online -Name OpenSSH.Server
|
|
15
|
-
Add-WindowsCapability -Online -Name OpenSSH.Client
|
|
16
|
-
|
|
17
|
-
#New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH SSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 -Program "%WINDIR%\System32\OpenSSH\sshd.exe"
|
|
18
|
-
|
|
19
|
-
# Must Enable ssh-agent before starting. But even before that, one need to update path so that same shell has access to the NEWLY added ssh program
|
|
20
|
-
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
|
|
21
|
-
|
|
22
|
-
Set-Service -Name sshd -StartupType Automatic
|
|
23
|
-
#Get-Service -Name ssh-agent | Set-Service -StartupType Automatic
|
|
24
|
-
#Set-Service -Name ssh-agent -StartupType Automatic
|
|
25
|
-
#Start-Service ssh-agent
|
|
26
|
-
# Starting the service for the first time will populate the directory with config files.
|
|
27
|
-
Start-Service sshd
|
|
28
|
-
|
|
29
|
-
# Next up, change default shell to powershell, becuse CMD is lame
|
|
30
|
-
# following: https://github.com/PowerShell/Win32-OpenSSH/wiki/DefaultShell
|
|
31
|
-
$shell = "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" # "C:\Windows\System32\wsl.exe"
|
|
32
|
-
# $shell = "C:\Program Files\PowerShell\7\pwsh.exe" # it slows SSH down because of startup time, one can still use it by running it explicitly
|
|
33
|
-
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value $shell -PropertyType String -Force
|
|
34
|
-
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShellCommandOption -Value "/c" -PropertyType String -Force
|
|
35
|
-
|
|
36
|
-
cd ~
|
|
37
|
-
mkdir .ssh -ErrorAction SilentlyContinue
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
$sshfile=""
|
|
3
|
-
$ErrorActionPreference = "Stop"
|
|
4
|
-
$sshd_dir = "$env:ProgramData\ssh"
|
|
5
|
-
cp "$sshd_dir\administrators_authorized_keys" "$sshd_dir\administrators_authorized_keys.orig"
|
|
6
|
-
Get-Content $sshfile >> "$sshd_dir\administrators_authorized_keys"
|
|
7
|
-
Restart-Service sshd -Force
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
# This is the Windows equivalent of copy-ssh-id on Linux.
|
|
3
|
-
# Just like the original function, it is a convenient way of doing two things in one go:
|
|
4
|
-
# 1- copy a certain public key to the remote machine.
|
|
5
|
-
# scp ~/.ssh/id_rsa.pub $remote_user@$remote_host:~/.ssh/authorized_keys
|
|
6
|
-
# 2- Store the value on the remote in a file called .ssh/authorized_keys
|
|
7
|
-
# ssh $remote_user@$remote_host "echo $public_key >> ~/.ssh/authorized_keys"
|
|
8
|
-
# Idea from: https://www.chrisjhart.com/Windows-10-ssh-copy-id/
|
|
9
|
-
|
|
10
|
-
$key_value = cat ($env:USERPROFILE + "\.ssh\id_rsa.pub")
|
|
11
|
-
ssh $args[0] "powershell.exe -Command type $key_value >> .ssh/authorized_keys"
|
|
12
|
-
|
|
13
|
-
$my_keys='https://github.com/thisismygitrepo.keys'
|
|
14
|
-
(Invoke-WebRequest $my_keys).Content >> .ssh/authorized_keys
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
#!/usr/bin/env python3
|
|
4
|
-
import base64
|
|
5
|
-
import pathlib
|
|
6
|
-
import subprocess
|
|
7
|
-
import tempfile
|
|
8
|
-
import os
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
def main(options_to_preview_mapping: dict[str, str]) -> str | None:
|
|
12
|
-
keys = list(options_to_preview_mapping.keys())
|
|
13
|
-
if not keys:
|
|
14
|
-
return None
|
|
15
|
-
with tempfile.TemporaryDirectory(prefix="tv_channel_") as tmpdir:
|
|
16
|
-
tempdir = pathlib.Path(tmpdir)
|
|
17
|
-
entries: list[str] = []
|
|
18
|
-
index_map: dict[int, str] = {}
|
|
19
|
-
preview_map_path = tempdir / "previews.tsv"
|
|
20
|
-
preview_rows: list[str] = []
|
|
21
|
-
for idx, key in enumerate(keys):
|
|
22
|
-
display_key = key.replace("\t", " ").replace("\n", " ")
|
|
23
|
-
entries.append(f"{idx}\t{display_key}")
|
|
24
|
-
index_map[idx] = key
|
|
25
|
-
encoded_preview = base64.b64encode(options_to_preview_mapping[key].encode("utf-8")).decode("ascii")
|
|
26
|
-
preview_rows.append(f"{idx}\t{encoded_preview}")
|
|
27
|
-
preview_map_path.write_text("\n".join(preview_rows), encoding="utf-8")
|
|
28
|
-
entries_path = tempdir / "entries.tsv"
|
|
29
|
-
entries_path.write_text("\n".join(entries), encoding="utf-8")
|
|
30
|
-
preview_script = tempdir / "preview.sh"
|
|
31
|
-
preview_script.write_text(
|
|
32
|
-
"""#!/usr/bin/env bash
|
|
33
|
-
set -euo pipefail
|
|
34
|
-
|
|
35
|
-
idx="$1"
|
|
36
|
-
script_dir="$(cd -- "$(dirname -- "$0")" && pwd)"
|
|
37
|
-
previews_file="${script_dir}/previews.tsv"
|
|
38
|
-
|
|
39
|
-
if [[ ! -f "${previews_file}" ]]; then
|
|
40
|
-
exit 0
|
|
41
|
-
fi
|
|
42
|
-
|
|
43
|
-
encoded_preview="$(awk -F '\t' -v idx="${idx}" '($1==idx){print $2; exit}' "${previews_file}" || true)"
|
|
44
|
-
|
|
45
|
-
if [[ -z "${encoded_preview}" ]]; then
|
|
46
|
-
exit 0
|
|
47
|
-
fi
|
|
48
|
-
|
|
49
|
-
preview_content="$(printf '%s' "${encoded_preview}" | base64 --decode)"
|
|
50
|
-
|
|
51
|
-
if command -v bat >/dev/null 2>&1; then
|
|
52
|
-
printf '%s' "${preview_content}" | glow -
|
|
53
|
-
elif command -v bat >/dev/null 2>&1; then
|
|
54
|
-
printf '%s' "${preview_content}" | bat --language=markdown --color=always --style=plain --paging=never
|
|
55
|
-
elif command -v glow >/dev/null 2>&1; then
|
|
56
|
-
printf '%s' "${preview_content}" | glow -
|
|
57
|
-
else
|
|
58
|
-
printf '%s' "${preview_content}"
|
|
59
|
-
fi
|
|
60
|
-
""",
|
|
61
|
-
encoding="utf-8"
|
|
62
|
-
)
|
|
63
|
-
preview_script.chmod(0o755)
|
|
64
|
-
channel_config = f"""[metadata]
|
|
65
|
-
name = "temp_options"
|
|
66
|
-
description = "Temporary channel for selecting options"
|
|
67
|
-
|
|
68
|
-
[source]
|
|
69
|
-
command = "cat '{entries_path}'"
|
|
70
|
-
display = "{{split:\\t:1}}"
|
|
71
|
-
output = "{{split:\\t:0}}"
|
|
72
|
-
|
|
73
|
-
[preview]
|
|
74
|
-
command = "{preview_script} {{split:\\t:0}}"
|
|
75
|
-
|
|
76
|
-
[ui.preview_panel]
|
|
77
|
-
size = 50
|
|
78
|
-
"""
|
|
79
|
-
channel_path = tempdir / "temp_options.toml"
|
|
80
|
-
channel_path.write_text(channel_config, encoding="utf-8")
|
|
81
|
-
env = os.environ.copy()
|
|
82
|
-
tv_config_dir = pathlib.Path.home() / ".config" / "television"
|
|
83
|
-
if not tv_config_dir.exists():
|
|
84
|
-
tv_config_dir = pathlib.Path(os.getenv("XDG_CONFIG_HOME", str(pathlib.Path.home() / ".config"))) / "television"
|
|
85
|
-
cable_dir = tv_config_dir / "cable"
|
|
86
|
-
cable_dir.mkdir(parents=True, exist_ok=True)
|
|
87
|
-
temp_channel_link = cable_dir / "temp_options.toml"
|
|
88
|
-
if temp_channel_link.exists() or temp_channel_link.is_symlink():
|
|
89
|
-
temp_channel_link.unlink()
|
|
90
|
-
temp_channel_link.symlink_to(channel_path)
|
|
91
|
-
output_file = tempdir / "selection.txt"
|
|
92
|
-
try:
|
|
93
|
-
result = subprocess.run(["tv", "temp_options"], check=False, stdout=output_file.open("w"), text=True, env=env)
|
|
94
|
-
finally:
|
|
95
|
-
if temp_channel_link.exists() or temp_channel_link.is_symlink():
|
|
96
|
-
temp_channel_link.unlink()
|
|
97
|
-
if result.returncode not in (0, 130):
|
|
98
|
-
raise SystemExit(result.returncode)
|
|
99
|
-
if result.returncode == 130:
|
|
100
|
-
return None
|
|
101
|
-
if not output_file.exists():
|
|
102
|
-
return None
|
|
103
|
-
selected = output_file.read_text().strip()
|
|
104
|
-
if not selected:
|
|
105
|
-
return None
|
|
106
|
-
try:
|
|
107
|
-
index = int(selected)
|
|
108
|
-
except ValueError:
|
|
109
|
-
return None
|
|
110
|
-
return index_map.get(index)
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
if __name__ == "__main__":
|
|
114
|
-
demo_mapping = {
|
|
115
|
-
"Option 1": "# Option 1\nThis is the preview for option 1.",
|
|
116
|
-
"Option 2": "# Option 2\nThis is the preview for option 2.",
|
|
117
|
-
"Option 3": "# Option 3\nThis is the preview for option 3."
|
|
118
|
-
}
|
|
119
|
-
main(demo_mapping)
|
machineconfig/utils/tst.py
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
from typing import Callable, ParamSpec, TypeVar, Any, Dict
|
|
2
|
-
|
|
3
|
-
P = ParamSpec('P')
|
|
4
|
-
R = TypeVar('R')
|
|
5
|
-
|
|
6
|
-
def typed_function(func: Callable[P, R], signature_dict: Dict[str, Any]) -> Callable[P, R]:
|
|
7
|
-
"""
|
|
8
|
-
Returns the function with its signature preserved using ParamSpec.
|
|
9
|
-
|
|
10
|
-
The signature_dict is passed for potential future use or documentation,
|
|
11
|
-
but is not currently used in the implementation.
|
|
12
|
-
|
|
13
|
-
Args:
|
|
14
|
-
func: The function whose signature is to be preserved.
|
|
15
|
-
signature_dict: A dictionary describing the function's signature (not used).
|
|
16
|
-
|
|
17
|
-
Returns:
|
|
18
|
-
The original function, typed with ParamSpec to preserve its signature.
|
|
19
|
-
"""
|
|
20
|
-
return func
|