machineconfig 6.83__py3-none-any.whl → 6.85__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/sessions_managers/wt_local.py +16 -221
- machineconfig/cluster/sessions_managers/wt_local_manager.py +33 -174
- machineconfig/cluster/sessions_managers/wt_remote_manager.py +39 -197
- machineconfig/cluster/sessions_managers/wt_utils/manager_persistence.py +52 -0
- machineconfig/cluster/sessions_managers/wt_utils/monitoring_helpers.py +50 -0
- machineconfig/cluster/sessions_managers/wt_utils/status_reporting.py +76 -0
- machineconfig/cluster/sessions_managers/wt_utils/wt_helpers.py +199 -0
- machineconfig/scripts/linux/mcfgs +1 -1
- machineconfig/scripts/linux/term +39 -0
- machineconfig/scripts/python/ai/vscode_tasks.py +7 -2
- machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
- machineconfig/scripts/python/fire_jobs.py +30 -65
- machineconfig/scripts/python/helpers_devops/cli_config.py +1 -1
- machineconfig/scripts/python/helpers_devops/cli_nw.py +50 -0
- machineconfig/scripts/python/helpers_devops/cli_self.py +3 -3
- machineconfig/scripts/python/helpers_devops/cli_utils.py +1 -1
- machineconfig/scripts/python/helpers_fire/helpers4.py +15 -0
- machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +1 -1
- machineconfig/scripts/python/nw/mount_nfs +1 -1
- machineconfig/scripts/python/nw/wifi_conn.py +1 -53
- machineconfig/scripts/python/terminal.py +110 -0
- machineconfig/scripts/python/utils.py +2 -0
- machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
- machineconfig/scripts/windows/term.ps1 +48 -0
- machineconfig/settings/shells/bash/init.sh +2 -0
- machineconfig/settings/shells/pwsh/init.ps1 +1 -0
- machineconfig/setup_linux/web_shortcuts/interactive.sh +2 -1
- machineconfig/setup_windows/web_shortcuts/interactive.ps1 +2 -1
- machineconfig/utils/code.py +21 -14
- machineconfig/utils/installer.py +0 -1
- machineconfig/utils/options.py +12 -2
- machineconfig/utils/path_helper.py +1 -1
- machineconfig/utils/scheduling.py +0 -2
- machineconfig/utils/ssh.py +2 -2
- {machineconfig-6.83.dist-info → machineconfig-6.85.dist-info}/METADATA +1 -1
- {machineconfig-6.83.dist-info → machineconfig-6.85.dist-info}/RECORD +39 -35
- {machineconfig-6.83.dist-info → machineconfig-6.85.dist-info}/entry_points.txt +1 -0
- machineconfig/scripts/linux/other/share_smb +0 -1
- machineconfig/scripts/linux/warp-cli.sh +0 -122
- machineconfig/scripts/linux/z_ls +0 -104
- {machineconfig-6.83.dist-info → machineconfig-6.85.dist-info}/WHEEL +0 -0
- {machineconfig-6.83.dist-info → machineconfig-6.85.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import subprocess
|
|
2
|
+
# from machineconfig.utils.schemas.layouts.layout_types import LayoutConfig
|
|
3
|
+
import typer
|
|
4
|
+
from typing import Annotated
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def strip_ansi_codes(text: str) -> str:
|
|
8
|
+
"""Remove ANSI color codes from text."""
|
|
9
|
+
import re
|
|
10
|
+
return re.sub(r'\x1b\[[0-9;]*[a-zA-Z]', '', text)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def choose_zellij_session(
|
|
14
|
+
new_session: Annotated[bool, typer.Option("--new-session", "-n", help="Create a new Zellij session instead of attaching to an existing one.", show_default=True)] = False,
|
|
15
|
+
kill_all: Annotated[bool, typer.Option("--kill-all", "-k", help="Kill all existing Zellij sessions before creating a new one.", show_default=True)] = False):
|
|
16
|
+
|
|
17
|
+
if new_session:
|
|
18
|
+
cmd = """
|
|
19
|
+
zellij --layout st2
|
|
20
|
+
"""
|
|
21
|
+
if kill_all:
|
|
22
|
+
cmd = f"""zellij kill-sessions
|
|
23
|
+
{cmd}"""
|
|
24
|
+
from machineconfig.utils.code import exit_then_run_shell_script
|
|
25
|
+
exit_then_run_shell_script(cmd, strict=True)
|
|
26
|
+
typer.Exit()
|
|
27
|
+
return
|
|
28
|
+
cmd = "zellij list-sessions"
|
|
29
|
+
sessions: list[str] = subprocess.check_output(cmd, shell=True).decode().strip().split("\n")
|
|
30
|
+
sessions.sort(key=lambda s: "EXITED" in s)
|
|
31
|
+
if "current" in sessions:
|
|
32
|
+
print("Already in a Zellij session, avoiding nesting and exiting.")
|
|
33
|
+
raise typer.Exit()
|
|
34
|
+
if len(sessions) == 0:
|
|
35
|
+
print("No Zellij sessions found, creating a new one.")
|
|
36
|
+
result = """zellij --layout st2"""
|
|
37
|
+
elif len(sessions) == 1:
|
|
38
|
+
session = sessions[0].split(" [Created")[0]
|
|
39
|
+
print(f"Only one Zellij session found: {session}, attaching to it.")
|
|
40
|
+
result = f"zellij attach {session}"
|
|
41
|
+
else:
|
|
42
|
+
from machineconfig.utils.options import choose_from_options
|
|
43
|
+
session = choose_from_options(msg="Choose a Zellij session to attach to:", multi=False, options=sessions, fzf=True)
|
|
44
|
+
session = session.split(" [Created")[0]
|
|
45
|
+
result = f"zellij attach {session}"
|
|
46
|
+
from machineconfig.utils.code import exit_then_run_shell_script
|
|
47
|
+
exit_then_run_shell_script(result, strict=True)
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def get_session_tabs() -> list[tuple[str, str]]:
|
|
52
|
+
cmd = "zellij list-sessions"
|
|
53
|
+
sessions: list[str] = subprocess.check_output(cmd, shell=True).decode().strip().split("\n")
|
|
54
|
+
sessions = [strip_ansi_codes(s) for s in sessions]
|
|
55
|
+
active_sessions = [s for s in sessions if "EXITED" not in s]
|
|
56
|
+
result: list[tuple[str, str]] = []
|
|
57
|
+
for session_line in active_sessions:
|
|
58
|
+
session_name = session_line.split(" [Created")[0].strip()
|
|
59
|
+
# Query tab names for the session
|
|
60
|
+
tab_cmd = f"zellij --session {session_name} action query-tab-names"
|
|
61
|
+
try:
|
|
62
|
+
tabs: list[str] = subprocess.check_output(tab_cmd, shell=True).decode().strip().split("\n")
|
|
63
|
+
for tab in tabs:
|
|
64
|
+
if tab.strip():
|
|
65
|
+
result.append((session_name, tab.strip()))
|
|
66
|
+
except subprocess.CalledProcessError:
|
|
67
|
+
# Skip if query fails
|
|
68
|
+
continue
|
|
69
|
+
print(result)
|
|
70
|
+
return result
|
|
71
|
+
|
|
72
|
+
def start_wt(layout_name: Annotated[str, typer.Argument(help="Layout name to start.")]):
|
|
73
|
+
from pathlib import Path
|
|
74
|
+
layouts_file = Path.home().joinpath("dotfiles/machineconfig/layouts.json")
|
|
75
|
+
if not layouts_file.exists():
|
|
76
|
+
typer.echo(f"❌ Layouts file not found: {layouts_file}")
|
|
77
|
+
# available
|
|
78
|
+
raise typer.Exit(code=1)
|
|
79
|
+
import json
|
|
80
|
+
from machineconfig.utils.schemas.layouts.layout_types import LayoutsFile
|
|
81
|
+
layouts_data: LayoutsFile = json.loads(layouts_file.read_text(encoding="utf-8"))
|
|
82
|
+
chosen_layout = next((a_layout for a_layout in layouts_data["layouts"] if a_layout["layoutName"] == layout_name), None)
|
|
83
|
+
if not chosen_layout:
|
|
84
|
+
typer.echo(f"❌ Layout '{layout_name}' not found in layouts file.")
|
|
85
|
+
available_layouts = [a_layout["layoutName"] for a_layout in layouts_data["layouts"]]
|
|
86
|
+
typer.echo(f"Available layouts: {', '.join(available_layouts)}")
|
|
87
|
+
raise typer.Exit(code=1)
|
|
88
|
+
from machineconfig.cluster.sessions_managers.wt_local import run_wt_layout
|
|
89
|
+
run_wt_layout(layout_config=chosen_layout)
|
|
90
|
+
|
|
91
|
+
# cmd = f'powershell -ExecutionPolicy Bypass -File "./{layout_name}_layout.ps1"'
|
|
92
|
+
# from machineconfig.utils.code import exit_then_run_shell_script
|
|
93
|
+
# exit_then_run_shell_script(cmd, strict=True)
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
def main():
|
|
97
|
+
app = typer.Typer(help="🖥️ Terminal utilities", no_args_is_help=True, add_help_option=False)
|
|
98
|
+
app.command(name="attach-to-zellij", no_args_is_help=False, help="[z] Choose a Zellij session to attach to")(choose_zellij_session)
|
|
99
|
+
app.command(name="z", hidden=True, no_args_is_help=False, help="[z] Choose a Zellij session to attach to")(choose_zellij_session)
|
|
100
|
+
|
|
101
|
+
app.command(name="start-wt", no_args_is_help=True, help="[w] Start a Windows Terminal layout by name.")(start_wt)
|
|
102
|
+
app.command(name="w", hidden=True, no_args_is_help=True, help="[w] Start a Windows Terminal layout by name.")(start_wt)
|
|
103
|
+
|
|
104
|
+
app.command(name="get-session-tabs", no_args_is_help=False, help="[zt] Get all Zellij session tabs.")(get_session_tabs)
|
|
105
|
+
app.command(name="zt", hidden=True, no_args_is_help=False, help="[zt] Get all Zellij session tabs.")(get_session_tabs)
|
|
106
|
+
app()
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
if __name__ == "__main__":
|
|
110
|
+
main()
|
|
@@ -41,6 +41,7 @@ uv add nbformat ipdb ipykernel ipython pylint pyright mypy pyrefly ty pytest
|
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
|
|
44
|
+
|
|
44
45
|
def get_app() -> typer.Typer:
|
|
45
46
|
app = typer.Typer(help="🛠️ utilities operations", no_args_is_help=True, add_help_option=False, add_completion=False)
|
|
46
47
|
app.command(name="kill-process", no_args_is_help=False, help="[k] Choose a process to kill")(kill_process)
|
|
@@ -56,6 +57,7 @@ def get_app() -> typer.Typer:
|
|
|
56
57
|
app.command(name="pm", no_args_is_help=True, hidden=True)(merge_pdfs)
|
|
57
58
|
app.command(name="pdf-compress", no_args_is_help=True, help="[pc] Compress a PDF file.")(compress_pdf)
|
|
58
59
|
app.command(name="pc", no_args_is_help=True, hidden=True)(compress_pdf)
|
|
60
|
+
|
|
59
61
|
return app
|
|
60
62
|
|
|
61
63
|
# def func():
|
|
@@ -7,7 +7,7 @@ $user = ''
|
|
|
7
7
|
$sharePath = ''
|
|
8
8
|
$driveLetter = ''
|
|
9
9
|
|
|
10
|
-
uv run --python 3.14 --with "machineconfig>=6.
|
|
10
|
+
uv run --python 3.14 --with "machineconfig>=6.85" python -m machineconfig.scripts.python.mount_ssh
|
|
11
11
|
|
|
12
12
|
net use T: \\sshfs.kr\$user@$host.local
|
|
13
13
|
# this worked: net use T: \\sshfs\alex@alex-p51s-5.local
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Equivalent PowerShell script for term.ps1
|
|
2
|
+
|
|
3
|
+
Set-StrictMode -Version Latest
|
|
4
|
+
$ErrorActionPreference = 'Stop'
|
|
5
|
+
|
|
6
|
+
# Generate random name using timestamp and SHA256 hash
|
|
7
|
+
$timestampNs = [DateTimeOffset]::Now.ToUnixTimeMilliseconds() * 1000000
|
|
8
|
+
$hashInput = [System.Text.Encoding]::UTF8.GetBytes($timestampNs.ToString())
|
|
9
|
+
$sha256 = [System.Security.Cryptography.SHA256]::Create()
|
|
10
|
+
$hashBytes = $sha256.ComputeHash($hashInput)
|
|
11
|
+
$hashString = -join ($hashBytes | ForEach-Object { $_.ToString('x2') })
|
|
12
|
+
$randomName = $hashString.Substring(0, 16)
|
|
13
|
+
|
|
14
|
+
$opDir = "$env:USERPROFILE\tmp_results\tmp_scripts\machineconfig"
|
|
15
|
+
$opProgramPath = "$opDir\$randomName.ps1"
|
|
16
|
+
$global:OP_PROGRAM_PATH = $opProgramPath
|
|
17
|
+
|
|
18
|
+
# ANSI color/style codes (using Write-Host colors)
|
|
19
|
+
$bold = [char]27 + '[1m'
|
|
20
|
+
$reset = [char]27 + '[0m'
|
|
21
|
+
$green = [char]27 + '[32m'
|
|
22
|
+
$yellow = [char]27 + '[33m'
|
|
23
|
+
$blue = [char]27 + '[34m'
|
|
24
|
+
$red = [char]27 + '[31m'
|
|
25
|
+
|
|
26
|
+
$timestamp = Get-Date -Format 'u'
|
|
27
|
+
|
|
28
|
+
Write-Host "${bold}${blue}🛠️ terminal — running term${reset}"
|
|
29
|
+
Write-Host "${blue}Timestamp:${reset} ${timestamp}"
|
|
30
|
+
Write-Host "${blue}Op program path:${reset} ${opProgramPath}"
|
|
31
|
+
|
|
32
|
+
terminal $args
|
|
33
|
+
|
|
34
|
+
if (Test-Path $opProgramPath) {
|
|
35
|
+
Write-Host "${green}✅ Found op program:${reset} ${opProgramPath}"
|
|
36
|
+
# Assuming bat is available; otherwise, use Get-Content
|
|
37
|
+
& bat --style=plain --paging=never $opProgramPath
|
|
38
|
+
Write-Host "${green}▶ Running...${reset}"
|
|
39
|
+
. $opProgramPath
|
|
40
|
+
$status = $LASTEXITCODE
|
|
41
|
+
if ($status -eq 0) {
|
|
42
|
+
Write-Host "${green}✅ Completed successfully (exit ${status})${reset}"
|
|
43
|
+
} else {
|
|
44
|
+
Write-Host "${yellow}⚠️ Program exited with status ${status}${reset}"
|
|
45
|
+
}
|
|
46
|
+
} else {
|
|
47
|
+
Write-Host "${yellow}⚠️ No op program found at: ${opProgramPath}${reset}"
|
|
48
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
2
|
. <( curl -sSL "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/uv.sh")
|
|
3
3
|
mcfg() {
|
|
4
|
-
"$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=6.
|
|
4
|
+
"$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=6.85" mcfg "$@"
|
|
5
5
|
}
|
|
6
6
|
alias d="mcfg devops"
|
|
7
7
|
alias c="mcfg cloud"
|
|
@@ -11,4 +11,5 @@ alias ff="mcfg ftpx"
|
|
|
11
11
|
alias f="mcfg fire"
|
|
12
12
|
alias rr="mcfg croshell"
|
|
13
13
|
alias u="mcfg utils"
|
|
14
|
+
alias t="mcfg terminal"
|
|
14
15
|
echo "mcfg command is now defined in this shell session."
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/uv.ps1").Content
|
|
4
4
|
function mcfg {
|
|
5
|
-
& "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=6.
|
|
5
|
+
& "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=6.85" mcfg $args
|
|
6
6
|
}
|
|
7
7
|
function d { mcfg devops @args }
|
|
8
8
|
function c { mcfg cloud @args }
|
|
@@ -12,4 +12,5 @@ function ff { mcfg ftpx @args }
|
|
|
12
12
|
function f { mcfg fire @args }
|
|
13
13
|
function rr { mcfg croshell @args }
|
|
14
14
|
function u { mcfg utils @args }
|
|
15
|
+
function t { mcfg terminal @args }
|
|
15
16
|
Write-Host "mcfg command aliases are now defined in this PowerShell session."
|
machineconfig/utils/code.py
CHANGED
|
@@ -7,18 +7,23 @@ from pathlib import Path
|
|
|
7
7
|
|
|
8
8
|
def print_code(code: str, lexer: str, desc: str, subtitle: str = ""):
|
|
9
9
|
import platform
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
if
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
10
|
+
try:
|
|
11
|
+
from rich.console import Console
|
|
12
|
+
from rich.panel import Panel
|
|
13
|
+
from rich.syntax import Syntax
|
|
14
|
+
if lexer == "shell":
|
|
15
|
+
if platform.system() == "Windows":
|
|
16
|
+
lexer = "powershell"
|
|
17
|
+
elif platform.system() in ["Linux", "Darwin"]:
|
|
18
|
+
lexer = "sh"
|
|
19
|
+
else:
|
|
20
|
+
raise NotImplementedError(f"Platform {platform.system()} not supported for lexer {lexer}")
|
|
21
|
+
console = Console()
|
|
22
|
+
console.print(Panel(Syntax(code=code, lexer=lexer), title=f"📄 {desc}", subtitle=subtitle), style="bold red")
|
|
23
|
+
except ImportError:
|
|
24
|
+
print(f"--- {desc} ---")
|
|
25
|
+
print(code)
|
|
26
|
+
print(f"--- End of {desc} ---")
|
|
22
27
|
|
|
23
28
|
|
|
24
29
|
def get_uv_command_executing_python_script(python_script: str, uv_with: Optional[list[str]], uv_project_dir: Optional[str]) -> tuple[str, Path]:
|
|
@@ -51,7 +56,7 @@ def run_python_script_in_marimo(py_script: str, uv_project_with: Optional[str]):
|
|
|
51
56
|
if uv_project_with is not None:
|
|
52
57
|
requirements = f"""--with "marimo" --project {uv_project_with} """
|
|
53
58
|
else:
|
|
54
|
-
requirements =
|
|
59
|
+
requirements = """--with "marimo" """
|
|
55
60
|
fire_line = f"""
|
|
56
61
|
cd {tmp_dir}
|
|
57
62
|
uv run {requirements} marimo convert {pyfile.name} -o marimo_nb.py
|
|
@@ -103,9 +108,11 @@ def run_shell_script(script: str, display_script: bool = True, clean_env: bool =
|
|
|
103
108
|
return proc
|
|
104
109
|
|
|
105
110
|
|
|
106
|
-
def exit_then_run_shell_script(script: str):
|
|
111
|
+
def exit_then_run_shell_script(script: str, strict: bool = False):
|
|
107
112
|
import os
|
|
108
113
|
op_program_path = os.environ.get("OP_PROGRAM_PATH", None)
|
|
114
|
+
if strict and op_program_path is None:
|
|
115
|
+
raise ValueError("OP_PROGRAM_PATH environment variable is not set in strict mode.")
|
|
109
116
|
if op_program_path is not None:
|
|
110
117
|
op_program_path = Path(op_program_path)
|
|
111
118
|
op_program_path.parent.mkdir(parents=True, exist_ok=True)
|
machineconfig/utils/installer.py
CHANGED
machineconfig/utils/options.py
CHANGED
|
@@ -4,7 +4,14 @@ from rich.text import Text
|
|
|
4
4
|
from rich.panel import Panel
|
|
5
5
|
from rich.console import Console
|
|
6
6
|
import subprocess
|
|
7
|
-
from typing import Optional, Union, Iterable, overload, Literal
|
|
7
|
+
from typing import Optional, Union, Iterable, overload, Literal, cast
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# def strip_ansi_codes(text: str) -> str:
|
|
11
|
+
# """Remove ANSI color codes from text."""
|
|
12
|
+
# import re
|
|
13
|
+
# return re.sub(r'\x1b\[[0-9;]*[a-zA-Z]', '', text)
|
|
14
|
+
|
|
8
15
|
|
|
9
16
|
@overload
|
|
10
17
|
def choose_from_options[T](msg: str, options: Iterable[T], multi: Literal[False], custom_input: bool = False, header: str = "", tail: str = "", prompt: str = "", default: Optional[T] = None, fzf: bool = False) -> T: ...
|
|
@@ -22,17 +29,20 @@ def choose_from_options[T](msg: str, options: Iterable[T], multi: bool, custom_i
|
|
|
22
29
|
from pyfzf.pyfzf import FzfPrompt
|
|
23
30
|
fzf_prompt = FzfPrompt()
|
|
24
31
|
nl = "\n"
|
|
25
|
-
choice_string_multi: list[str] = fzf_prompt.prompt(choices=options_strings, fzf_options=("--multi" if multi else "") + f' --prompt "{prompt.replace(nl, " ")}" ') # --border-label={msg.replace(nl, ' ')}")
|
|
32
|
+
choice_string_multi: list[str] = fzf_prompt.prompt(choices=options_strings, fzf_options=("--multi" if multi else "") + f' --prompt "{prompt.replace(nl, " ")}" --ansi') # --border-label={msg.replace(nl, ' ')}")
|
|
26
33
|
# --border=rounded doens't work on older versions of fzf installed at Ubuntu 20.04
|
|
27
34
|
if not multi:
|
|
28
35
|
try:
|
|
29
36
|
choice_one_string = choice_string_multi[0]
|
|
37
|
+
if isinstance(list(options)[0], str): return cast(T, choice_one_string)
|
|
30
38
|
choice_idx = options_strings.index(choice_one_string)
|
|
31
39
|
return list(options)[choice_idx]
|
|
32
40
|
except IndexError as ie:
|
|
33
41
|
print(f"❌ Error: {options=}, {choice_string_multi=}")
|
|
34
42
|
print(f"🔍 Available choices: {choice_string_multi}")
|
|
35
43
|
raise ie
|
|
44
|
+
if isinstance(list(options)[0], str):
|
|
45
|
+
return cast(list[T], choice_string_multi)
|
|
36
46
|
choice_idx_s = [options_strings.index(x) for x in choice_string_multi]
|
|
37
47
|
return [list(options)[x] for x in choice_idx_s]
|
|
38
48
|
else:
|
|
@@ -77,7 +77,7 @@ def match_file_name(sub_string: str, search_root: PathExtended, suffixes: set[st
|
|
|
77
77
|
if len(filename_matches) < 20:
|
|
78
78
|
print("\n".join([a_potential_match.as_posix() for a_potential_match in filename_matches]))
|
|
79
79
|
if len(filename_matches) > 1:
|
|
80
|
-
print("Try to narrow down filename_matches search by case-sensitivity.")
|
|
80
|
+
print(f"Try to narrow down filename_matches search by case-sensitivity, found {len(filename_matches)} results. First @ {filename_matches[0].as_posix()}")
|
|
81
81
|
# let's see if avoiding .lower() helps narrowing down to one result
|
|
82
82
|
reduced_scripts = [a_potential_match for a_potential_match in filename_matches if sub_string in a_potential_match.name]
|
|
83
83
|
if len(reduced_scripts) == 1:
|
machineconfig/utils/ssh.py
CHANGED
|
@@ -8,7 +8,7 @@ from machineconfig.utils.terminal import Response
|
|
|
8
8
|
from machineconfig.utils.accessories import pprint, randstr
|
|
9
9
|
from machineconfig.utils.meta import lambda_to_python_script
|
|
10
10
|
UV_RUN_CMD = "$HOME/.local/bin/uv run" if platform.system() != "Windows" else """& "$env:USERPROFILE/.local/bin/uv" run"""
|
|
11
|
-
MACHINECONFIG_VERSION = "machineconfig>=6.
|
|
11
|
+
MACHINECONFIG_VERSION = "machineconfig>=6.85"
|
|
12
12
|
DEFAULT_PICKLE_SUBDIR = "tmp_results/tmp_scripts/ssh"
|
|
13
13
|
|
|
14
14
|
class SSH:
|
|
@@ -115,7 +115,7 @@ class SSH:
|
|
|
115
115
|
self.tqdm_wrap = RichProgressWrapper
|
|
116
116
|
from machineconfig.scripts.python.helpers_devops.cli_utils import get_machine_specs
|
|
117
117
|
self.local_specs: MachineSpecs = get_machine_specs()
|
|
118
|
-
resp = self.run_shell(command=
|
|
118
|
+
resp = self.run_shell(command="""~/.local/bin/utils get-machine-specs """, verbose_output=False, description="Getting remote machine specs", strict_stderr=False, strict_return_code=False)
|
|
119
119
|
json_str = resp.op
|
|
120
120
|
import ast
|
|
121
121
|
self.remote_specs: MachineSpecs = cast(MachineSpecs, ast.literal_eval(json_str))
|
|
@@ -14,10 +14,10 @@ machineconfig/cluster/remote/run_remote.py,sha256=vCc56t8BUAUJp7tyb0PFfwy5hlmIdR
|
|
|
14
14
|
machineconfig/cluster/remote/script_execution.py,sha256=d1NZdIHlB0H69cyLgOv81vS9ui81d9ClM4WA4ICHKLY,9857
|
|
15
15
|
machineconfig/cluster/remote/script_notify_upon_completion.py,sha256=GRxnnbnOl1-hTovTN-zI_M9wdV7x293yA77_mou9I1o,2032
|
|
16
16
|
machineconfig/cluster/sessions_managers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
-
machineconfig/cluster/sessions_managers/wt_local.py,sha256=
|
|
18
|
-
machineconfig/cluster/sessions_managers/wt_local_manager.py,sha256=
|
|
17
|
+
machineconfig/cluster/sessions_managers/wt_local.py,sha256=AwiSXXOX4XLfrAkgZoy1sSYkNo-7Nq_n4hxPYFAoYqo,9781
|
|
18
|
+
machineconfig/cluster/sessions_managers/wt_local_manager.py,sha256=Y4NT-ukc7z8BVO2tqRZU0tzbLro3uWwU9UUI5MVLut4,19841
|
|
19
19
|
machineconfig/cluster/sessions_managers/wt_remote.py,sha256=yofv3Zlj2aClDUKYhUJVyvO-Wh76Wka71n-DY1ODj0Q,9072
|
|
20
|
-
machineconfig/cluster/sessions_managers/wt_remote_manager.py,sha256=
|
|
20
|
+
machineconfig/cluster/sessions_managers/wt_remote_manager.py,sha256=XC6JUlUsPAuKkw42T0s8wrJNOaXttley2BcfMicH6X0,14490
|
|
21
21
|
machineconfig/cluster/sessions_managers/zellij_local.py,sha256=eI3nLzlg1lrKDBu-RscTUEAvsJVRd06TrcdVABNgVu4,10076
|
|
22
22
|
machineconfig/cluster/sessions_managers/zellij_local_manager.py,sha256=YJVhBTWh4FVduvnysMeka_uQ7cckRTLpMrBx5O386zs,17701
|
|
23
23
|
machineconfig/cluster/sessions_managers/zellij_remote.py,sha256=TFx-Xjmoue8KjbzBFtvFSOSx3zgoTdS_N1WWPPdMBm8,8513
|
|
@@ -27,10 +27,14 @@ machineconfig/cluster/sessions_managers/helpers/load_balancer_helper.py,sha256=i
|
|
|
27
27
|
machineconfig/cluster/sessions_managers/utils/load_balancer.py,sha256=Y4RQmhROY6o7JXSJXRrBTkoAuEmu1gvmvN_7JKPw5sc,3178
|
|
28
28
|
machineconfig/cluster/sessions_managers/utils/maker.py,sha256=V8_ywAEaD9VZQ5GIAm0S0XO_5pf7nAcnVBEyD_R8TSY,2643
|
|
29
29
|
machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py,sha256=OA50j16uUS9ZTjL38TLuR3jufIOln_EszMZpbWyejTo,6972
|
|
30
|
+
machineconfig/cluster/sessions_managers/wt_utils/manager_persistence.py,sha256=LWgK-886QMERLRJwQ4rH2Nr2RGlyKu6P7JYoBMVWMGc,1604
|
|
31
|
+
machineconfig/cluster/sessions_managers/wt_utils/monitoring_helpers.py,sha256=e75rdp0G8cDfF9SfkJ7LX3TAJ8R3JWR5v-C_SDkDa14,1627
|
|
30
32
|
machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py,sha256=Mitm7mKiKl5lT0OiEUHAqVg2Q21RjsKO1-hpJTHJ5lM,15196
|
|
31
33
|
machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py,sha256=lApUy67_WhfaBXqt0meZSx_QvwiXjN0YLdyE3c7kP_s,6744
|
|
32
34
|
machineconfig/cluster/sessions_managers/wt_utils/session_manager.py,sha256=-PNcYwPqwdNRnLU9QGKxRR9i6ewY02Id-tgnODB_OzQ,12552
|
|
33
35
|
machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py,sha256=t5EWNOVS-PTc2fWE8aWNBrDyqR8akLtwtRinztxOdpY,9590
|
|
36
|
+
machineconfig/cluster/sessions_managers/wt_utils/status_reporting.py,sha256=OE24ggT2IWwR22rLHPc6fKxnafjPqIqoPa5VqeMDV90,3961
|
|
37
|
+
machineconfig/cluster/sessions_managers/wt_utils/wt_helpers.py,sha256=T6u7Ae2F84VEoQykAZotJdkm8KtwLSyAW-LLC9PQKZE,7824
|
|
34
38
|
machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py,sha256=FyYsqowiFAvqv4M0eXRnw2U38r7u8EI1I3p580kV5Y0,2976
|
|
35
39
|
machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py,sha256=FMpwaSeDCc71pEiVk99s8f5NkZEQ8zKQNUuaSXojgq4,4615
|
|
36
40
|
machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py,sha256=8l8OAfWYy5xv-EaVqtXLqvPo9YaR9i8kFqGMhPzk0nw,2616
|
|
@@ -106,13 +110,11 @@ machineconfig/scripts/linux/fzfag,sha256=x0rX7vM_YjKLZ822D2Xh0HdaTj5kR_gG3g_5_w6
|
|
|
106
110
|
machineconfig/scripts/linux/fzffg,sha256=jjeeyFkWmBbwH2taRqC3EOzZep2KR-ZYoI4UI-5kHqg,1090
|
|
107
111
|
machineconfig/scripts/linux/fzfg,sha256=ClGnJZUsIk4y0qs3W5iXGo-nd0FaqAHMsnh8uoXQFy8,1190
|
|
108
112
|
machineconfig/scripts/linux/fzfrga,sha256=xSdws6ae28ZXkkqz_uupZ0MYw_vxE2qpLT2DLS3WITM,460
|
|
109
|
-
machineconfig/scripts/linux/mcfgs,sha256=
|
|
113
|
+
machineconfig/scripts/linux/mcfgs,sha256=tjlIG2qEpmx1EuMBYflYcp6GfgiFgSj4OMOD-d94xio,1179
|
|
110
114
|
machineconfig/scripts/linux/skrg,sha256=JgQJGwxaChr148bDnpTB0rrqZMe2o2zGSDA9x_oUhWM,133
|
|
111
|
-
machineconfig/scripts/linux/
|
|
112
|
-
machineconfig/scripts/linux/z_ls,sha256=h5YJYfnJrmtLe4c2iKk5aZdaK_Zeaj3CpQX8SSr7fr0,3310
|
|
115
|
+
machineconfig/scripts/linux/term,sha256=CNPY8p6SitOmtOPKXPervPPabjJNYBerA12SHN_v7w4,1139
|
|
113
116
|
machineconfig/scripts/linux/other/share_cloud.sh,sha256=lIZrXiaOT11kzu4NFNTXvANhc2bMdSPDYD1-7XUO_C0,2027
|
|
114
117
|
machineconfig/scripts/linux/other/share_nfs,sha256=LDQZQ9TV7z2y7RtNHiO4Wb513MztyGjaAV-GzTGwUdc,1374
|
|
115
|
-
machineconfig/scripts/linux/other/share_smb,sha256=HZX8BKgMlS9JzkGIYnxTsPvoxEBBuVLVkqzR3pmGFGY,20
|
|
116
118
|
machineconfig/scripts/linux/other/start_docker,sha256=_yDN_PPqgzSUnPT7dmniMTpL4IfeeaGy1a2OL3IJlDU,525
|
|
117
119
|
machineconfig/scripts/linux/other/switch_ip,sha256=NQfeKMBSbFY3eP6M-BadD-TQo5qMP96DTp77KHk2tU8,613
|
|
118
120
|
machineconfig/scripts/python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -121,16 +123,17 @@ machineconfig/scripts/python/cloud.py,sha256=yAD6ciKiEtv2CH3g2NScDK5cpCZQi7Vu8yy
|
|
|
121
123
|
machineconfig/scripts/python/croshell.py,sha256=QyQbVboNqDQHJkUeSsJvdT212t4TW46yat3GBzneqsQ,8649
|
|
122
124
|
machineconfig/scripts/python/devops.py,sha256=Lv4d-UlyOREj4VTcu_pxswYo54Mawe3XGeKjreGQDYg,2222
|
|
123
125
|
machineconfig/scripts/python/devops_navigator.py,sha256=5Cm384D4S8_GsvMzTwr0C16D0ktf8_5Mk5bEJncwDO8,237
|
|
124
|
-
machineconfig/scripts/python/fire_jobs.py,sha256=
|
|
126
|
+
machineconfig/scripts/python/fire_jobs.py,sha256=bW2RHIP1qD54d_WZHflNwTej7lrdE8OOuJ7ZKQpiB8I,13897
|
|
125
127
|
machineconfig/scripts/python/ftpx.py,sha256=A13hL_tDYfcsaK9PkshK-0lrUS6KPhPCtwqWtLSo6IM,9764
|
|
126
128
|
machineconfig/scripts/python/interactive.py,sha256=zt3g6nGKR_Y5A57UnR4Y5-JpLzrpnCOSaqU1bnaikK0,11666
|
|
127
129
|
machineconfig/scripts/python/mcfg.py,sha256=TB5lZDZDImGqX4_mMSEv4ZoFigIPA0RXn-9H2cmPS6g,2457
|
|
128
130
|
machineconfig/scripts/python/sessions.py,sha256=JfN8M7r7f8DkfiGJ4jz2NfXvABm90nOZJmLGxPgw_2M,9518
|
|
129
|
-
machineconfig/scripts/python/
|
|
131
|
+
machineconfig/scripts/python/terminal.py,sha256=5D0RlZkx9ut5WlwjDI8j-t_z6u-H_jJD1eKBnWy_TGU,5191
|
|
132
|
+
machineconfig/scripts/python/utils.py,sha256=1960YceYJyjo0UFAiVaxIMIXm031wdYRA8l1U6k6h9s,3282
|
|
130
133
|
machineconfig/scripts/python/ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
131
134
|
machineconfig/scripts/python/ai/generate_files.py,sha256=VfjKdwgF8O6E4oiRtfWNliibLmmwGe7f9ld6wpOsXTw,14498
|
|
132
135
|
machineconfig/scripts/python/ai/initai.py,sha256=P4-NCLJPWeNef_k-l4TQ92AB1Xm1k3xzdqSBIjmevnQ,1573
|
|
133
|
-
machineconfig/scripts/python/ai/vscode_tasks.py,sha256=
|
|
136
|
+
machineconfig/scripts/python/ai/vscode_tasks.py,sha256=OF8q4oKu53lJy8u36h3alHx3XmMhqHaaXZ-T5nr7b18,1481
|
|
134
137
|
machineconfig/scripts/python/ai/command_runner/command_runner.sh,sha256=PRaQyeI3lDi3s8pm_0xZc71gRvUFO0bEt8o1g1rwwD4,761
|
|
135
138
|
machineconfig/scripts/python/ai/command_runner/prompt.txt,sha256=-2NFBMf-8yk5pOe-3LBX3RTIhqIZHJS_m-v4k-j9sWI,779
|
|
136
139
|
machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1,sha256=m_z4vzLrvi6bgTZumN8twcbIWb9i8ZHfVJPE8jPdxyc,5074
|
|
@@ -159,7 +162,7 @@ machineconfig/scripts/python/ai/solutions/opencode/opencode.json,sha256=nahHKRw1
|
|
|
159
162
|
machineconfig/scripts/python/ai/solutions/opencode/opencode.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
160
163
|
machineconfig/scripts/python/env_manager/__init__.py,sha256=E4LAHbU1wo2dLjE36ntv8U7QNTe8TasujUAYK9SLvWk,6
|
|
161
164
|
machineconfig/scripts/python/env_manager/path_manager_backend.py,sha256=ZVGlGJALhg7zNABDdwXxL7MFbL2BXPebObipXSLGbic,1552
|
|
162
|
-
machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=
|
|
165
|
+
machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=fu03lfRAzf7NSyMdbKFfA-eqNWtUeyZAF02QAiOxEY8,6932
|
|
163
166
|
machineconfig/scripts/python/helpers_cloud/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
164
167
|
machineconfig/scripts/python/helpers_cloud/cloud_copy.py,sha256=OV1w3ajFVFs6FJytjIPOntYB_aW2ywGohKi73V4Dm2Y,8691
|
|
165
168
|
machineconfig/scripts/python/helpers_cloud/cloud_helpers.py,sha256=GA-bxXouUmknk9fyQAsPT-Xl3RG9-yBed71a2tu9Pig,4914
|
|
@@ -175,15 +178,15 @@ machineconfig/scripts/python/helpers_croshell/start_slidev.py,sha256=HfJReOusTPh
|
|
|
175
178
|
machineconfig/scripts/python/helpers_croshell/viewer.py,sha256=heQNjB9fwn3xxbPgMofhv1Lp6Vtkl76YjjexWWBM0pM,2041
|
|
176
179
|
machineconfig/scripts/python/helpers_croshell/viewer_template.py,sha256=ve3Q1-iKhCLc0VJijKvAeOYp2xaFOeIOC_XW956GWCc,3944
|
|
177
180
|
machineconfig/scripts/python/helpers_devops/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
178
|
-
machineconfig/scripts/python/helpers_devops/cli_config.py,sha256=
|
|
181
|
+
machineconfig/scripts/python/helpers_devops/cli_config.py,sha256=Dt1ePdB8oIz2cBZNKdzhWqEa8Fe9C5gLrh55qoYZmMY,7218
|
|
179
182
|
machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py,sha256=fluxRtD6hlbh131_RmeKr2Dy8tZpeC4H9-wp2sYt0dM,2486
|
|
180
183
|
machineconfig/scripts/python/helpers_devops/cli_data.py,sha256=79Xvx7YnbueruEnl69hrDg2AhVxf_zCUdlVcKfeMGyQ,1774
|
|
181
|
-
machineconfig/scripts/python/helpers_devops/cli_nw.py,sha256=
|
|
184
|
+
machineconfig/scripts/python/helpers_devops/cli_nw.py,sha256=edeZPhQrm-hvOx80TPt9GNZXlXq9kkTaRSZSpNdku8w,6441
|
|
182
185
|
machineconfig/scripts/python/helpers_devops/cli_repos.py,sha256=Xwkv1adqHZvTfRSPWiqSK3PZ1XADyx3llw_YkbxaKyE,12505
|
|
183
|
-
machineconfig/scripts/python/helpers_devops/cli_self.py,sha256
|
|
186
|
+
machineconfig/scripts/python/helpers_devops/cli_self.py,sha256=-XLkpJHc9s-Hi9ZiLPzCIV1gdeQwsbOIlpchxJNV4Gs,6225
|
|
184
187
|
machineconfig/scripts/python/helpers_devops/cli_share_server.py,sha256=q9pFJ6AxPuygMr3onMNOKEuuQHbVE_6Qoyo7xRT5FX0,4196
|
|
185
188
|
machineconfig/scripts/python/helpers_devops/cli_terminal.py,sha256=k_PzXaiGyE0vXr0Ii1XcJz2A7UvyPJrR31TRWt4RKRI,6019
|
|
186
|
-
machineconfig/scripts/python/helpers_devops/cli_utils.py,sha256=
|
|
189
|
+
machineconfig/scripts/python/helpers_devops/cli_utils.py,sha256=P_PoJnY8ltCmhCarh74dxF2cm5cRBeyU95xPrRzJANU,10182
|
|
187
190
|
machineconfig/scripts/python/helpers_devops/devops_backup_retrieve.py,sha256=Dn8luB6QJzxKiiFSC-NMqiYddWZoca3A8eOjMYZDzTc,5598
|
|
188
191
|
machineconfig/scripts/python/helpers_devops/devops_status.py,sha256=PJVPhfhXq8der6Xd-_fjZfnizfM-RGfJApkRGhGBmNo,20525
|
|
189
192
|
machineconfig/scripts/python/helpers_devops/devops_update_repos.py,sha256=kSln8_-Wn7Qu0NaKdt-QTN_bBVyTIAWHH8xVYKK-vCM,10133
|
|
@@ -197,7 +200,7 @@ machineconfig/scripts/python/helpers_fire/fire_agents_help_launch.py,sha256=GBhi
|
|
|
197
200
|
machineconfig/scripts/python/helpers_fire/fire_agents_help_search.py,sha256=qIfSS_su2YJ1Gb0_lu4cbjlJlYMBw0v52NTGiSrGjk8,2991
|
|
198
201
|
machineconfig/scripts/python/helpers_fire/fire_agents_helper_types.py,sha256=umX-Na6W_8kGZX7ccElnvGP8yxJ8prGBiG3-dO9vXJ0,1304
|
|
199
202
|
machineconfig/scripts/python/helpers_fire/fire_agents_load_balancer.py,sha256=mpqx3uaQdBXYieuvhdK-qsvLepf9oIMo3pwPj9mSEDI,1079
|
|
200
|
-
machineconfig/scripts/python/helpers_fire/helpers4.py,sha256=
|
|
203
|
+
machineconfig/scripts/python/helpers_fire/helpers4.py,sha256=VCrnv5n42SbDXKDJ8VNu_bA0UruTLWXQBK9SxhflzTY,5477
|
|
201
204
|
machineconfig/scripts/python/helpers_fire/prompt.txt,sha256=Ni6r-Dh0Ez2XwfOZl3MOMDhfn6BJ2z4IdK3wFvA3c_o,116
|
|
202
205
|
machineconfig/scripts/python/helpers_fire/template.ps1,sha256=9F7h9NMIJisunMIii2wETpgonQmiGLHLHfWg9k_QWKo,859
|
|
203
206
|
machineconfig/scripts/python/helpers_fire/template.sh,sha256=rOND8s0-MuymFMn6lUspa0SkDikQkKlnJRl2Kyo57Ho,837
|
|
@@ -222,7 +225,7 @@ machineconfig/scripts/python/helpers_navigator/search_bar.py,sha256=kDi8Jhxap8wd
|
|
|
222
225
|
machineconfig/scripts/python/helpers_repos/action.py,sha256=8je051kpGZ7A_GRsQyWKhPZ8xVW7tSm4bnPu6VjxaXk,9755
|
|
223
226
|
machineconfig/scripts/python/helpers_repos/action_helper.py,sha256=XRCtkGkNrxauqUd9qkxtfJt02Mx2gejSYDLL0jyWn24,6176
|
|
224
227
|
machineconfig/scripts/python/helpers_repos/clone.py,sha256=UULEG5xJuXlPGU0nqXH6U45jA9DOFqLw8B4iPytCwOQ,5471
|
|
225
|
-
machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=
|
|
228
|
+
machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=ZiQgOHuc0GYGSmIOB833W-5C4Plt75FpgeYcRipraak,10450
|
|
226
229
|
machineconfig/scripts/python/helpers_repos/count_lines.py,sha256=Q5c7b-DxvTlQmljoic7niTuiAVyFlwYvkVQ7uRJHiTo,16009
|
|
227
230
|
machineconfig/scripts/python/helpers_repos/count_lines_frontend.py,sha256=vSDtrF4829jziwp6WZmGt9G8MJ9jY4hfXqtf0vhkYSE,607
|
|
228
231
|
machineconfig/scripts/python/helpers_repos/entrypoint.py,sha256=WYEFGUJp9HWImlFjbs_hiFZrUqM_KEYm5VvSUjWd04I,2810
|
|
@@ -238,7 +241,7 @@ machineconfig/scripts/python/nw/add_ssh_key.py,sha256=9JLmWu8pE7PAL5VuCFd19iVEdC
|
|
|
238
241
|
machineconfig/scripts/python/nw/devops_add_identity.py,sha256=aPjcHbTLhxYwWYcandyAHdwuO15ZBu3fB82u6bI0tMQ,3773
|
|
239
242
|
machineconfig/scripts/python/nw/devops_add_ssh_key.py,sha256=CkIl85hZLtG9k7yXLSzqi88YrilHV4hIUWHAPBwxWjw,8922
|
|
240
243
|
machineconfig/scripts/python/nw/mount_drive,sha256=zemKofv7hOmRN_V3qK0q580GkfWw3VdikyVVQyiu8j8,3514
|
|
241
|
-
machineconfig/scripts/python/nw/mount_nfs,sha256=
|
|
244
|
+
machineconfig/scripts/python/nw/mount_nfs,sha256=YcDHqe9fEnOk01qEd4ItnlHZr2GQce-e-o7V3HHK-pI,1855
|
|
242
245
|
machineconfig/scripts/python/nw/mount_nfs.py,sha256=lOMDY4RS7tx8gsCazVR5tNNwFbaRyO2PJlnwBCDQgCM,3573
|
|
243
246
|
machineconfig/scripts/python/nw/mount_nw_drive,sha256=BqjGBCbwe5ZAsZDO3L0zHhh_gJfZy1CYOcqXA4Y-WkQ,2262
|
|
244
247
|
machineconfig/scripts/python/nw/mount_nw_drive.py,sha256=iru6AtnTyvyuk6WxlK5R4lDkuliVpPV5_uBTVVhXtjQ,1550
|
|
@@ -247,16 +250,17 @@ machineconfig/scripts/python/nw/mount_ssh.py,sha256=qt0P4T4pheszexBxaDeLVrGdLIVR
|
|
|
247
250
|
machineconfig/scripts/python/nw/onetimeshare.py,sha256=xRd8by6qUm-od2Umty2MYsXyJwzXw-CBTd7VellNaKY,2498
|
|
248
251
|
machineconfig/scripts/python/nw/ssh_debug_linux.py,sha256=VSFhyzYQeLIoSwsUFJFW1Wc89DinrpZ_YxyYB2Ndy-4,30966
|
|
249
252
|
machineconfig/scripts/python/nw/ssh_debug_windows.py,sha256=2prJs3PMsoAUu5LlZhHIKGVgqj7h6OviGEjAMJLJ7LI,29986
|
|
250
|
-
machineconfig/scripts/python/nw/wifi_conn.py,sha256=
|
|
253
|
+
machineconfig/scripts/python/nw/wifi_conn.py,sha256=wnSs16kHwhELS7wX3UtRVXgR_5En-x4nD27_JpJIflw,13590
|
|
251
254
|
machineconfig/scripts/python/nw/wsl_windows_transfer.py,sha256=jHJyFTuks_Kw4cgE8xuGDVjO_71JgICrsV9ZQt53meY,3524
|
|
252
255
|
machineconfig/scripts/windows/fzfb.ps1,sha256=Bmngm2aY8hnPa3iKAOK6EPDYdKzGLUc81wYOnJhNoqg,149
|
|
253
256
|
machineconfig/scripts/windows/fzfg.ps1,sha256=CHJbMrMuZePd4dxwIwz3g4XWAEmWmckuX-Nrx2xgRkg,27
|
|
254
257
|
machineconfig/scripts/windows/fzfrga.bat,sha256=rU_KBMO6ii2EZ0akMnmDk9vpuhKSUZqkV0o8a8ywXcM,488
|
|
255
258
|
machineconfig/scripts/windows/mcfgs.ps1,sha256=uuK5pEz38D3_SOjfhbvkDT8Kt4I62YhNzkExlW8VSps,577
|
|
259
|
+
machineconfig/scripts/windows/term.ps1,sha256=nme_OWis84qN-zI2c0rdysNcDIdoaEKajXZhP2QioQs,1742
|
|
256
260
|
machineconfig/scripts/windows/mounts/mount_nfs.ps1,sha256=XrAdzpxE6a4OccSmWJ7YWHJTnsZK8uXnFE5j9GOPA20,2026
|
|
257
261
|
machineconfig/scripts/windows/mounts/mount_nw.ps1,sha256=puxcfZc3ZCJerm8pj8OZGVoTYkhzp-h7oV-MrksSqIE,454
|
|
258
262
|
machineconfig/scripts/windows/mounts/mount_smb.ps1,sha256=PzYWpIO9BpwXjdWlUQL9pnMRnOGNSkxfh4bHukJFme8,69
|
|
259
|
-
machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=
|
|
263
|
+
machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=fK9_qWP_-xCfvM1eexaOgWp32HYZGq257_s448V5I44,322
|
|
260
264
|
machineconfig/scripts/windows/mounts/share_cloud.cmd,sha256=exD7JCdxw2LqVjw2MKCYHbVZlEqmelXtwnATng-dhJ4,1028
|
|
261
265
|
machineconfig/scripts/windows/mounts/share_smb.ps1,sha256=U7x8ULYSjbgzTtiHNSKQuTaZ_apilDvkGV5Xm5hXk5M,384
|
|
262
266
|
machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1,sha256=Wv-SLscdckV-1mG3p82VXKPY9zW3hgkRmcLUXIZ1daE,253
|
|
@@ -327,7 +331,7 @@ machineconfig/settings/rofi/config.rasi,sha256=nDX5B8wdXQYF1fwiOTBRJUI4l_gQbYaLa
|
|
|
327
331
|
machineconfig/settings/rofi/config_default.rasi,sha256=rTfKnC-bZuWX1l-lWQACCUOE1ShhkfykAxtXX9PlQHE,4694
|
|
328
332
|
machineconfig/settings/shells/alacritty/alacritty.toml,sha256=EbL-2Y4QunW1pvRWB2yuLCw8MMPONheJr5LFoWRieUQ,871
|
|
329
333
|
machineconfig/settings/shells/alacritty/alacritty.yml,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
330
|
-
machineconfig/settings/shells/bash/init.sh,sha256=
|
|
334
|
+
machineconfig/settings/shells/bash/init.sh,sha256=JiZ6UUar6nmNiu9-sMemYnxIF6pjVlqxBMwKKq8hu9o,2709
|
|
331
335
|
machineconfig/settings/shells/hyper/.hyper.js,sha256=h-HqeYlvPvPD4Ee7828Cxo87uVkzbMGJFqXTZIWoegw,8884
|
|
332
336
|
machineconfig/settings/shells/ipy/profiles/default/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
333
337
|
machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -335,7 +339,7 @@ machineconfig/settings/shells/ipy/profiles/default/startup/playext.py,sha256=OJ3
|
|
|
335
339
|
machineconfig/settings/shells/kitty/kitty.conf,sha256=lDdx-dUX3jbKGb3BkS2f2TOpmgGiS-CI-_-lFvhD5A4,52870
|
|
336
340
|
machineconfig/settings/shells/nushell/config.nu,sha256=xtko80MPteDXuOJmwJHNFhXmfHT6fIBfmTgsF29GiEc,748
|
|
337
341
|
machineconfig/settings/shells/nushell/env.nu,sha256=4VmaXb-qP6qnMD5TPzkXMLFNlB5QC4l9HEzCvXZE2GQ,315
|
|
338
|
-
machineconfig/settings/shells/pwsh/init.ps1,sha256=
|
|
342
|
+
machineconfig/settings/shells/pwsh/init.ps1,sha256=5DfRhHt8kMSh74JbW4ALJOH6NRa_MlRgG34ouew7qsc,2000
|
|
339
343
|
machineconfig/settings/shells/pwsh/profile.ps1,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
340
344
|
machineconfig/settings/shells/starship/starship.toml,sha256=5rQTY7ZpKnrnhgu2Y9OJKUYMz5lPLIftO1p1VRuVZwQ,1150
|
|
341
345
|
machineconfig/settings/shells/vtm/settings.xml,sha256=5TNXd-i0eUGo2w3tuhY9aOkwoJdqih8_HO_U6uL2Dts,18262
|
|
@@ -373,7 +377,7 @@ machineconfig/setup_linux/others/cli_installation.sh,sha256=gVvszYZJgKPRJx2SEaE3
|
|
|
373
377
|
machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh,sha256=F5dbg0n9RHsKGPn8fIdZMn3p0RrHEkb8rWBGsdVGbus,1207
|
|
374
378
|
machineconfig/setup_linux/ssh/openssh_all.sh,sha256=3dg6HEUFbHQOzLfSAtzK_D_GB8rGCCp_aBnxNdnidVc,824
|
|
375
379
|
machineconfig/setup_linux/ssh/openssh_wsl.sh,sha256=1eeRGrloVB34K5z8yWVUMG5b9pV-WBfHgV9jqXiYgCQ,1398
|
|
376
|
-
machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=
|
|
380
|
+
machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=s1HGck3ZSTz2OhybyA42K-s2mEOjrJouElzmwOwuS9Y,488
|
|
377
381
|
machineconfig/setup_mac/__init__.py,sha256=Q1waupi5vCBroLqc8Rtnw69_7jLnm2Cs7_zH_GSZgMs,616
|
|
378
382
|
machineconfig/setup_mac/apps.sh,sha256=R0N6fBwLCzwy4qAormyMerXXXrHazibSkY6NrNOpTQU,2772
|
|
379
383
|
machineconfig/setup_mac/uv.sh,sha256=CSN8oCBKS-LK1vJJqYOhAMcrouTf4Q_F3cpplc_ddMA,1157
|
|
@@ -387,25 +391,25 @@ machineconfig/setup_windows/others/power_options.ps1,sha256=c7Hn94jBD5GWF29CxMhm
|
|
|
387
391
|
machineconfig/setup_windows/ssh/add-sshkey.ps1,sha256=qfPdqCpd9KP3VhH4ifsUm1Xvec7c0QVl4Wt8JIAm9HQ,1653
|
|
388
392
|
machineconfig/setup_windows/ssh/add_identity.ps1,sha256=b8ZXpmNUSw3IMYvqSY7ClpdWPG39FS7MefoWnRhWN2U,506
|
|
389
393
|
machineconfig/setup_windows/ssh/openssh-server.ps1,sha256=OMlYQdvuJQNxF5EILLPizB6BZAT3jAmDsv1WcVVxpFQ,2529
|
|
390
|
-
machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=
|
|
394
|
+
machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=Jq0jg6azu1wPPybq2gsxpQoOKlcMdSxXmELKgGCyBsU,616
|
|
391
395
|
machineconfig/setup_windows/wt_and_pwsh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
392
396
|
machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py,sha256=ogxJnwpdcpH7N6dFJu95UCNoGYirZKQho_3X0F_hmXs,6791
|
|
393
397
|
machineconfig/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
394
398
|
machineconfig/utils/accessories.py,sha256=Rs8R0GUb2Ub6YimkgXHnI02CShS5BKlrZdCigVxfPlk,4339
|
|
395
|
-
machineconfig/utils/code.py,sha256=
|
|
396
|
-
machineconfig/utils/installer.py,sha256=
|
|
399
|
+
machineconfig/utils/code.py,sha256=yEsBswdx94hZedsb_Gy0-H6_CeivHzOiv8-aK9tGIgg,5823
|
|
400
|
+
machineconfig/utils/installer.py,sha256=m92KwGeep0FrT8V42xJDQdcT74HK9RB-xza0Ii50nHA,10376
|
|
397
401
|
machineconfig/utils/io.py,sha256=4dSieoqZO8Vvi4vW8lLoITDHBvmFp4dtl3kyeZHQ6Co,2528
|
|
398
402
|
machineconfig/utils/links.py,sha256=KM6vIn3hag9FYEzLSHP5MAM9tU_RStw2mCq2_OvmmZA,23672
|
|
399
403
|
machineconfig/utils/meta.py,sha256=RXbq3_DSFAFNAEt9GjWqP2TjCWUs0v7gAkKCgRpdwO8,9853
|
|
400
404
|
machineconfig/utils/notifications.py,sha256=tuXIudcip0tEioG-bm8BbLr3FMDve4f6BktlznBhKxM,9013
|
|
401
|
-
machineconfig/utils/options.py,sha256=
|
|
405
|
+
machineconfig/utils/options.py,sha256=VWYx3EKJxIp-CJ8gDGYdjclKSc1tMUhyrC8v3seeneo,7447
|
|
402
406
|
machineconfig/utils/path_extended.py,sha256=WyJwoHnXdvSQQJ-yrxTX78FpqYmgVeKDYpNEB9UsRck,53223
|
|
403
|
-
machineconfig/utils/path_helper.py,sha256=
|
|
407
|
+
machineconfig/utils/path_helper.py,sha256=Yxj8qlf-g_254-dfvRx5rlisM2WA0P-BhZBEbmReeys,8095
|
|
404
408
|
machineconfig/utils/procs.py,sha256=YPA_vEYQGwPd_o_Lc6nOTBo5BrB1tSs8PJ42XiGpenM,10957
|
|
405
409
|
machineconfig/utils/scheduler.py,sha256=fguwvINyaupOxdU5Uadyxalh_jXTXDzt0ioEgjEOKcM,14705
|
|
406
|
-
machineconfig/utils/scheduling.py,sha256=
|
|
410
|
+
machineconfig/utils/scheduling.py,sha256=vcJgajeJPSWkJNlarYJSmLvasdOuCtBM4druOAB1Nwc,11089
|
|
407
411
|
machineconfig/utils/source_of_truth.py,sha256=ZAnCRltiM07ig--P6g9_6nEAvNFC4X4ERFTVcvpIYsE,764
|
|
408
|
-
machineconfig/utils/ssh.py,sha256=
|
|
412
|
+
machineconfig/utils/ssh.py,sha256=QeS0SHvtJzGtXTbC_7Qns--QjQlfk0uIDT--vOKA9OA,39008
|
|
409
413
|
machineconfig/utils/terminal.py,sha256=VDgsjTjBmMGgZN0YIc0pJ8YksLDrBtiXON1EThy7_is,4264
|
|
410
414
|
machineconfig/utils/tst.py,sha256=6u1GI49NdcpxH2BYGAusNfY5q9G_ytCGVzFM5b6HYpM,674
|
|
411
415
|
machineconfig/utils/upgrade_packages.py,sha256=TCohwiwc0btSsInOloxDVuk5i88yc1vBK8RZcoMWoUw,3425
|
|
@@ -434,8 +438,8 @@ machineconfig/utils/schemas/installer/installer_types.py,sha256=QClRY61QaduBPJoS
|
|
|
434
438
|
machineconfig/utils/schemas/layouts/layout_types.py,sha256=TcqlZdGVoH8htG5fHn1KWXhRdPueAcoyApppZsPAPto,2020
|
|
435
439
|
machineconfig/utils/schemas/repos/repos_types.py,sha256=ECVr-3IVIo8yjmYmVXX2mnDDN1SLSwvQIhx4KDDQHBQ,405
|
|
436
440
|
machineconfig/utils/ssh_utils/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
437
|
-
machineconfig-6.
|
|
438
|
-
machineconfig-6.
|
|
439
|
-
machineconfig-6.
|
|
440
|
-
machineconfig-6.
|
|
441
|
-
machineconfig-6.
|
|
441
|
+
machineconfig-6.85.dist-info/METADATA,sha256=1GTj08560el2P_sSeVjfViYjV0ZJoVX5E--oKQiFWRQ,2928
|
|
442
|
+
machineconfig-6.85.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
443
|
+
machineconfig-6.85.dist-info/entry_points.txt,sha256=uf_ZPJa02_y3Fw5Z7m22cq7PwxhYd1QV2FfPNZTl_dQ,519
|
|
444
|
+
machineconfig-6.85.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
|
|
445
|
+
machineconfig-6.85.dist-info/RECORD,,
|
|
@@ -7,4 +7,5 @@ fire = machineconfig.scripts.python.fire_jobs:main
|
|
|
7
7
|
ftpx = machineconfig.scripts.python.ftpx:main
|
|
8
8
|
mcfg = machineconfig.scripts.python.mcfg:main
|
|
9
9
|
sessions = machineconfig.scripts.python.sessions:main
|
|
10
|
+
terminal = machineconfig.scripts.python.terminal:main
|
|
10
11
|
utils = machineconfig.scripts.python.utils:main
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|