machineconfig 6.42__py3-none-any.whl → 6.44__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/zellij_remote.py +2 -2
- machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +2 -2
- machineconfig/scripts/python/agents.py +1 -1
- machineconfig/scripts/python/croshell.py +10 -52
- machineconfig/scripts/python/croshell_helpers/crosh.py +43 -0
- machineconfig/scripts/python/devops.py +3 -1
- machineconfig/scripts/python/devops_helpers/cli_config.py +5 -2
- machineconfig/scripts/python/devops_helpers/cli_nw.py +1 -1
- machineconfig/scripts/python/devops_helpers/cli_repos.py +11 -11
- machineconfig/scripts/python/devops_helpers/cli_self.py +26 -22
- machineconfig/scripts/python/devops_helpers/cli_utils.py +17 -11
- machineconfig/scripts/python/entry.py +5 -5
- machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
- machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +8 -3
- machineconfig/scripts/python/helpers_repos/grource.py +1 -1
- machineconfig/scripts/python/interactive.py +5 -7
- machineconfig/scripts/python/nw/mount_nfs +1 -1
- machineconfig/scripts/python/repos_helpers/count_lines_frontend.py +1 -1
- machineconfig/scripts/python/sessions.py +1 -1
- machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
- machineconfig/settings/lf/linux/exe/fzf_nano.sh +2 -2
- machineconfig/settings/lf/linux/lfrc +10 -11
- machineconfig/settings/lf/windows/fzf_edit.ps1 +2 -2
- machineconfig/settings/lf/windows/lfrc +2 -2
- machineconfig/settings/lf/windows/mkfile.ps1 +1 -1
- machineconfig/setup_linux/web_shortcuts/interactive.sh +2 -2
- machineconfig/setup_windows/web_shortcuts/interactive.ps1 +2 -2
- machineconfig/utils/ssh.py +1 -1
- {machineconfig-6.42.dist-info → machineconfig-6.44.dist-info}/METADATA +1 -1
- {machineconfig-6.42.dist-info → machineconfig-6.44.dist-info}/RECORD +33 -32
- {machineconfig-6.42.dist-info → machineconfig-6.44.dist-info}/WHEEL +0 -0
- {machineconfig-6.42.dist-info → machineconfig-6.44.dist-info}/entry_points.txt +0 -0
- {machineconfig-6.42.dist-info → machineconfig-6.44.dist-info}/top_level.txt +0 -0
|
@@ -141,8 +141,8 @@ if __name__ == "__main__":
|
|
|
141
141
|
sample_layout: LayoutConfig = {
|
|
142
142
|
"layoutName": "RemoteBots",
|
|
143
143
|
"layoutTabs": [
|
|
144
|
-
{"tabName": "🤖Bot1", "startDir": "~/code/bytesense/bithence", "command": "
|
|
145
|
-
{"tabName": "🤖Bot2", "startDir": "~/code/bytesense/bithence", "command": "
|
|
144
|
+
{"tabName": "🤖Bot1", "startDir": "~/code/bytesense/bithence", "command": "fire -mO go1.py bot1 -- --create_new_bot=True"},
|
|
145
|
+
{"tabName": "🤖Bot2", "startDir": "~/code/bytesense/bithence", "command": "fire -mO go2.py bot2 -- --create_new_bot=True"},
|
|
146
146
|
{"tabName": "📊Monitor", "startDir": "~", "command": "htop"},
|
|
147
147
|
{"tabName": "📝Logs", "startDir": "/var/log", "command": "tail -f /var/log/app.log"},
|
|
148
148
|
],
|
|
@@ -17,8 +17,8 @@ def example_usage():
|
|
|
17
17
|
sample_layout: LayoutConfig = {
|
|
18
18
|
"layoutName": "ExampleRemoteSession",
|
|
19
19
|
"layoutTabs": [
|
|
20
|
-
{"tabName": "🤖Bot1", "startDir": "~/code/bytesense/bithence", "command": "
|
|
21
|
-
{"tabName": "🤖Bot2", "startDir": "~/code/bytesense/bithence", "command": "
|
|
20
|
+
{"tabName": "🤖Bot1", "startDir": "~/code/bytesense/bithence", "command": "fire -mO go1.py bot1 -- --create_new_bot=True"},
|
|
21
|
+
{"tabName": "🤖Bot2", "startDir": "~/code/bytesense/bithence", "command": "fire -mO go2.py bot2 -- --create_new_bot=True"},
|
|
22
22
|
{"tabName": "📊Monitor", "startDir": "~", "command": "htop"},
|
|
23
23
|
{"tabName": "📝Logs", "startDir": "/var/log", "command": "tail -f /var/log/app.log"},
|
|
24
24
|
],
|
|
@@ -160,7 +160,7 @@ def init_config():
|
|
|
160
160
|
add_ai_configs(repo_root=Path.cwd())
|
|
161
161
|
|
|
162
162
|
def get_app():
|
|
163
|
-
agents_app = typer.Typer(help="🤖 AI Agents management subcommands", no_args_is_help=True)
|
|
163
|
+
agents_app = typer.Typer(help="🤖 AI Agents management subcommands", no_args_is_help=True, add_help_option=False, add_completion=False)
|
|
164
164
|
sep = "\n"
|
|
165
165
|
agents_full_help = f"""
|
|
166
166
|
[c] Create agents layout file, ready to run.
|
|
@@ -5,63 +5,19 @@ croshell
|
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
7
|
from typing import Annotated, Optional
|
|
8
|
+
from machineconfig.scripts.python.croshell_helpers.crosh import add_print_header_pycode
|
|
9
|
+
from machineconfig.scripts.python.croshell_helpers.crosh import get_read_data_pycode
|
|
8
10
|
import typer
|
|
9
11
|
from machineconfig.utils.path_extended import PathExtended
|
|
12
|
+
from pathlib import Path
|
|
10
13
|
from machineconfig.utils.accessories import randstr
|
|
11
14
|
import json
|
|
12
|
-
# import shutil
|
|
13
|
-
|
|
14
15
|
from machineconfig.utils.options import choose_from_options
|
|
15
16
|
from rich.console import Console
|
|
16
17
|
from rich.panel import Panel
|
|
17
|
-
# from machineconfig.utils.ve import get_ve_path_and_ipython_profile
|
|
18
|
-
# from pathlib import Path
|
|
19
|
-
# from rich.text import Text
|
|
20
|
-
|
|
21
|
-
console = Console()
|
|
22
18
|
|
|
23
19
|
|
|
24
|
-
def add_print_header_pycode(path: str, title: str):
|
|
25
|
-
return f"""
|
|
26
|
-
|
|
27
|
-
from machineconfig.utils.path_extended import PathExtended
|
|
28
|
-
pycode = PathExtended(r'{path}').read_text(encoding="utf-8")
|
|
29
|
-
pycode = pycode.split("except Exception: print(pycode)")[2]
|
|
30
|
-
|
|
31
|
-
try:
|
|
32
|
-
from rich.text import Text
|
|
33
|
-
from rich.panel import Panel
|
|
34
|
-
from rich.console import Console
|
|
35
|
-
from rich.syntax import Syntax
|
|
36
|
-
console = Console()
|
|
37
|
-
if pycode.strip() != "":
|
|
38
|
-
console.print(Panel(Syntax(pycode, lexer="python"), title='{title}'), style="bold red")
|
|
39
|
-
except Exception: print(pycode)
|
|
40
|
-
"""
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
def get_read_data_pycode(path: str):
|
|
44
|
-
return f"""
|
|
45
|
-
from rich.panel import Panel
|
|
46
|
-
from rich.text import Text
|
|
47
|
-
from rich.console import Console
|
|
48
20
|
console = Console()
|
|
49
|
-
p = PathExtended(r'{path}').absolute()
|
|
50
|
-
try:
|
|
51
|
-
from machineconfig.utils.files.read import Read
|
|
52
|
-
from machineconfig.utils.accessories import pprint
|
|
53
|
-
dat = Read.read(p)
|
|
54
|
-
if isinstance(dat, dict):
|
|
55
|
-
panel_title = f"📄 File Data: {{p.name}}"
|
|
56
|
-
console.print(Panel(Text(str(dat), justify="left"), title=panel_title, expand=False))
|
|
57
|
-
pprint(dat, PathExtended.name)
|
|
58
|
-
else:
|
|
59
|
-
panel_title = f"📄 Successfully read the file: {{p.name}}"
|
|
60
|
-
console.print(Panel(Text(str(dat), justify="left"), title=panel_title, expand=False))
|
|
61
|
-
except Exception as e:
|
|
62
|
-
error_message = f'''❌ ERROR READING FILE\nFile: {{p.name}}\nError: {{e}}'''
|
|
63
|
-
console.print(Panel(Text(error_message, justify="left"), title="Error", expand=False, border_style="red"))
|
|
64
|
-
"""
|
|
65
21
|
|
|
66
22
|
|
|
67
23
|
def croshell(
|
|
@@ -164,19 +120,21 @@ from pathlib import Path
|
|
|
164
120
|
if visidata:
|
|
165
121
|
fire_line = f"uv run --with visidata,pyarrow vd {str(file_obj)}"
|
|
166
122
|
elif marimo:
|
|
123
|
+
if Path.home().joinpath("code/machineconfig").exists(): requirements = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" """
|
|
124
|
+
else: requirements = """--with "marimo,machineconfig[plot]>=6.44" """
|
|
167
125
|
fire_line = f"""
|
|
168
126
|
cd {str(pyfile.parent)}
|
|
169
|
-
uv run --with marimo marimo convert {pyfile.name} -o marimo_nb.py
|
|
170
|
-
uv run
|
|
127
|
+
uv run --with "marimo" marimo convert {pyfile.name} -o marimo_nb.py
|
|
128
|
+
uv run {requirements} marimo edit --host 0.0.0.0 marimo_nb.py
|
|
171
129
|
"""
|
|
172
130
|
elif jupyter:
|
|
173
|
-
fire_line = f"uv run --with 'machineconfig[plot]>=6.
|
|
131
|
+
fire_line = f"uv run --with 'machineconfig[plot]>=6.44' jupyter-lab {str(nb_target)}"
|
|
174
132
|
elif vscode:
|
|
175
133
|
fire_line = f"""
|
|
176
134
|
cd {str(pyfile.parent)}
|
|
177
135
|
uv init --python 3.14
|
|
178
136
|
uv venv
|
|
179
|
-
uv add "machineconfig[plot]>=6.
|
|
137
|
+
uv add "machineconfig[plot]>=6.44"
|
|
180
138
|
# code serve-web
|
|
181
139
|
code --new-window {str(pyfile)}
|
|
182
140
|
"""
|
|
@@ -191,7 +149,7 @@ code --new-window {str(pyfile)}
|
|
|
191
149
|
else:
|
|
192
150
|
console.print(Panel("❌ Could not determine the local machineconfig repo root. Please ensure the `REPO_ROOT` in `source_of_truth.py` is correctly set to the local path of the machineconfig repo, or do not use the `--local` flag.", title="Error", border_style="red"))
|
|
193
151
|
return
|
|
194
|
-
else: ve_line = """--with "machineconfig[plot]>=6.
|
|
152
|
+
else: ve_line = """--with "machineconfig[plot]>=6.44" """
|
|
195
153
|
# ve_path_maybe, ipython_profile_maybe = get_ve_path_and_ipython_profile(Path.cwd())
|
|
196
154
|
# --python 3.14
|
|
197
155
|
fire_line = f"uv run {ve_line} {interpreter} {interactivity} {profile} {str(pyfile)}"
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
def add_print_header_pycode(path: str, title: str):
|
|
2
|
+
return f"""
|
|
3
|
+
|
|
4
|
+
from machineconfig.utils.path_extended import PathExtended
|
|
5
|
+
pycode = PathExtended(r'{path}').read_text(encoding="utf-8")
|
|
6
|
+
pycode = pycode.split("except Exception: print(pycode)")[2]
|
|
7
|
+
|
|
8
|
+
try:
|
|
9
|
+
from rich.text import Text
|
|
10
|
+
from rich.panel import Panel
|
|
11
|
+
from rich.console import Console
|
|
12
|
+
from rich.syntax import Syntax
|
|
13
|
+
console = Console()
|
|
14
|
+
if pycode.strip() != "":
|
|
15
|
+
console.print(Panel(Syntax(pycode, lexer="python"), title='{title}'), style="bold red")
|
|
16
|
+
except Exception: print(pycode)
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def get_read_data_pycode(path: str):
|
|
21
|
+
return f"""
|
|
22
|
+
from rich.panel import Panel
|
|
23
|
+
from rich.text import Text
|
|
24
|
+
from rich.console import Console
|
|
25
|
+
console = Console()
|
|
26
|
+
p = PathExtended(r'{path}').absolute()
|
|
27
|
+
try:
|
|
28
|
+
from machineconfig.utils.files.read import Read
|
|
29
|
+
from machineconfig.utils.accessories import pprint
|
|
30
|
+
dat = Read.read(p)
|
|
31
|
+
if isinstance(dat, dict):
|
|
32
|
+
panel_title = f"📄 File Data: {{p.name}}"
|
|
33
|
+
console.print(Panel(Text(str(dat), justify="left"), title=panel_title, expand=False))
|
|
34
|
+
pprint(dat, PathExtended.name)
|
|
35
|
+
else:
|
|
36
|
+
panel_title = f"📄 Successfully read the file: {{p.name}}"
|
|
37
|
+
console.print(Panel(Text(str(dat), justify="left"), title=panel_title, expand=False))
|
|
38
|
+
except Exception as e:
|
|
39
|
+
error_message = f'''❌ ERROR READING FILE\nFile: {{p.name}}\nError: {{e}}'''
|
|
40
|
+
console.print(Panel(Text(error_message, justify="left"), title="Error", expand=False, border_style="red"))
|
|
41
|
+
"""
|
|
42
|
+
|
|
43
|
+
|
|
@@ -21,7 +21,8 @@ def install(which: Annotated[Optional[str], typer.Argument(..., help="Comma-sepa
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
def get_app():
|
|
24
|
-
app = typer.Typer(help="🛠️ DevOps operations", no_args_is_help=True,
|
|
24
|
+
app = typer.Typer(help="🛠️ DevOps operations", no_args_is_help=True, add_help_option=False,
|
|
25
|
+
add_completion=False)
|
|
25
26
|
_ = install
|
|
26
27
|
app.command("install", no_args_is_help=True, help="🛠️ [i] Install essential packages")(install)
|
|
27
28
|
app.command("i", no_args_is_help=True, help="Install essential packages", hidden=True)(install)
|
|
@@ -45,6 +46,7 @@ def get_app():
|
|
|
45
46
|
app.add_typer(app_utils, name="u", hidden=True)
|
|
46
47
|
return app
|
|
47
48
|
|
|
49
|
+
|
|
48
50
|
def main():
|
|
49
51
|
app = get_app()
|
|
50
52
|
app()
|
|
@@ -42,7 +42,10 @@ def path():
|
|
|
42
42
|
from pathlib import Path
|
|
43
43
|
path = Path(navigator.__file__).resolve().parent.joinpath("path_manager_tui.py")
|
|
44
44
|
from machineconfig.utils.code import run_shell_script
|
|
45
|
-
|
|
45
|
+
if not Path.home().joinpath("code/machineconfig").exists(): executable = """--with "machineconfig>=6.44,textual" """
|
|
46
|
+
else: executable = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with textual"""
|
|
47
|
+
run_shell_script(f"""uv run {executable} {path}""")
|
|
48
|
+
|
|
46
49
|
|
|
47
50
|
def pwsh_theme():
|
|
48
51
|
"""🔗 Select powershell prompt theme."""
|
|
@@ -63,7 +66,7 @@ def copy_assets(which: Annotated[Literal["scripts", "settings", "both"], typer.A
|
|
|
63
66
|
|
|
64
67
|
|
|
65
68
|
def get_app():
|
|
66
|
-
config_apps = typer.Typer(help="⚙️ [c] configuration subcommands", no_args_is_help=True)
|
|
69
|
+
config_apps = typer.Typer(help="⚙️ [c] configuration subcommands", no_args_is_help=True, add_help_option=False, add_completion=False)
|
|
67
70
|
config_apps.command("private", no_args_is_help=True, help="🔗 [v] Manage private configuration files.")(private)
|
|
68
71
|
config_apps.command("v", no_args_is_help=True, hidden=True)(private)
|
|
69
72
|
config_apps.command("public", no_args_is_help=True, help="🔗 [b] Manage public configuration files.")(public)
|
|
@@ -55,7 +55,7 @@ def debug_ssh():
|
|
|
55
55
|
raise NotImplementedError(f"Platform {system()} is not supported.")
|
|
56
56
|
|
|
57
57
|
def get_app():
|
|
58
|
-
nw_apps = typer.Typer(help="🔐 [n] Network subcommands", no_args_is_help=True)
|
|
58
|
+
nw_apps = typer.Typer(help="🔐 [n] Network subcommands", no_args_is_help=True, add_help_option=False, add_completion=False)
|
|
59
59
|
nw_apps.command(name="share-terminal", help="📡 [t] Share terminal via web browser")(cli_terminal.main)
|
|
60
60
|
nw_apps.command(name="t", help="Share terminal via web browser", hidden=True)(cli_terminal.main)
|
|
61
61
|
nw_apps.command(name="share-server", help="🌐 [s] Start local/global server to share files/folders via web browser", no_args_is_help=True)(cli_share_server.main)
|
|
@@ -13,33 +13,33 @@ from machineconfig.scripts.python.helpers_repos.secure_repo import main as secur
|
|
|
13
13
|
|
|
14
14
|
DirectoryArgument = Annotated[Optional[str], typer.Argument(help="📁 Directory containing repo(s).")]
|
|
15
15
|
RecursiveOption = Annotated[bool, typer.Option("--recursive", "-r", help="🔍 Recurse into nested repositories.")]
|
|
16
|
-
|
|
16
|
+
NO_UVsyncOption = Annotated[bool, typer.Option("--no-uv-sync", "-ns", help="🚫 Disable automatic uv sync after pulls.")]
|
|
17
17
|
CloudOption = Annotated[Optional[str], typer.Option("--cloud", "-c", help="☁️ Upload to or download from this cloud remote.")]
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
def push(directory: DirectoryArgument = None, recursive: RecursiveOption = False,
|
|
20
|
+
def push(directory: DirectoryArgument = None, recursive: RecursiveOption = False, no_uv_sync: NO_UVsyncOption = False) -> None:
|
|
21
21
|
"""🚀 Push changes across repositories."""
|
|
22
22
|
from machineconfig.scripts.python.repos_helpers.entrypoint import git_operations
|
|
23
|
-
git_operations(directory, pull=False, commit=False, push=True, recursive=recursive, auto_uv_sync=
|
|
23
|
+
git_operations(directory, pull=False, commit=False, push=True, recursive=recursive, auto_uv_sync=not no_uv_sync)
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
def pull(directory: DirectoryArgument = None, recursive: RecursiveOption = False,
|
|
26
|
+
def pull(directory: DirectoryArgument = None, recursive: RecursiveOption = False, no_uv_sync: NO_UVsyncOption = False) -> None:
|
|
27
27
|
"""⬇️ Pull changes across repositories."""
|
|
28
28
|
from machineconfig.scripts.python.repos_helpers.entrypoint import git_operations
|
|
29
29
|
|
|
30
|
-
git_operations(directory, pull=True, commit=False, push=False, recursive=recursive, auto_uv_sync=
|
|
30
|
+
git_operations(directory, pull=True, commit=False, push=False, recursive=recursive, auto_uv_sync=not no_uv_sync)
|
|
31
31
|
|
|
32
32
|
|
|
33
|
-
def commit(directory: DirectoryArgument = None, recursive: RecursiveOption = False,
|
|
33
|
+
def commit(directory: DirectoryArgument = None, recursive: RecursiveOption = False, no_uv_sync: NO_UVsyncOption = False) -> None:
|
|
34
34
|
"""💾 Commit changes across repositories."""
|
|
35
35
|
from machineconfig.scripts.python.repos_helpers.entrypoint import git_operations
|
|
36
|
-
git_operations(directory, pull=False, commit=True, push=False, recursive=recursive, auto_uv_sync=
|
|
36
|
+
git_operations(directory, pull=False, commit=True, push=False, recursive=recursive, auto_uv_sync=not no_uv_sync)
|
|
37
37
|
|
|
38
38
|
|
|
39
|
-
def sync(directory: DirectoryArgument = None, recursive: RecursiveOption = False,
|
|
39
|
+
def sync(directory: DirectoryArgument = None, recursive: RecursiveOption = False, no_uv_sync: NO_UVsyncOption = False) -> None:
|
|
40
40
|
"""🔄 Pull, commit, and push changes across repositories."""
|
|
41
41
|
from machineconfig.scripts.python.repos_helpers.entrypoint import git_operations
|
|
42
|
-
git_operations(directory, pull=True, commit=True, push=True, recursive=recursive, auto_uv_sync=
|
|
42
|
+
git_operations(directory, pull=True, commit=True, push=True, recursive=recursive, auto_uv_sync=not no_uv_sync)
|
|
43
43
|
|
|
44
44
|
|
|
45
45
|
def capture(directory: DirectoryArgument = None, cloud: CloudOption = None) -> None:
|
|
@@ -147,8 +147,8 @@ uv run --with cleanpy cleanpy .
|
|
|
147
147
|
|
|
148
148
|
|
|
149
149
|
def get_app():
|
|
150
|
-
repos_apps = typer.Typer(help="📁 [r] Manage development repositories", no_args_is_help=True)
|
|
151
|
-
mirror_app = typer.Typer(help="🔄 [m] Manage repository specifications and syncing", no_args_is_help=True)
|
|
150
|
+
repos_apps = typer.Typer(help="📁 [r] Manage development repositories", no_args_is_help=True, add_help_option=False, add_completion=False)
|
|
151
|
+
mirror_app = typer.Typer(help="🔄 [m] Manage repository specifications and syncing", no_args_is_help=True, add_help_option=False, add_completion=False)
|
|
152
152
|
repos_apps.add_typer(mirror_app, name="mirror", help="🔄 [m] mirror repositories using saved specs")
|
|
153
153
|
repos_apps.add_typer(mirror_app, name="m", help="mirror repositories using saved specs", hidden=True)
|
|
154
154
|
|
|
@@ -3,7 +3,7 @@ import typer
|
|
|
3
3
|
from typing import Optional, Annotated
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
def update(
|
|
6
|
+
def update(no_copy_assets: Annotated[bool, typer.Option("--no-assets-copy", "-na", help="Copy (overwrite) assets to the machine after the update")] = False):
|
|
7
7
|
"""🔄 UPDATE uv and machineconfig"""
|
|
8
8
|
# from machineconfig.utils.source_of_truth import LIBRARY_ROOT
|
|
9
9
|
# repo_root = LIBRARY_ROOT.parent.parent
|
|
@@ -24,16 +24,29 @@ def update(copy_assets: Annotated[bool, typer.Option("--copy-assets/-nc", help="
|
|
|
24
24
|
if platform.system() == "Windows":
|
|
25
25
|
from machineconfig.utils.code import run_shell_script_after_exit
|
|
26
26
|
run_shell_script_after_exit(code)
|
|
27
|
-
from machineconfig.profile.create_helper import copy_assets_to_machine
|
|
28
|
-
copy_assets_to_machine(which="scripts")
|
|
29
|
-
copy_assets_to_machine(which="settings")
|
|
30
27
|
else:
|
|
31
28
|
from machineconfig.utils.code import run_shell_script
|
|
32
29
|
run_shell_script(code)
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
30
|
+
if not no_copy_assets:
|
|
31
|
+
import machineconfig.profile.create_helper as create_helper
|
|
32
|
+
create_helper.copy_assets_to_machine(which="scripts")
|
|
33
|
+
create_helper.copy_assets_to_machine(which="settings")
|
|
34
|
+
def install(no_copy_assets: Annotated[bool, typer.Option("--no-assets-copy", "-na", help="Copy (overwrite) assets to the machine after the update")] = False)
|
|
35
|
+
"""📋 CLONE machienconfig locally and incorporate to shell profile for faster execution and nightly updates."""
|
|
36
|
+
from machineconfig.utils.code import run_shell_script
|
|
37
|
+
from pathlib import Path
|
|
38
|
+
if Path.home().joinpath("code/machineconfig").exists():
|
|
39
|
+
run_shell_script(f"""$HOME/.local/bin/uv tool install --upgrade --editable "{str(Path.home().joinpath("code/machineconfig"))}" """)
|
|
40
|
+
else:
|
|
41
|
+
import platform
|
|
42
|
+
if platform.system() == "Windows":
|
|
43
|
+
run_shell_script(r"""$HOME\.local\bin\uv.exe tool install --upgrade "machineconfig>=6.44" """)
|
|
44
|
+
else:
|
|
45
|
+
run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=6.44" """)
|
|
46
|
+
from machineconfig.profile.create_shell_profile import create_default_shell_profile
|
|
47
|
+
if not no_copy_assets:
|
|
48
|
+
create_default_shell_profile() # involves copying assets too
|
|
49
|
+
|
|
37
50
|
|
|
38
51
|
|
|
39
52
|
def interactive():
|
|
@@ -45,18 +58,7 @@ def status():
|
|
|
45
58
|
"""📊 STATUS of machine, shell profile, apps, symlinks, dotfiles, etc."""
|
|
46
59
|
import machineconfig.scripts.python.devops_helpers.devops_status as helper
|
|
47
60
|
helper.main()
|
|
48
|
-
|
|
49
|
-
"""📋 CLONE machienconfig locally and incorporate to shell profile for faster execution and nightly updates."""
|
|
50
|
-
from machineconfig.utils.code import run_shell_script
|
|
51
|
-
from machineconfig.profile.create_shell_profile import create_default_shell_profile
|
|
52
|
-
# from machineconfig.profile.create_links_export import main_public_from_parser
|
|
53
|
-
create_default_shell_profile()
|
|
54
|
-
# main_public_from_parser()
|
|
55
|
-
import platform
|
|
56
|
-
if platform.system() == "Windows":
|
|
57
|
-
run_shell_script(r"""$HOME\.local\bin\uv.exe tool install "machineconfig>=6.42" """)
|
|
58
|
-
else:
|
|
59
|
-
run_shell_script("""$HOME/.local/bin/uv tool install "machineconfig>=6.42" """)
|
|
61
|
+
|
|
60
62
|
|
|
61
63
|
def navigate():
|
|
62
64
|
"""📚 NAVIGATE command structure with TUI"""
|
|
@@ -64,7 +66,9 @@ def navigate():
|
|
|
64
66
|
from pathlib import Path
|
|
65
67
|
path = Path(navigator.__file__).resolve().parent.joinpath("devops_navigator.py")
|
|
66
68
|
from machineconfig.utils.code import run_shell_script
|
|
67
|
-
|
|
69
|
+
if Path.home().joinpath("code/machineconfig").exists(): executable = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with textual"""
|
|
70
|
+
else: executable = """--with "machineconfig>=6.44,textual" """
|
|
71
|
+
run_shell_script(f"""uv run {executable} {path}""")
|
|
68
72
|
|
|
69
73
|
|
|
70
74
|
def run_python(ip: Annotated[str, typer.Argument(..., help="Python command to run in the machineconfig environment")],
|
|
@@ -98,7 +102,7 @@ def readme():
|
|
|
98
102
|
|
|
99
103
|
|
|
100
104
|
def get_app():
|
|
101
|
-
cli_app = typer.Typer(help="🔄 [s] self operations subcommands", no_args_is_help=True)
|
|
105
|
+
cli_app = typer.Typer(help="🔄 [s] self operations subcommands", no_args_is_help=True, add_help_option=False, add_completion=False)
|
|
102
106
|
cli_app.command("update", no_args_is_help=False, help="🔄 [u] UPDATE machineconfig")(update)
|
|
103
107
|
cli_app.command("u", no_args_is_help=False, hidden=True)(update)
|
|
104
108
|
cli_app.command("interactive", no_args_is_help=False, help="🤖 [i] INTERACTIVE configuration of machine.")(interactive)
|
|
@@ -6,15 +6,16 @@ from pathlib import Path
|
|
|
6
6
|
import subprocess
|
|
7
7
|
import requests
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
|
|
10
|
+
def download(
|
|
11
|
+
url: Annotated[Optional[str], typer.Argument(..., help="The URL to download the file from.")] = None,
|
|
12
|
+
decompress: Annotated[bool, typer.Option("--decompress", "-d", help="Decompress the file if it's an archive.")] = False,
|
|
13
|
+
output: Annotated[Optional[str], typer.Option("--output", "-o", help="The output file path.")] = None,
|
|
14
|
+
) -> None:
|
|
12
15
|
if url is None:
|
|
13
16
|
typer.echo("❌ Error: URL is required.", err=True)
|
|
14
17
|
raise typer.Exit(code=1)
|
|
15
|
-
|
|
16
|
-
typer.echo(f"📥 Downloading from: {url}")
|
|
17
|
-
|
|
18
|
+
typer.echo(f"📥 Downloading from: {url}")
|
|
18
19
|
download_path = Path(output) if output else Path(url.split("/")[-1])
|
|
19
20
|
|
|
20
21
|
try:
|
|
@@ -48,16 +49,21 @@ def download(url: Annotated[Optional[str], typer.Argument(..., help="The URL to
|
|
|
48
49
|
if decompress:
|
|
49
50
|
typer.echo(f"📦 Decompressing: {download_path}")
|
|
50
51
|
|
|
51
|
-
|
|
52
|
+
base_name = download_path.name
|
|
53
|
+
parts = base_name.split('.')
|
|
54
|
+
base_name = parts[0] if parts else download_path.stem
|
|
55
|
+
|
|
56
|
+
extract_dir = download_path.parent / base_name
|
|
57
|
+
extract_dir.mkdir(parents=True, exist_ok=True)
|
|
52
58
|
|
|
53
59
|
try:
|
|
54
|
-
|
|
55
|
-
["ouch", "decompress", str(download_path), "--dir", str(
|
|
60
|
+
subprocess.run(
|
|
61
|
+
["ouch", "decompress", str(download_path), "--dir", str(extract_dir)],
|
|
56
62
|
check=True,
|
|
57
63
|
capture_output=True,
|
|
58
64
|
text=True
|
|
59
65
|
)
|
|
60
|
-
typer.echo(f"✅ Decompressed to: {
|
|
66
|
+
typer.echo(f"✅ Decompressed to: {extract_dir}")
|
|
61
67
|
|
|
62
68
|
if download_path.exists():
|
|
63
69
|
download_path.unlink()
|
|
@@ -73,7 +79,7 @@ def download(url: Annotated[Optional[str], typer.Argument(..., help="The URL to
|
|
|
73
79
|
|
|
74
80
|
|
|
75
81
|
def get_app() -> typer.Typer:
|
|
76
|
-
app = typer.Typer(help="🛠️ [u] utilities operations", no_args_is_help=True, add_completion=
|
|
82
|
+
app = typer.Typer(help="🛠️ [u] utilities operations", no_args_is_help=True, add_help_option=False, add_completion=False)
|
|
77
83
|
app.command(name="download", no_args_is_help=True, help="[d] Download a file from a URL and optionally decompress it.")(download)
|
|
78
84
|
app.command(name="d", no_args_is_help=True, hidden=True)(download)
|
|
79
85
|
return app
|
|
@@ -11,7 +11,7 @@ from machineconfig.scripts.python.croshell import croshell as croshell_func
|
|
|
11
11
|
|
|
12
12
|
def get_app():
|
|
13
13
|
import typer
|
|
14
|
-
app = typer.Typer(help="MachineConfig CLI - Manage your machine configurations and workflows", no_args_is_help=True)
|
|
14
|
+
app = typer.Typer(help="MachineConfig CLI - Manage your machine configurations and workflows", no_args_is_help=True, add_help_option=False, add_completion=False)
|
|
15
15
|
devops_app = get_devops_app()
|
|
16
16
|
app.add_typer(devops_app, name="devops", help="[d] DevOps related commands", no_args_is_help=True)
|
|
17
17
|
app.add_typer(devops_app, name="d", hidden=True) # short alias
|
|
@@ -32,10 +32,10 @@ def get_app():
|
|
|
32
32
|
app.add_typer(agents_app, name="agents", help="[a] 🤖 AI Agents management commands", no_args_is_help=True)
|
|
33
33
|
app.add_typer(agents_app, name="a", hidden=True) # short alias
|
|
34
34
|
|
|
35
|
-
app.command("ftpx", no_args_is_help=True, help="[
|
|
36
|
-
app.command("
|
|
37
|
-
app.command("croshell", no_args_is_help=False, help="[
|
|
38
|
-
app.command("
|
|
35
|
+
app.command("ftpx", no_args_is_help=True, help="[ff] File transfer utility though SSH")(ftpx_func)
|
|
36
|
+
app.command("ff", no_args_is_help=True, hidden=True)(ftpx_func) # short alias
|
|
37
|
+
app.command("croshell", no_args_is_help=False, help="[r] Cross-shell command execution")(croshell_func)
|
|
38
|
+
app.command("r", no_args_is_help=False, hidden=True)(croshell_func) # short alias
|
|
39
39
|
|
|
40
40
|
return app
|
|
41
41
|
|
|
@@ -7,7 +7,7 @@ from machineconfig.utils.path_extended import PathExtended
|
|
|
7
7
|
from machineconfig.utils.terminal import Response
|
|
8
8
|
from machineconfig.utils.source_of_truth import CONFIG_ROOT, DEFAULTS_PATH
|
|
9
9
|
from machineconfig.utils.code import get_shell_file_executing_python_script, write_shell_script_to_file
|
|
10
|
-
|
|
10
|
+
from pathlib import Path
|
|
11
11
|
import platform
|
|
12
12
|
import subprocess
|
|
13
13
|
from typing import Optional, Literal, Annotated
|
|
@@ -76,6 +76,9 @@ git pull originEnc master
|
|
|
76
76
|
|
|
77
77
|
"""
|
|
78
78
|
|
|
79
|
+
if Path.home().joinpath("code/machineconfig").exists(): executable = f"""uv run --project "{str(Path.home().joinpath("code/machineconfig"))}" """
|
|
80
|
+
else: executable = """uv run --with "machineconfig>=6.44" """
|
|
81
|
+
|
|
79
82
|
shell_path = write_shell_script_to_file(shell_script=script)
|
|
80
83
|
command = f". {shell_path}"
|
|
81
84
|
if platform.system() == "Windows":
|
|
@@ -103,7 +106,9 @@ git pull originEnc master
|
|
|
103
106
|
return "done"
|
|
104
107
|
from machineconfig.utils.meta import function_to_script
|
|
105
108
|
program_1_py = function_to_script(func=func2, call_with_args=None, call_with_kwargs={"remote_repo": str(repo_remote_root), "local_repo": str(repo_local_root), "cloud": cloud_resolved})
|
|
106
|
-
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
shell_file_1 = get_shell_file_executing_python_script(python_script=program_1_py, ve_path=None, executable=executable)
|
|
107
112
|
# ================================================================================
|
|
108
113
|
option2 = "Delete local repo and replace it with remote copy:"
|
|
109
114
|
program_2 = f"""
|
|
@@ -124,7 +129,7 @@ sudo chmod +x $HOME/dotfiles/scripts/linux -R
|
|
|
124
129
|
inspect_repos(repo_local_root=repo_local_root, repo_remote_root=repo_remote_root)
|
|
125
130
|
return "done"
|
|
126
131
|
program_3_py = function_to_script(func=func, call_with_args=None, call_with_kwargs={"repo_local_root": str(repo_local_root), "repo_remote_root": str(repo_remote_root)})
|
|
127
|
-
shell_file_3 = get_shell_file_executing_python_script(python_script=program_3_py, ve_path=None, executable=
|
|
132
|
+
shell_file_3 = get_shell_file_executing_python_script(python_script=program_3_py, ve_path=None, executable=executable)
|
|
128
133
|
# ================================================================================
|
|
129
134
|
|
|
130
135
|
option4 = "Remove problematic rclone file from repo and replace with remote:"
|
|
@@ -334,7 +334,7 @@ def install(
|
|
|
334
334
|
|
|
335
335
|
|
|
336
336
|
if __name__ == "__main__":
|
|
337
|
-
app = typer.Typer(help="Gource visualization tool for git repositories")
|
|
337
|
+
app = typer.Typer(help="Gource visualization tool for git repositories", add_help_option=False, add_completion=False)
|
|
338
338
|
app.command()(install)
|
|
339
339
|
app.command()(visualize)
|
|
340
340
|
app()
|
|
@@ -96,7 +96,7 @@ def display_dotfiles_instructions() -> None:
|
|
|
96
96
|
def get_installation_choices() -> list[str]:
|
|
97
97
|
"""Get user choices for installation options."""
|
|
98
98
|
choices = [
|
|
99
|
-
Choice(value="
|
|
99
|
+
Choice(value="install_machineconfig", title="🐍 Install machineconfig.", checked=False),
|
|
100
100
|
Choice(value="ESSENTIAL_SYSTEM", title="📥 Install Essential System Packages.", checked=False),
|
|
101
101
|
Choice(value="ESSENTIAL", title="⚡ Install CLI apps essentials", checked=False),
|
|
102
102
|
Choice(value="DEV_SYSTEM", title="🛠️ Install CLI apps development.", checked=False),
|
|
@@ -126,13 +126,11 @@ def execute_installations(selected_options: list[str]) -> None:
|
|
|
126
126
|
console.print(f"❌ Error installing CLI applications: {e}", style="bold red")
|
|
127
127
|
run_shell_script(". $HOME/.bashrc")
|
|
128
128
|
|
|
129
|
-
if "
|
|
129
|
+
if "install_machineconfig" in selected_options:
|
|
130
130
|
console.print(Panel("🐍 [bold green]PYTHON ENVIRONMENT[/bold green]\n[italic]Virtual environment setup[/italic]", border_style="green"))
|
|
131
|
-
import
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
else:
|
|
135
|
-
run_shell_script("""$HOME/.local/bin/uv tool install "machineconfig>=6.42" """)
|
|
131
|
+
from machineconfig.scripts.python.devops_helpers.cli_self import install
|
|
132
|
+
install()
|
|
133
|
+
|
|
136
134
|
if "install_ssh_server" in selected_options:
|
|
137
135
|
console.print(Panel("🔒 [bold red]SSH SERVER[/bold red]\n[italic]Remote access setup[/italic]", border_style="red"))
|
|
138
136
|
import platform
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
# mkdir ~/data/local
|
|
6
6
|
# sudo mount -o nolock,noatime,nodiratime,proto=tcp,timeo=600,retrans=2,noac alex-p51s-5:/home/alex/data/local ./data/local
|
|
7
7
|
|
|
8
|
-
uv run --python 3.14 --with "machineconfig>=6.
|
|
8
|
+
uv run --python 3.14 --with "machineconfig>=6.44" python -m machineconfig.scripts.python.mount_nfs
|
|
9
9
|
# Check if remote server is reachable and share folder exists
|
|
10
10
|
if ! ping -c 1 "$remote_server" &> /dev/null; then
|
|
11
11
|
echo "💥 Error: Remote server $remote_server is not reachable."
|
|
@@ -8,7 +8,7 @@ def analyze_repo_development(repo_path: Annotated[str, typer.Argument(..., help=
|
|
|
8
8
|
from pathlib import Path
|
|
9
9
|
count_lines_path = Path(count_lines.__file__)
|
|
10
10
|
# --project $HOME/code/ machineconfig --group plot
|
|
11
|
-
cmd = f"""uv run --python 3.14 --with "machineconfig[plot]>=6.
|
|
11
|
+
cmd = f"""uv run --python 3.14 --with "machineconfig[plot]>=6.44" {count_lines_path} analyze-over-time {repo_path}"""
|
|
12
12
|
from machineconfig.utils.code import run_shell_script
|
|
13
13
|
run_shell_script(cmd)
|
|
14
14
|
|
|
@@ -135,7 +135,7 @@ def kill_process():
|
|
|
135
135
|
main()
|
|
136
136
|
|
|
137
137
|
def get_app():
|
|
138
|
-
layouts_app = typer.Typer(help="Layouts management subcommands", no_args_is_help=True)
|
|
138
|
+
layouts_app = typer.Typer(help="Layouts management subcommands", no_args_is_help=True, add_help_option=False, add_completion=False)
|
|
139
139
|
from machineconfig.scripts.python.sessions_helpers.sessions_multiprocess import create_from_function
|
|
140
140
|
layouts_app.command("create-from-function", no_args_is_help=True, help="[c] Create a layout from a function")(create_from_function)
|
|
141
141
|
layouts_app.command("c", no_args_is_help=True, help="Create a layout from a function", hidden=True)(create_from_function)
|
|
@@ -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.44" 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
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# 🔍 Fuzzy Finder with Nano Editor Integration
|
|
3
3
|
|
|
4
4
|
# 📝 Open selected file in nano
|
|
5
|
-
nano (
|
|
5
|
+
nano (fzf2g) # space used for precedence in execution
|
|
6
6
|
|
|
7
7
|
# 💡 Alternative commands (commented):
|
|
8
8
|
# 🔎 FZF with bat preview:
|
|
@@ -12,5 +12,5 @@ nano (~/scripts/fzf2g) # space used for precedence in execution
|
|
|
12
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
13
|
|
|
14
14
|
# 📜 PowerShell script integration:
|
|
15
|
-
# fzf |
|
|
15
|
+
# fzf | nano.ps1
|
|
16
16
|
|
|
@@ -14,8 +14,8 @@ set number true # show line numbers
|
|
|
14
14
|
|
|
15
15
|
set preview true # preview file on the right pane
|
|
16
16
|
# set previewer chafa --format sixel --work 9 --optimize 9 --stretch --zoom --size 140x80
|
|
17
|
-
set previewer
|
|
18
|
-
set cleaner
|
|
17
|
+
set previewer ~/.config/machineconfig/settings/lf/linux/exe/previewer.sh
|
|
18
|
+
set cleaner ~/.config/machineconfig/settings/lf/linux/exe/cleaner.sh
|
|
19
19
|
# set previewer pistol
|
|
20
20
|
|
|
21
21
|
# set sixels true
|
|
@@ -48,7 +48,7 @@ set ratios '1:2:3' # ratio of pane widths
|
|
|
48
48
|
|
|
49
49
|
|
|
50
50
|
# test image viewer
|
|
51
|
-
map Q
|
|
51
|
+
map Q !~/.config/machineconfig/settings/lf/linux/exe/previewer.sh "$f"
|
|
52
52
|
|
|
53
53
|
# key bindings
|
|
54
54
|
map vmap v # default is invert
|
|
@@ -70,7 +70,6 @@ map <c-u> # half-up
|
|
|
70
70
|
# e edit
|
|
71
71
|
map e # edit modal key.
|
|
72
72
|
map eh $hx $f
|
|
73
|
-
map eH !source ~/code/machineconfig/.venv/bin/activate;hx $f
|
|
74
73
|
map en $nano $f
|
|
75
74
|
map el $lvim $f
|
|
76
75
|
map ev $nvim $f
|
|
@@ -84,12 +83,12 @@ map <enter> open
|
|
|
84
83
|
map w
|
|
85
84
|
map ww bash
|
|
86
85
|
# map wp $powershell
|
|
87
|
-
map wr
|
|
86
|
+
map wr $croshell
|
|
88
87
|
# map wm $cmd
|
|
89
|
-
map i
|
|
88
|
+
map i !~/.config/machineconfig/settings/lf/linux/exe/previewer.sh $f
|
|
90
89
|
map I !cat $f | gum pager
|
|
91
|
-
map R
|
|
92
|
-
map O
|
|
90
|
+
map R $croshell $f
|
|
91
|
+
map O $croshell -j $f
|
|
93
92
|
|
|
94
93
|
|
|
95
94
|
# o file/folder Operations
|
|
@@ -118,8 +117,8 @@ map jD cd ~/Downloads
|
|
|
118
117
|
map jx cd ~/dotfiles
|
|
119
118
|
# map jm cd ~/code/machineconfig/src/machineconfig
|
|
120
119
|
map jh cd ~
|
|
121
|
-
map jj
|
|
122
|
-
# map jj $lvim
|
|
120
|
+
map jj $croshell -j --read $f
|
|
121
|
+
# map jj $lvim ~/.config/machineconfig/settings/lf/linux/lfrc
|
|
123
122
|
|
|
124
123
|
# from https://github.com/gokcehan/lf/wiki/Integrations#zoxide
|
|
125
124
|
cmd zi ${{
|
|
@@ -163,7 +162,7 @@ cmd fzf_jump ${{
|
|
|
163
162
|
}}
|
|
164
163
|
|
|
165
164
|
|
|
166
|
-
cmd fzf2g $(
|
|
165
|
+
cmd fzf2g $(fzf2g.sh $args[1])
|
|
167
166
|
# map F $nano fzf2g $args[1]
|
|
168
167
|
|
|
169
168
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
|
-
|
|
2
|
+
nano.ps1 (fzfb) # space use for presedence in execution.
|
|
3
3
|
# fzf --ansi --preview-window 'right:60%' --preview 'bat --color=always --style=numbers,grid,header --line-range :300 {}'
|
|
4
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 |
|
|
5
|
+
# fzf | nano.ps1
|
|
6
6
|
|
|
@@ -58,7 +58,7 @@ map r reload
|
|
|
58
58
|
|
|
59
59
|
# e edit
|
|
60
60
|
map e # edit modal key.
|
|
61
|
-
map en
|
|
61
|
+
map en $nano $env:f
|
|
62
62
|
map el $pwsh -File $env:USERPROFILE/.local/bin/lvim.ps1 -- $env:f
|
|
63
63
|
map ev $nvim $env:f
|
|
64
64
|
map ec $code $env:f
|
|
@@ -71,7 +71,7 @@ map <enter> open
|
|
|
71
71
|
map w
|
|
72
72
|
map ww $powershell
|
|
73
73
|
map wp $pwsh
|
|
74
|
-
map wc
|
|
74
|
+
map wc $croshell.ps1
|
|
75
75
|
map wm $cmd
|
|
76
76
|
map i $~/.config/machineconfig/settings/lf/windows/previewer.ps1 $env:f
|
|
77
77
|
map R $powershell $env:USERPROFILE/scripts/croshell.ps1 -r $env:f
|
|
@@ -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.44" mcfg "$@"
|
|
5
5
|
}
|
|
6
6
|
alias d="mcfg devops"
|
|
7
7
|
alias c="mcfg cloud"
|
|
@@ -9,5 +9,5 @@ alias a="mcfg agents"
|
|
|
9
9
|
alias s="mcfg sessions"
|
|
10
10
|
alias ff="mcfg ftpx"
|
|
11
11
|
alias f="mcfg fire"
|
|
12
|
-
alias
|
|
12
|
+
alias r="mcfg croshell"
|
|
13
13
|
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.44" mcfg $args
|
|
6
6
|
}
|
|
7
7
|
function d { mcfg devops @args }
|
|
8
8
|
function c { mcfg cloud @args }
|
|
@@ -10,5 +10,5 @@ function a { mcfg agents @args }
|
|
|
10
10
|
function s { mcfg sessions @args }
|
|
11
11
|
function ff { mcfg ftpx @args }
|
|
12
12
|
function f { mcfg fire @args }
|
|
13
|
-
function
|
|
13
|
+
function r { mcfg croshell @args }
|
|
14
14
|
Write-Host "mcfg command aliases are now defined in this PowerShell session."
|
machineconfig/utils/ssh.py
CHANGED
|
@@ -6,7 +6,7 @@ from machineconfig.utils.terminal import Response, MACHINE
|
|
|
6
6
|
from machineconfig.utils.accessories import pprint
|
|
7
7
|
|
|
8
8
|
UV_RUN_CMD = "$HOME/.local/bin/uv run"
|
|
9
|
-
MACHINECONFIG_VERSION = "machineconfig>=6.
|
|
9
|
+
MACHINECONFIG_VERSION = "machineconfig>=6.44"
|
|
10
10
|
DEFAULT_PICKLE_SUBDIR = "tmp_results/tmp_scripts/ssh"
|
|
11
11
|
|
|
12
12
|
|
|
@@ -20,7 +20,7 @@ machineconfig/cluster/sessions_managers/wt_remote.py,sha256=yofv3Zlj2aClDUKYhUJV
|
|
|
20
20
|
machineconfig/cluster/sessions_managers/wt_remote_manager.py,sha256=wxfZPJd4_21LAEoaf1kVDIyhUOYlJfWfNfFvlCOPLqo,20303
|
|
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
|
-
machineconfig/cluster/sessions_managers/zellij_remote.py,sha256=
|
|
23
|
+
machineconfig/cluster/sessions_managers/zellij_remote.py,sha256=TFx-Xjmoue8KjbzBFtvFSOSx3zgoTdS_N1WWPPdMBm8,8513
|
|
24
24
|
machineconfig/cluster/sessions_managers/zellij_remote_manager.py,sha256=xzih0y8_1vMH58kMQE2oFj5sdjDM8lWhe5lbz0U9hZo,8417
|
|
25
25
|
machineconfig/cluster/sessions_managers/helpers/enhanced_command_runner.py,sha256=3vcQVg-HHa_WTxBGPtKMAdoSqJVa2EO5KAtrY8a6I3c,5264
|
|
26
26
|
machineconfig/cluster/sessions_managers/helpers/load_balancer_helper.py,sha256=i5TRittC1IWTgMZNyG8AR5qq-3WrGp3xgIx2m5ktT7g,7526
|
|
@@ -31,7 +31,7 @@ machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py,sha256=Mitm7
|
|
|
31
31
|
machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py,sha256=lApUy67_WhfaBXqt0meZSx_QvwiXjN0YLdyE3c7kP_s,6744
|
|
32
32
|
machineconfig/cluster/sessions_managers/wt_utils/session_manager.py,sha256=-PNcYwPqwdNRnLU9QGKxRR9i6ewY02Id-tgnODB_OzQ,12552
|
|
33
33
|
machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py,sha256=t5EWNOVS-PTc2fWE8aWNBrDyqR8akLtwtRinztxOdpY,9590
|
|
34
|
-
machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py,sha256=
|
|
34
|
+
machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py,sha256=FyYsqowiFAvqv4M0eXRnw2U38r7u8EI1I3p580kV5Y0,2976
|
|
35
35
|
machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py,sha256=FMpwaSeDCc71pEiVk99s8f5NkZEQ8zKQNUuaSXojgq4,4615
|
|
36
36
|
machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py,sha256=8l8OAfWYy5xv-EaVqtXLqvPo9YaR9i8kFqGMhPzk0nw,2616
|
|
37
37
|
machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py,sha256=0UL4b-uq15IWKx4ryLR3lgF2V9VDIHUAWPMhcFyAwng,13602
|
|
@@ -120,16 +120,16 @@ machineconfig/scripts/linux/other/share_smb,sha256=HZX8BKgMlS9JzkGIYnxTsPvoxEBBu
|
|
|
120
120
|
machineconfig/scripts/linux/other/start_docker,sha256=_yDN_PPqgzSUnPT7dmniMTpL4IfeeaGy1a2OL3IJlDU,525
|
|
121
121
|
machineconfig/scripts/linux/other/switch_ip,sha256=NQfeKMBSbFY3eP6M-BadD-TQo5qMP96DTp77KHk2tU8,613
|
|
122
122
|
machineconfig/scripts/python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
123
|
-
machineconfig/scripts/python/agents.py,sha256=
|
|
123
|
+
machineconfig/scripts/python/agents.py,sha256=gGeeWCI0AN_DyDJ3G5KR9qSsXv8zkUd5dBRRWqz-dQE,10722
|
|
124
124
|
machineconfig/scripts/python/cloud.py,sha256=jwftTQGhIP39wIKHB1lQbcbmo2dMnWoTcs-Wly3Ql5U,1263
|
|
125
|
-
machineconfig/scripts/python/croshell.py,sha256=
|
|
126
|
-
machineconfig/scripts/python/devops.py,sha256=
|
|
125
|
+
machineconfig/scripts/python/croshell.py,sha256=jGoCWWBTtPGs_1tUW457t4nAMl7y27Jw3PJUl22Yjuc,7807
|
|
126
|
+
machineconfig/scripts/python/devops.py,sha256=FXs7IhTkbl0kHST4VPQLKn9y8Y7MWJcJomLLBqiJkow,2440
|
|
127
127
|
machineconfig/scripts/python/devops_navigator.py,sha256=4O9_-ACeP748NcMjWQXZF7mBQpMPxqCGhLvPG3DMi4Q,236
|
|
128
|
-
machineconfig/scripts/python/entry.py,sha256=
|
|
128
|
+
machineconfig/scripts/python/entry.py,sha256=a0Zk_3RnIFTQ55zSQrvOOiKom_SaoxElPMmWQgGy4V0,2221
|
|
129
129
|
machineconfig/scripts/python/fire_jobs.py,sha256=O5DrckUGLxGblOcLf_iXU31pmCSpTg-c0hQZxQKD1os,13591
|
|
130
130
|
machineconfig/scripts/python/ftpx.py,sha256=UBDP6IIfWkaML1uZT1FrfGUUy_Of5LI82IdqEzo05_U,9760
|
|
131
|
-
machineconfig/scripts/python/interactive.py,sha256=
|
|
132
|
-
machineconfig/scripts/python/sessions.py,sha256=
|
|
131
|
+
machineconfig/scripts/python/interactive.py,sha256=hUU_Mm7P1bGz9SrtermGz2KuwD66_UsJfcoSf5BSmLU,11666
|
|
132
|
+
machineconfig/scripts/python/sessions.py,sha256=RS16G1XoRG9Q5hQSFUKg-VK67dlEkcbFCEDRdyDEwf8,9823
|
|
133
133
|
machineconfig/scripts/python/ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
134
134
|
machineconfig/scripts/python/ai/generate_files.py,sha256=VfjKdwgF8O6E4oiRtfWNliibLmmwGe7f9ld6wpOsXTw,14498
|
|
135
135
|
machineconfig/scripts/python/ai/initai.py,sha256=9SZtWOcRuwk8ZU3wHOfPzjInERD79ZTYFY8tVACgza4,2260
|
|
@@ -168,21 +168,22 @@ machineconfig/scripts/python/cloud_helpers/cloud_sync.py,sha256=0HYhr60U-pAfFucg
|
|
|
168
168
|
machineconfig/scripts/python/cloud_helpers/helpers2.py,sha256=aPGz_3WqZJaqmn_bGMtFFmDlLytnOS5KWacZMgXTDJw,7310
|
|
169
169
|
machineconfig/scripts/python/cloud_helpers/helpers5.py,sha256=dPBvA9Tcyx9TMgM6On49A1CueGMhBdRzikDnlJGf3J0,1123
|
|
170
170
|
machineconfig/scripts/python/croshell_helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
171
|
+
machineconfig/scripts/python/croshell_helpers/crosh.py,sha256=W6sG3qu8fNvuEXtogT6yFgJhqgXSEwIQ9zLHvijbszM,1524
|
|
171
172
|
machineconfig/scripts/python/croshell_helpers/pomodoro.py,sha256=SPkfeoZGv8rylGiOyzQ7UK3aXZ3G2FIOuGkSuBUggOI,2019
|
|
172
173
|
machineconfig/scripts/python/croshell_helpers/scheduler.py,sha256=rKhssuxkD697EY6qaV6CSdNhxpAQLDWO4fE8GMCQ9FA,3061
|
|
173
174
|
machineconfig/scripts/python/croshell_helpers/start_slidev.py,sha256=HfJReOusTPhwcbAvCyJyTBd2iumJB5wmPdcTXz_Yvh8,4897
|
|
174
175
|
machineconfig/scripts/python/croshell_helpers/viewer.py,sha256=heQNjB9fwn3xxbPgMofhv1Lp6Vtkl76YjjexWWBM0pM,2041
|
|
175
176
|
machineconfig/scripts/python/croshell_helpers/viewer_template.py,sha256=ve3Q1-iKhCLc0VJijKvAeOYp2xaFOeIOC_XW956GWCc,3944
|
|
176
177
|
machineconfig/scripts/python/devops_helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
177
|
-
machineconfig/scripts/python/devops_helpers/cli_config.py,sha256
|
|
178
|
+
machineconfig/scripts/python/devops_helpers/cli_config.py,sha256=-0XLNUcSPynxrX426wBomj-EMKP6Em-TPtUV25-BHcM,5652
|
|
178
179
|
machineconfig/scripts/python/devops_helpers/cli_config_dotfile.py,sha256=rjTys4FNf9_feP9flWM7Zvq17dxWmetSiGaHPxp25nk,2737
|
|
179
180
|
machineconfig/scripts/python/devops_helpers/cli_data.py,sha256=2OWwp86-ncpGoSP9IblW7Jjej-wc-PuS8KRZ5xh0l1c,1774
|
|
180
|
-
machineconfig/scripts/python/devops_helpers/cli_nw.py,sha256=
|
|
181
|
-
machineconfig/scripts/python/devops_helpers/cli_repos.py,sha256=
|
|
182
|
-
machineconfig/scripts/python/devops_helpers/cli_self.py,sha256=
|
|
181
|
+
machineconfig/scripts/python/devops_helpers/cli_nw.py,sha256=kXJkdO0xY4cpD0GWC0DcjdiQXf1iVt6OBwvJb3MghAk,4176
|
|
182
|
+
machineconfig/scripts/python/devops_helpers/cli_repos.py,sha256=qnpjSPM71p6vLgigIwItPo-XxR6iP9UaK7lxw3-CdfA,12505
|
|
183
|
+
machineconfig/scripts/python/devops_helpers/cli_self.py,sha256=uq6K9uoN_XM2-5a90lo7Q_QbaVeoOfTHeXCbJUYGTXk,6166
|
|
183
184
|
machineconfig/scripts/python/devops_helpers/cli_share_server.py,sha256=q9pFJ6AxPuygMr3onMNOKEuuQHbVE_6Qoyo7xRT5FX0,4196
|
|
184
185
|
machineconfig/scripts/python/devops_helpers/cli_terminal.py,sha256=k_PzXaiGyE0vXr0Ii1XcJz2A7UvyPJrR31TRWt4RKRI,6019
|
|
185
|
-
machineconfig/scripts/python/devops_helpers/cli_utils.py,sha256=
|
|
186
|
+
machineconfig/scripts/python/devops_helpers/cli_utils.py,sha256=G2RHnOvNfEWjxETZjXVu688xyLL-c0Zq22p24kXLLQ8,3487
|
|
186
187
|
machineconfig/scripts/python/devops_helpers/devops_backup_retrieve.py,sha256=8VpnWytbJYdZZfeLmULgGeGuV5BlHrzdcbGtSsmU-EA,5598
|
|
187
188
|
machineconfig/scripts/python/devops_helpers/devops_status.py,sha256=PJVPhfhXq8der6Xd-_fjZfnizfM-RGfJApkRGhGBmNo,20525
|
|
188
189
|
machineconfig/scripts/python/devops_helpers/devops_update_repos.py,sha256=TLYhvMMDJCqLNsv1h4a0MtxYqQHWkRRvKnERyXd8MAs,10133
|
|
@@ -191,7 +192,7 @@ machineconfig/scripts/python/devops_helpers/themes/choose_pwsh_theme.ps1,sha256=
|
|
|
191
192
|
machineconfig/scripts/python/devops_helpers/themes/choose_wezterm_theme.py,sha256=pRXAGe2IpysYshsaF8CKEwHI8EGPtLcM8PtiAqM7vmM,3425
|
|
192
193
|
machineconfig/scripts/python/env_manager/__init__.py,sha256=E4LAHbU1wo2dLjE36ntv8U7QNTe8TasujUAYK9SLvWk,6
|
|
193
194
|
machineconfig/scripts/python/env_manager/path_manager_backend.py,sha256=ZVGlGJALhg7zNABDdwXxL7MFbL2BXPebObipXSLGbic,1552
|
|
194
|
-
machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=
|
|
195
|
+
machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=MsPkyWIet1EN3lbTW0VnmOkwu3IdkaU2Jl8oH8Ow3nY,6919
|
|
195
196
|
machineconfig/scripts/python/helper_navigator/__init__.py,sha256=6YBy1l9ISjHE0LctVwSRMV_OFq29FOInwXFN0Ff7owM,758
|
|
196
197
|
machineconfig/scripts/python/helper_navigator/command_builder.py,sha256=tMIonhYPWpdPGaiGPRg8JDCvyW0h2uxL15uL_JyWsnk,4617
|
|
197
198
|
machineconfig/scripts/python/helper_navigator/command_detail.py,sha256=i4MdiCOVaXdRmLqr4K-F1Mk1u93bl5heIN97cRPCnzg,1692
|
|
@@ -220,15 +221,15 @@ machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py,sha25
|
|
|
220
221
|
machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py,sha256=4MrlCVijbx7GQyAN9s5LDh-7heSjMXYrXdqiP6uC3ug,5378
|
|
221
222
|
machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
222
223
|
machineconfig/scripts/python/helpers_repos/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
223
|
-
machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=
|
|
224
|
-
machineconfig/scripts/python/helpers_repos/grource.py,sha256=
|
|
224
|
+
machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=ehIjy-YwfxeA2xrffKDndypIXVvt_bQrzAGB3uidfQ0,9989
|
|
225
|
+
machineconfig/scripts/python/helpers_repos/grource.py,sha256=oJj1-gqlkV3Z_BrIOXRmtzoXcuBl0xTYfulJ5D0srOc,14656
|
|
225
226
|
machineconfig/scripts/python/helpers_repos/secure_repo.py,sha256=fW_GyHqWrpnf7nexHojfWHv4eLBa71IhVL_LSVMyGnE,1115
|
|
226
227
|
machineconfig/scripts/python/nw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
227
228
|
machineconfig/scripts/python/nw/add_ssh_key.py,sha256=9JLmWu8pE7PAL5VuCFd19iVEdCR90LwY6_9P7gKQzEE,9373
|
|
228
229
|
machineconfig/scripts/python/nw/devops_add_identity.py,sha256=aPjcHbTLhxYwWYcandyAHdwuO15ZBu3fB82u6bI0tMQ,3773
|
|
229
230
|
machineconfig/scripts/python/nw/devops_add_ssh_key.py,sha256=CkIl85hZLtG9k7yXLSzqi88YrilHV4hIUWHAPBwxWjw,8922
|
|
230
231
|
machineconfig/scripts/python/nw/mount_drive,sha256=zemKofv7hOmRN_V3qK0q580GkfWw3VdikyVVQyiu8j8,3514
|
|
231
|
-
machineconfig/scripts/python/nw/mount_nfs,sha256=
|
|
232
|
+
machineconfig/scripts/python/nw/mount_nfs,sha256=yf7549NA9nxqz1F5wcaBhtkDbZ4t_NS4bILUVD8gyCc,1855
|
|
232
233
|
machineconfig/scripts/python/nw/mount_nfs.py,sha256=lOMDY4RS7tx8gsCazVR5tNNwFbaRyO2PJlnwBCDQgCM,3573
|
|
233
234
|
machineconfig/scripts/python/nw/mount_nw_drive,sha256=BqjGBCbwe5ZAsZDO3L0zHhh_gJfZy1CYOcqXA4Y-WkQ,2262
|
|
234
235
|
machineconfig/scripts/python/nw/mount_nw_drive.py,sha256=iru6AtnTyvyuk6WxlK5R4lDkuliVpPV5_uBTVVhXtjQ,1550
|
|
@@ -242,7 +243,7 @@ machineconfig/scripts/python/nw/wsl_windows_transfer.py,sha256=1ab9l-8MtAxofW5nG
|
|
|
242
243
|
machineconfig/scripts/python/repos_helpers/action.py,sha256=M1Col8F4JEc20FCPSiELQ3PckbOL6i7YpxzfuAEtmSc,14894
|
|
243
244
|
machineconfig/scripts/python/repos_helpers/clone.py,sha256=UULEG5xJuXlPGU0nqXH6U45jA9DOFqLw8B4iPytCwOQ,5471
|
|
244
245
|
machineconfig/scripts/python/repos_helpers/count_lines.py,sha256=Q5c7b-DxvTlQmljoic7niTuiAVyFlwYvkVQ7uRJHiTo,16009
|
|
245
|
-
machineconfig/scripts/python/repos_helpers/count_lines_frontend.py,sha256=
|
|
246
|
+
machineconfig/scripts/python/repos_helpers/count_lines_frontend.py,sha256=Ttq7QC_rDgL38fGcmnn-iEmoK5ItqlvKgZHvqholG64,607
|
|
246
247
|
machineconfig/scripts/python/repos_helpers/entrypoint.py,sha256=O6ges-eMnXroIi14PszUWGD1-ITP4T0x7hk060rFT1k,2810
|
|
247
248
|
machineconfig/scripts/python/repos_helpers/record.py,sha256=FQo0swuJZOp0I2XGK-t1OQU4zJHmQ2z9zTpDD30Tmg4,11001
|
|
248
249
|
machineconfig/scripts/python/repos_helpers/sync.py,sha256=CLLWy2n2gY9beXPF-mblOQ6R7cKoenkJjMiX7tHQsBk,3091
|
|
@@ -255,7 +256,7 @@ machineconfig/scripts/windows/fzfrga.bat,sha256=rU_KBMO6ii2EZ0akMnmDk9vpuhKSUZqk
|
|
|
255
256
|
machineconfig/scripts/windows/mounts/mount_nfs.ps1,sha256=XrAdzpxE6a4OccSmWJ7YWHJTnsZK8uXnFE5j9GOPA20,2026
|
|
256
257
|
machineconfig/scripts/windows/mounts/mount_nw.ps1,sha256=puxcfZc3ZCJerm8pj8OZGVoTYkhzp-h7oV-MrksSqIE,454
|
|
257
258
|
machineconfig/scripts/windows/mounts/mount_smb.ps1,sha256=PzYWpIO9BpwXjdWlUQL9pnMRnOGNSkxfh4bHukJFme8,69
|
|
258
|
-
machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=
|
|
259
|
+
machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=4m9p6PpL3zg0nSBpYroCtNO5VE81-Mbu9y0NsMToI_g,322
|
|
259
260
|
machineconfig/scripts/windows/mounts/share_cloud.cmd,sha256=exD7JCdxw2LqVjw2MKCYHbVZlEqmelXtwnATng-dhJ4,1028
|
|
260
261
|
machineconfig/scripts/windows/mounts/share_smb.ps1,sha256=U7x8ULYSjbgzTtiHNSKQuTaZ_apilDvkGV5Xm5hXk5M,384
|
|
261
262
|
machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1,sha256=Wv-SLscdckV-1mG3p82VXKPY9zW3hgkRmcLUXIZ1daE,253
|
|
@@ -273,7 +274,7 @@ machineconfig/settings/keyboard/espanso/match/base.yml,sha256=A0QcNSzbdqSUNh42Wq
|
|
|
273
274
|
machineconfig/settings/keyboard/kanata/kanata.kbd,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
274
275
|
machineconfig/settings/lf/linux/colors,sha256=uSW9O3CkiVomxK8-JN8hQRcM71yADuOSjichbfBFTpg,4148
|
|
275
276
|
machineconfig/settings/lf/linux/icons,sha256=liVoi5nOaxFyujil2z7Pcu8l5dG7_uurJ9IJD36jVhI,7147
|
|
276
|
-
machineconfig/settings/lf/linux/lfrc,sha256=
|
|
277
|
+
machineconfig/settings/lf/linux/lfrc,sha256=Qg3HlAIspkubYTj8xONGxC6SouQD2TSzGGaIdlFrSQg,5227
|
|
277
278
|
machineconfig/settings/lf/linux/autocall/delete.sh,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
278
279
|
machineconfig/settings/lf/linux/autocall/on-cd.sh,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
279
280
|
machineconfig/settings/lf/linux/autocall/on-quit.sh,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -282,7 +283,7 @@ machineconfig/settings/lf/linux/autocall/paste.sh,sha256=47DEQpj8HBSa-_TImW-5JCe
|
|
|
282
283
|
machineconfig/settings/lf/linux/autocall/pre-cd.sh,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
283
284
|
machineconfig/settings/lf/linux/autocall/rename.sh,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
284
285
|
machineconfig/settings/lf/linux/exe/cleaner.sh,sha256=NKK30rUcrHXnwy8srylyaWL-XJdDWJIjF4a3mfbdEsA,209
|
|
285
|
-
machineconfig/settings/lf/linux/exe/fzf_nano.sh,sha256=
|
|
286
|
+
machineconfig/settings/lf/linux/exe/fzf_nano.sh,sha256=aqYZ2mb-gLu4C6Ct-Tntfb9Xz6LcIYu3hVjQ_EmTXoI,599
|
|
286
287
|
machineconfig/settings/lf/linux/exe/leftpane_previewer.sh,sha256=KXMq81hIvU9uzOuanluVcxVgJmEOYy-5sUbzcuc9b6U,200
|
|
287
288
|
machineconfig/settings/lf/linux/exe/lfcd.sh,sha256=dh_9JZHGHeNjGd8BE1NYNK4fO3Exwa9bAehywGYhSNs,770
|
|
288
289
|
machineconfig/settings/lf/linux/exe/previewer.sh,sha256=g2gzBL_fa72FvJHUknzmZT5D8JHyFuwB0sdMWhWZjZE,1210
|
|
@@ -291,13 +292,13 @@ machineconfig/settings/lf/windows/cd_tere.ps1,sha256=kiW7LiE0Pe2Pjq_4CO2N36wHx_0
|
|
|
291
292
|
machineconfig/settings/lf/windows/cd_zoxide.ps1,sha256=gQKJPa_YDmp5BiCKeYYHkZB_p7py8EXIhXtZi6vnN8o,159
|
|
292
293
|
machineconfig/settings/lf/windows/cd_zoxide2.ps1,sha256=9JwMeQdRxgEA9EGSlDh-XOFgIxQH3Dl9fuAWYnMFROs,141
|
|
293
294
|
machineconfig/settings/lf/windows/colors,sha256=8SldjeVxyJp281zU-d6SAvPV7gux_B8DS4my2CZpjng,2991
|
|
294
|
-
machineconfig/settings/lf/windows/fzf_edit.ps1,sha256=
|
|
295
|
+
machineconfig/settings/lf/windows/fzf_edit.ps1,sha256=TUpOoG2WpnKbjpgECT2_yPsGdhu_5JxWfl4KpY9yS0A,365
|
|
295
296
|
machineconfig/settings/lf/windows/icons,sha256=liVoi5nOaxFyujil2z7Pcu8l5dG7_uurJ9IJD36jVhI,7147
|
|
296
297
|
machineconfig/settings/lf/windows/leftpane_previewer.ps1,sha256=SjwqXPqrU-5M0RCsYToJs2QHYy51rSTsbr05dihKtzE,87
|
|
297
298
|
machineconfig/settings/lf/windows/lfcd.ps1,sha256=9mka24wTS2fwu9xUiveCEoodpniAuboZcvbsusQ708E,971
|
|
298
|
-
machineconfig/settings/lf/windows/lfrc,sha256=
|
|
299
|
+
machineconfig/settings/lf/windows/lfrc,sha256=BkLYTO_rhn2EYJuFMkcgTFvDtl_CRYNm4APxsZgXo7g,3337
|
|
299
300
|
machineconfig/settings/lf/windows/mkdir.ps1,sha256=Uluty9BrnS2kMsouiSqmt20GsNPbbTiHrKxwu1FtuME,56
|
|
300
|
-
machineconfig/settings/lf/windows/mkfile.ps1,sha256=
|
|
301
|
+
machineconfig/settings/lf/windows/mkfile.ps1,sha256=yehhWVXOvhJEJhrKWcchRuh2nptCd6NbP-j4rroOGXo,52
|
|
301
302
|
machineconfig/settings/lf/windows/previewer.ps1,sha256=Mfg1WDXIBu0GVECWd11MUCBzE20KVfvu63uhcmncZro,206
|
|
302
303
|
machineconfig/settings/lf/windows/tst.ps1,sha256=exLMP3aMVyhCjfJYgdYtcKVwJr_toxtNvVJHldyiGlI,4
|
|
303
304
|
machineconfig/settings/lf/windows/autocall/delete.ps1,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -371,7 +372,7 @@ machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh,sha256=F5dbg0n9RHsKG
|
|
|
371
372
|
machineconfig/setup_linux/ssh/openssh_all.sh,sha256=3dg6HEUFbHQOzLfSAtzK_D_GB8rGCCp_aBnxNdnidVc,824
|
|
372
373
|
machineconfig/setup_linux/ssh/openssh_wsl.sh,sha256=1eeRGrloVB34K5z8yWVUMG5b9pV-WBfHgV9jqXiYgCQ,1398
|
|
373
374
|
machineconfig/setup_linux/web_shortcuts/android.sh,sha256=gzep6bBhK7FCBvGcXK0fdJCtkSfBOftt0aFyDZq_eMs,68
|
|
374
|
-
machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=
|
|
375
|
+
machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=9evRn37VJ_SyKu47TiPZFtfs-Ok9CXqVJ7nchwiXAtg,441
|
|
375
376
|
machineconfig/setup_windows/__init__.py,sha256=NnSVZkIBoxoMgkj-_KAqGonH3YziBIWXOKDEcmNAGTY,386
|
|
376
377
|
machineconfig/setup_windows/apps.ps1,sha256=dmZQZD4ZlNZo9jYkjIS3ag4qDAYZvaLysjmo9ELwBA4,11218
|
|
377
378
|
machineconfig/setup_windows/uv.ps1,sha256=ukk1Abh-q-RfpoEqI2XTE2dcQJmHk0VFF6WqkK3TW8Q,350
|
|
@@ -381,7 +382,7 @@ machineconfig/setup_windows/others/power_options.ps1,sha256=c7Hn94jBD5GWF29CxMhm
|
|
|
381
382
|
machineconfig/setup_windows/ssh/add-sshkey.ps1,sha256=qfPdqCpd9KP3VhH4ifsUm1Xvec7c0QVl4Wt8JIAm9HQ,1653
|
|
382
383
|
machineconfig/setup_windows/ssh/add_identity.ps1,sha256=b8ZXpmNUSw3IMYvqSY7ClpdWPG39FS7MefoWnRhWN2U,506
|
|
383
384
|
machineconfig/setup_windows/ssh/openssh-server.ps1,sha256=OMlYQdvuJQNxF5EILLPizB6BZAT3jAmDsv1WcVVxpFQ,2529
|
|
384
|
-
machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=
|
|
385
|
+
machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=eioHb_CxReVxV9o8xBNhC6Ts8alzFv6gumCNiR4RoWc,547
|
|
385
386
|
machineconfig/setup_windows/wt_and_pwsh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
386
387
|
machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py,sha256=ogxJnwpdcpH7N6dFJu95UCNoGYirZKQho_3X0F_hmXs,6791
|
|
387
388
|
machineconfig/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -399,7 +400,7 @@ machineconfig/utils/procs.py,sha256=rw8LR8MjGgvtrpcgxb3hudq2B9fkkpYUXe9x5-FgHuc,
|
|
|
399
400
|
machineconfig/utils/scheduler.py,sha256=Uk6VT-gG7cOevnsKRcQPobTdr5zUZF0kLkdieByReMU,15749
|
|
400
401
|
machineconfig/utils/scheduling.py,sha256=RF1iXJpqf4Dg18jdZWtBixz97KAHC6VKYqTFSpdLWuc,11188
|
|
401
402
|
machineconfig/utils/source_of_truth.py,sha256=ZAnCRltiM07ig--P6g9_6nEAvNFC4X4ERFTVcvpIYsE,764
|
|
402
|
-
machineconfig/utils/ssh.py,sha256=
|
|
403
|
+
machineconfig/utils/ssh.py,sha256=KcK-aTDIVNtb7yZlwjI_UvWjlR8ViQz6aWxblvKZx6E,39079
|
|
403
404
|
machineconfig/utils/terminal.py,sha256=IlmOByfQG-vjhaFFxxzU5rWzP5_qUzmalRfuey3PAmc,11801
|
|
404
405
|
machineconfig/utils/tst.py,sha256=6u1GI49NdcpxH2BYGAusNfY5q9G_ytCGVzFM5b6HYpM,674
|
|
405
406
|
machineconfig/utils/upgrade_packages.py,sha256=mSFyKvB3JhHte_x1dtmEgrJZCAXgTUQoaJUSx1OXQ3Y,4145
|
|
@@ -428,8 +429,8 @@ machineconfig/utils/schemas/installer/installer_types.py,sha256=QClRY61QaduBPJoS
|
|
|
428
429
|
machineconfig/utils/schemas/layouts/layout_types.py,sha256=TcqlZdGVoH8htG5fHn1KWXhRdPueAcoyApppZsPAPto,2020
|
|
429
430
|
machineconfig/utils/schemas/repos/repos_types.py,sha256=ECVr-3IVIo8yjmYmVXX2mnDDN1SLSwvQIhx4KDDQHBQ,405
|
|
430
431
|
machineconfig/utils/ssh_utils/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
431
|
-
machineconfig-6.
|
|
432
|
-
machineconfig-6.
|
|
433
|
-
machineconfig-6.
|
|
434
|
-
machineconfig-6.
|
|
435
|
-
machineconfig-6.
|
|
432
|
+
machineconfig-6.44.dist-info/METADATA,sha256=s8qeEicBSVPeZ2UYVTKqaebk2_Y8OBiKyZKToC9a3CY,2928
|
|
433
|
+
machineconfig-6.44.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
434
|
+
machineconfig-6.44.dist-info/entry_points.txt,sha256=M0jwN_brZdXWhmNVeXLvdKxfkv8WhhXFZYcuKBA9qnk,418
|
|
435
|
+
machineconfig-6.44.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
|
|
436
|
+
machineconfig-6.44.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|