machineconfig 6.98__py3-none-any.whl → 7.2__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/scripts/linux/mcfgs +2 -2
- machineconfig/scripts/python/define.py +26 -0
- machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
- machineconfig/scripts/python/helpers_devops/cli_config.py +4 -13
- machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +41 -38
- machineconfig/scripts/python/helpers_devops/cli_self.py +3 -3
- machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +1 -1
- machineconfig/scripts/windows/mcfgs.ps1 +2 -2
- machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
- machineconfig/settings/shells/bash/init.sh +9 -9
- machineconfig/settings/shells/pwsh/init.ps1 +9 -9
- machineconfig/setup_linux/__init__.py +1 -0
- machineconfig/setup_linux/web_shortcuts/interactive.sh +19 -19
- machineconfig/setup_windows/web_shortcuts/interactive.ps1 +18 -18
- machineconfig/utils/links.py +16 -7
- machineconfig/utils/ssh.py +1 -1
- machineconfig/utils/upgrade_packages.py +4 -2
- {machineconfig-6.98.dist-info → machineconfig-7.2.dist-info}/METADATA +13 -3
- {machineconfig-6.98.dist-info → machineconfig-7.2.dist-info}/RECORD +22 -21
- {machineconfig-6.98.dist-info → machineconfig-7.2.dist-info}/entry_points.txt +2 -0
- {machineconfig-6.98.dist-info → machineconfig-7.2.dist-info}/WHEEL +0 -0
- {machineconfig-6.98.dist-info → machineconfig-7.2.dist-info}/top_level.txt +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
wrap_in_shell_script() {
|
|
5
5
|
# set -euo pipefail
|
|
6
6
|
|
|
7
7
|
# ANSI color/style codes
|
|
@@ -43,6 +43,6 @@ wrap_in_op_program() {
|
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
if [[ $# -gt 0 ]]; then
|
|
46
|
-
|
|
46
|
+
wrap_in_shell_script "$@"
|
|
47
47
|
fi
|
|
48
48
|
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
|
|
2
|
+
"""
|
|
3
|
+
Minimalist programs that only print scripts without frills so it can be sourced by by shell.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
import typer
|
|
8
|
+
import platform
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def define_scripts():
|
|
12
|
+
if platform.system() != "Linux":
|
|
13
|
+
raise RuntimeError("This command is only supported on Linux systems.")
|
|
14
|
+
from machineconfig.setup_linux import INTERACTIVE as script_path
|
|
15
|
+
script = script_path.read_text(encoding="utf-8")
|
|
16
|
+
print(script)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def main():
|
|
20
|
+
app = typer.Typer(add_completion=False, no_args_is_help=True)
|
|
21
|
+
app.command(name="scripts", help="define all scripts", no_args_is_help=False)(define_scripts)
|
|
22
|
+
app()
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# if __name__ == "__main__":
|
|
26
|
+
# main()
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
from typing import Literal, Annotated, Optional
|
|
4
4
|
from pathlib import Path
|
|
5
5
|
import typer
|
|
6
|
-
|
|
6
|
+
import machineconfig.scripts.python.helpers_devops.cli_config_dotfile as dotfile_module
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
def private(method: Annotated[Literal["symlink", "copy"], typer.Option(..., "--method", "-m", help="Method to use for linking files")],
|
|
@@ -22,15 +22,6 @@ def public(method: Annotated[Literal["symlink", "copy"], typer.Option(..., "--me
|
|
|
22
22
|
import machineconfig.profile.create_links_export as create_links_export
|
|
23
23
|
create_links_export.main_public_from_parser(method=method, on_conflict=on_conflict, which=which, interactive=interactive)
|
|
24
24
|
|
|
25
|
-
def dotfile(file: Annotated[str, typer.Argument(help="file/folder path.")],
|
|
26
|
-
overwrite: Annotated[bool, typer.Option("--overwrite", "-o", help="Overwrite.")] = False,
|
|
27
|
-
dest: Annotated[str, typer.Option("--dest", "-d", help="destination folder")] = "",
|
|
28
|
-
):
|
|
29
|
-
"""🔗 Manage dotfiles."""
|
|
30
|
-
import machineconfig.scripts.python.helpers_devops.cli_config_dotfile as dotfile_module
|
|
31
|
-
dotfile_module.main(file=file, overwrite=overwrite, dest=dest)
|
|
32
|
-
|
|
33
|
-
|
|
34
25
|
def shell():
|
|
35
26
|
"""🔗 Configure your shell profile."""
|
|
36
27
|
from machineconfig.profile.create_shell_profile import create_default_shell_profile
|
|
@@ -46,7 +37,7 @@ def path():
|
|
|
46
37
|
uv_with = ["textual"]
|
|
47
38
|
uv_project_dir = None
|
|
48
39
|
if not Path.home().joinpath("code/machineconfig").exists():
|
|
49
|
-
uv_with.append("machineconfig>=6.
|
|
40
|
+
uv_with.append("machineconfig>=6.99")
|
|
50
41
|
else:
|
|
51
42
|
uv_project_dir = str(Path.home().joinpath("code/machineconfig"))
|
|
52
43
|
run_shell_script(get_uv_command_executing_python_script(python_script=path.read_text(encoding="utf-8"), uv_with=uv_with, uv_project_dir=uv_project_dir)[0])
|
|
@@ -104,8 +95,8 @@ def get_app():
|
|
|
104
95
|
config_apps.command("v", no_args_is_help=True, hidden=True)(private)
|
|
105
96
|
config_apps.command("public", no_args_is_help=True, help="🔗 [b] Manage public configuration files.")(public)
|
|
106
97
|
config_apps.command("b", no_args_is_help=True, help="Manage public configuration files.", hidden=True)(public)
|
|
107
|
-
config_apps.command("dotfile", no_args_is_help=True, help="🔗 [d] Manage dotfiles.")(
|
|
108
|
-
config_apps.command("d", no_args_is_help=True, hidden=True)(
|
|
98
|
+
config_apps.command("dotfile", no_args_is_help=True, help="🔗 [d] Manage dotfiles.")(dotfile_module.main)
|
|
99
|
+
config_apps.command("d", no_args_is_help=True, hidden=True)(dotfile_module.main)
|
|
109
100
|
config_apps.command("shell", no_args_is_help=False, help="🔗 [s] Configure your shell profile.")(shell)
|
|
110
101
|
config_apps.command("s", no_args_is_help=False, help="Configure your shell profile.", hidden=True)(shell)
|
|
111
102
|
config_apps.command("path", no_args_is_help=False, help="📚 [p] NAVIGATE PATH variable with TUI")(path)
|
|
@@ -1,41 +1,44 @@
|
|
|
1
1
|
"""Like yadm and dotter."""
|
|
2
2
|
|
|
3
|
-
from typing import Annotated
|
|
4
|
-
|
|
3
|
+
from typing import Annotated, Literal
|
|
5
4
|
import typer
|
|
6
5
|
|
|
7
6
|
|
|
8
7
|
def main(
|
|
9
8
|
file: Annotated[str, typer.Argument(help="file/folder path.")],
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
method: Annotated[Literal["symlink", "copy"], typer.Option(..., "--method", "-m", help="Method to use for linking files")] = "copy",
|
|
10
|
+
on_conflict: Annotated[Literal["throw-error", "overwriteSelfManaged", "backupSelfManaged", "overwriteDefaultPath", "backupDefaultPath"], typer.Option(..., "--on-conflict", "-o", help="Action to take on conflict")] = "throw-error",
|
|
11
|
+
sensitivity: Annotated[Literal["private", "public"], typer.Option(..., "--sensitivity", "-s", help="Sensitivity of the config file.")] = "private",
|
|
12
|
+
destination: Annotated[str, typer.Option("--destination", "-d", help="destination folder (override the default, use at your own risk)")] = "",
|
|
12
13
|
) -> None:
|
|
13
|
-
|
|
14
14
|
from rich.console import Console
|
|
15
15
|
from rich.panel import Panel
|
|
16
|
+
from machineconfig.utils.links import symlink_map, copy_map
|
|
17
|
+
from pathlib import Path
|
|
18
|
+
match sensitivity:
|
|
19
|
+
case "private":
|
|
20
|
+
backup_root = Path.home().joinpath("dotfiles/mapper")
|
|
21
|
+
case "public":
|
|
22
|
+
from machineconfig.utils.source_of_truth import CONFIG_ROOT
|
|
23
|
+
backup_root = Path(CONFIG_ROOT).joinpath("dotfiles/mapper")
|
|
16
24
|
|
|
17
|
-
from machineconfig.utils.links import symlink_map
|
|
18
|
-
from machineconfig.utils.path_extended import PathExtended
|
|
19
|
-
from machineconfig.utils.source_of_truth import CONFIG_ROOT
|
|
20
25
|
console = Console()
|
|
21
|
-
orig_path =
|
|
22
|
-
if
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
elif "Roaming" in str(orig_path):
|
|
26
|
-
junction = orig_path.split(at="Roaming", sep=-1)[1]
|
|
27
|
-
elif ".config" in str(orig_path):
|
|
28
|
-
junction = orig_path.split(at=".config", sep=-1)[1]
|
|
29
|
-
else:
|
|
30
|
-
junction = orig_path.rel2home()
|
|
31
|
-
new_path = PathExtended(CONFIG_ROOT).parent.parent.joinpath(junction)
|
|
26
|
+
orig_path = Path(file).expanduser().absolute()
|
|
27
|
+
if destination == "":
|
|
28
|
+
new_path = backup_root.joinpath(orig_path.relative_to(Path.home()))
|
|
29
|
+
new_path.parent.mkdir(parents=True, exist_ok=True)
|
|
32
30
|
else:
|
|
33
|
-
dest_path =
|
|
31
|
+
dest_path = Path(destination).expanduser().absolute()
|
|
34
32
|
dest_path.mkdir(parents=True, exist_ok=True)
|
|
35
33
|
new_path = dest_path.joinpath(orig_path.name)
|
|
36
34
|
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
from machineconfig.utils.path_extended import PathExtended
|
|
36
|
+
if method == "copy":
|
|
37
|
+
copy_map(config_file_default_path=PathExtended(orig_path), self_managed_config_file_path=PathExtended(new_path), on_conflict=on_conflict)
|
|
38
|
+
elif method == "symlink":
|
|
39
|
+
symlink_map(config_file_default_path=PathExtended(orig_path), self_managed_config_file_path=PathExtended(new_path), on_conflict=on_conflict)
|
|
40
|
+
else:
|
|
41
|
+
raise ValueError(f"Unknown method: {method}")
|
|
39
42
|
console.print(
|
|
40
43
|
Panel(
|
|
41
44
|
"\n".join(
|
|
@@ -50,23 +53,23 @@ def main(
|
|
|
50
53
|
)
|
|
51
54
|
)
|
|
52
55
|
|
|
53
|
-
mapper_snippet = "\n".join(
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
)
|
|
56
|
+
# mapper_snippet = "\n".join(
|
|
57
|
+
# [
|
|
58
|
+
# f"[bold]📝 Edit configuration file:[/] [cyan]nano {PathExtended(CONFIG_ROOT)}/symlinks/mapper.toml[/cyan]",
|
|
59
|
+
# "",
|
|
60
|
+
# f"[{new_path.parent.name}]",
|
|
61
|
+
# f"{orig_path.name.split('.')[0]} = {{ this = '{orig_path.collapseuser().as_posix()}', to_this = '{new_path.collapseuser().as_posix()}' }}",
|
|
62
|
+
# ]
|
|
63
|
+
# )
|
|
61
64
|
|
|
62
|
-
console.print(
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
)
|
|
65
|
+
# console.print(
|
|
66
|
+
# Panel(
|
|
67
|
+
# mapper_snippet,
|
|
68
|
+
# title="Mapper Entry",
|
|
69
|
+
# border_style="cyan",
|
|
70
|
+
# padding=(1, 2),
|
|
71
|
+
# )
|
|
72
|
+
# )
|
|
70
73
|
|
|
71
74
|
|
|
72
75
|
def arg_parser() -> None:
|
|
@@ -48,9 +48,9 @@ def install(no_copy_assets: Annotated[bool, typer.Option("--no-assets-copy", "-n
|
|
|
48
48
|
else:
|
|
49
49
|
import platform
|
|
50
50
|
if platform.system() == "Windows":
|
|
51
|
-
run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=6.
|
|
51
|
+
run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=6.99" """)
|
|
52
52
|
else:
|
|
53
|
-
run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=6.
|
|
53
|
+
run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=6.99" """)
|
|
54
54
|
from machineconfig.profile.create_shell_profile import create_default_shell_profile
|
|
55
55
|
if not no_copy_assets:
|
|
56
56
|
create_default_shell_profile() # involves copying assets too
|
|
@@ -75,7 +75,7 @@ def navigate():
|
|
|
75
75
|
path = Path(navigator.__file__).resolve().parent.joinpath("devops_navigator.py")
|
|
76
76
|
from machineconfig.utils.code import run_shell_script
|
|
77
77
|
if Path.home().joinpath("code/machineconfig").exists(): executable = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with textual"""
|
|
78
|
-
else: executable = """--with "machineconfig>=6.
|
|
78
|
+
else: executable = """--with "machineconfig>=6.99,textual" """
|
|
79
79
|
run_shell_script(f"""uv run {executable} {path}""")
|
|
80
80
|
|
|
81
81
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function
|
|
1
|
+
function wrap_in_shell_script {
|
|
2
2
|
param(
|
|
3
3
|
[Parameter(Mandatory=$true)]
|
|
4
4
|
[string]$Command,
|
|
@@ -49,6 +49,6 @@ function wrap_in_op_code {
|
|
|
49
49
|
|
|
50
50
|
# Call the function with any arguments passed to the script
|
|
51
51
|
if ($args.Count -gt 0) {
|
|
52
|
-
|
|
52
|
+
wrap_in_shell_script @args
|
|
53
53
|
}
|
|
54
54
|
|
|
@@ -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.99" 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
|
|
@@ -46,15 +46,15 @@ if [ -f "$HOME/dotfiles/machineconfig/init_linux.sh" ]; then
|
|
|
46
46
|
fi
|
|
47
47
|
|
|
48
48
|
alias l='lsd -la'
|
|
49
|
-
alias d='
|
|
50
|
-
alias c='
|
|
51
|
-
alias a='
|
|
52
|
-
alias s='
|
|
53
|
-
alias ff='
|
|
54
|
-
alias f='
|
|
55
|
-
alias r='
|
|
56
|
-
alias u='
|
|
57
|
-
alias t='
|
|
49
|
+
alias d='wrap_in_shell_script devops'
|
|
50
|
+
alias c='wrap_in_shell_script cloud'
|
|
51
|
+
alias a='wrap_in_shell_script agents'
|
|
52
|
+
alias s='wrap_in_shell_script sessions'
|
|
53
|
+
alias ff='wrap_in_shell_script ftpx'
|
|
54
|
+
alias f='wrap_in_shell_script fire'
|
|
55
|
+
alias r='wrap_in_shell_script croshell'
|
|
56
|
+
alias u='wrap_in_shell_script utils'
|
|
57
|
+
alias t='wrap_in_shell_script term'
|
|
58
58
|
|
|
59
59
|
|
|
60
60
|
# alias gcs='gh copilot suggest -t shell'
|
|
@@ -32,15 +32,15 @@ if (Test-Path "$CONFIG_ROOT\scripts\windows\mcfgs.ps1") {
|
|
|
32
32
|
|
|
33
33
|
function lsdla { lsd -la }
|
|
34
34
|
Set-Alias -Name l -Value lsdla -Option AllScope
|
|
35
|
-
function d {
|
|
36
|
-
function c {
|
|
37
|
-
function a {
|
|
38
|
-
function ss {
|
|
39
|
-
function ff {
|
|
40
|
-
function f {
|
|
41
|
-
function rr {
|
|
42
|
-
function u {
|
|
43
|
-
function t {
|
|
35
|
+
function d { wrap_in_shell_script devops $args }
|
|
36
|
+
function c { wrap_in_shell_script cloud $args }
|
|
37
|
+
function a { wrap_in_shell_script agents $args }
|
|
38
|
+
function ss { wrap_in_shell_script sessions $args }
|
|
39
|
+
function ff { wrap_in_shell_script ftpx $args }
|
|
40
|
+
function f { wrap_in_shell_script fire $args }
|
|
41
|
+
function rr { wrap_in_shell_script croshell $args }
|
|
42
|
+
function u { wrap_in_shell_script utils $args }
|
|
43
|
+
function t { wrap_in_shell_script terminal $args }
|
|
44
44
|
|
|
45
45
|
}
|
|
46
46
|
else {
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
2
|
. <( curl -sSL "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/uv.sh")
|
|
3
|
-
. <( curl -sSL "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/scripts/linux/mcfgs
|
|
3
|
+
. <( curl -sSL "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/scripts/linux/mcfgs")
|
|
4
4
|
|
|
5
|
-
alias devops='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.
|
|
6
|
-
alias cloud='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.
|
|
7
|
-
alias agents='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.
|
|
8
|
-
alias sessions='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.
|
|
9
|
-
alias ftpx='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.
|
|
10
|
-
alias fire='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.
|
|
11
|
-
alias croshell='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.
|
|
12
|
-
alias utils='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.
|
|
13
|
-
alias terminal='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.
|
|
5
|
+
alias devops='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.99" devops'
|
|
6
|
+
alias cloud='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.99" cloud'
|
|
7
|
+
alias agents='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.99" agents'
|
|
8
|
+
alias sessions='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.99" sessions'
|
|
9
|
+
alias ftpx='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.99" ftpx'
|
|
10
|
+
alias fire='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.99" fire'
|
|
11
|
+
alias croshell='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.99" croshell'
|
|
12
|
+
alias utils='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.99" utils'
|
|
13
|
+
alias terminal='$HOME/.local/bin/uvx --python 3.14 --from "machineconfig>=6.99" terminal'
|
|
14
14
|
|
|
15
|
-
alias d='
|
|
16
|
-
alias c='
|
|
17
|
-
alias a='
|
|
18
|
-
alias ss='
|
|
19
|
-
alias ff='
|
|
20
|
-
alias f='
|
|
21
|
-
alias rr='
|
|
22
|
-
alias u='
|
|
23
|
-
alias t='
|
|
15
|
+
alias d='wrap_in_shell_script devops'
|
|
16
|
+
alias c='wrap_in_shell_script cloud'
|
|
17
|
+
alias a='wrap_in_shell_script agents'
|
|
18
|
+
alias ss='wrap_in_shell_script sessions'
|
|
19
|
+
alias ff='wrap_in_shell_script ftpx'
|
|
20
|
+
alias f='wrap_in_shell_script fire'
|
|
21
|
+
alias rr='wrap_in_shell_script croshell'
|
|
22
|
+
alias u='wrap_in_shell_script utils'
|
|
23
|
+
alias t='wrap_in_shell_script terminal'
|
|
24
24
|
|
|
25
25
|
echo "mcfg command aliases are now defined in this shell session."
|
|
@@ -3,24 +3,24 @@
|
|
|
3
3
|
iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/uv.ps1").Content
|
|
4
4
|
iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/scripts/windows/mcfgs.ps1").Content
|
|
5
5
|
|
|
6
|
-
function devops { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.
|
|
7
|
-
function cloud { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.
|
|
8
|
-
function agents { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.
|
|
9
|
-
function sessions { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.
|
|
10
|
-
function ftpx { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.
|
|
11
|
-
function fire { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.
|
|
12
|
-
function croshell { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.
|
|
13
|
-
function utils { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.
|
|
14
|
-
function terminal { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.
|
|
6
|
+
function devops { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.99" devops $args }
|
|
7
|
+
function cloud { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.99" cloud $args }
|
|
8
|
+
function agents { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.99" agents $args }
|
|
9
|
+
function sessions { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.99" sessions $args }
|
|
10
|
+
function ftpx { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.99" ftpx $args }
|
|
11
|
+
function fire { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.99" fire $args }
|
|
12
|
+
function croshell { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.99" croshell $args }
|
|
13
|
+
function utils { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.99" utils $args }
|
|
14
|
+
function terminal { & "$HOME\.local\bin\uvx.exe" --python 3.14 --from "machineconfig>=6.99" terminal $args }
|
|
15
15
|
|
|
16
|
-
function d {
|
|
17
|
-
function c {
|
|
18
|
-
function a {
|
|
19
|
-
function ss {
|
|
20
|
-
function ff {
|
|
21
|
-
function f {
|
|
22
|
-
function rr {
|
|
23
|
-
function u {
|
|
24
|
-
function t {
|
|
16
|
+
function d { wrap_in_shell_script devops @args }
|
|
17
|
+
function c { wrap_in_shell_script cloud @args }
|
|
18
|
+
function a { wrap_in_shell_script agents @args }
|
|
19
|
+
function ss { wrap_in_shell_script sessions @args }
|
|
20
|
+
function ff { wrap_in_shell_script ftpx @args }
|
|
21
|
+
function f { wrap_in_shell_script fire @args }
|
|
22
|
+
function rr { wrap_in_shell_script croshell @args }
|
|
23
|
+
function u { wrap_in_shell_script utils @args }
|
|
24
|
+
function t { wrap_in_shell_script terminal @args }
|
|
25
25
|
|
|
26
26
|
Write-Host "mcfg command aliases are now defined in this PowerShell session."
|
machineconfig/utils/links.py
CHANGED
|
@@ -162,14 +162,15 @@ def symlink_map(config_file_default_path: PathExtended, self_managed_config_file
|
|
|
162
162
|
config_file_default_path.delete(sure=True)
|
|
163
163
|
else:
|
|
164
164
|
# Files are different, use on_conflict strategy
|
|
165
|
+
import subprocess
|
|
166
|
+
command = f"""delta --side-by-side "{config_file_default_path}" "{self_managed_config_file_path}" """
|
|
167
|
+
try:
|
|
168
|
+
console.print(Panel(f"🆘 CONFLICT DETECTED | Showing diff between {config_file_default_path} and {self_managed_config_file_path}", title="Conflict Detected", expand=False))
|
|
169
|
+
subprocess.run(command, shell=True, check=True)
|
|
170
|
+
except Exception:
|
|
171
|
+
console.print(Panel("⚠️ Could not show diff using 'delta'. Please install 'delta' for better diff visualization.", title="Delta Not Found", expand=False))
|
|
172
|
+
|
|
165
173
|
if on_conflict == "throw-error":
|
|
166
|
-
import subprocess
|
|
167
|
-
command = f"""delta --side-by-side "{config_file_default_path}" "{self_managed_config_file_path}" """
|
|
168
|
-
try:
|
|
169
|
-
console.print(Panel(f"🆘 CONFLICT DETECTED | Showing diff between {config_file_default_path} and {self_managed_config_file_path}", title="Conflict Detected", expand=False))
|
|
170
|
-
subprocess.run(command, shell=True, check=True)
|
|
171
|
-
except Exception:
|
|
172
|
-
console.print(Panel("⚠️ Could not show diff using 'delta'. Please install 'delta' for better diff visualization.", title="Delta Not Found", expand=False))
|
|
173
174
|
raise RuntimeError(f"Conflict detected: {config_file_default_path} and {self_managed_config_file_path} both exist with different content")
|
|
174
175
|
elif on_conflict == "overwriteSelfManaged":
|
|
175
176
|
action_taken = "backing_up_target"
|
|
@@ -289,6 +290,14 @@ def copy_map(config_file_default_path: PathExtended, self_managed_config_file_pa
|
|
|
289
290
|
config_file_default_path.delete(sure=True)
|
|
290
291
|
else:
|
|
291
292
|
# Files are different, use on_conflict strategy
|
|
293
|
+
import subprocess
|
|
294
|
+
command = f"""delta --side-by-side "{config_file_default_path}" "{self_managed_config_file_path}" """
|
|
295
|
+
try:
|
|
296
|
+
console.print(Panel(f"🆘 CONFLICT DETECTED | Showing diff between {config_file_default_path} and {self_managed_config_file_path}", title="Conflict Detected", expand=False))
|
|
297
|
+
subprocess.run(command, shell=True, check=True)
|
|
298
|
+
except Exception:
|
|
299
|
+
console.print(Panel("⚠️ Could not show diff using 'delta'. Please install 'delta' for better diff visualization.", title="Delta Not Found", expand=False))
|
|
300
|
+
|
|
292
301
|
match on_conflict:
|
|
293
302
|
case "throw-error":
|
|
294
303
|
raise RuntimeError(f"Conflict detected: {config_file_default_path} and {self_managed_config_file_path} both exist with different content")
|
machineconfig/utils/ssh.py
CHANGED
|
@@ -8,7 +8,7 @@ from machineconfig.utils.terminal import Response
|
|
|
8
8
|
from machineconfig.utils.accessories import pprint, randstr
|
|
9
9
|
from machineconfig.utils.meta import lambda_to_python_script
|
|
10
10
|
UV_RUN_CMD = "$HOME/.local/bin/uv run" if platform.system() != "Windows" else """& "$env:USERPROFILE/.local/bin/uv" run"""
|
|
11
|
-
MACHINECONFIG_VERSION = "machineconfig>=6.
|
|
11
|
+
MACHINECONFIG_VERSION = "machineconfig>=6.99"
|
|
12
12
|
DEFAULT_PICKLE_SUBDIR = "tmp_results/tmp_scripts/ssh"
|
|
13
13
|
|
|
14
14
|
class SSH:
|
|
@@ -113,9 +113,11 @@ def upgrade_machine_config_version() -> None:
|
|
|
113
113
|
major: int = int(version_parts[0])
|
|
114
114
|
minor: int = int(version_parts[1])
|
|
115
115
|
|
|
116
|
-
# Bump minor version by 1
|
|
116
|
+
# Bump minor version by 1, preserving zero-padding
|
|
117
117
|
new_minor: int = minor + 1
|
|
118
|
-
|
|
118
|
+
# Preserve the same number of digits as the original minor version
|
|
119
|
+
minor_width: int = len(version_parts[1])
|
|
120
|
+
new_version: str = f"{major}.{new_minor:0{minor_width}d}"
|
|
119
121
|
|
|
120
122
|
old_version_constraint: str = f"machineconfig>={current_version_str}"
|
|
121
123
|
new_version_constraint: str = f"machineconfig>={new_version}"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: machineconfig
|
|
3
|
-
Version:
|
|
3
|
+
Version: 7.2
|
|
4
4
|
Summary: Dotfiles management package
|
|
5
5
|
Author-email: Alex Al-Saffar <programmer@usa.com>
|
|
6
6
|
License: Apache 2.0
|
|
@@ -59,15 +59,25 @@ Dotfiles are divided into private and public. Examples of private ones are, `~/.
|
|
|
59
59
|
# Install On Windows:
|
|
60
60
|
|
|
61
61
|
```powershell
|
|
62
|
-
|
|
62
|
+
# Temporary install:
|
|
63
63
|
iex (iwr bit.ly/cfgwindows).Content
|
|
64
|
+
# Or, if UV is installed:
|
|
65
|
+
iex (uvx machineconfig define)
|
|
66
|
+
# Permanent install:
|
|
67
|
+
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" # Skip if UV is already installed
|
|
68
|
+
uvx install --upgrade machineconfig
|
|
64
69
|
```
|
|
65
70
|
|
|
66
71
|
# Install On Linux and MacOS
|
|
67
72
|
|
|
68
73
|
```bash
|
|
69
|
-
|
|
74
|
+
# Temporary install:
|
|
70
75
|
. <(curl -L bit.ly/cfglinux)
|
|
76
|
+
# Or, if UV is installed:
|
|
77
|
+
. <(uvx machineconfig define)
|
|
78
|
+
# Permanent install:
|
|
79
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh # Skip if UV is already installed
|
|
80
|
+
uvx install --upgrade machineconfig
|
|
71
81
|
```
|
|
72
82
|
|
|
73
83
|
|
|
@@ -110,7 +110,7 @@ machineconfig/scripts/linux/fzfag,sha256=x0rX7vM_YjKLZ822D2Xh0HdaTj5kR_gG3g_5_w6
|
|
|
110
110
|
machineconfig/scripts/linux/fzffg,sha256=jjeeyFkWmBbwH2taRqC3EOzZep2KR-ZYoI4UI-5kHqg,1090
|
|
111
111
|
machineconfig/scripts/linux/fzfg,sha256=ClGnJZUsIk4y0qs3W5iXGo-nd0FaqAHMsnh8uoXQFy8,1190
|
|
112
112
|
machineconfig/scripts/linux/fzfrga,sha256=xSdws6ae28ZXkkqz_uupZ0MYw_vxE2qpLT2DLS3WITM,460
|
|
113
|
-
machineconfig/scripts/linux/mcfgs,sha256=
|
|
113
|
+
machineconfig/scripts/linux/mcfgs,sha256=DlnOwqCroszbTOM_XtJiz3Hz7po0uV5dQHf5eKcXAhg,1391
|
|
114
114
|
machineconfig/scripts/linux/skrg,sha256=JgQJGwxaChr148bDnpTB0rrqZMe2o2zGSDA9x_oUhWM,133
|
|
115
115
|
machineconfig/scripts/linux/term,sha256=CNPY8p6SitOmtOPKXPervPPabjJNYBerA12SHN_v7w4,1139
|
|
116
116
|
machineconfig/scripts/linux/other/share_cloud.sh,sha256=lIZrXiaOT11kzu4NFNTXvANhc2bMdSPDYD1-7XUO_C0,2027
|
|
@@ -121,6 +121,7 @@ machineconfig/scripts/python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
|
|
|
121
121
|
machineconfig/scripts/python/agents.py,sha256=aVbLQDgpngXZm4taHcED4sAxyHvV2_Dz5VW3apPcQcY,10651
|
|
122
122
|
machineconfig/scripts/python/cloud.py,sha256=yAD6ciKiEtv2CH3g2NScDK5cpCZQi7Vu8yyeehw_cU8,1263
|
|
123
123
|
machineconfig/scripts/python/croshell.py,sha256=QyQbVboNqDQHJkUeSsJvdT212t4TW46yat3GBzneqsQ,8649
|
|
124
|
+
machineconfig/scripts/python/define.py,sha256=vk7E5twa3DtK10ZxRVlbklYHzcou7M3zPAoV5z9_JGI,645
|
|
124
125
|
machineconfig/scripts/python/devops.py,sha256=Lv4d-UlyOREj4VTcu_pxswYo54Mawe3XGeKjreGQDYg,2222
|
|
125
126
|
machineconfig/scripts/python/devops_navigator.py,sha256=5Cm384D4S8_GsvMzTwr0C16D0ktf8_5Mk5bEJncwDO8,237
|
|
126
127
|
machineconfig/scripts/python/fire_jobs.py,sha256=-xrUlBQ90asQkXuWESiDsD6D05Xuw0-NMmfwBerwSjg,13874
|
|
@@ -162,7 +163,7 @@ machineconfig/scripts/python/ai/solutions/opencode/opencode.json,sha256=nahHKRw1
|
|
|
162
163
|
machineconfig/scripts/python/ai/solutions/opencode/opencode.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
163
164
|
machineconfig/scripts/python/env_manager/__init__.py,sha256=E4LAHbU1wo2dLjE36ntv8U7QNTe8TasujUAYK9SLvWk,6
|
|
164
165
|
machineconfig/scripts/python/env_manager/path_manager_backend.py,sha256=ZVGlGJALhg7zNABDdwXxL7MFbL2BXPebObipXSLGbic,1552
|
|
165
|
-
machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=
|
|
166
|
+
machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=xCfevrfzL4rLjWeGhWgykBxCGK-zS_7SxeD8whp7m1M,6932
|
|
166
167
|
machineconfig/scripts/python/helpers_agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
167
168
|
machineconfig/scripts/python/helpers_agents/fire_agents_help_launch.py,sha256=YD6-rtudHNip8tx85amSmOZZIHBP9khq4az3dF41j6U,5934
|
|
168
169
|
machineconfig/scripts/python/helpers_agents/fire_agents_help_search.py,sha256=qIfSS_su2YJ1Gb0_lu4cbjlJlYMBw0v52NTGiSrGjk8,2991
|
|
@@ -192,12 +193,12 @@ machineconfig/scripts/python/helpers_croshell/start_slidev.py,sha256=HfJReOusTPh
|
|
|
192
193
|
machineconfig/scripts/python/helpers_croshell/viewer.py,sha256=heQNjB9fwn3xxbPgMofhv1Lp6Vtkl76YjjexWWBM0pM,2041
|
|
193
194
|
machineconfig/scripts/python/helpers_croshell/viewer_template.py,sha256=ve3Q1-iKhCLc0VJijKvAeOYp2xaFOeIOC_XW956GWCc,3944
|
|
194
195
|
machineconfig/scripts/python/helpers_devops/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
195
|
-
machineconfig/scripts/python/helpers_devops/cli_config.py,sha256=
|
|
196
|
-
machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py,sha256=
|
|
196
|
+
machineconfig/scripts/python/helpers_devops/cli_config.py,sha256=mFEqpjCEhRfHRX4I8NspFmIOB8VvsJ6U9B5YOCIVDlE,6875
|
|
197
|
+
machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py,sha256=Qp6Pgbs-nJzf7_us_wPsIimPLJhY4TFYwIiFcmy-dxU,3249
|
|
197
198
|
machineconfig/scripts/python/helpers_devops/cli_data.py,sha256=79Xvx7YnbueruEnl69hrDg2AhVxf_zCUdlVcKfeMGyQ,1774
|
|
198
199
|
machineconfig/scripts/python/helpers_devops/cli_nw.py,sha256=9NcVJvPYaUDtmI_DSKthZxR4emMBeNWVM_M5f0YR8EQ,7302
|
|
199
200
|
machineconfig/scripts/python/helpers_devops/cli_repos.py,sha256=Xwkv1adqHZvTfRSPWiqSK3PZ1XADyx3llw_YkbxaKyE,12505
|
|
200
|
-
machineconfig/scripts/python/helpers_devops/cli_self.py,sha256=
|
|
201
|
+
machineconfig/scripts/python/helpers_devops/cli_self.py,sha256=QV7URlqzl1c1SW0dD0zWuDFdwfegEbpCBseNxMDZRq0,6621
|
|
201
202
|
machineconfig/scripts/python/helpers_devops/cli_share_server.py,sha256=qNGpLYWEYsgILqogd7yrXG5Rz3R25AOsXeAUc7fdBEo,10222
|
|
202
203
|
machineconfig/scripts/python/helpers_devops/cli_terminal.py,sha256=k_PzXaiGyE0vXr0Ii1XcJz2A7UvyPJrR31TRWt4RKRI,6019
|
|
203
204
|
machineconfig/scripts/python/helpers_devops/cli_utils.py,sha256=B9pnosujOxZLpwzJO4YAqeO-2rvvOFIZgrUwGREZXfM,11118
|
|
@@ -225,7 +226,7 @@ machineconfig/scripts/python/helpers_navigator/search_bar.py,sha256=kDi8Jhxap8wd
|
|
|
225
226
|
machineconfig/scripts/python/helpers_repos/action.py,sha256=8je051kpGZ7A_GRsQyWKhPZ8xVW7tSm4bnPu6VjxaXk,9755
|
|
226
227
|
machineconfig/scripts/python/helpers_repos/action_helper.py,sha256=XRCtkGkNrxauqUd9qkxtfJt02Mx2gejSYDLL0jyWn24,6176
|
|
227
228
|
machineconfig/scripts/python/helpers_repos/clone.py,sha256=UULEG5xJuXlPGU0nqXH6U45jA9DOFqLw8B4iPytCwOQ,5471
|
|
228
|
-
machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=
|
|
229
|
+
machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=a2AfMjqAHwBr2gI83VG7SU2hys8VAZE1dwmlp9_PJ60,10450
|
|
229
230
|
machineconfig/scripts/python/helpers_repos/count_lines.py,sha256=Q5c7b-DxvTlQmljoic7niTuiAVyFlwYvkVQ7uRJHiTo,16009
|
|
230
231
|
machineconfig/scripts/python/helpers_repos/count_lines_frontend.py,sha256=vSDtrF4829jziwp6WZmGt9G8MJ9jY4hfXqtf0vhkYSE,607
|
|
231
232
|
machineconfig/scripts/python/helpers_repos/entrypoint.py,sha256=WYEFGUJp9HWImlFjbs_hiFZrUqM_KEYm5VvSUjWd04I,2810
|
|
@@ -255,12 +256,12 @@ machineconfig/scripts/python/nw/wsl_windows_transfer.py,sha256=jHJyFTuks_Kw4cgE8
|
|
|
255
256
|
machineconfig/scripts/windows/fzfb.ps1,sha256=Bmngm2aY8hnPa3iKAOK6EPDYdKzGLUc81wYOnJhNoqg,149
|
|
256
257
|
machineconfig/scripts/windows/fzfg.ps1,sha256=CHJbMrMuZePd4dxwIwz3g4XWAEmWmckuX-Nrx2xgRkg,27
|
|
257
258
|
machineconfig/scripts/windows/fzfrga.bat,sha256=rU_KBMO6ii2EZ0akMnmDk9vpuhKSUZqkV0o8a8ywXcM,488
|
|
258
|
-
machineconfig/scripts/windows/mcfgs.ps1,sha256=
|
|
259
|
+
machineconfig/scripts/windows/mcfgs.ps1,sha256=Ag-r5klgkRxeCI1AN3vlgmwriHvC_g7XSuDt0YnH5-w,1778
|
|
259
260
|
machineconfig/scripts/windows/term.ps1,sha256=nme_OWis84qN-zI2c0rdysNcDIdoaEKajXZhP2QioQs,1742
|
|
260
261
|
machineconfig/scripts/windows/mounts/mount_nfs.ps1,sha256=XrAdzpxE6a4OccSmWJ7YWHJTnsZK8uXnFE5j9GOPA20,2026
|
|
261
262
|
machineconfig/scripts/windows/mounts/mount_nw.ps1,sha256=puxcfZc3ZCJerm8pj8OZGVoTYkhzp-h7oV-MrksSqIE,454
|
|
262
263
|
machineconfig/scripts/windows/mounts/mount_smb.ps1,sha256=PzYWpIO9BpwXjdWlUQL9pnMRnOGNSkxfh4bHukJFme8,69
|
|
263
|
-
machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=
|
|
264
|
+
machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=24Zp11dG4_l35-bVuc3hbgh88J5bbuw08y5oQrs3sCs,322
|
|
264
265
|
machineconfig/scripts/windows/mounts/share_cloud.cmd,sha256=exD7JCdxw2LqVjw2MKCYHbVZlEqmelXtwnATng-dhJ4,1028
|
|
265
266
|
machineconfig/scripts/windows/mounts/share_smb.ps1,sha256=U7x8ULYSjbgzTtiHNSKQuTaZ_apilDvkGV5Xm5hXk5M,384
|
|
266
267
|
machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1,sha256=Wv-SLscdckV-1mG3p82VXKPY9zW3hgkRmcLUXIZ1daE,253
|
|
@@ -332,7 +333,7 @@ machineconfig/settings/rofi/config.rasi,sha256=nDX5B8wdXQYF1fwiOTBRJUI4l_gQbYaLa
|
|
|
332
333
|
machineconfig/settings/rofi/config_default.rasi,sha256=rTfKnC-bZuWX1l-lWQACCUOE1ShhkfykAxtXX9PlQHE,4694
|
|
333
334
|
machineconfig/settings/shells/alacritty/alacritty.toml,sha256=EbL-2Y4QunW1pvRWB2yuLCw8MMPONheJr5LFoWRieUQ,871
|
|
334
335
|
machineconfig/settings/shells/alacritty/alacritty.yml,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
335
|
-
machineconfig/settings/shells/bash/init.sh,sha256=
|
|
336
|
+
machineconfig/settings/shells/bash/init.sh,sha256=BBIeIkhBp7IJHU5_KcUBCTilqjmmC6ZWYqNSHIs_ABA,2927
|
|
336
337
|
machineconfig/settings/shells/hyper/.hyper.js,sha256=h-HqeYlvPvPD4Ee7828Cxo87uVkzbMGJFqXTZIWoegw,8884
|
|
337
338
|
machineconfig/settings/shells/ipy/profiles/default/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
338
339
|
machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -340,7 +341,7 @@ machineconfig/settings/shells/ipy/profiles/default/startup/playext.py,sha256=OJ3
|
|
|
340
341
|
machineconfig/settings/shells/kitty/kitty.conf,sha256=lDdx-dUX3jbKGb3BkS2f2TOpmgGiS-CI-_-lFvhD5A4,52870
|
|
341
342
|
machineconfig/settings/shells/nushell/config.nu,sha256=xtko80MPteDXuOJmwJHNFhXmfHT6fIBfmTgsF29GiEc,748
|
|
342
343
|
machineconfig/settings/shells/nushell/env.nu,sha256=4VmaXb-qP6qnMD5TPzkXMLFNlB5QC4l9HEzCvXZE2GQ,315
|
|
343
|
-
machineconfig/settings/shells/pwsh/init.ps1,sha256=
|
|
344
|
+
machineconfig/settings/shells/pwsh/init.ps1,sha256=Jpd6RtMXgb-PjvezveyaRUyaxeiRDeH9Wv87XQZymwA,2803
|
|
344
345
|
machineconfig/settings/shells/pwsh/profile.ps1,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
345
346
|
machineconfig/settings/shells/starship/starship.toml,sha256=d5lWKC0AnTcriRAZV1opEZy76QknSpKFgJ3jyW9_vZ0,1305
|
|
346
347
|
machineconfig/settings/shells/vtm/settings.xml,sha256=5TNXd-i0eUGo2w3tuhY9aOkwoJdqih8_HO_U6uL2Dts,18262
|
|
@@ -368,7 +369,7 @@ machineconfig/settings/zellij/layouts/panes.kdl,sha256=KlhKtelBy4Z2ENV_pix4xE7NH
|
|
|
368
369
|
machineconfig/settings/zellij/layouts/st.kdl,sha256=QXLRK7Wx05aKbKRHVmm4RspLYzPmEa44JMK1TwXQk58,523
|
|
369
370
|
machineconfig/settings/zellij/layouts/st2.kdl,sha256=1FKTH3qQWYMWp_wPMreP7fKOTlVd4cfBy3J8fv4zCBc,1489
|
|
370
371
|
machineconfig/settings/zellij/layouts/stacked_panes.kdl,sha256=usY8kKKwX1KUMXnWDivPg0i0drpM1Biw-tOnNZVjiZU,163
|
|
371
|
-
machineconfig/setup_linux/__init__.py,sha256=
|
|
372
|
+
machineconfig/setup_linux/__init__.py,sha256=5gT_vc6ze_RUMx9mk7_9kkOTyPPTo3MJFh2fq8MGToU,391
|
|
372
373
|
machineconfig/setup_linux/apps.sh,sha256=XOEzhuwYNat83ybamUdnVhDaGf2wlQiT5wVNvz2aJYM,3262
|
|
373
374
|
machineconfig/setup_linux/apps_desktop.sh,sha256=L2b_pcw3GiQdoAaoMO7J4bVvUoG5Pnuy9kDhV8JqprU,3325
|
|
374
375
|
machineconfig/setup_linux/apps_gui.sh,sha256=lFPYq7H2bRogPwW6QoEuSr9GnTjHS-jRM_eYg2rjOmM,2301
|
|
@@ -378,7 +379,7 @@ machineconfig/setup_linux/others/cli_installation.sh,sha256=gVvszYZJgKPRJx2SEaE3
|
|
|
378
379
|
machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh,sha256=F5dbg0n9RHsKGPn8fIdZMn3p0RrHEkb8rWBGsdVGbus,1207
|
|
379
380
|
machineconfig/setup_linux/ssh/openssh_all.sh,sha256=3dg6HEUFbHQOzLfSAtzK_D_GB8rGCCp_aBnxNdnidVc,824
|
|
380
381
|
machineconfig/setup_linux/ssh/openssh_wsl.sh,sha256=1eeRGrloVB34K5z8yWVUMG5b9pV-WBfHgV9jqXiYgCQ,1398
|
|
381
|
-
machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=
|
|
382
|
+
machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=moKocCzB0Oik4YvQcQs6lt5mN7f4bUnNsO-VBRguMXA,1449
|
|
382
383
|
machineconfig/setup_mac/__init__.py,sha256=Q1waupi5vCBroLqc8Rtnw69_7jLnm2Cs7_zH_GSZgMs,616
|
|
383
384
|
machineconfig/setup_mac/apps.sh,sha256=R0N6fBwLCzwy4qAormyMerXXXrHazibSkY6NrNOpTQU,2772
|
|
384
385
|
machineconfig/setup_mac/apps_gui.sh,sha256=3alvddg918oMlJB2aUWJWpGGoaq5atlxcaOwhnyXlRI,9517
|
|
@@ -393,7 +394,7 @@ machineconfig/setup_windows/others/power_options.ps1,sha256=c7Hn94jBD5GWF29CxMhm
|
|
|
393
394
|
machineconfig/setup_windows/ssh/add-sshkey.ps1,sha256=qfPdqCpd9KP3VhH4ifsUm1Xvec7c0QVl4Wt8JIAm9HQ,1653
|
|
394
395
|
machineconfig/setup_windows/ssh/add_identity.ps1,sha256=b8ZXpmNUSw3IMYvqSY7ClpdWPG39FS7MefoWnRhWN2U,506
|
|
395
396
|
machineconfig/setup_windows/ssh/openssh-server.ps1,sha256=OMlYQdvuJQNxF5EILLPizB6BZAT3jAmDsv1WcVVxpFQ,2529
|
|
396
|
-
machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256
|
|
397
|
+
machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=-hZQv00ogDbe4jNz17J09PmfOv0zGju0gS35XAD0-yQ,1751
|
|
397
398
|
machineconfig/setup_windows/wt_and_pwsh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
398
399
|
machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py,sha256=ogxJnwpdcpH7N6dFJu95UCNoGYirZKQho_3X0F_hmXs,6791
|
|
399
400
|
machineconfig/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -401,7 +402,7 @@ machineconfig/utils/accessories.py,sha256=Rs8R0GUb2Ub6YimkgXHnI02CShS5BKlrZdCigV
|
|
|
401
402
|
machineconfig/utils/code.py,sha256=fVeQnhZE8-aoPBsrgjNcBTcv3NuyBSSQv9P8jyC8W_M,6635
|
|
402
403
|
machineconfig/utils/installer.py,sha256=1ScBaTe_pRsfTYht9-LXmirgnNizNy8u1GgetUfEDO4,10351
|
|
403
404
|
machineconfig/utils/io.py,sha256=4dSieoqZO8Vvi4vW8lLoITDHBvmFp4dtl3kyeZHQ6Co,2528
|
|
404
|
-
machineconfig/utils/links.py,sha256=
|
|
405
|
+
machineconfig/utils/links.py,sha256=j2gHll55iqUXtB4NQbo3QwANRL1ztLGZfpcwLoJQZyk,25033
|
|
405
406
|
machineconfig/utils/meta.py,sha256=4ocYH3Zi6bVN6FVgXoGIfoasV6oxi67I9rQ8hvyYinc,9892
|
|
406
407
|
machineconfig/utils/notifications.py,sha256=tuXIudcip0tEioG-bm8BbLr3FMDve4f6BktlznBhKxM,9013
|
|
407
408
|
machineconfig/utils/options.py,sha256=VWYx3EKJxIp-CJ8gDGYdjclKSc1tMUhyrC8v3seeneo,7447
|
|
@@ -411,10 +412,10 @@ machineconfig/utils/procs.py,sha256=YPA_vEYQGwPd_o_Lc6nOTBo5BrB1tSs8PJ42XiGpenM,
|
|
|
411
412
|
machineconfig/utils/scheduler.py,sha256=fguwvINyaupOxdU5Uadyxalh_jXTXDzt0ioEgjEOKcM,14705
|
|
412
413
|
machineconfig/utils/scheduling.py,sha256=vcJgajeJPSWkJNlarYJSmLvasdOuCtBM4druOAB1Nwc,11089
|
|
413
414
|
machineconfig/utils/source_of_truth.py,sha256=ZAnCRltiM07ig--P6g9_6nEAvNFC4X4ERFTVcvpIYsE,764
|
|
414
|
-
machineconfig/utils/ssh.py,sha256=
|
|
415
|
+
machineconfig/utils/ssh.py,sha256=6LHTYA4OB5GtsmTjQ8Rut0S6JUqZgm7Vx_Rm2s1G98s,39008
|
|
415
416
|
machineconfig/utils/terminal.py,sha256=VDgsjTjBmMGgZN0YIc0pJ8YksLDrBtiXON1EThy7_is,4264
|
|
416
417
|
machineconfig/utils/tst.py,sha256=6u1GI49NdcpxH2BYGAusNfY5q9G_ytCGVzFM5b6HYpM,674
|
|
417
|
-
machineconfig/utils/upgrade_packages.py,sha256=
|
|
418
|
+
machineconfig/utils/upgrade_packages.py,sha256=75kabcI-chMiaBnafJ_hdhDUz_GyH7AsDt7rW3hyu9M,5851
|
|
418
419
|
machineconfig/utils/ve.py,sha256=L-6PBXnQGXThiwWgheJMQoisAZOZA6SVCbGw2J-GFnI,2414
|
|
419
420
|
machineconfig/utils/ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
420
421
|
machineconfig/utils/cloud/onedrive/README.md,sha256=i20oRG110AN0yLF3DARHfWXDJjPBiSgWI8CP2HQAqrk,3774
|
|
@@ -440,8 +441,8 @@ machineconfig/utils/schemas/installer/installer_types.py,sha256=QClRY61QaduBPJoS
|
|
|
440
441
|
machineconfig/utils/schemas/layouts/layout_types.py,sha256=TcqlZdGVoH8htG5fHn1KWXhRdPueAcoyApppZsPAPto,2020
|
|
441
442
|
machineconfig/utils/schemas/repos/repos_types.py,sha256=ECVr-3IVIo8yjmYmVXX2mnDDN1SLSwvQIhx4KDDQHBQ,405
|
|
442
443
|
machineconfig/utils/ssh_utils/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
443
|
-
machineconfig-
|
|
444
|
-
machineconfig-
|
|
445
|
-
machineconfig-
|
|
446
|
-
machineconfig-
|
|
447
|
-
machineconfig-
|
|
444
|
+
machineconfig-7.2.dist-info/METADATA,sha256=DC93r9S7PPEHc072tYmxoheeY2fls1KhmVq93sGl5yg,3395
|
|
445
|
+
machineconfig-7.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
446
|
+
machineconfig-7.2.dist-info/entry_points.txt,sha256=0ho96z7b1toS6CeiajpTwEwQa83UrJ3g1onD4Wxax9o,624
|
|
447
|
+
machineconfig-7.2.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
|
|
448
|
+
machineconfig-7.2.dist-info/RECORD,,
|
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
agents = machineconfig.scripts.python.agents:main
|
|
3
3
|
cloud = machineconfig.scripts.python.cloud:main
|
|
4
4
|
croshell = machineconfig.scripts.python.croshell:main
|
|
5
|
+
define = machineconfig.scripts.python.define:main
|
|
5
6
|
devops = machineconfig.scripts.python.devops:main
|
|
6
7
|
fire = machineconfig.scripts.python.fire_jobs:main
|
|
7
8
|
ftpx = machineconfig.scripts.python.ftpx:main
|
|
9
|
+
machineconfig = machineconfig.scripts.python.mcfg:main
|
|
8
10
|
mcfg = machineconfig.scripts.python.mcfg:main
|
|
9
11
|
sessions = machineconfig.scripts.python.sessions:main
|
|
10
12
|
terminal = machineconfig.scripts.python.terminal:main
|
|
File without changes
|
|
File without changes
|