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.

Files changed (33) hide show
  1. machineconfig/cluster/sessions_managers/zellij_remote.py +2 -2
  2. machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +2 -2
  3. machineconfig/scripts/python/agents.py +1 -1
  4. machineconfig/scripts/python/croshell.py +10 -52
  5. machineconfig/scripts/python/croshell_helpers/crosh.py +43 -0
  6. machineconfig/scripts/python/devops.py +3 -1
  7. machineconfig/scripts/python/devops_helpers/cli_config.py +5 -2
  8. machineconfig/scripts/python/devops_helpers/cli_nw.py +1 -1
  9. machineconfig/scripts/python/devops_helpers/cli_repos.py +11 -11
  10. machineconfig/scripts/python/devops_helpers/cli_self.py +26 -22
  11. machineconfig/scripts/python/devops_helpers/cli_utils.py +17 -11
  12. machineconfig/scripts/python/entry.py +5 -5
  13. machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
  14. machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +8 -3
  15. machineconfig/scripts/python/helpers_repos/grource.py +1 -1
  16. machineconfig/scripts/python/interactive.py +5 -7
  17. machineconfig/scripts/python/nw/mount_nfs +1 -1
  18. machineconfig/scripts/python/repos_helpers/count_lines_frontend.py +1 -1
  19. machineconfig/scripts/python/sessions.py +1 -1
  20. machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
  21. machineconfig/settings/lf/linux/exe/fzf_nano.sh +2 -2
  22. machineconfig/settings/lf/linux/lfrc +10 -11
  23. machineconfig/settings/lf/windows/fzf_edit.ps1 +2 -2
  24. machineconfig/settings/lf/windows/lfrc +2 -2
  25. machineconfig/settings/lf/windows/mkfile.ps1 +1 -1
  26. machineconfig/setup_linux/web_shortcuts/interactive.sh +2 -2
  27. machineconfig/setup_windows/web_shortcuts/interactive.ps1 +2 -2
  28. machineconfig/utils/ssh.py +1 -1
  29. {machineconfig-6.42.dist-info → machineconfig-6.44.dist-info}/METADATA +1 -1
  30. {machineconfig-6.42.dist-info → machineconfig-6.44.dist-info}/RECORD +33 -32
  31. {machineconfig-6.42.dist-info → machineconfig-6.44.dist-info}/WHEEL +0 -0
  32. {machineconfig-6.42.dist-info → machineconfig-6.44.dist-info}/entry_points.txt +0 -0
  33. {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": "~/scripts/fire -mO go1.py bot1 -- --create_new_bot=True"},
145
- {"tabName": "🤖Bot2", "startDir": "~/code/bytesense/bithence", "command": "~/scripts/fire -mO go2.py bot2 -- --create_new_bot=True"},
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": "~/scripts/fire -mO go1.py bot1 -- --create_new_bot=True"},
21
- {"tabName": "🤖Bot2", "startDir": "~/code/bytesense/bithence", "command": "~/scripts/fire -mO go2.py bot2 -- --create_new_bot=True"},
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 --with "marimo,machineconfig[plot]>=6.42" marimo edit --host 0.0.0.0 marimo_nb.py
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.42' jupyter-lab {str(nb_target)}"
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.42"
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.42" """
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, add_completion=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
- run_shell_script(f"""uv run --with "machineconfig>=6.42,textual" {path}""")
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
- UVsyncOption = Annotated[bool, typer.Option("--uv-sync/-ns", help="🚫 Disable automatic uv sync after pulls.")]
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, uv_sync: UVsyncOption = True) -> None:
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=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, uv_sync: UVsyncOption = True) -> None:
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=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, uv_sync: UVsyncOption = True) -> None:
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=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, uv_sync: UVsyncOption = True) -> None:
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=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(copy_assets: Annotated[bool, typer.Option("--copy-assets/-nc", help="Copy assets to the machine after the update")] = True):
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
- if copy_assets:
34
- import machineconfig.profile.create_helper as create_helper
35
- create_helper.copy_assets_to_machine(which="scripts")
36
- create_helper.copy_assets_to_machine(which="settings")
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
- def install():
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
- run_shell_script(f"""uv run --with "machineconfig>=6.42,textual" {path}""")
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
- def download(url: Annotated[Optional[str], typer.Argument(..., help="The URL to download the file from." )] = None,
10
- decompress: Annotated[bool, typer.Option("--decompress", "-d", help="Decompress the file if it's an archive.")] = False,
11
- output: Annotated[Optional[str], typer.Option("--output", "-o", help="The output file path.")] = None) -> None:
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
- output_dir = download_path.parent if output else Path.cwd()
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
- _result = subprocess.run(
55
- ["ouch", "decompress", str(download_path), "--dir", str(output_dir)],
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: {output_dir}")
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=True)
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="[f] File transfer utility though SSH")(ftpx_func)
36
- app.command("f", no_args_is_help=True, hidden=True)(ftpx_func) # short alias
37
- app.command("croshell", no_args_is_help=False, help="[cs] Cross-shell command execution")(croshell_func)
38
- app.command("cs", no_args_is_help=False, hidden=True)(croshell_func) # short alias
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
 
