machineconfig 7.50__py3-none-any.whl → 8.14__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of machineconfig might be problematic. Click here for more details.
- machineconfig/cluster/remote/cloud_manager.py +1 -1
- machineconfig/cluster/sessions_managers/utils/maker.py +23 -11
- machineconfig/cluster/sessions_managers/wt_local_manager.py +22 -19
- machineconfig/cluster/sessions_managers/wt_remote_manager.py +3 -1
- machineconfig/cluster/sessions_managers/zellij_local_manager.py +3 -1
- machineconfig/cluster/sessions_managers/zellij_remote_manager.py +3 -2
- machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +2 -2
- machineconfig/jobs/installer/installer_data.json +1185 -165
- machineconfig/jobs/installer/linux_scripts/q.sh +10 -7
- machineconfig/jobs/installer/linux_scripts/redis.sh +1 -0
- machineconfig/jobs/installer/package_groups.py +52 -84
- machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +129 -34
- machineconfig/jobs/installer/{custom → python_scripts}/boxes.py +2 -2
- machineconfig/jobs/installer/{custom_dev → python_scripts}/brave.py +5 -3
- machineconfig/jobs/installer/python_scripts/cloudflare_warp_cli.py +23 -0
- machineconfig/jobs/installer/{custom_dev → python_scripts}/code.py +4 -1
- machineconfig/jobs/installer/{custom_dev → python_scripts}/dubdb_adbc.py +1 -1
- machineconfig/jobs/installer/{custom → python_scripts}/hx.py +16 -12
- machineconfig/jobs/installer/{custom_dev → python_scripts}/nerdfont.py +2 -2
- machineconfig/jobs/installer/{custom_dev → python_scripts}/nerfont_windows_helper.py +27 -22
- machineconfig/jobs/installer/python_scripts/sysabc.py +139 -0
- machineconfig/jobs/installer/{custom_dev → python_scripts}/wezterm.py +2 -19
- machineconfig/jobs/installer/{custom_dev → python_scripts}/winget.py +10 -14
- machineconfig/jobs/installer/python_scripts/yazi.py +121 -0
- machineconfig/{scripts/python/nw → jobs/scripts/bash_scripts}/mount_nfs +0 -1
- 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 +25 -0
- machineconfig/logger.py +0 -1
- machineconfig/profile/create_helper.py +21 -22
- machineconfig/profile/create_links_export.py +25 -11
- machineconfig/profile/create_shell_profile.py +14 -3
- machineconfig/profile/mapper.toml +8 -6
- machineconfig/scripts/__init__.py +0 -4
- machineconfig/scripts/linux/wrap_mcfg +20 -21
- machineconfig/scripts/python/agents.py +74 -50
- machineconfig/scripts/python/ai/initai.py +1 -1
- machineconfig/scripts/python/ai/scripts/command_runner.ps1 +33 -0
- machineconfig/scripts/python/ai/{command_runner → scripts}/command_runner.sh +1 -1
- machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +1 -1
- machineconfig/scripts/python/ai/solutions/copilot/{chatmodes/Thinking-Beast-Mode.chatmode.md → agents/Thinking-Beast-Mode.agent.md} +0 -1
- machineconfig/scripts/python/ai/solutions/copilot/{chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md → agents/Ultimate-Transparent-Thinking-Beast-Mode.agent.md} +0 -1
- machineconfig/scripts/python/ai/solutions/copilot/{chatmodes/deepResearch.chatmode.md → agents/deepResearch.agent.md} +2 -2
- machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +5 -5
- machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +4 -0
- machineconfig/scripts/python/ai/solutions/copilot/instructions/python/watch_exec.prompt.md +20 -0
- machineconfig/scripts/python/ai/solutions/generic.py +1 -1
- machineconfig/scripts/python/ai/{generate_files.py → utils/generate_files.py} +2 -2
- machineconfig/scripts/python/cloud.py +6 -6
- machineconfig/scripts/python/croshell.py +67 -60
- machineconfig/scripts/python/devops.py +41 -21
- machineconfig/scripts/python/devops_navigator.py +0 -4
- machineconfig/scripts/python/env_manager/env_manager_tui.py +204 -0
- machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
- machineconfig/scripts/python/fire_jobs.py +95 -67
- machineconfig/scripts/python/ftpx.py +44 -17
- machineconfig/scripts/python/helpers/ast_search.py +74 -0
- machineconfig/scripts/python/helpers/qr_code.py +166 -0
- machineconfig/scripts/python/helpers/repo_rag.py +325 -0
- machineconfig/scripts/python/helpers/symantic_search.py +25 -0
- machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.json +1 -1
- machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.py +9 -7
- machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_gemini.py +21 -8
- machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_qwen.py +0 -12
- machineconfig/scripts/python/helpers_agents/fire_agents_help_launch.py +30 -11
- machineconfig/scripts/python/helpers_agents/fire_agents_helper_types.py +9 -2
- machineconfig/scripts/python/helpers_agents/privacy/configs/aichat/config.yaml +5 -0
- machineconfig/scripts/python/helpers_agents/privacy/configs/aider/.aider.conf.yml +2 -0
- machineconfig/scripts/python/helpers_agents/privacy/configs/copilot/config.yml +1 -0
- machineconfig/scripts/python/helpers_agents/privacy/configs/crush/crush.json +10 -0
- machineconfig/scripts/python/helpers_agents/privacy/configs/gemini/settings.json +12 -0
- machineconfig/scripts/python/helpers_agents/privacy/privacy.py +109 -0
- machineconfig/scripts/python/helpers_agents/templates/prompt.txt +8 -4
- machineconfig/scripts/python/helpers_agents/templates/template.sh +18 -8
- machineconfig/scripts/python/helpers_cloud/cloud_copy.py +28 -21
- machineconfig/scripts/python/helpers_cloud/cloud_helpers.py +1 -1
- machineconfig/scripts/python/helpers_cloud/cloud_mount.py +19 -17
- machineconfig/scripts/python/helpers_cloud/cloud_sync.py +8 -7
- machineconfig/scripts/python/helpers_croshell/crosh.py +3 -3
- machineconfig/scripts/python/helpers_croshell/start_slidev.py +6 -7
- machineconfig/scripts/python/helpers_devops/cli_config.py +19 -25
- machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +22 -13
- machineconfig/scripts/python/helpers_devops/cli_nw.py +113 -26
- machineconfig/scripts/python/helpers_devops/cli_repos.py +37 -11
- machineconfig/scripts/python/helpers_devops/cli_self.py +95 -42
- machineconfig/scripts/python/helpers_devops/cli_share_file.py +9 -9
- machineconfig/scripts/python/helpers_devops/cli_share_server.py +13 -12
- machineconfig/scripts/python/helpers_devops/{cli_terminal.py → cli_share_terminal.py} +15 -17
- machineconfig/scripts/python/helpers_devops/devops_backup_retrieve.py +4 -4
- machineconfig/scripts/python/helpers_devops/devops_status.py +7 -19
- machineconfig/scripts/python/helpers_devops/run_script.py +180 -0
- machineconfig/scripts/python/helpers_devops/themes/choose_wezterm_theme.py +1 -1
- machineconfig/scripts/python/helpers_fire_command/file_wrangler.py +2 -19
- machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py +1 -0
- machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +25 -15
- machineconfig/scripts/python/helpers_msearch/scripts_linux/fzfg +3 -3
- machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfg.ps1 +58 -1
- machineconfig/scripts/python/helpers_navigator/command_tree.py +50 -18
- machineconfig/scripts/python/helpers_network/address.py +176 -0
- machineconfig/scripts/python/helpers_network/address_switch.py +78 -0
- machineconfig/scripts/python/{nw → helpers_network}/mount_nfs.py +2 -2
- machineconfig/scripts/python/{nw → helpers_network}/mount_ssh.py +1 -1
- machineconfig/scripts/python/{nw/devops_add_identity.py → helpers_network/ssh_add_identity.py} +35 -1
- machineconfig/scripts/python/{nw/devops_add_ssh_key.py → helpers_network/ssh_add_ssh_key.py} +26 -7
- machineconfig/scripts/python/{nw → helpers_network}/ssh_debug_linux.py +7 -7
- machineconfig/scripts/python/{nw → helpers_network}/ssh_debug_windows.py +4 -4
- machineconfig/scripts/python/helpers_repos/clone.py +0 -1
- machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +13 -5
- machineconfig/scripts/python/helpers_repos/entrypoint.py +2 -1
- machineconfig/scripts/python/helpers_repos/record.py +2 -1
- machineconfig/scripts/python/helpers_repos/repo_analyzer_1.py +160 -0
- machineconfig/scripts/python/helpers_repos/{count_lines.py → repo_analyzer_2.py} +113 -192
- machineconfig/scripts/python/helpers_sessions/sessions_multiprocess.py +19 -13
- machineconfig/scripts/python/helpers_utils/download.py +150 -0
- machineconfig/scripts/python/helpers_utils/pdf.py +96 -0
- machineconfig/scripts/python/helpers_utils/python.py +187 -0
- machineconfig/scripts/python/interactive.py +30 -31
- machineconfig/scripts/python/{machineconfig.py → mcfg_entry.py} +4 -5
- machineconfig/scripts/python/msearch.py +57 -6
- machineconfig/scripts/python/sessions.py +100 -31
- machineconfig/scripts/python/terminal.py +26 -17
- machineconfig/scripts/python/utils.py +17 -15
- machineconfig/scripts/windows/wrap_mcfg.ps1 +6 -3
- machineconfig/settings/lf/windows/lfcd.ps1 +1 -1
- machineconfig/settings/linters/.ruff.toml +1 -1
- machineconfig/settings/shells/bash/init.sh +29 -2
- machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +1 -1
- machineconfig/settings/shells/nushell/config.nu +2 -2
- machineconfig/settings/shells/nushell/env.nu +45 -6
- machineconfig/settings/shells/nushell/init.nu +282 -95
- machineconfig/settings/shells/pwsh/init.ps1 +1 -0
- machineconfig/settings/shells/wezterm/wezterm.lua +2 -0
- machineconfig/settings/shells/zsh/init.sh +1 -8
- machineconfig/settings/television/cable_unix/alias.toml +8 -0
- machineconfig/settings/television/cable_unix/aws-buckets.toml +14 -0
- machineconfig/settings/television/cable_unix/aws-instances.toml +13 -0
- machineconfig/settings/television/cable_unix/bash-history.toml +8 -0
- machineconfig/settings/television/cable_unix/channels.toml +19 -0
- machineconfig/settings/television/cable_unix/dirs.toml +13 -0
- machineconfig/settings/television/cable_unix/distrobox-list.toml +42 -0
- machineconfig/settings/television/cable_unix/docker-images.toml +13 -0
- machineconfig/settings/television/cable_unix/dotfiles.toml +11 -0
- machineconfig/settings/television/cable_unix/env.toml +17 -0
- machineconfig/settings/television/cable_unix/files.toml +11 -0
- machineconfig/settings/television/cable_unix/fish-history.toml +8 -0
- machineconfig/settings/television/cable_unix/git-branch.toml +11 -0
- machineconfig/settings/television/cable_unix/git-diff.toml +10 -0
- machineconfig/settings/television/cable_unix/git-log.toml +12 -0
- machineconfig/settings/television/cable_unix/git-reflog.toml +12 -0
- machineconfig/settings/television/cable_unix/git-repos.toml +16 -0
- machineconfig/settings/television/cable_unix/guix.toml +20 -0
- machineconfig/settings/television/cable_unix/just-recipes.toml +18 -0
- machineconfig/settings/television/cable_unix/k8s-deployments.toml +36 -0
- machineconfig/settings/television/cable_unix/k8s-pods.toml +50 -0
- machineconfig/settings/television/cable_unix/k8s-services.toml +36 -0
- machineconfig/settings/television/cable_unix/man-pages.toml +24 -0
- machineconfig/settings/television/cable_unix/nu-history.toml +7 -0
- machineconfig/settings/television/cable_unix/procs.toml +20 -0
- machineconfig/settings/television/cable_unix/text.toml +17 -0
- machineconfig/settings/television/cable_unix/tldr.toml +18 -0
- machineconfig/settings/television/cable_unix/zsh-history.toml +9 -0
- machineconfig/settings/television/cable_windows/alias.toml +7 -0
- machineconfig/settings/television/cable_windows/dirs.toml +13 -0
- machineconfig/settings/television/cable_windows/docker-images.toml +13 -0
- machineconfig/settings/television/cable_windows/dotfiles.toml +11 -0
- machineconfig/settings/television/cable_windows/env.toml +17 -0
- machineconfig/settings/television/cable_windows/files.toml +14 -0
- machineconfig/settings/television/cable_windows/git-branch.toml +11 -0
- machineconfig/settings/television/cable_windows/git-diff.toml +10 -0
- machineconfig/settings/television/cable_windows/git-log.toml +11 -0
- machineconfig/settings/television/cable_windows/git-reflog.toml +11 -0
- machineconfig/settings/television/cable_windows/git-repos.toml +15 -0
- machineconfig/settings/television/cable_windows/nu-history.toml +7 -0
- machineconfig/settings/television/cable_windows/pwsh-history.toml +6 -0
- machineconfig/settings/television/cable_windows/text.toml +17 -0
- machineconfig/settings/wt/__init__.py +0 -0
- machineconfig/settings/yazi/init.lua +49 -24
- machineconfig/settings/yazi/keymap_linux.toml +19 -4
- machineconfig/settings/yazi/keymap_windows.toml +0 -1
- machineconfig/settings/yazi/shell/yazi_cd.ps1 +29 -5
- machineconfig/settings/yazi/theme.toml +4 -0
- machineconfig/settings/yazi/yazi_linux.toml +84 -0
- machineconfig/settings/yazi/yazi_windows.toml +58 -0
- machineconfig/settings/zellij/layouts/st.kdl +39 -8
- machineconfig/setup_linux/__init__.py +1 -2
- machineconfig/setup_linux/apps_desktop.sh +8 -27
- machineconfig/setup_linux/web_shortcuts/interactive.sh +12 -10
- machineconfig/setup_linux/web_shortcuts/live_from_github.sh +31 -0
- machineconfig/setup_mac/__init__.py +2 -3
- machineconfig/setup_windows/__init__.py +3 -5
- machineconfig/setup_windows/ssh/openssh-server.ps1 +1 -1
- machineconfig/setup_windows/uv.ps1 +8 -1
- machineconfig/setup_windows/web_shortcuts/interactive.ps1 +12 -10
- machineconfig/setup_windows/web_shortcuts/live_from_github.ps1 +30 -0
- machineconfig/setup_windows/web_shortcuts/quick_init.ps1 +17 -0
- machineconfig/utils/accessories.py +7 -4
- machineconfig/utils/code.py +69 -27
- machineconfig/utils/files/headers.py +2 -2
- machineconfig/utils/installer_utils/github_release_bulk.py +156 -119
- machineconfig/utils/installer_utils/install_from_url.py +183 -0
- machineconfig/utils/installer_utils/installer_class.py +43 -100
- machineconfig/utils/installer_utils/installer_cli.py +175 -0
- machineconfig/utils/installer_utils/installer_helper.py +129 -0
- machineconfig/utils/installer_utils/{installer_abc.py → installer_locator_utils.py} +36 -85
- machineconfig/utils/{installer.py → installer_utils/installer_runner.py} +16 -59
- machineconfig/utils/io.py +0 -1
- machineconfig/utils/links.py +2 -2
- machineconfig/utils/meta.py +30 -16
- machineconfig/utils/options.py +42 -24
- machineconfig/utils/options_tv.py +119 -0
- machineconfig/utils/path_extended.py +42 -20
- machineconfig/utils/path_helper.py +75 -22
- machineconfig/utils/procs.py +1 -1
- machineconfig/utils/scheduler.py +20 -53
- machineconfig/utils/schemas/layouts/layout_types.py +1 -1
- machineconfig/utils/ssh.py +159 -418
- machineconfig/utils/ssh_utils/abc.py +5 -0
- machineconfig/utils/ssh_utils/copy_from_here.py +111 -0
- machineconfig/utils/ssh_utils/copy_to_here.py +303 -0
- machineconfig/utils/ssh_utils/utils.py +142 -0
- machineconfig/utils/ssh_utils/wsl.py +210 -0
- machineconfig/utils/terminal.py +1 -0
- machineconfig/utils/upgrade_packages.py +6 -1
- machineconfig/utils/ve.py +12 -4
- machineconfig-8.14.dist-info/METADATA +132 -0
- {machineconfig-7.50.dist-info → machineconfig-8.14.dist-info}/RECORD +264 -215
- {machineconfig-7.50.dist-info → machineconfig-8.14.dist-info}/entry_points.txt +2 -4
- machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -41
- machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -71
- machineconfig/jobs/installer/powershell_scripts/archive_pygraphviz.ps1 +0 -12
- machineconfig/jobs/installer/powershell_scripts/openssh-server_add_key.ps1 +0 -7
- machineconfig/jobs/installer/powershell_scripts/openssh-server_copy-ssh-id.ps1 +0 -14
- machineconfig/scripts/linux/other/switch_ip +0 -20
- machineconfig/scripts/python/ai/command_runner/prompt.txt +0 -9
- machineconfig/scripts/python/define.py +0 -31
- machineconfig/scripts/python/explore.py +0 -49
- machineconfig/scripts/python/helpers_devops/cli_utils.py +0 -246
- machineconfig/scripts/python/helpers_msearch/scripts_linux/fzfag +0 -17
- machineconfig/scripts/python/helpers_msearch/scripts_linux/fzfrga +0 -21
- machineconfig/scripts/python/helpers_msearch/scripts_linux/skrg +0 -4
- machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfb.ps1 +0 -3
- machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfrga.bat +0 -20
- machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +0 -17
- machineconfig/scripts/python/nw/add_ssh_key.py +0 -148
- machineconfig/scripts/python/nw/wsl_windows_transfer.py +0 -66
- machineconfig/scripts/windows/mounts/mount_ssh.ps1 +0 -13
- machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -16
- machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -6
- machineconfig/settings/lf/windows/tst.ps1 +0 -1
- machineconfig/settings/yazi/yazi.toml +0 -17
- machineconfig/setup_linux/apps.sh +0 -66
- machineconfig/setup_linux/others/cli_installation.sh +0 -137
- 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/apps.sh +0 -73
- machineconfig/setup_windows/apps.ps1 +0 -62
- machineconfig/setup_windows/others/obs.ps1 +0 -4
- machineconfig/setup_windows/ssh/add_identity.ps1 +0 -11
- machineconfig/utils/installer_utils/installer.py +0 -221
- machineconfig-7.50.dist-info/METADATA +0 -92
- /machineconfig/jobs/installer/linux_scripts/{warp-cli.sh → cloudflare_warp_cli.sh} +0 -0
- /machineconfig/jobs/installer/{custom_dev → 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}/cursor.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/{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/nw → jobs/scripts/bash_scripts}/mount_drive +0 -0
- /machineconfig/{scripts/python/nw → jobs/scripts/bash_scripts}/mount_nw_drive +0 -0
- /machineconfig/{scripts/python/nw → 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 → 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/{nw → ai/utils}/__init__.py +0 -0
- /machineconfig/scripts/python/ai/{vscode_tasks.py → utils/vscode_tasks.py} +0 -0
- /machineconfig/{settings/shells/pwsh/profile.ps1 → scripts/python/helpers_fire_command/f.py} +0 -0
- /machineconfig/{setup_windows/wt_and_pwsh → scripts/python/helpers_network}/__init__.py +0 -0
- /machineconfig/scripts/python/{nw → helpers_network}/mount_nw_drive.py +0 -0
- /machineconfig/scripts/python/{nw → helpers_network}/onetimeshare.py +0 -0
- /machineconfig/scripts/python/{nw → helpers_network}/wifi_conn.py +0 -0
- /machineconfig/{setup_windows/wt_and_pwsh → settings/wt}/set_wt_settings.py +0 -0
- {machineconfig-7.50.dist-info → machineconfig-8.14.dist-info}/WHEEL +0 -0
- {machineconfig-7.50.dist-info → machineconfig-8.14.dist-info}/top_level.txt +0 -0
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
"""SSH"""
|
|
2
|
-
|
|
3
|
-
from platform import system
|
|
4
|
-
from machineconfig.utils.source_of_truth import LIBRARY_ROOT
|
|
5
|
-
from machineconfig.utils.path_extended import PathExtended
|
|
6
|
-
from rich.console import Console
|
|
7
|
-
from rich.panel import Panel
|
|
8
|
-
from rich import box # Import box
|
|
9
|
-
from typing import Optional, Annotated
|
|
10
|
-
import typer
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
console = Console()
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
def get_add_ssh_key_script(path_to_key: PathExtended):
|
|
17
|
-
console.print(Panel("🔑 SSH KEY CONFIGURATION", title="[bold blue]SSH Setup[/bold blue]"))
|
|
18
|
-
if system() == "Linux" or system() == "Darwin":
|
|
19
|
-
authorized_keys = PathExtended.home().joinpath(".ssh/authorized_keys")
|
|
20
|
-
console.print(Panel(f"🐧 Linux SSH configuration\n📄 Authorized keys file: {authorized_keys}", title="[bold blue]System Info[/bold blue]"))
|
|
21
|
-
elif system() == "Windows":
|
|
22
|
-
authorized_keys = PathExtended("C:/ProgramData/ssh/administrators_authorized_keys")
|
|
23
|
-
console.print(Panel(f"🪟 Windows SSH configuration\n📄 Authorized keys file: {authorized_keys}", title="[bold blue]System Info[/bold blue]"))
|
|
24
|
-
else:
|
|
25
|
-
console.print(Panel("❌ ERROR: Unsupported operating system\nOnly Linux and Windows are supported", title="[bold red]Error[/bold red]"))
|
|
26
|
-
raise NotImplementedError
|
|
27
|
-
|
|
28
|
-
if authorized_keys.exists():
|
|
29
|
-
split = "\n"
|
|
30
|
-
keys_text = authorized_keys.read_text(encoding="utf-8").split(split)
|
|
31
|
-
key_count = len([k for k in keys_text if k.strip()])
|
|
32
|
-
console.print(Panel(f"🔍 Current SSH authorization status\n✅ Found {key_count} authorized key(s)", title="[bold blue]Status[/bold blue]"))
|
|
33
|
-
if path_to_key.read_text(encoding="utf-8") in authorized_keys.read_text(encoding="utf-8"):
|
|
34
|
-
console.print(Panel(f"⚠️ Key already authorized\nKey: {path_to_key.name}\nStatus: Already present in authorized_keys file\nNo action required", title="[bold yellow]Warning[/bold yellow]"))
|
|
35
|
-
program = ""
|
|
36
|
-
else:
|
|
37
|
-
console.print(Panel(f"➕ Adding new SSH key to authorized keys\n🔑 Key file: {path_to_key.name}", title="[bold blue]Action[/bold blue]"))
|
|
38
|
-
if system() == "Linux":
|
|
39
|
-
program = f"cat {path_to_key} >> ~/.ssh/authorized_keys"
|
|
40
|
-
elif system() == "Windows":
|
|
41
|
-
program_path = LIBRARY_ROOT.joinpath("setup_windows/add-sshkey.ps1")
|
|
42
|
-
program = program_path.expanduser().read_text(encoding="utf-8")
|
|
43
|
-
place_holder = r'$sshfile = "$env:USERPROFILE\.ssh\pubkey.pub"'
|
|
44
|
-
assert place_holder in program, f"This section performs string manipulation on the script {program_path} to add the key to the authorized_keys file. The script has changed and the string {place_holder} is not found."
|
|
45
|
-
program = program.replace(place_holder, f'$sshfile = "{path_to_key}"')
|
|
46
|
-
console.print(Panel("🔧 Configured PowerShell script for Windows\n📝 Replaced placeholder with actual key path", title="[bold blue]Configuration[/bold blue]"))
|
|
47
|
-
else:
|
|
48
|
-
raise NotImplementedError
|
|
49
|
-
else:
|
|
50
|
-
console.print(Panel(f"📝 Creating new authorized_keys file\n🔑 Using key: {path_to_key.name}", title="[bold blue]Action[/bold blue]"))
|
|
51
|
-
if system() == "Linux":
|
|
52
|
-
program = f"cat {path_to_key} > ~/.ssh/authorized_keys"
|
|
53
|
-
else:
|
|
54
|
-
program_path = LIBRARY_ROOT.joinpath("setup_windows/openssh-server_add-sshkey.ps1")
|
|
55
|
-
program = PathExtended(program_path).expanduser().read_text(encoding="utf-8").replace('$sshfile=""', f'$sshfile="{path_to_key}"')
|
|
56
|
-
console.print(Panel("🔧 Configured PowerShell script for Windows\n📝 Set key path in script", title="[bold blue]Configuration[/bold blue]"))
|
|
57
|
-
|
|
58
|
-
if system() == "Linux" or system() == "Darwin":
|
|
59
|
-
program += """
|
|
60
|
-
sudo chmod 700 ~/.ssh
|
|
61
|
-
sudo chmod 644 ~/.ssh/authorized_keys
|
|
62
|
-
sudo chmod 644 ~/.ssh/*.pub
|
|
63
|
-
sudo service ssh --full-restart
|
|
64
|
-
# from superuser.com/questions/215504/permissions-on-private-key-in-ssh-folder
|
|
65
|
-
"""
|
|
66
|
-
return program
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
"""
|
|
71
|
-
# Common pitfalls:
|
|
72
|
-
# 🚫 Wrong line endings (LF/CRLF) in config files
|
|
73
|
-
# 🌐 Network port conflicts (try 2222 -> 2223) between WSL and Windows
|
|
74
|
-
# sudo service ssh restart
|
|
75
|
-
# sudo service ssh status
|
|
76
|
-
# sudo nano /etc/ssh/sshd_config
|
|
77
|
-
"""
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
def main(pub_path: Annotated[Optional[str], typer.Argument(..., help="Path to the public key file")] = None,
|
|
81
|
-
pub_choose: Annotated[bool, typer.Option(..., "--choose", "-c", help="Choose from available public keys in ~/.ssh")] = False,
|
|
82
|
-
pub_val: Annotated[bool, typer.Option(..., "--paste", "-p", help="Paste the public key content manually")] = False,
|
|
83
|
-
from_github: Annotated[Optional[str], typer.Option(..., "--from-github", "-g", help="Fetch public keys from a GitHub username")] = None
|
|
84
|
-
) -> None:
|
|
85
|
-
if pub_path:
|
|
86
|
-
key_path = PathExtended(pub_path).expanduser().absolute()
|
|
87
|
-
if not key_path.exists():
|
|
88
|
-
console.print(Panel(f"❌ ERROR: Provided key path does not exist\nPath: {key_path}", title="[bold red]Error[/bold red]"))
|
|
89
|
-
raise FileNotFoundError(f"Provided key path does not exist: {key_path}")
|
|
90
|
-
console.print(Panel(f"📄 Using provided public key file: {key_path}", title="[bold blue]Info[/bold blue]"))
|
|
91
|
-
program = get_add_ssh_key_script(key_path)
|
|
92
|
-
from machineconfig.utils.code import run_shell_script
|
|
93
|
-
run_shell_script(script=program)
|
|
94
|
-
console.print(Panel("✅ SSH KEY AUTHORIZATION COMPLETED", box=box.DOUBLE_EDGE, title_align="left"))
|
|
95
|
-
return
|
|
96
|
-
elif pub_choose:
|
|
97
|
-
console.print(Panel("🔐 SSH PUBLIC KEY AUTHORIZATION TOOL", box=box.DOUBLE_EDGE, title_align="left"))
|
|
98
|
-
console.print(Panel("🔍 Searching for public keys...", title="[bold blue]SSH Setup[/bold blue]", border_style="blue"))
|
|
99
|
-
pub_keys = PathExtended.home().joinpath(".ssh").search("*.pub")
|
|
100
|
-
if pub_keys:
|
|
101
|
-
console.print(Panel(f"✅ Found {len(pub_keys)} public key(s)", title="[bold green]Status[/bold green]", border_style="green"))
|
|
102
|
-
else:
|
|
103
|
-
console.print(Panel("⚠️ No public keys found", title="[bold yellow]Warning[/bold yellow]", border_style="yellow"))
|
|
104
|
-
return
|
|
105
|
-
console.print(Panel(f"🔄 Processing all {len(pub_keys)} public keys...", title="[bold blue]Processing[/bold blue]", border_style="blue"))
|
|
106
|
-
program = "\n\n\n".join([get_add_ssh_key_script(key) for key in pub_keys])
|
|
107
|
-
|
|
108
|
-
elif pub_val:
|
|
109
|
-
console.print(Panel("📋 Please provide a filename and paste the public key content", title="[bold blue]Input Required[/bold blue]", border_style="blue"))
|
|
110
|
-
key_filename = input("📝 File name (default: my_pasted_key.pub): ") or "my_pasted_key.pub"
|
|
111
|
-
key_path = PathExtended.home().joinpath(f".ssh/{key_filename}")
|
|
112
|
-
key_path.write_text(input("🔑 Paste the public key here: "), encoding="utf-8")
|
|
113
|
-
console.print(Panel(f"💾 Key saved to: {key_path}", title="[bold green]Success[/bold green]", border_style="green"))
|
|
114
|
-
program = get_add_ssh_key_script(key_path)
|
|
115
|
-
elif from_github:
|
|
116
|
-
console.print(Panel(f"🌐 Fetching public keys from GitHub user: {from_github}", title="[bold blue]GitHub Fetch[/bold blue]", border_style="blue"))
|
|
117
|
-
import requests
|
|
118
|
-
# $pubkey_url = 'https://github.com/thisismygitrepo.keys' # $pubkey_string = (Invoke-WebRequest $pubkey_url).Content
|
|
119
|
-
response = requests.get(f"https://api.github.com/users/{from_github}/keys")
|
|
120
|
-
if response.status_code != 200:
|
|
121
|
-
console.print(Panel(f"❌ ERROR: Failed to fetch keys from GitHub user {from_github}\nStatus Code: {response.status_code}", title="[bold red]Error[/bold red]", border_style="red"))
|
|
122
|
-
raise RuntimeError(f"Failed to fetch keys from GitHub user {from_github}: Status Code {response.status_code}")
|
|
123
|
-
keys = response.json()
|
|
124
|
-
if not keys:
|
|
125
|
-
console.print(Panel(f"⚠️ No public keys found for GitHub user: {from_github}", title="[bold yellow]Warning[/bold yellow]", border_style="yellow"))
|
|
126
|
-
return
|
|
127
|
-
console.print(Panel(f"✅ Found {len(keys)} public key(s) for user: {from_github}", title="[bold green]Success[/bold green]", border_style="green"))
|
|
128
|
-
key_path = PathExtended.home().joinpath(f".ssh/{from_github}_github_keys.pub")
|
|
129
|
-
key_path.write_text("\n".join([key["key"] for key in keys]), encoding="utf-8")
|
|
130
|
-
console.print(Panel(f"💾 Keys saved to: {key_path}", title="[bold green]Success[/bold green]", border_style="green"))
|
|
131
|
-
program = get_add_ssh_key_script(key_path)
|
|
132
|
-
else:
|
|
133
|
-
console.print(Panel("❌ ERROR: No method provided to add SSH key\nUse --help for options", title="[bold red]Error[/bold red]", border_style="red"))
|
|
134
|
-
raise ValueError("No method provided to add SSH key. Use --help for options.")
|
|
135
|
-
console.print(Panel("🚀 SSH KEY AUTHORIZATION READY\nRun the generated script to apply changes", box=box.DOUBLE_EDGE, title_align="left"))
|
|
136
|
-
from machineconfig.utils.code import run_shell_script
|
|
137
|
-
run_shell_script(script=program)
|
|
138
|
-
import socket
|
|
139
|
-
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
|
140
|
-
s.connect(('8.8.8.8',80))
|
|
141
|
-
local_ip_v4 = s.getsockname()[0]
|
|
142
|
-
s.close()
|
|
143
|
-
print(f"This computer is @ {local_ip_v4}")
|
|
144
|
-
console.print(Panel("✅ SSH KEY AUTHORIZATION COMPLETED", box=box.DOUBLE_EDGE, title_align="left"))
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
if __name__ == "__main__":
|
|
148
|
-
pass
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"""TWSL"""
|
|
2
|
-
|
|
3
|
-
from machineconfig.utils.path_extended import PathExtended
|
|
4
|
-
from typing import Annotated, Optional
|
|
5
|
-
import typer
|
|
6
|
-
import platform
|
|
7
|
-
import getpass
|
|
8
|
-
from pathlib import Path
|
|
9
|
-
|
|
10
|
-
system = platform.system() # e.g. "Windows", "Linux", "Darwin" (macOS)
|
|
11
|
-
# HostName = platform.node() # e.g. "MY-SURFACE", os.env["COMPUTERNAME") only works for windows.
|
|
12
|
-
UserName = getpass.getuser() # e.g: username, os.env["USERNAME") only works for windows.
|
|
13
|
-
# UserDomain = os.environ["USERDOMAIN"] # e.g. HAD OR MY-SURFACE
|
|
14
|
-
# UserDomainRoaming = PathExtended(os.environ["USERDOMAIN_ROAMINGPROFILE"]) # e.g. SURFACE
|
|
15
|
-
# LogonServer = os.environ["LOGONSERVER"] # e.g. "\\MY-SURFACE"
|
|
16
|
-
# UserProfile = PathExtended(os.env["USERPROFILE")) # e.g C:\Users\username
|
|
17
|
-
# HomePath = PathExtended(os.env["HOMEPATH")) # e.g. C:\Users\username
|
|
18
|
-
# Public = PathExtended(os.environ["PUBLIC"]) # C:\Users\Public
|
|
19
|
-
|
|
20
|
-
WSL_FROM_WIN = Path(r"\\wsl.localhost\Ubuntu-22.04\home") # PathExtended(rf"\\wsl$\Ubuntu\home") # see localappdata/canonical
|
|
21
|
-
WIN_FROM_WSL = Path(r"/mnt/c/Users")
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
def main(
|
|
25
|
-
path: Annotated[str, typer.Argument(help="📁 Path of file/folder to transfer over.")],
|
|
26
|
-
same_file_system: Annotated[bool, typer.Option("--same_file_system", "-s", help="⚠️ Move file across the same file system (not recommended).")] = False,
|
|
27
|
-
destination: Annotated[str, typer.Option("--destination", "-d", help="📍 New path.")] = "",
|
|
28
|
-
pwd: Annotated[Optional[str], typer.Option("--pwd", "-P", help="🔑 Password for encryption.")] = None,
|
|
29
|
-
sshkey: Annotated[Optional[str], typer.Option("--sshkey", "-i", help="🔐 Path to SSH private key.")] = None,
|
|
30
|
-
port: Annotated[Optional[str], typer.Option("--port", "-p", help="🔌 Port number.")] = None,
|
|
31
|
-
zip_first: Annotated[bool, typer.Option("--zip_first", "-z", help="📦 Zip before transferring.")] = False,
|
|
32
|
-
) -> None:
|
|
33
|
-
print("\n" + "=" * 50)
|
|
34
|
-
print("🔄 Welcome to the WSL-Windows File Transfer Tool")
|
|
35
|
-
print("=" * 50 + "\n")
|
|
36
|
-
|
|
37
|
-
path_obj = PathExtended(path).expanduser().absolute()
|
|
38
|
-
|
|
39
|
-
if same_file_system:
|
|
40
|
-
print("⚠️ Using a not recommended transfer method! Copying files across the same file system.")
|
|
41
|
-
if system == "Windows": # move files over to WSL
|
|
42
|
-
print("📤 Transferring files from Windows to WSL...")
|
|
43
|
-
path_obj.copy(folder=WSL_FROM_WIN.joinpath(UserName).joinpath(path_obj.rel2home().parent), overwrite=True) # the following works for files and folders alike.
|
|
44
|
-
else: # move files from WSL to win
|
|
45
|
-
print("📤 Transferring files from WSL to Windows...")
|
|
46
|
-
path_obj.copy(folder=WIN_FROM_WSL.joinpath(UserName).joinpath(path_obj.rel2home().parent), overwrite=True)
|
|
47
|
-
print("✅ Transfer completed successfully!\n")
|
|
48
|
-
else:
|
|
49
|
-
from machineconfig.utils.ssh import SSH
|
|
50
|
-
import platform
|
|
51
|
-
|
|
52
|
-
port_int = int(port) if port else (2222 if system == "Windows" else 22)
|
|
53
|
-
username = UserName
|
|
54
|
-
hostname = platform.node()
|
|
55
|
-
ssh = SSH(host=None, username=username, hostname=hostname, ssh_key_path=sshkey, password=pwd, port=port_int, enable_compression=False)
|
|
56
|
-
print("🌐 Initiating SSH transfer...")
|
|
57
|
-
ssh.copy_from_here(source_path=str(path_obj), target_rel2home=destination, compress_with_zip=zip_first, recursive=False, overwrite_existing=False)
|
|
58
|
-
print("✅ SSH transfer completed successfully!\n")
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
def arg_parser() -> None:
|
|
62
|
-
typer.run(main)
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
if __name__ == "__main__":
|
|
66
|
-
arg_parser()
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
winget install WinFsp.WinFsp; winget install SSHFS-Win.SSHFS-Win
|
|
4
|
-
|
|
5
|
-
$host = ''
|
|
6
|
-
$user = ''
|
|
7
|
-
$sharePath = ''
|
|
8
|
-
$driveLetter = ''
|
|
9
|
-
|
|
10
|
-
uv run --python 3.14 --with "machineconfig>=7.50" python -m machineconfig.scripts.python.mount_ssh
|
|
11
|
-
|
|
12
|
-
net use T: \\sshfs.kr\$user@$host.local
|
|
13
|
-
# this worked: net use T: \\sshfs\alex@alex-p51s-5.local
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
#!/bin/sh
|
|
2
|
-
# 🔍 Fuzzy Finder with Nano Editor Integration
|
|
3
|
-
|
|
4
|
-
# 📝 Open selected file in nano
|
|
5
|
-
nano (fzf2g) # space used for precedence in execution
|
|
6
|
-
|
|
7
|
-
# 💡 Alternative commands (commented):
|
|
8
|
-
# 🔎 FZF with bat preview:
|
|
9
|
-
# fzf --ansi --preview-window 'right:60%' --preview 'bat --color=always --style=numbers,grid,header --line-range :300 {}'
|
|
10
|
-
|
|
11
|
-
# 🪟 Windows Git Bash version:
|
|
12
|
-
# & "C:\Program Files\Git\usr\bin\nano.exe" (fzf --ansi --preview-window 'right:60%' --preview 'bat --color=always --style=numbers,grid,header --line-range :300 {}')
|
|
13
|
-
|
|
14
|
-
# 📜 PowerShell script integration:
|
|
15
|
-
# fzf | nano.ps1
|
|
16
|
-
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
nano.ps1 (fzfb) # space use for presedence in execution.
|
|
3
|
-
# fzf --ansi --preview-window 'right:60%' --preview 'bat --color=always --style=numbers,grid,header --line-range :300 {}'
|
|
4
|
-
# & "C:\Program Files\Git\usr\bin\nano.exe" (fzf --ansi --preview-window 'right:60%' --preview 'bat --color=always --style=numbers,grid,header --line-range :300 {}')
|
|
5
|
-
# fzf | nano.ps1
|
|
6
|
-
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
fzfb
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
[mgr]
|
|
3
|
-
show_hidden = true
|
|
4
|
-
ratio = [1, 3, 5]
|
|
5
|
-
|
|
6
|
-
[plugin]
|
|
7
|
-
dir = "~/.config/yazi/plugins"
|
|
8
|
-
|
|
9
|
-
[[plugin.load]]
|
|
10
|
-
name = "toggle-pane"
|
|
11
|
-
path = "toggle-pane.yazi"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
[preview]
|
|
15
|
-
# Change them to your desired values
|
|
16
|
-
max_width = 1000
|
|
17
|
-
max_height = 1000
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# --GROUP:ESSENTIAL_SYSTEM:git,nano,net-utils,wget,curl,nala,nvm,nodejs
|
|
5
|
-
echo "🔄 Updating apt package lists..."
|
|
6
|
-
echo "📥 Installing nala package manager..."
|
|
7
|
-
echo "📥 Installing essential network tools..."
|
|
8
|
-
echo "📥 Installing Node Version Manager (NVM)..."
|
|
9
|
-
sudo apt update -y || true
|
|
10
|
-
sudo apt install nala -y || true
|
|
11
|
-
sudo nala install curl wget gpg lsb-release apt-transport-https -y || true
|
|
12
|
-
sudo nala install git net-tools htop nano -y || true
|
|
13
|
-
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
|
|
14
|
-
echo "🔧 Configuring NVM environment..."
|
|
15
|
-
export NVM_DIR="$HOME/.nvm"
|
|
16
|
-
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
|
17
|
-
echo "📥 Installing latest Node.js..."
|
|
18
|
-
nvm install node || true
|
|
19
|
-
echo "📥 Installing SQLite - lightweight SQL database..."
|
|
20
|
-
echo "📥 Installing PostgreSQL client..."
|
|
21
|
-
echo "📥 Installing Redis command-line tools..."
|
|
22
|
-
sudo nala install sqlite3 -y || true
|
|
23
|
-
sudo nala install postgresql-client -y || true # # same for pgsq, when the server runs, we will need the client to talk to it.
|
|
24
|
-
sudo nala install redis-tools -y || true # this gives redis-cli, which is needed to talk to the redis-server that is running in the docker container.
|
|
25
|
-
|
|
26
|
-
# --GROUP:TerminalEyeCandy:fortune,toilet,sl,aafire,cmatrix,hollywood,chafa
|
|
27
|
-
echo "📥 Installing fortune - random wisdom generator..."
|
|
28
|
-
echo "📥 Installing toilet - large ASCII text generator..."
|
|
29
|
-
echo "📥 Installing sl - steam locomotive animation..."
|
|
30
|
-
echo "📥 Installing aafire - ASCII art fire animation..."
|
|
31
|
-
echo "📥 Installing cmatrix - Matrix-style terminal animation..."
|
|
32
|
-
echo "📥 Installing hollywood - Hollywood hacker terminal effect..."
|
|
33
|
-
echo "📥 Installing chafa - terminal image viewer..."
|
|
34
|
-
sudo nala install cowsay -y || true
|
|
35
|
-
sudo nala install lolcat -y || true
|
|
36
|
-
sudo nala install boxes -y || true
|
|
37
|
-
sudo nala install figlet -y || true
|
|
38
|
-
sudo nala install fortune -y || true
|
|
39
|
-
sudo nala install toilet -y || true
|
|
40
|
-
sudo nala install chafa -y
|
|
41
|
-
sudo nala install sl -y || true
|
|
42
|
-
sudo nala install libaa-bin -y
|
|
43
|
-
echo 'keyboard-configuration keyboard-configuration/layout select US English' | sudo debconf-set-selections
|
|
44
|
-
echo 'keyboard-configuration keyboard-configuration/layoutcode string us' | sudo debconf-set-selections
|
|
45
|
-
sudo DEBIAN_FRONTEND=noninteractive nala install -y cmatrix
|
|
46
|
-
sudo nala install hollywood -y || true
|
|
47
|
-
|
|
48
|
-
# --GROUP:NetworkTools: sshfs,samba,fuse3,nfs-common
|
|
49
|
-
echo "📥 Installing sshfs - mount remote filesystems over SSH..."
|
|
50
|
-
echo "📥 Installing Samba - LAN-based file sharing..."
|
|
51
|
-
sudo nala install sshfs
|
|
52
|
-
sudo nala install samba
|
|
53
|
-
sudo nala install fuse3 -y || true
|
|
54
|
-
sudo nala install nfs-common -y || true
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
# --GROUP:DEV_SYSTEM: graphviz,make,rust,libssl-dev,sqlite3,postgresql-client,redis-tools
|
|
58
|
-
echo "📥 Installing Graphviz - graph visualization software..."
|
|
59
|
-
echo "📥 Installing make - build automation tool..."
|
|
60
|
-
echo "📥 Installing SSL development libraries for Rust..."
|
|
61
|
-
echo "📥 Installing Rust programming language and toolchain..."
|
|
62
|
-
sudo nala install graphviz -y || true
|
|
63
|
-
sudo nala install ffmpeg -y || true # Required by some dev tools
|
|
64
|
-
sudo nala install make -y || true # Required by LunarVim and SpaceVim
|
|
65
|
-
(curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh) || true
|
|
66
|
-
sudo nala install libssl-dev -y
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# 📦 NIX CLI TOOLS INSTALLATION SCRIPT
|
|
3
|
-
# This script installs various command-line utilities using the Nix package manager
|
|
4
|
-
|
|
5
|
-
echo """🔄 SYSTEM UTILITIES | Installing system management tools
|
|
6
|
-
"""
|
|
7
|
-
|
|
8
|
-
# System upgrade tool
|
|
9
|
-
echo "📥 Installing topgrade - multi-package-manager upgrade tool..."
|
|
10
|
-
nix-env -iA nixpkgs.topgrade || true
|
|
11
|
-
|
|
12
|
-
# Process management
|
|
13
|
-
echo "📥 Installing procs - modern replacement for ps..."
|
|
14
|
-
nix-env -iA nixpkgs.procs || true
|
|
15
|
-
|
|
16
|
-
# File watching
|
|
17
|
-
echo "📥 Installing watchexec - executes commands when files change..."
|
|
18
|
-
nix-env -iA nixpkgs.watchexec || true
|
|
19
|
-
|
|
20
|
-
echo """📂 FILE MANAGEMENT | Installing file browsers and utilities
|
|
21
|
-
"""
|
|
22
|
-
|
|
23
|
-
# Terminal file managers
|
|
24
|
-
echo "📥 Installing xplr - hackable file explorer..."
|
|
25
|
-
nix-env -iA nixpkgs.xplr || true
|
|
26
|
-
|
|
27
|
-
echo "📥 Installing nnn - fast and flexible file manager..."
|
|
28
|
-
nix-env -iA nixpkgs.nnn || true
|
|
29
|
-
|
|
30
|
-
echo "📥 Installing joshuto - ranger-like file manager in Rust..."
|
|
31
|
-
nix-env -iA nixpkgs.joshuto || true
|
|
32
|
-
|
|
33
|
-
echo "📥 Installing lf - terminal file manager..."
|
|
34
|
-
nix-env -iA nixpkgs.lf || true
|
|
35
|
-
|
|
36
|
-
echo "📥 Installing broot - directory navigation tool..."
|
|
37
|
-
nix-env -iA nixpkgs.broot || true
|
|
38
|
-
|
|
39
|
-
echo "📥 Installing tere - faster alternative to cd..."
|
|
40
|
-
nix-env -iA nixpkgs.tere || true
|
|
41
|
-
|
|
42
|
-
# Disk usage analyzers
|
|
43
|
-
echo "📥 Installing dua - disk usage analyzer..."
|
|
44
|
-
nix-env -iA nixpkgs.dua || true
|
|
45
|
-
|
|
46
|
-
echo "📥 Installing diskonaut - terminal disk space navigator..."
|
|
47
|
-
nix-env -iA nixpkgs.diskonaut || true
|
|
48
|
-
|
|
49
|
-
# File cleanup
|
|
50
|
-
echo "📥 Installing kondo - cleanup tool for dev projects..."
|
|
51
|
-
nix-env -iA nixpkgs.kondo || true
|
|
52
|
-
|
|
53
|
-
echo """🖼️ VISUAL TOOLS | Installing terminal visualization tools
|
|
54
|
-
"""
|
|
55
|
-
|
|
56
|
-
# Terminal visualization
|
|
57
|
-
echo "📥 Installing viu - terminal image viewer..."
|
|
58
|
-
nix-env -iA nixpkgs.viu || true
|
|
59
|
-
|
|
60
|
-
echo "📥 Installing bottom - graphical process/system monitor..."
|
|
61
|
-
nix-env -iA nixpkgs.bottom || true
|
|
62
|
-
|
|
63
|
-
echo "📥 Installing delta - syntax-highlighting pager for git..."
|
|
64
|
-
nix-env -iA nixpkgs.delta || true
|
|
65
|
-
|
|
66
|
-
echo """🔧 DEVELOPMENT TOOLS | Installing programming utilities
|
|
67
|
-
"""
|
|
68
|
-
|
|
69
|
-
# Code editors
|
|
70
|
-
echo "📥 Installing helix - modal text editor..."
|
|
71
|
-
nix-env -iA nixpkgs.helix || true
|
|
72
|
-
|
|
73
|
-
# Terminal multiplexer
|
|
74
|
-
echo "📥 Installing zellij - terminal workspace with panes..."
|
|
75
|
-
nix-env -iA nixpkgs.zellij || true
|
|
76
|
-
|
|
77
|
-
# Development tools
|
|
78
|
-
echo "📥 Installing rust-analyzer - Rust language server..."
|
|
79
|
-
nix-env -iA nixpkgs.rust-analyzer || true
|
|
80
|
-
|
|
81
|
-
echo "📥 Installing tokei - code statistics tool..."
|
|
82
|
-
nix-env -iA nixpkgs.tokei || true
|
|
83
|
-
|
|
84
|
-
# Git interfaces
|
|
85
|
-
echo "📥 Installing gitui - terminal UI for git..."
|
|
86
|
-
nix-env -iA nixpkgs.gitui || true
|
|
87
|
-
|
|
88
|
-
echo """🔎 SEARCH TOOLS | Installing fuzzy finders and search utilities
|
|
89
|
-
"""
|
|
90
|
-
|
|
91
|
-
# Search history
|
|
92
|
-
echo "📥 Installing mcfly - search shell history with context..."
|
|
93
|
-
nix-env -iA nixpkgs.mcfly || true
|
|
94
|
-
|
|
95
|
-
# Fuzzy finder
|
|
96
|
-
echo "📥 Installing skim - fuzzy finder in Rust..."
|
|
97
|
-
nix-env -iA nixpkgs.skim || true
|
|
98
|
-
|
|
99
|
-
echo """🌐 NETWORK & CLOUD TOOLS | Installing file transfer and cloud utilities
|
|
100
|
-
"""
|
|
101
|
-
|
|
102
|
-
# File transfer
|
|
103
|
-
echo "📥 Installing termscp - terminal file transfer client..."
|
|
104
|
-
nix-env -iA nixpkgs.termscp || true
|
|
105
|
-
|
|
106
|
-
# Cloud storage
|
|
107
|
-
echo "📥 Installing rclone - rsync for cloud storage..."
|
|
108
|
-
nix-env -iA nixpkgs.rclone || true
|
|
109
|
-
|
|
110
|
-
echo """🛡️ SECURITY TOOLS | Installing password management utilities
|
|
111
|
-
"""
|
|
112
|
-
|
|
113
|
-
# Password management
|
|
114
|
-
echo "📥 Installing gopass - team password manager with git..."
|
|
115
|
-
nix-env -iA nixpkgs.gopass || true
|
|
116
|
-
|
|
117
|
-
echo """📚 DOCUMENTATION | Installing help and reference tools
|
|
118
|
-
"""
|
|
119
|
-
|
|
120
|
-
# Command reference
|
|
121
|
-
echo "📥 Installing tldr - simplified command documentation..."
|
|
122
|
-
nix-env -iA nixpkgs.tldr || true
|
|
123
|
-
|
|
124
|
-
# Shell alternatives
|
|
125
|
-
echo "📥 Installing nushell - modern shell alternative..."
|
|
126
|
-
nix-env -iA nixpkgs.nushell || true
|
|
127
|
-
|
|
128
|
-
echo """✅ INSTALLATION COMPLETE | All Nix CLI tools have been installed
|
|
129
|
-
"""
|
|
130
|
-
|
|
131
|
-
# Commented out tools
|
|
132
|
-
# echo "📥 Installing ots - one-time secret sharing..."
|
|
133
|
-
# nix-env -iA nixpkgs.ots || true
|
|
134
|
-
|
|
135
|
-
# echo "📥 Installing qrscan - QR code scanner..."
|
|
136
|
-
# nix-env -iA nixpkgs.qrscan || true
|
|
137
|
-
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# ⌨️ Linux Mint Keyboard Shortcuts Configuration
|
|
3
|
-
|
|
4
|
-
# 🚀 Rofi Launcher Shortcut Settings
|
|
5
|
-
KEYBINDING_NAME='Launch Rofi'
|
|
6
|
-
KEYBINDING_COMMAND='rofi -show drun'
|
|
7
|
-
KEYBINDING_BINDING='<Control><Alt>p'
|
|
8
|
-
KEYBINDING_PATH='/org/cinnamon/desktop/keybindings/custom-keybindings/custom0/'
|
|
9
|
-
|
|
10
|
-
# 🔑 Configure Shortcut
|
|
11
|
-
# Set the name
|
|
12
|
-
gsettings set org.cinnamon.desktop.keybindings.custom-keybinding:$KEYBINDING_PATH name "$KEYBINDING_NAME"
|
|
13
|
-
# Set the command
|
|
14
|
-
gsettings set org.cinnamon.desktop.keybindings.custom-keybinding:$KEYBINDING_PATH command "$KEYBINDING_COMMAND"
|
|
15
|
-
# Set the binding
|
|
16
|
-
gsettings set org.cinnamon.desktop.keybindings.custom-keybinding:$KEYBINDING_PATH binding "['$KEYBINDING_BINDING']"
|
|
17
|
-
|
|
18
|
-
# 📋 Update Keybindings List
|
|
19
|
-
# Get the current list of custom keybindings
|
|
20
|
-
CURRENT_KEYBINDINGS=$(gsettings get org.cinnamon.desktop.keybindings custom-list)
|
|
21
|
-
|
|
22
|
-
# 🔄 Add new keybinding if not present
|
|
23
|
-
if [[ "$CURRENT_KEYBINDINGS" != *custom0* ]]; then
|
|
24
|
-
if [ "$CURRENT_KEYBINDINGS" = "@as []" ]; then
|
|
25
|
-
NEW_KEYBINDINGS="['custom0']"
|
|
26
|
-
else
|
|
27
|
-
NEW_KEYBINDINGS="${CURRENT_KEYBINDINGS%]*}, 'custom0']"
|
|
28
|
-
fi
|
|
29
|
-
gsettings set org.cinnamon.desktop.keybindings custom-list "$NEW_KEYBINDINGS"
|
|
30
|
-
fi
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/bash
|
|
2
|
-
# 🔐 OpenSSH Server Setup and Configuration
|
|
3
|
-
|
|
4
|
-
# Common pitfalls:
|
|
5
|
-
# 🚫 Wrong line endings (LF/CRLF) in config files
|
|
6
|
-
# 🌐 Network port conflicts (try 2222 -> 2223) between WSL and Windows
|
|
7
|
-
|
|
8
|
-
# 📁 Setup SSH directory and permissions
|
|
9
|
-
mkdir -p ~/.ssh
|
|
10
|
-
echo $pubkey_string >> ~/.ssh/authorized_keys
|
|
11
|
-
sudo chmod 600 ~/.ssh/*
|
|
12
|
-
sudo chmod 700 ~/.ssh
|
|
13
|
-
echo "✅ FINISHED modifying .ssh folder attributes."
|
|
14
|
-
|
|
15
|
-
# 🔄 Clean install OpenSSH server
|
|
16
|
-
sudo nala install openssh-server -y || true # try to install first
|
|
17
|
-
sudo nala purge openssh-server -y
|
|
18
|
-
sudo nala install openssh-server -y
|
|
19
|
-
echo "✅ FINISHED installing openssh-server."
|
|
20
|
-
|
|
21
|
-
# 📝 Additional commands if needed:
|
|
22
|
-
# sudo service ssh status
|
|
23
|
-
# sudo nano /etc/ssh/sshd_config
|
|
24
|
-
# sudo service ssh restart
|
|
25
|
-
# For tunnels see: https://www.youtube.com/watch?v=Wp7boqm3Xts
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/bash
|
|
2
|
-
# 🐧 WSL2 SSH Configuration for LAN Access 🌐
|
|
3
|
-
# Purpose: Enable SSH access to WSL2 from LAN (requires wsl_server.ps1 in Windows)
|
|
4
|
-
# Common pitfall: sshd fails after config changes due to wrong line endings/permissions
|
|
5
|
-
|
|
6
|
-
# 🔍 Check if running in WSL
|
|
7
|
-
if [[ $(uname -a) == *"icrosoft"* ]]; then
|
|
8
|
-
echo "✅ Running inside WSL"
|
|
9
|
-
else
|
|
10
|
-
echo "❌ Not running inside WSL, no need for this script"
|
|
11
|
-
exit 0
|
|
12
|
-
fi
|
|
13
|
-
|
|
14
|
-
# 🔢 Set SSH port
|
|
15
|
-
if [ -z "$port" ]; then
|
|
16
|
-
port=2222
|
|
17
|
-
echo "📝 Port variable not defined, setting it to $port"
|
|
18
|
-
fi
|
|
19
|
-
|
|
20
|
-
# 🛠️ Configure SSH
|
|
21
|
-
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
|
|
22
|
-
sudo sed -i 's/#Port 22/Port '$port'/g' /etc/ssh/sshd_config
|
|
23
|
-
sudo sed -i 's/#ListenAddress 0.0.0.0/ListenAddress 0.0.0.0/g' /etc/ssh/sshd_config
|
|
24
|
-
sudo sed -i 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/g' /etc/ssh/sshd_config
|
|
25
|
-
sudo sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
|
|
26
|
-
|
|
27
|
-
# 🔑 Generate host keys and restart service
|
|
28
|
-
sudo service ssh start
|
|
29
|
-
sudo ssh-keygen -A
|
|
30
|
-
sudo service ssh --full-restart
|
|
31
|
-
sudo service ssh status
|
|
32
|
-
|
|
33
|
-
echo "✨ FINISHED configuring SSH in WSL2."
|
|
34
|
-
|
|
35
|
-
# 📚 References:
|
|
36
|
-
# Service startup: https://superuser.com/questions/1701853/how-to-enable-a-service-to-start-with-wsl2
|
|
37
|
-
# WSL config: https://learn.microsoft.com/en-us/windows/wsl/networking#accessing-a-wsl-2-distribution-from-your-local-area-network-lan
|
|
38
|
-
|
machineconfig/setup_mac/apps.sh
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
4
|
-
echo "🔄 Updating Homebrew..."
|
|
5
|
-
brew update || true
|
|
6
|
-
|
|
7
|
-
# --GROUP:ESSENTIAL_SYSTEM:git,nano,curl,nvm,nodejs,brave-browser,visual-studio-code
|
|
8
|
-
echo "📥 Installing essential tools..."
|
|
9
|
-
echo "📥 Installing Git version control..."
|
|
10
|
-
echo "📥 Installing Nano text editor..."
|
|
11
|
-
echo "📥 Installing Node Version Manager (NVM)..."
|
|
12
|
-
# Note: git and nano are pre-installed on macOS, but we install via Homebrew to ensure latest versions
|
|
13
|
-
brew install git || true
|
|
14
|
-
brew install nano || true
|
|
15
|
-
brew install curl || true
|
|
16
|
-
# Install NVM
|
|
17
|
-
if [ ! -s "$HOME/.nvm/nvm.sh" ]; then
|
|
18
|
-
echo "📥 Installing NVM (Node Version Manager)..."
|
|
19
|
-
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
|
|
20
|
-
fi
|
|
21
|
-
echo "🔧 Configuring NVM environment..."
|
|
22
|
-
export NVM_DIR="$HOME/.nvm"
|
|
23
|
-
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
|
24
|
-
echo "📥 Installing latest Node.js..."
|
|
25
|
-
nvm install node || true
|
|
26
|
-
brew install --cask brave-browser || true
|
|
27
|
-
brew install --cask visual-studio-code || true
|
|
28
|
-
|
|
29
|
-
# Database tools
|
|
30
|
-
# echo "📥 Installing SQLite - lightweight SQL database..."
|
|
31
|
-
# echo "📥 Installing PostgreSQL client..."
|
|
32
|
-
# echo "📥 Installing Redis command-line tools..."
|
|
33
|
-
# brew install sqlite3 || true
|
|
34
|
-
# brew install postgresql || true
|
|
35
|
-
# brew install redis || true
|
|
36
|
-
|
|
37
|
-
# --GROUP:TerminalEyeCandy:fortune,toilet,sl,cmatrix,chafa
|
|
38
|
-
echo "📥 Installing fortune - random wisdom generator..."
|
|
39
|
-
echo "📥 Installing figlet - ASCII art text generator..."
|
|
40
|
-
echo "📥 Installing cowsay - ASCII cow speech generator..."
|
|
41
|
-
echo "📥 Installing lolcat - colorized text output..."
|
|
42
|
-
echo "📥 Installing chafa - terminal image viewer..."
|
|
43
|
-
brew install fortune || true
|
|
44
|
-
brew install figlet || true
|
|
45
|
-
brew install cowsay || true
|
|
46
|
-
brew install lolcat || true
|
|
47
|
-
brew install chafa || true
|
|
48
|
-
|
|
49
|
-
# --GROUP:NetworkTools: sshfs,nfs-utils
|
|
50
|
-
echo "📥 Installing SSHFS - mount remote filesystems over SSH..."
|
|
51
|
-
echo "📥 Installing NFS utilities..."
|
|
52
|
-
brew install sshfs || true
|
|
53
|
-
brew install nfs-utils || true
|
|
54
|
-
|
|
55
|
-
# --GROUP:DEV_SYSTEM: graphviz,make,rust,sqlite3,postgresql-client,redis-tools,ffmpeg
|
|
56
|
-
echo "📥 Installing Graphviz - graph visualization software..."
|
|
57
|
-
echo "📥 Installing make - build automation tool..."
|
|
58
|
-
echo "📥 Installing FFmpeg - multimedia framework..."
|
|
59
|
-
echo "📥 Installing SSL/TLS development libraries..."
|
|
60
|
-
echo "📥 Installing Rust programming language and toolchain..."
|
|
61
|
-
brew install graphviz || true
|
|
62
|
-
brew install make || true
|
|
63
|
-
brew install ffmpeg || true
|
|
64
|
-
brew install openssl || true
|
|
65
|
-
|
|
66
|
-
# Install Rust if not already installed
|
|
67
|
-
if ! command -v rustc &> /dev/null; then
|
|
68
|
-
echo "📥 Installing Rust..."
|
|
69
|
-
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y || true
|
|
70
|
-
fi
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|