machineconfig 5.18__py3-none-any.whl → 5.19__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.

@@ -1,33 +1,32 @@
1
1
  """devops with emojis"""
2
2
 
3
- import machineconfig.utils.installer_utils.installer as installer_entry_point
4
3
  import machineconfig.scripts.python.share_terminal as share_terminal
5
4
  import machineconfig.scripts.python.repos as repos
6
-
7
- import machineconfig.profile.create_frontend as create_frontend
5
+ from machineconfig.jobs.installer.package_groups import PACKAGE_GROUPS
8
6
  # import machineconfig.scripts.python.dotfile as dotfile_module
9
7
  import typer
10
- from typing import Literal, Annotated
8
+ from typing import Literal, Annotated, Optional, get_args
11
9
 
12
10
 
13
11
  app = typer.Typer(help="🛠️ DevOps operations", no_args_is_help=True)
14
- app.command(name="install", help="📦 Install essential packages")(installer_entry_point.main)
15
- app.add_typer(repos.app, name="repos", help="📁 Manage git repositories")
12
+ @app.command(no_args_is_help=True)
13
+ def install( which: Optional[str] = typer.Option(None, "--which", "-w", help="Comma-separated list of program names to install."),
14
+ group: Optional[PACKAGE_GROUPS] = typer.Option(None, "--group", "-g", help=f"Group name (one of {list(get_args(PACKAGE_GROUPS))})"),
15
+ interactive: bool = typer.Option(False, "--interactive", "-ia", help="Interactive selection of programs to install."),
16
+ ) -> None:
17
+ """📦 Install essential packages"""
18
+ import machineconfig.utils.installer_utils.installer as installer_entry_point
19
+ installer_entry_point.main(which=which, group=group, interactive=interactive)
16
20
 
17
21
 
22
+ app.add_typer(repos.app, name="repos", help="📁 Manage git repositories")
18
23
  config_apps = typer.Typer(help="⚙️ Configuration subcommands", no_args_is_help=True)
19
24
  app.add_typer(config_apps, name="config")
20
-
21
-
22
-
23
25
  app_data = typer.Typer(help="💾 Data subcommands", no_args_is_help=True)
24
26
  app.add_typer(app_data, name="data")
25
-
26
27
  nw_apps = typer.Typer(help="🔐 Network subcommands", no_args_is_help=True)
27
28
  nw_apps.command(name="share-terminal", help="📡 Share terminal via web browser")(share_terminal.main)
28
29
  app.add_typer(nw_apps, name="network")
29
-
30
-
31
30
  self_app = typer.Typer(help="🔄 SELF operations subcommands", no_args_is_help=True)
32
31
  app.add_typer(self_app, name="self")
33
32
 
@@ -49,14 +48,22 @@ def status():
49
48
 
50
49
 
51
50
  @config_apps.command(no_args_is_help=True)
52
- def private():
51
+ def private(method: Literal["symlink", "copy"] = typer.Option(..., help="Method to use for linking files"),
52
+ on_conflict: Literal["throwError", "overwriteSelfManaged", "backupSelfManaged", "overwriteDefaultPath", "backupDefaultPath"] = typer.Option("throwError", help="Action to take on conflict"),
53
+ which: Optional[str] = typer.Option(None, help="Specific items to process"),
54
+ interactive: bool = typer.Option(False, help="Run in interactive mode")):
53
55
  """🔗 Manage private configuration files."""
54
- create_frontend.main_private_from_parser()
56
+ import machineconfig.profile.create_frontend as create_frontend
57
+ create_frontend.main_private_from_parser(method=method, on_conflict=on_conflict, which=which, interactive=interactive)
55
58
 
56
59
  @config_apps.command(no_args_is_help=True)
57
- def public():
60
+ def public(method: Literal["symlink", "copy"] = typer.Option(..., help="Method to use for setting up the config file."),
61
+ on_conflict: Literal["throwError", "overwriteDefaultPath", "backupDefaultPath"] = typer.Option(..., help="Action to take on conflict"),
62
+ which: Optional[str] = typer.Option(None, help="Specific items to process"),
63
+ interactive: bool = typer.Option(False, help="Run in interactive mode")):
58
64
  """🔗 Manage public configuration files."""
59
- create_frontend.main_public_from_parser()
65
+ import machineconfig.profile.create_frontend as create_frontend
66
+ create_frontend.main_public_from_parser(method=method, on_conflict=on_conflict, which=which, interactive=interactive)
60
67
 
61
68
  # @config_apps.command(no_args_is_help=True)
62
69
  # def dotfile():