@@ -2,7 +2,7 @@
2
2
  # /// script
3
3
  # requires-python = ">=3.13"
4
4
  # dependencies = [
5
- # "machineconfig>=6.42",
5
+ # "machineconfig>=6.44",
6
6
  # "textual",
7
7
  # "pyperclip",
8
8
  # ]
@@ -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
- shell_file_1 = get_shell_file_executing_python_script(python_script=program_1_py, ve_path=None, executable="""uv run --with "machineconfig>=6.42" """)
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="""uv run --with "machineconfig>=6.42" """)
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="install_repos", title="🐍 Install machineconfig.", checked=False),
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 "install_repos" in selected_options:
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 platform
132
- if platform.system() == "Windows":
133
- run_shell_script(r"""$HOME\.local\bin\uv.exe tool install "machineconfig>=6.42" """)
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.42" python -m machineconfig.scripts.python.mount_nfs
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.42" {count_lines_path} analyze-over-time {repo_path}"""
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.42" python -m machineconfig.scripts.python.mount_ssh
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 (~/scripts/fzf2g) # space used for precedence in execution
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 | ~/scripts/nano.ps1
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 ~/code/machineconfig/src/machineconfig/settings/lf/linux/exe/previewer.sh
18
- set cleaner ~/code/machineconfig/src/machineconfig/settings/lf/linux/exe/cleaner.sh
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 !~/code/machineconfig/src/machineconfig/settings/lf/linux/exe/previewer.sh "$f"
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 $~/scripts/croshell
86
+ map wr $croshell
88
87
  # map wm $cmd
89
- map i !~/code/machineconfig/src/machineconfig/settings/lf/linux/exe/previewer.sh $f
88
+ map i !~/.config/machineconfig/settings/lf/linux/exe/previewer.sh $f
90
89
  map I !cat $f | gum pager
91
- map R $~/scripts/croshell -r $f
92
- map O $~/scripts/croshell -rj $f
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 $~/scripts/croshell -j --read $f
122
- # map jj $lvim ~/code/machineconfig/src/machineconfig/settings/lf/linux/lfrc
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 $(~/scripts/fzf2g.sh $args[1])
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
- ~/scripts/nano.ps1 (~/scripts/fzfb) # space use for presedence in execution.
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 | ~/scripts/nano.ps1
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 $~/scripts/nano $env:f
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 $~/scripts/croshell.ps1
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,3 +1,3 @@
1
1
 
2
2
  $name = Read-Host "Input File Name"
3
- ~/scripts/nano.ps1 $name
3
+ nano.ps1 $name
@@ -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.42" mcfg "$@"
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 cs="mcfg croshell"
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.42" mcfg $args
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 cs { mcfg croshell @args }
13
+ function r { mcfg croshell @args }
14
14
  Write-Host "mcfg command aliases are now defined in this PowerShell session."
@@ -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.42"
9
+ MACHINECONFIG_VERSION = "machineconfig>=6.44"
10
10
  DEFAULT_PICKLE_SUBDIR = "tmp_results/tmp_scripts/ssh"
