clan-cli: Unify list_machines and use flake caching
This commit is contained in:
@@ -18,7 +18,7 @@ from clan_cli.completions import (
|
||||
from clan_cli.errors import ClanError
|
||||
from clan_cli.flake import Flake
|
||||
from clan_cli.git import commit_files
|
||||
from clan_cli.machines.inventory import get_all_machines, get_selected_machines
|
||||
from clan_cli.machines.list import list_machines
|
||||
from clan_cli.nix import nix_config, nix_shell, nix_test_store
|
||||
from clan_cli.vars._types import StoreBase
|
||||
from clan_cli.vars.migration import check_can_migrate, migrate_files
|
||||
@@ -481,10 +481,16 @@ def generate_command(args: argparse.Namespace) -> None:
|
||||
if args.flake is None:
|
||||
msg = "Could not find clan flake toplevel directory"
|
||||
raise ClanError(msg)
|
||||
if len(args.machines) == 0:
|
||||
machines = get_all_machines(args.flake, args.option)
|
||||
else:
|
||||
machines = get_selected_machines(args.flake, args.option, args.machines)
|
||||
|
||||
machines: list[Machine] = list(list_machines(args.flake, args.option).values())
|
||||
|
||||
if len(args.machines) > 0:
|
||||
machines = list(
|
||||
filter(
|
||||
lambda m: m.name in args.machines,
|
||||
machines,
|
||||
)
|
||||
)
|
||||
|
||||
# prefetch all vars
|
||||
config = nix_config()
|
||||
|
||||
Reference in New Issue
Block a user