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,38 +1,119 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
from machineconfig.scripts.python.helpers_utils.download import download
|
|
1
|
+
"""Utility commands - lazy loading subcommands."""
|
|
2
|
+
|
|
4
3
|
import typer
|
|
5
|
-
from typing import Annotated
|
|
4
|
+
from typing import Annotated, Optional, Literal
|
|
6
5
|
|
|
7
6
|
|
|
8
|
-
def kill_process(
|
|
9
|
-
|
|
10
|
-
# command: Annotated[str, typer.Option(..., "--command", "-c", help="Match by command line instead of process name")] = "",
|
|
11
|
-
interactive: Annotated[bool, typer.Option(..., "--interactive", "-i", help="Interactively choose the process to kill")] = True):
|
|
7
|
+
def kill_process(interactive: Annotated[bool, typer.Option(..., "--interactive", "-i", help="Interactively choose the process to kill")] = True) -> None:
|
|
8
|
+
"""⚔️ Choose a process to kill."""
|
|
12
9
|
from machineconfig.utils.procs import main, ProcessManager
|
|
13
10
|
if interactive:
|
|
14
11
|
main()
|
|
15
12
|
return
|
|
16
13
|
_ = ProcessManager
|
|
17
|
-
# pm = ProcessManager()
|
|
18
|
-
# if command:
|
|
19
|
-
# pm.filter_and_kill(name=command
|
|
20
|
-
# )
|
|
21
14
|
|
|
22
15
|
|
|
23
|
-
def upgrade_packages():
|
|
16
|
+
def upgrade_packages(root: Annotated[str, typer.Argument(help="Root directory of the project")] = ".") -> None:
|
|
17
|
+
"""⬆️ Upgrade project dependencies."""
|
|
24
18
|
from machineconfig.utils.upgrade_packages import generate_uv_add_commands
|
|
25
19
|
from pathlib import Path
|
|
26
|
-
|
|
20
|
+
root_resolved = Path(root).expanduser().absolute().resolve()
|
|
21
|
+
generate_uv_add_commands(pyproject_path=root_resolved / "pyproject.toml", output_path=root_resolved / "pyproject_init.sh")
|
|
22
|
+
def tui_env(which: Annotated[Literal["PATH", "p", "ENV", "e"], typer.Argument(help="Which environment variable to display.")] = "ENV") -> None:
|
|
23
|
+
"""📚 NAVIGATE ENV/PATH variable with TUI."""
|
|
24
|
+
from machineconfig.scripts.python.helpers.helpers_utils.python import tui_env as impl
|
|
25
|
+
impl(which=which)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def download(
|
|
29
|
+
url: Annotated[Optional[str], typer.Argument(..., help="The URL to download the file from.")] = None,
|
|
30
|
+
decompress: Annotated[bool, typer.Option(..., "--decompress", "-d", help="Decompress the file if it's an archive.")] = False,
|
|
31
|
+
output: Annotated[Optional[str], typer.Option("--output", "-o", help="The output file path.")] = None,
|
|
32
|
+
output_dir: Annotated[Optional[str], typer.Option("--output-dir", help="Directory to place the downloaded file in.")] = None,
|
|
33
|
+
) -> None:
|
|
34
|
+
"""⬇️ Download a file from a URL and optionally decompress it."""
|
|
35
|
+
from machineconfig.scripts.python.helpers.helpers_utils.download import download as impl
|
|
36
|
+
impl(url=url, decompress=decompress, output=output, output_dir=output_dir)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def get_machine_specs(hardware: Annotated[bool, typer.Option(..., "--hardware", "-h", help="Show compute capability")] = False) -> None:
|
|
40
|
+
"""💻 Get machine specifications."""
|
|
41
|
+
from machineconfig.scripts.python.helpers.helpers_utils.python import get_machine_specs as impl
|
|
42
|
+
impl(hardware=hardware)
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def type_hint(path: Annotated[str, typer.Argument(..., help="Path to file/project dir to type hint.")] = ".",
|
|
46
|
+
dependency: Annotated[Literal["self-contained", "import"], typer.Option(..., "--dependency", "-d", help="Generated file is self contained or performs imports")] = "self-contained"
|
|
47
|
+
) -> None:
|
|
48
|
+
from machineconfig.type_hinting.typedict.generators import generate_names_file
|
|
49
|
+
from pathlib import Path
|
|
50
|
+
path_resolved = Path(path).resolve()
|
|
51
|
+
if not path_resolved.exists():
|
|
52
|
+
typer.echo(f"Error: The provided path '{path}' does not exist.", err=True)
|
|
53
|
+
raise typer.Exit(code=1)
|
|
54
|
+
if path_resolved.is_file():
|
|
55
|
+
modules = [path_resolved]
|
|
56
|
+
else:
|
|
57
|
+
if not (path_resolved / "pyproject.toml").exists():
|
|
58
|
+
typer.echo("Error: Provided directory path is not a project root (missing pyproject.toml).", err=True)
|
|
59
|
+
raise typer.Exit(code=1)
|
|
60
|
+
else:
|
|
61
|
+
modules = [file for file in path_resolved.rglob("dtypes.py") if ".venv" not in str(file)]
|
|
62
|
+
for input_file in modules:
|
|
63
|
+
print(f"Worked on: {input_file}")
|
|
64
|
+
output_file = input_file.parent.joinpath(f"{input_file.stem}_names.py")
|
|
65
|
+
generated_file = generate_names_file(input_file, output_file, search_paths=None, dependency=dependency)
|
|
66
|
+
print(f"Generated: {generated_file}")
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
def init_project(
|
|
70
|
+
name: Annotated[Optional[str], typer.Option("--name", "-n", help="Name of the project.")] = None,
|
|
71
|
+
tmp_dir: Annotated[bool, typer.Option("--tmp-dir", "-t", help="Use a temporary directory for the project initialization.")] = False,
|
|
72
|
+
python: Annotated[Literal["3.11", "3.12", "3.13", "3.14"], typer.Option("--python", "-p", help="Python sub version for the uv virtual environment.")] = "3.13",
|
|
73
|
+
libraries: Annotated[Optional[str], typer.Option("--libraries", "-l", help="Additional packages to include in the uv virtual environment (space separated).")] = None,
|
|
74
|
+
group: Annotated[Optional[str], typer.Option("--group", "-g", help="group of packages names (no separation) p:plot, t:types, l:linting, i:interactive, d:data")] = "p,t,l,i,d",
|
|
75
|
+
) -> None:
|
|
76
|
+
"""🚀 Initialize a project with a uv virtual environment and install dev packages."""
|
|
77
|
+
from machineconfig.scripts.python.helpers.helpers_utils.python import init_project as impl
|
|
78
|
+
impl(name=name, tmp_dir=tmp_dir, python=python, libraries=libraries, group=group)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def edit_file_with_hx(path: Annotated[Optional[str], typer.Argument(..., help="The root directory of the project to edit, or a file path.")] = None) -> None:
|
|
82
|
+
"""✏️ Open a file in the default editor."""
|
|
83
|
+
from machineconfig.scripts.python.helpers.helpers_utils.python import edit_file_with_hx as impl
|
|
84
|
+
impl(path=path)
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
def merge_pdfs(
|
|
88
|
+
pdfs: Annotated[list[str], typer.Argument(..., help="Paths to the PDF files to merge.")],
|
|
89
|
+
output: Annotated[Optional[str], typer.Option("--output", "-o", help="Output merged PDF file path.")] = None,
|
|
90
|
+
compress: Annotated[bool, typer.Option("--compress", "-c", help="Compress the output PDF.")] = False,
|
|
91
|
+
) -> None:
|
|
92
|
+
"""📄 Merge two PDF files into one."""
|
|
93
|
+
from machineconfig.scripts.python.helpers.helpers_utils.pdf import merge_pdfs as impl
|
|
94
|
+
impl(pdfs=pdfs, output=output, compress=compress)
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
def compress_pdf(
|
|
98
|
+
pdf_input: Annotated[str, typer.Argument(..., help="Path to the input PDF file to compress.")],
|
|
99
|
+
output: Annotated[Optional[str], typer.Option("--output", "-o", help="Output compressed PDF file path.")] = None,
|
|
100
|
+
quality: Annotated[int, typer.Option("--quality", "-q", help="JPEG quality for image compression (0-100, 0=no change, 100=best).")] = 85,
|
|
101
|
+
image_dpi: Annotated[int, typer.Option("--image-dpi", "-d", help="Target DPI for image resampling.")] = 0,
|
|
102
|
+
compress_streams: Annotated[bool, typer.Option("--compress-streams", "-c", help="Compress uncompressed streams.")] = True,
|
|
103
|
+
use_objstms: Annotated[bool, typer.Option("--object-streams", "-s", help="Use object streams for additional compression.")] = True,
|
|
104
|
+
) -> None:
|
|
105
|
+
"""📦 Compress a PDF file."""
|
|
106
|
+
from machineconfig.scripts.python.helpers.helpers_utils.pdf import compress_pdf as impl
|
|
107
|
+
impl(pdf_input=pdf_input, output=output, quality=quality, image_dpi=image_dpi, compress_streams=compress_streams, use_objstms=use_objstms)
|
|
27
108
|
|
|
28
109
|
|
|
29
110
|
def get_app() -> typer.Typer:
|
|
30
|
-
app = typer.Typer(help="🛠️ utilities operations", no_args_is_help=True, add_help_option=
|
|
111
|
+
app = typer.Typer(help="🛠️ utilities operations", no_args_is_help=True, add_help_option=True, add_completion=False)
|
|
31
112
|
app.command(name="kill-process", no_args_is_help=False, help="⚔️ [k] Choose a process to kill")(kill_process)
|
|
32
|
-
app.command(name="k", no_args_is_help=False,
|
|
113
|
+
app.command(name="k", no_args_is_help=False, hidden=True)(kill_process)
|
|
33
114
|
|
|
34
115
|
app.command("environment", no_args_is_help=False, help="📚 [v] NAVIGATE ENV/PATH variable with TUI")(tui_env)
|
|
35
|
-
app.command("v", no_args_is_help=False,
|
|
116
|
+
app.command("v", no_args_is_help=False, hidden=True)(tui_env)
|
|
36
117
|
|
|
37
118
|
app.command(name="upgrade-packages", no_args_is_help=False, help="⬆️ [up] Upgrade project dependencies.")(upgrade_packages)
|
|
38
119
|
app.command(name="up", no_args_is_help=False, hidden=True)(upgrade_packages)
|
|
@@ -51,14 +132,12 @@ def get_app() -> typer.Typer:
|
|
|
51
132
|
app.command(name="pdf-compress", no_args_is_help=True, help="📦 [pc] Compress a PDF file.")(compress_pdf)
|
|
52
133
|
app.command(name="pc", no_args_is_help=True, hidden=True)(compress_pdf)
|
|
53
134
|
|
|
54
|
-
|
|
55
|
-
|
|
135
|
+
app.command(name="type-hint", no_args_is_help=True, help="📝 [t] Type hint a file or project directory.")(type_hint)
|
|
136
|
+
app.command(name="t", no_args_is_help=True, hidden=True)(type_hint)
|
|
56
137
|
|
|
57
138
|
return app
|
|
58
139
|
|
|
59
|
-
# def func():
|
|
60
|
-
# import pycr
|
|
61
140
|
|
|
62
141
|
def main():
|
|
63
142
|
app = get_app()
|
|
64
|
-
app()
|
|
143
|
+
app()
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
## where to store your database, default is your system data directory
|
|
5
|
+
## linux/mac: ~/.local/share/atuin/history.db
|
|
6
|
+
## windows: %USERPROFILE%/.local/share/atuin/history.db
|
|
7
|
+
# db_path = "~/.history.db"
|
|
8
|
+
|
|
9
|
+
## where to store your encryption key, default is your system data directory
|
|
10
|
+
## linux/mac: ~/.local/share/atuin/key
|
|
11
|
+
## windows: %USERPROFILE%/.local/share/atuin/key
|
|
12
|
+
# key_path = "~/.key"
|
|
13
|
+
|
|
14
|
+
## where to store your auth session token, default is your system data directory
|
|
15
|
+
## linux/mac: ~/.local/share/atuin/session
|
|
16
|
+
## windows: %USERPROFILE%/.local/share/atuin/session
|
|
17
|
+
# session_path = "~/.session"
|
|
18
|
+
|
|
19
|
+
## date format used, either "us" or "uk"
|
|
20
|
+
# dialect = "us"
|
|
21
|
+
|
|
22
|
+
## default timezone to use when displaying time
|
|
23
|
+
## either "l", "local" to use the system's current local timezone, or an offset
|
|
24
|
+
## from UTC in the format of "<+|->H[H][:M[M][:S[S]]]"
|
|
25
|
+
## for example: "+9", "-05", "+03:30", "-01:23:45", etc.
|
|
26
|
+
# timezone = "local"
|
|
27
|
+
|
|
28
|
+
## enable or disable automatic sync
|
|
29
|
+
# auto_sync = true
|
|
30
|
+
|
|
31
|
+
## enable or disable automatic update checks
|
|
32
|
+
# update_check = true
|
|
33
|
+
|
|
34
|
+
## address of the sync server
|
|
35
|
+
# sync_address = "https://api.atuin.sh"
|
|
36
|
+
|
|
37
|
+
## how often to sync history. note that this is only triggered when a command
|
|
38
|
+
## is ran, so sync intervals may well be longer
|
|
39
|
+
## set it to 0 to sync after every command
|
|
40
|
+
# sync_frequency = "10m"
|
|
41
|
+
|
|
42
|
+
## which search mode to use
|
|
43
|
+
## possible values: prefix, fulltext, fuzzy, skim
|
|
44
|
+
# search_mode = "fuzzy"
|
|
45
|
+
|
|
46
|
+
## which filter mode to use by default
|
|
47
|
+
## possible values: "global", "host", "session", "session-preload", "directory", "workspace"
|
|
48
|
+
## consider using search.filters to customize the enablement and order of filter modes
|
|
49
|
+
# filter_mode = "global"
|
|
50
|
+
|
|
51
|
+
## With workspace filtering enabled, Atuin will filter for commands executed
|
|
52
|
+
## in any directory within a git repository tree (default: false).
|
|
53
|
+
##
|
|
54
|
+
## To use workspace mode by default when available, set this to true and
|
|
55
|
+
## set filter_mode to "workspace" or leave it unspecified and
|
|
56
|
+
## set search.filters to include "workspace" before other filter modes.
|
|
57
|
+
# workspaces = false
|
|
58
|
+
|
|
59
|
+
## which filter mode to use when atuin is invoked from a shell up-key binding
|
|
60
|
+
## the accepted values are identical to those of "filter_mode"
|
|
61
|
+
## leave unspecified to use same mode set in "filter_mode"
|
|
62
|
+
# filter_mode_shell_up_key_binding = "global"
|
|
63
|
+
|
|
64
|
+
## which search mode to use when atuin is invoked from a shell up-key binding
|
|
65
|
+
## the accepted values are identical to those of "search_mode"
|
|
66
|
+
## leave unspecified to use same mode set in "search_mode"
|
|
67
|
+
# search_mode_shell_up_key_binding = "fuzzy"
|
|
68
|
+
|
|
69
|
+
## which style to use
|
|
70
|
+
## possible values: auto, full, compact
|
|
71
|
+
style = "full"
|
|
72
|
+
|
|
73
|
+
## the maximum number of lines the interface should take up
|
|
74
|
+
## set it to 0 to always go full screen
|
|
75
|
+
# inline_height = 0
|
|
76
|
+
|
|
77
|
+
## the maximum number of lines the interface should take up
|
|
78
|
+
## when atuin is invoked from a shell up-key binding
|
|
79
|
+
## the accepted values are identical to those of "inline_height"
|
|
80
|
+
# inline_height_shell_up_key_binding = 0
|
|
81
|
+
|
|
82
|
+
## Invert the UI - put the search bar at the top , Default to `false`
|
|
83
|
+
# invert = false
|
|
84
|
+
|
|
85
|
+
## enable or disable showing a preview of the selected command
|
|
86
|
+
## useful when the command is longer than the terminal width and is cut off
|
|
87
|
+
# show_preview = true
|
|
88
|
+
|
|
89
|
+
## what to do when the escape key is pressed when searching
|
|
90
|
+
## possible values: return-original, return-query
|
|
91
|
+
# exit_mode = "return-original"
|
|
92
|
+
|
|
93
|
+
## possible values: emacs, subl
|
|
94
|
+
# word_jump_mode = "emacs"
|
|
95
|
+
|
|
96
|
+
## characters that count as a part of a word
|
|
97
|
+
# word_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
|
|
98
|
+
|
|
99
|
+
## number of context lines to show when scrolling by pages
|
|
100
|
+
# scroll_context_lines = 1
|
|
101
|
+
|
|
102
|
+
## use ctrl instead of alt as the shortcut modifier key for numerical UI shortcuts
|
|
103
|
+
## alt-0 .. alt-9
|
|
104
|
+
# ctrl_n_shortcuts = false
|
|
105
|
+
|
|
106
|
+
## Show numeric shortcuts (1..9) beside list items in the TUI
|
|
107
|
+
## set to false to hide the moving numbers if you find them distracting
|
|
108
|
+
# show_numeric_shortcuts = true
|
|
109
|
+
|
|
110
|
+
## default history list format - can also be specified with the --format arg
|
|
111
|
+
# history_format = "{time}\t{command}\t{duration}"
|
|
112
|
+
|
|
113
|
+
## prevent commands matching any of these regexes from being written to history.
|
|
114
|
+
## Note that these regular expressions are unanchored, i.e. if they don't start
|
|
115
|
+
## with ^ or end with $, they'll match anywhere in the command.
|
|
116
|
+
## For details on the supported regular expression syntax, see
|
|
117
|
+
## https://docs.rs/regex/latest/regex/#syntax
|
|
118
|
+
# history_filter = [
|
|
119
|
+
# "^secret-cmd",
|
|
120
|
+
# "^innocuous-cmd .*--secret=.+",
|
|
121
|
+
# ]
|
|
122
|
+
|
|
123
|
+
## prevent commands run with cwd matching any of these regexes from being written
|
|
124
|
+
## to history. Note that these regular expressions are unanchored, i.e. if they don't
|
|
125
|
+
## start with ^ or end with $, they'll match anywhere in CWD.
|
|
126
|
+
## For details on the supported regular expression syntax, see
|
|
127
|
+
## https://docs.rs/regex/latest/regex/#syntax
|
|
128
|
+
# cwd_filter = [
|
|
129
|
+
# "^/very/secret/area",
|
|
130
|
+
# ]
|
|
131
|
+
|
|
132
|
+
## Configure the maximum height of the preview to show.
|
|
133
|
+
## Useful when you have long scripts in your history that you want to distinguish
|
|
134
|
+
## by more than the first few lines.
|
|
135
|
+
# max_preview_height = 4
|
|
136
|
+
|
|
137
|
+
## Configure whether or not to show the help row, which includes the current Atuin
|
|
138
|
+
## version (and whether an update is available), a keymap hint, and the total
|
|
139
|
+
## amount of commands in your history.
|
|
140
|
+
# show_help = true
|
|
141
|
+
|
|
142
|
+
## Configure whether or not to show tabs for search and inspect
|
|
143
|
+
# show_tabs = true
|
|
144
|
+
|
|
145
|
+
## Configure whether or not the tabs row may be auto-hidden, which includes the current Atuin
|
|
146
|
+
## tab, such as Search or Inspector, and other tabs you may wish to see. This will
|
|
147
|
+
## only be hidden if there are fewer than this count of lines available, and does not affect the use
|
|
148
|
+
## of keyboard shortcuts to switch tab. 0 to never auto-hide, default is 8 (lines).
|
|
149
|
+
## This is ignored except in `compact` mode.
|
|
150
|
+
# auto_hide_height = 8
|
|
151
|
+
|
|
152
|
+
## Defaults to true. This matches history against a set of default regex, and will not save it if we get a match. Defaults include
|
|
153
|
+
## 1. AWS key id
|
|
154
|
+
## 2. Github pat (old and new)
|
|
155
|
+
## 3. Slack oauth tokens (bot, user)
|
|
156
|
+
## 4. Slack webhooks
|
|
157
|
+
## 5. Stripe live/test keys
|
|
158
|
+
# secrets_filter = true
|
|
159
|
+
|
|
160
|
+
## Defaults to true. If enabled, upon hitting enter Atuin will immediately execute the command. Press tab to return to the shell and edit.
|
|
161
|
+
# This applies for new installs. Old installs will keep the old behaviour unless configured otherwise.
|
|
162
|
+
enter_accept = true
|
|
163
|
+
|
|
164
|
+
## Defaults to false. If enabled, when triggered after &&, || or |, Atuin will complete commands to chain rather than replace the current line.
|
|
165
|
+
# command_chaining = false
|
|
166
|
+
|
|
167
|
+
## Defaults to "emacs". This specifies the keymap on the startup of `atuin
|
|
168
|
+
## search`. If this is set to "auto", the startup keymap mode in the Atuin
|
|
169
|
+
## search is automatically selected based on the shell's keymap where the
|
|
170
|
+
## keybinding is defined. If this is set to "emacs", "vim-insert", or
|
|
171
|
+
## "vim-normal", the startup keymap mode in the Atuin search is forced to be
|
|
172
|
+
## the specified one.
|
|
173
|
+
# keymap_mode = "auto"
|
|
174
|
+
|
|
175
|
+
## Cursor style in each keymap mode. If specified, the cursor style is changed
|
|
176
|
+
## in entering the cursor shape. Available values are "default" and
|
|
177
|
+
## "{blink,steady}-{block,underline,bar}".
|
|
178
|
+
# keymap_cursor = { emacs = "blink-block", vim_insert = "blink-block", vim_normal = "steady-block" }
|
|
179
|
+
|
|
180
|
+
# network_connect_timeout = 5
|
|
181
|
+
# network_timeout = 5
|
|
182
|
+
|
|
183
|
+
## Timeout (in seconds) for acquiring a local database connection (sqlite)
|
|
184
|
+
# local_timeout = 5
|
|
185
|
+
|
|
186
|
+
## Set this to true and Atuin will minimize motion in the UI - timers will not update live, etc.
|
|
187
|
+
## Alternatively, set env NO_MOTION=true
|
|
188
|
+
# prefers_reduced_motion = false
|
|
189
|
+
|
|
190
|
+
[stats]
|
|
191
|
+
## Set commands where we should consider the subcommand for statistics. Eg, kubectl get vs just kubectl
|
|
192
|
+
# common_subcommands = [
|
|
193
|
+
# "apt",
|
|
194
|
+
# "cargo",
|
|
195
|
+
# "composer",
|
|
196
|
+
# "dnf",
|
|
197
|
+
# "docker",
|
|
198
|
+
# "dotnet",
|
|
199
|
+
# "git",
|
|
200
|
+
# "go",
|
|
201
|
+
# "ip",
|
|
202
|
+
# "jj",
|
|
203
|
+
# "kubectl",
|
|
204
|
+
# "nix",
|
|
205
|
+
# "nmcli",
|
|
206
|
+
# "npm",
|
|
207
|
+
# "pecl",
|
|
208
|
+
# "pnpm",
|
|
209
|
+
# "podman",
|
|
210
|
+
# "port",
|
|
211
|
+
# "systemctl",
|
|
212
|
+
# "tmux",
|
|
213
|
+
# "yarn",
|
|
214
|
+
# ]
|
|
215
|
+
|
|
216
|
+
## Set commands that should be totally stripped and ignored from stats
|
|
217
|
+
# common_prefix = ["sudo"]
|
|
218
|
+
|
|
219
|
+
## Set commands that will be completely ignored from stats
|
|
220
|
+
# ignored_commands = [
|
|
221
|
+
# "cd",
|
|
222
|
+
# "ls",
|
|
223
|
+
# "vi"
|
|
224
|
+
# ]
|
|
225
|
+
|
|
226
|
+
[keys]
|
|
227
|
+
# Defaults to true. If disabled, using the up/down key won't exit the TUI when scrolled past the first/last entry.
|
|
228
|
+
# scroll_exits = true
|
|
229
|
+
# Defaults to true. The left arrow key will exit the TUI when scrolling before the first character
|
|
230
|
+
# exit_past_line_start = true
|
|
231
|
+
# Defaults to true. The right arrow key performs the same functionality as Tab and copies the selected line to the command line to be modified.
|
|
232
|
+
# accept_past_line_end = true
|
|
233
|
+
# Defaults to false. The left arrow key performs the same functionality as Tab and copies the selected line to the command line to be modified.
|
|
234
|
+
# accept_past_line_start = false
|
|
235
|
+
# Defaults to false. The backspace key performs the same functionality as Tab and copies the selected line to the command line to be modified when at the start of the line.
|
|
236
|
+
# accept_with_backspace = false
|
|
237
|
+
|
|
238
|
+
[sync]
|
|
239
|
+
# Enable sync v2 by default
|
|
240
|
+
# This ensures that sync v2 is enabled for new installs only
|
|
241
|
+
# In a later release it will become the default across the board
|
|
242
|
+
records = true
|
|
243
|
+
|
|
244
|
+
[preview]
|
|
245
|
+
## which preview strategy to use to calculate the preview height (respects max_preview_height).
|
|
246
|
+
## possible values: auto, static
|
|
247
|
+
## auto: length of the selected command.
|
|
248
|
+
## static: length of the longest command stored in the history.
|
|
249
|
+
## fixed: use max_preview_height as fixed height.
|
|
250
|
+
# strategy = "auto"
|
|
251
|
+
|
|
252
|
+
[daemon]
|
|
253
|
+
## Enables using the daemon to sync. Requires the daemon to be running in the background. Start it with `atuin daemon`
|
|
254
|
+
# enabled = false
|
|
255
|
+
|
|
256
|
+
## How often the daemon should sync in seconds
|
|
257
|
+
# sync_frequency = 300
|
|
258
|
+
|
|
259
|
+
## The path to the unix socket used by the daemon (on unix systems)
|
|
260
|
+
## linux/mac: ~/.local/share/atuin/atuin.sock
|
|
261
|
+
## windows: Not Supported
|
|
262
|
+
# socket_path = "~/.local/share/atuin/atuin.sock"
|
|
263
|
+
|
|
264
|
+
## Use systemd socket activation rather than opening the given path (the path must still be correct for the client)
|
|
265
|
+
## linux: false
|
|
266
|
+
## mac/windows: Not Supported
|
|
267
|
+
# systemd_socket = false
|
|
268
|
+
|
|
269
|
+
## The port that should be used for TCP on non unix systems
|
|
270
|
+
# tcp_port = 8889
|
|
271
|
+
|
|
272
|
+
[theme]
|
|
273
|
+
## Color theme to use for rendering in the terminal.
|
|
274
|
+
## There are some built-in themes, including the base theme ("default"),
|
|
275
|
+
## "autumn" and "marine". You can add your own themes to the "./themes" subdirectory of your
|
|
276
|
+
## Atuin config (or ATUIN_THEME_DIR, if provided) as TOML files whose keys should be one or
|
|
277
|
+
## more of AlertInfo, AlertWarn, AlertError, Annotation, Base, Guidance, Important, and
|
|
278
|
+
## the string values as lowercase entries from this list:
|
|
279
|
+
## https://ogeon.github.io/docs/palette/master/palette/named/index.html
|
|
280
|
+
## If you provide a custom theme file, it should be called "NAME.toml" and the theme below
|
|
281
|
+
## should be the stem, i.e. `theme = "NAME"` for your chosen NAME.
|
|
282
|
+
# name = "autumn"
|
|
283
|
+
name = "catppuccin-mocha-mauve"
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
## Whether the theme manager should output normal or extra information to help fix themes.
|
|
287
|
+
## Boolean, true or false. If unset, left up to the theme manager.
|
|
288
|
+
# debug = true
|
|
289
|
+
|
|
290
|
+
[search]
|
|
291
|
+
## The list of enabled filter modes, in order of priority.
|
|
292
|
+
## The "workspace" mode is skipped when not in a workspace or workspaces = false.
|
|
293
|
+
## Default filter mode can be overridden with the filter_mode setting.
|
|
294
|
+
# filters = [ "global", "host", "session", "session-preload", "workspace", "directory" ]
|
|
@@ -47,6 +47,7 @@ ignore = [
|
|
|
47
47
|
"E702",
|
|
48
48
|
"E721", # don't compare types use isinstance
|
|
49
49
|
"E401", # multiple imports in one line
|
|
50
|
+
"E402", # module level import not at top of file
|
|
50
51
|
]
|
|
51
52
|
|
|
52
53
|
# Allow fix for all enabled rules (when `--fix`) is provided.
|
|
@@ -63,7 +64,7 @@ exclude = ["*.ipynb"]
|
|
|
63
64
|
# exclude = ["generated"]
|
|
64
65
|
|
|
65
66
|
docstring-code-format = false
|
|
66
|
-
docstring-code-line-length =
|
|
67
|
+
docstring-code-line-length = 200
|
|
67
68
|
# Use `\n` line endings for all files
|
|
68
69
|
line-ending = "lf"
|
|
69
70
|
skip-magic-trailing-comma = true
|
|
@@ -27,6 +27,7 @@ add_to_path_if_not_already \
|
|
|
27
27
|
"$HOME/dotfiles/scripts/linux" \
|
|
28
28
|
"$HOME/.local/bin" \
|
|
29
29
|
"$HOME/.cargo/bin" \
|
|
30
|
+
"$HOME/.duckdb/cli/latest" \
|
|
30
31
|
"/usr/games"
|
|
31
32
|
# this way, if the script was run multiple times, e.g. due to nested shells in zellij, there will be no duplicates in the path
|
|
32
33
|
# export DISPLAY=localhost:0.0 # xming server
|
|
@@ -87,14 +88,16 @@ alias x='wrap_in_shell_script explore'
|
|
|
87
88
|
eval "$(zoxide init bash)"
|
|
88
89
|
# from https://github.com/starship/starship
|
|
89
90
|
eval "$(starship init bash)"
|
|
91
|
+
|
|
90
92
|
# LEVE THIS IN THE END TO AVOID EXECUTION FAILURE OF THE REST OF THE SCRIPT
|
|
91
|
-
# from https://github.com/cantino/mcfly
|
|
92
93
|
if command -v mcfly &> /dev/null; then
|
|
93
94
|
eval "$(mcfly init bash)"
|
|
95
|
+
elif command -v atuin &> /dev/null; then
|
|
96
|
+
eval "$(atuin init bash)"
|
|
94
97
|
else
|
|
95
98
|
# eval "$(tv init bash)"
|
|
96
99
|
tv_shell_history() {
|
|
97
|
-
_disable_bracketed_paste
|
|
100
|
+
# _disable_bracketed_paste
|
|
98
101
|
local current_prompt="${READLINE_LINE:0:$READLINE_POINT}"
|
|
99
102
|
local output
|
|
100
103
|
# move to the next line so that the prompt is not overwritten
|
|
@@ -112,7 +115,7 @@ else
|
|
|
112
115
|
fi
|
|
113
116
|
# move the cursor back to the previous line
|
|
114
117
|
printf "\033[A"
|
|
115
|
-
_enable_bracketed_paste
|
|
118
|
+
# _enable_bracketed_paste
|
|
116
119
|
}
|
|
117
120
|
bind -x '"\C-r": tv_shell_history'
|
|
118
121
|
fi
|
|
@@ -1,3 +1,25 @@
|
|
|
1
1
|
# machineconfig Nushell configuration loader
|
|
2
|
+
# This file should be sourced from the user's config.nu
|
|
3
|
+
# Add the following line to your ~/.config/nushell/config.nu:
|
|
4
|
+
# source ~/.config/machineconfig/settings/shells/nushell/config.nu
|
|
2
5
|
|
|
3
|
-
|
|
6
|
+
# Import the machineconfig module
|
|
7
|
+
use ($nu.home-path | path join ".config" "machineconfig" "settings" "shells" "nushell" "init.nu") *
|
|
8
|
+
|
|
9
|
+
# Starship prompt configuration
|
|
10
|
+
# User should run: `mkdir ~/.cache/starship; starship init nu | save -f ~/.cache/starship/init.nu`
|
|
11
|
+
# Then add to their config.nu: `use ~/.cache/starship/init.nu`
|
|
12
|
+
|
|
13
|
+
# Zoxide configuration
|
|
14
|
+
# User should run: `zoxide init nushell | save -f ~/.zoxide.nu`
|
|
15
|
+
# Then add to their config.nu: `source ~/.zoxide.nu`
|
|
16
|
+
|
|
17
|
+
# Mcfly or Atuin history search
|
|
18
|
+
# For mcfly: `mkdir ~/.cache/mcfly; mcfly init nu | save -f ~/.cache/mcfly/init.nu`
|
|
19
|
+
# Then add to config.nu: `source ~/.cache/mcfly/init.nu`
|
|
20
|
+
# For atuin: `atuin init nu | save -f ~/.atuin.nu`
|
|
21
|
+
# Then add to config.nu: `source ~/.atuin.nu`
|
|
22
|
+
|
|
23
|
+
# User's custom init file
|
|
24
|
+
# If you have ~/dotfiles/machineconfig/init_nu.nu, add to config.nu:
|
|
25
|
+
# source ~/dotfiles/machineconfig/init_nu.nu
|
|
@@ -1,52 +1,26 @@
|
|
|
1
1
|
# machineconfig Nushell environment setup
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
let
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
load-env { CONFIG_ROOT: $config_root }
|
|
22
|
-
|
|
23
|
-
let existing_segments = (
|
|
24
|
-
$env.PATH?
|
|
25
|
-
| default ""
|
|
26
|
-
| split row (char esep)
|
|
27
|
-
| reduce_non_empty
|
|
28
|
-
)
|
|
29
|
-
|
|
30
|
-
let desired_paths = [
|
|
31
|
-
($config_root | path join "scripts")
|
|
32
|
-
($env.HOME | path join "dotfiles" "scripts" "linux")
|
|
33
|
-
($env.HOME | path join ".local" "bin")
|
|
34
|
-
($env.HOME | path join ".cargo" "bin")
|
|
35
|
-
"/usr/games"
|
|
3
|
+
# Cross-platform home directory (works on Windows and Unix)
|
|
4
|
+
let home = ($env.HOME? | default ($env.USERPROFILE? | default $nu.home-path))
|
|
5
|
+
|
|
6
|
+
# Set up CONFIG_ROOT
|
|
7
|
+
let default_root = ($home | path join ".config" "machineconfig")
|
|
8
|
+
$env.CONFIG_ROOT = ($env.CONFIG_ROOT? | default $default_root | path expand)
|
|
9
|
+
|
|
10
|
+
# Add directories to PATH (nushell uses $env.PATH as a list)
|
|
11
|
+
use std/util "path add"
|
|
12
|
+
|
|
13
|
+
# Add desired paths if they exist
|
|
14
|
+
let paths_to_add = [
|
|
15
|
+
($env.CONFIG_ROOT | path join "scripts")
|
|
16
|
+
($home | path join "dotfiles" "scripts" "linux")
|
|
17
|
+
($home | path join ".local" "bin")
|
|
18
|
+
($home | path join ".cargo" "bin")
|
|
19
|
+
"/usr/games"
|
|
36
20
|
]
|
|
37
21
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
} else {
|
|
44
|
-
$acc
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
)
|
|
48
|
-
|
|
49
|
-
let new_path = ($merged_segments | str join (char esep))
|
|
50
|
-
load-env { PATH: $new_path }
|
|
51
|
-
|
|
52
|
-
|
|
22
|
+
for p in $paths_to_add {
|
|
23
|
+
if ($p | path exists) {
|
|
24
|
+
path add $p
|
|
25
|
+
}
|
|
26
|
+
}
|