11
11
 
12
12
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: machineconfig
3
- Version: 6.42
3
+ Version: 6.44
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -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=siLNW7DohSMjDGmhTeNGU8xpb1XM4NFvmkzaa3NyZbc,8533
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=zA_PGkaMFVkRjxjXHl0FcyCQ9BASFSTP7ZnEgQ_rtyE,2996
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=f5UxgXjGlEypoNFqK0uHKO0UkbV_wUmPiPzotL2yapM,10677
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=eAmbfzcqMFVb8ObFdElxgI1dXfo3KtCNid3xOnkBadw,9071
126
- machineconfig/scripts/python/devops.py,sha256=NMiGkw5w3svn7mgxkfCd9jTiVlqQp6GglU8BmclYBQ8,2393
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=Az7dK1eXHGW5l46Yg10Cd88VChCdhvLAzO3e1A3r56A,2176
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=Vnyj5MTynxluIMmo67ITDK7FbFdLPAt7WwHu6wL1tZQ,11820
132
- machineconfig/scripts/python/sessions.py,sha256=l0NhO8kLtpDHdvNTlZ-Stt0VqARZqKUqiJlKvGIqCC0,9778
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=iQG8U9fNcDWcmBZ_lSM1_KqjDxRR8UsedKnhbLncnoo,5402
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=1slGev50V3sHlVSt6mnFSV9faIzrnvtwXmJxnCnVJJ0,4131
181
- machineconfig/scripts/python/devops_helpers/cli_repos.py,sha256=QKR5Ci6IS6tBanRKUdRaXp3BZ_p4tt8_pvQsozjPlHM,12350
182
- machineconfig/scripts/python/devops_helpers/cli_self.py,sha256=FuNCwwHL-W-i4Rqpd88pUCqaRHtQb8DmxtuQBqJsh90,5713
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=7xw3IgMUH9hvAg40cipgY03qSkhVb72oE13b2HjfeiY,3299
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=on9xF94mSri7wbDS4GCblVQE2ToIpMsDUg_xQpg4r7w,6919
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=pt3Z2rn6ypEzttCwXsDzzBfWkJZ5CmnvRT-8OouvbOg,9810
224
- machineconfig/scripts/python/helpers_repos/grource.py,sha256=zDKWAO24aA0HlpcKFgBH4Lh_eqWp9KTEqnbUnX6I2pk,14611
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=Pk1M4j5OuTuhnSjyCML48lF0WLexeUR9i_UCFy3pmuY,1855
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=t0yb7VO8SLNrKpyaYJ08OKG8MOljzubx_TPKV0LBZec,607
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=Rqkgf6PiBumc2slu1mlDOh999rDo8484m6pmP2FKwpQ,322
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=GC19HaiJoSjDXihE7hfxrLLoXk4gt5osndt55XLE7f4,5417
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=b6YTQ5zXrdV4tiedJHqWJLVud6LNWDtUXig0U7o9zLc,619
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=kaEl3VKWW8THaqcCMVUkpdUrxscwdlT9DA_RF7W-MQA,395
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=i38p6zTOAeXsFvdpXLKiRW2Y0oBsIwR_lSTe_uqomFk,3357
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=sAMnviWyZ8fkhZi7euKLUY2DgIg7domqZ9SSCbK2VWU,62
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=sOHi5onoRkWvISdicGYjpWjWlPNL-CiPOA6Rscr2oSQ,442
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=mnJn0Itn33qaCQaYbqaHE21wCAqW3avXcAWzQXkbrFc,548
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=SZhlRYNeAu1vLNBUt08hQlKN1Ds9JDD-PwwDqEvuql0,39079
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.42.dist-info/METADATA,sha256=Tk4BH-r5H4JuAJYKBohrn54ff4uZJXuyuzB1LEeAMCM,2928
432
- machineconfig-6.42.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
433
- machineconfig-6.42.dist-info/entry_points.txt,sha256=M0jwN_brZdXWhmNVeXLvdKxfkv8WhhXFZYcuKBA9qnk,418
434
- machineconfig-6.42.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
435
- machineconfig-6.42.dist-info/RECORD,,
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,,