@@ -142,7 +142,7 @@ Set-Service -Name sshd -StartupType 'Automatic'"""
142
142
  console.print("🔧 Configuring shell profile", style="bold cyan")
143
143
  try:
144
144
  from machineconfig.profile.shell import create_default_shell_profile
145
- create_default_shell_profile()
145
+ create_default_shell_profile(method="copy")
146
146
  console.print("✅ Shell profile configured successfully", style="bold green")
147
147
  except Exception as e:
148
148
  console.print(f"❌ Error configuring shell profile: {e}", style="bold red")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: machineconfig
3
- Version: 5.18
3
+ Version: 5.19
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -146,7 +146,7 @@ machineconfig/scripts/python/cloud_sync.py,sha256=RWGpAfJ9fnN18yNBSgN44dzA38Hmd4
146
146
  machineconfig/scripts/python/count_lines.py,sha256=ZexMRsV70pe9fhLbGuens9EP5gCf078EwTDRHRZo5A0,15960
147
147
  machineconfig/scripts/python/count_lines_frontend.py,sha256=HlzPLU9_oJYqPNbnoQ0Hm4CuYy1UUlkZPcE5tFBSEbo,545
148
148
  machineconfig/scripts/python/croshell.py,sha256=zHUhOqWG81AOTeawZoDkpURnV1fAisY2lyZ0apvlmVY,6547
149
- machineconfig/scripts/python/devops.py,sha256=3EjUUOglL2DWYM1IuZJ6Eusn_FGyTa4GVDx8FKNCDcI,4407
149
+ machineconfig/scripts/python/devops.py,sha256=OB6Ww1DxL7Z8dqh3ri9fxt-lqUDB-71G6WvrA8dwYSk,6186
150
150
  machineconfig/scripts/python/devops_add_identity.py,sha256=wvjNgqsLmqD2SxbNCW_usqfp0LI-TDvcJJKGOWt2oFw,3775
151
151
  machineconfig/scripts/python/devops_add_ssh_key.py,sha256=BXB-9RvuSZO0YTbnM2azeABW2ngLW4SKhhAGAieMzfw,6873
152
152
  machineconfig/scripts/python/devops_backup_retrieve.py,sha256=JLJHmi8JmZ_qVTeMW-qBEAYGt1fmfWXzZ7Gm-Q-GDcU,5585
@@ -163,7 +163,7 @@ machineconfig/scripts/python/fire_jobs_streamlit_helper.py,sha256=47DEQpj8HBSa-_
163
163
  machineconfig/scripts/python/ftpx.py,sha256=QfQTp-6jQP6yxfbLc5sKxiMtTgAgc8sjN7d17_uLiZc,9400
164
164
  machineconfig/scripts/python/get_zellij_cmd.py,sha256=e35-18hoXM9N3PFbvbizfkNY_-63iMicieWE3TbGcCQ,576
165
165
  machineconfig/scripts/python/gh_models.py,sha256=3BLfW25mBRiPO5VKtVm-nMlKLv-PaZDw7mObajq6F6M,5538
166
- machineconfig/scripts/python/interactive.py,sha256=d4zI-3pvT66y9sJEgH3qXPt3BTh12Mr91bJFhjVv_CA,10125
166
+ machineconfig/scripts/python/interactive.py,sha256=_b07DEFgoL1y879ay1iNiZ037cM8TKrBGrVsUDvIFaw,10138
167
167
  machineconfig/scripts/python/mount_nfs.py,sha256=aECrL64j9g-9rF49sVJAjGmzaoGgcMnl3g9v17kQF4c,3239
168
168
  machineconfig/scripts/python/mount_nw_drive.py,sha256=iru6AtnTyvyuk6WxlK5R4lDkuliVpPV5_uBTVVhXtjQ,1550
169
169
  machineconfig/scripts/python/mount_ssh.py,sha256=k2fKq3f5dKq_7anrFOlqvJoI_3U4EWNHLRZ1o3Lsy6M,2268
@@ -417,8 +417,8 @@ machineconfig/utils/schemas/fire_agents/fire_agents_input.py,sha256=pTxvLzIpD5RF
417
417
  machineconfig/utils/schemas/installer/installer_types.py,sha256=QClRY61QaduBPJoSpdmTIdgS9LS-RvE-QZ-D260tD3o,1214
418
418
  machineconfig/utils/schemas/layouts/layout_types.py,sha256=TcqlZdGVoH8htG5fHn1KWXhRdPueAcoyApppZsPAPto,2020
419
419
  machineconfig/utils/schemas/repos/repos_types.py,sha256=ECVr-3IVIo8yjmYmVXX2mnDDN1SLSwvQIhx4KDDQHBQ,405
420
- machineconfig-5.18.dist-info/METADATA,sha256=RRQwB-lj3IAjGHQM3sjVT1R8YoHzF0mbXglHpUb3Mjc,8030
421
- machineconfig-5.18.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
422
- machineconfig-5.18.dist-info/entry_points.txt,sha256=2afE1mw-o4MUlfxyX73SV02XaQI4SV_LdL2r6_CzhPU,1074
423
- machineconfig-5.18.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
424
- machineconfig-5.18.dist-info/RECORD,,
420
+ machineconfig-5.19.dist-info/METADATA,sha256=IBQPKh6okuleljYDH17NoNqg_J3v8rMJjovcQF_eShk,8030
421
+ machineconfig-5.19.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
422
+ machineconfig-5.19.dist-info/entry_points.txt,sha256=2afE1mw-o4MUlfxyX73SV02XaQI4SV_LdL2r6_CzhPU,1074
423
+ machineconfig-5.19.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
424
+ machineconfig-5.19.dist-info/RECORD,,