clan-cli: move clan_cli.nix to clan_lib.nix

This commit is contained in:
lassulus
2025-05-19 18:16:59 +02:00
parent 6812b0a739
commit cb74273da4
45 changed files with 64 additions and 56 deletions

View File

@@ -5,7 +5,7 @@ from pathlib import Path
import pytest import pytest
from clan_cli.custom_logger import setup_logging from clan_cli.custom_logger import setup_logging
from clan_cli.nix import nix_shell from clan_lib.nix import nix_shell
pytest_plugins = [ pytest_plugins = [
"temporary_dir", "temporary_dir",

View File

@@ -2,8 +2,9 @@ import os
import shutil import shutil
from pathlib import Path from pathlib import Path
from clan_lib.nix import nix_shell
from clan_cli.cmd import Log, RunOpts, run from clan_cli.cmd import Log, RunOpts, run
from clan_cli.nix import nix_shell
_works: bool | None = None _works: bool | None = None

View File

@@ -7,11 +7,11 @@ from pathlib import Path
from clan_lib.api import API from clan_lib.api import API
from clan_lib.errors import ClanError from clan_lib.errors import ClanError
from clan_lib.flake import Flake from clan_lib.flake import Flake
from clan_lib.nix import nix_command, nix_metadata, nix_shell
from clan_lib.nix_models.inventory import Inventory from clan_lib.nix_models.inventory import Inventory
from clan_lib.persist.inventory_store import InventoryStore from clan_lib.persist.inventory_store import InventoryStore
from clan_cli.cmd import CmdOut, RunOpts, run from clan_cli.cmd import CmdOut, RunOpts, run
from clan_cli.nix import nix_command, nix_metadata, nix_shell
from clan_cli.templates import ( from clan_cli.templates import (
InputPrio, InputPrio,
TemplateName, TemplateName,

View File

@@ -5,18 +5,18 @@ from typing import Any
from clan_lib.errors import ClanError from clan_lib.errors import ClanError
from clan_lib.flake import Flake from clan_lib.flake import Flake
from clan_lib.nix import (
from clan_cli.cmd import run
from clan_cli.dirs import machine_gcroot
from clan_cli.machines.list import list_machines
from clan_cli.machines.machines import Machine
from clan_cli.nix import (
nix_add_to_gcroots, nix_add_to_gcroots,
nix_build, nix_build,
nix_config, nix_config,
nix_eval, nix_eval,
nix_metadata, nix_metadata,
) )
from clan_cli.cmd import run
from clan_cli.dirs import machine_gcroot
from clan_cli.machines.list import list_machines
from clan_cli.machines.machines import Machine
from clan_cli.vms.inspect import VmConfig, inspect_vm from clan_cli.vms.inspect import VmConfig, inspect_vm

View File

@@ -7,10 +7,10 @@ from urllib.parse import urlparse
from clan_lib.api import API from clan_lib.api import API
from clan_lib.errors import ClanCmdError, ClanError from clan_lib.errors import ClanCmdError, ClanError
from clan_lib.flake import Flake from clan_lib.flake import Flake
from clan_lib.nix import nix_eval
from clan_lib.nix_models.inventory import Meta from clan_lib.nix_models.inventory import Meta
from clan_cli.cmd import run from clan_cli.cmd import run
from clan_cli.nix import nix_eval
log = logging.getLogger(__name__) log = logging.getLogger(__name__)

View File

@@ -7,8 +7,9 @@ from collections.abc import Callable, Iterable
from types import ModuleType from types import ModuleType
from typing import Any from typing import Any
from clan_lib.nix import nix_eval
from .cmd import run from .cmd import run
from .nix import nix_eval
""" """
This module provides dynamic completions. This module provides dynamic completions.

View File

@@ -8,6 +8,7 @@ from pathlib import Path
from tempfile import TemporaryDirectory from tempfile import TemporaryDirectory
from clan_lib.errors import ClanError from clan_lib.errors import ClanError
from clan_lib.nix import nix_shell
from clan_cli.cmd import RunOpts, run from clan_cli.cmd import RunOpts, run
from clan_cli.completions import ( from clan_cli.completions import (
@@ -18,7 +19,6 @@ from clan_cli.completions import (
from clan_cli.git import commit_files from clan_cli.git import commit_files
from clan_cli.machines.list import list_machines from clan_cli.machines.list import list_machines
from clan_cli.machines.machines import Machine from clan_cli.machines.machines import Machine
from clan_cli.nix import nix_shell
from .check import check_secrets from .check import check_secrets
from .public_modules import FactStoreBase from .public_modules import FactStoreBase

View File

@@ -3,9 +3,10 @@ import subprocess
from pathlib import Path from pathlib import Path
from typing import override from typing import override
from clan_lib.nix import nix_shell
from clan_cli.cmd import Log, RunOpts from clan_cli.cmd import Log, RunOpts
from clan_cli.machines.machines import Machine from clan_cli.machines.machines import Machine
from clan_cli.nix import nix_shell
from clan_cli.ssh.host import Host from clan_cli.ssh.host import Host
from . import SecretStoreBase from . import SecretStoreBase

View File

@@ -8,11 +8,11 @@ from typing import Any
from clan_lib.api import API from clan_lib.api import API
from clan_lib.errors import ClanError from clan_lib.errors import ClanError
from clan_lib.nix import nix_shell
from clan_cli.cmd import Log, RunOpts, cmd_with_root, run from clan_cli.cmd import Log, RunOpts, cmd_with_root, run
from clan_cli.facts.generate import generate_facts from clan_cli.facts.generate import generate_facts
from clan_cli.machines.machines import Machine from clan_cli.machines.machines import Machine
from clan_cli.nix import nix_shell
from clan_cli.vars.generate import generate_vars from clan_cli.vars.generate import generate_vars
from clan_cli.vars.upload import populate_secret_vars from clan_cli.vars.upload import populate_secret_vars

View File

@@ -5,9 +5,9 @@ from pathlib import Path
from clan_lib.api import API from clan_lib.api import API
from clan_lib.errors import ClanError from clan_lib.errors import ClanError
from clan_lib.nix import nix_build
from clan_cli.cmd import Log, RunOpts, run from clan_cli.cmd import Log, RunOpts, run
from clan_cli.nix import nix_build
log = logging.getLogger(__name__) log = logging.getLogger(__name__)

View File

@@ -2,10 +2,10 @@ import os
from pathlib import Path from pathlib import Path
from clan_lib.errors import ClanError from clan_lib.errors import ClanError
from clan_lib.nix import nix_shell
from .cmd import Log, RunOpts, run from .cmd import Log, RunOpts, run
from .locked_open import locked_open from .locked_open import locked_open
from .nix import nix_shell
def commit_file( def commit_file(

View File

@@ -7,13 +7,13 @@ from pathlib import Path
from clan_lib.api import API from clan_lib.api import API
from clan_lib.errors import ClanCmdError, ClanError from clan_lib.errors import ClanCmdError, ClanError
from clan_lib.nix import nix_config, nix_eval
from clan_cli.cmd import RunOpts, run from clan_cli.cmd import RunOpts, run
from clan_cli.completions import add_dynamic_completer, complete_machines from clan_cli.completions import add_dynamic_completer, complete_machines
from clan_cli.dirs import specific_machine_dir from clan_cli.dirs import specific_machine_dir
from clan_cli.git import commit_file from clan_cli.git import commit_file
from clan_cli.machines.machines import Machine from clan_cli.machines.machines import Machine
from clan_cli.nix import nix_config, nix_eval
from .types import machine_name_type from .types import machine_name_type

View File

@@ -9,6 +9,7 @@ from tempfile import TemporaryDirectory
from clan_lib.api import API from clan_lib.api import API
from clan_lib.errors import ClanError from clan_lib.errors import ClanError
from clan_lib.nix import nix_shell
from clan_cli.cmd import Log, RunOpts, run from clan_cli.cmd import Log, RunOpts, run
from clan_cli.completions import ( from clan_cli.completions import (
@@ -19,7 +20,6 @@ from clan_cli.completions import (
from clan_cli.facts.generate import generate_facts from clan_cli.facts.generate import generate_facts
from clan_cli.machines.hardware import HardwareConfig from clan_cli.machines.hardware import HardwareConfig
from clan_cli.machines.machines import Machine from clan_cli.machines.machines import Machine
from clan_cli.nix import nix_shell
from clan_cli.ssh.deploy_info import DeployInfo, find_reachable_host, ssh_command_parse from clan_cli.ssh.deploy_info import DeployInfo, find_reachable_host, ssh_command_parse
from clan_cli.ssh.host_key import HostKeyCheck from clan_cli.ssh.host_key import HostKeyCheck
from clan_cli.vars.generate import generate_vars from clan_cli.vars.generate import generate_vars

View File

@@ -11,11 +11,11 @@ from typing import TYPE_CHECKING, Any
from clan_lib.errors import ClanCmdError, ClanError from clan_lib.errors import ClanCmdError, ClanError
from clan_lib.flake import Flake from clan_lib.flake import Flake
from clan_lib.nix import nix_config, nix_eval, nix_test_store
from clan_cli.cmd import Log, RunOpts, run from clan_cli.cmd import Log, RunOpts, run
from clan_cli.facts import public_modules as facts_public_modules from clan_cli.facts import public_modules as facts_public_modules
from clan_cli.facts import secret_modules as facts_secret_modules from clan_cli.facts import secret_modules as facts_secret_modules
from clan_cli.nix import nix_config, nix_eval, nix_test_store
from clan_cli.ssh.host import Host from clan_cli.ssh.host import Host
from clan_cli.ssh.host_key import HostKeyCheck from clan_cli.ssh.host_key import HostKeyCheck
from clan_cli.ssh.parse import parse_deployment_address from clan_cli.ssh.parse import parse_deployment_address

View File

@@ -9,13 +9,13 @@ from tempfile import TemporaryDirectory
from clan_lib.errors import ClanError from clan_lib.errors import ClanError
from clan_lib.flake import Flake from clan_lib.flake import Flake
from clan_lib.nix import nix_build, nix_command
from clan_lib.nix_models.inventory import Machine as InventoryMachine from clan_lib.nix_models.inventory import Machine as InventoryMachine
from clan_cli.cmd import Log, RunOpts, run from clan_cli.cmd import Log, RunOpts, run
from clan_cli.dirs import get_clan_flake_toplevel_or_env from clan_cli.dirs import get_clan_flake_toplevel_or_env
from clan_cli.machines.create import CreateOptions, create_machine from clan_cli.machines.create import CreateOptions, create_machine
from clan_cli.machines.machines import Machine from clan_cli.machines.machines import Machine
from clan_cli.nix import nix_build, nix_command
from clan_cli.vars.generate import generate_vars from clan_cli.vars.generate import generate_vars
log = logging.getLogger(__name__) log = logging.getLogger(__name__)

View File

@@ -9,6 +9,7 @@ from contextlib import ExitStack
from clan_lib.api import API from clan_lib.api import API
from clan_lib.errors import ClanError from clan_lib.errors import ClanError
from clan_lib.nix import nix_command, nix_config, nix_metadata
from clan_cli.async_run import AsyncContext, AsyncOpts, AsyncRuntime, is_async_cancelled from clan_cli.async_run import AsyncContext, AsyncOpts, AsyncRuntime, is_async_cancelled
from clan_cli.cmd import Log, MsgColor, RunOpts, run from clan_cli.cmd import Log, MsgColor, RunOpts, run
@@ -21,7 +22,6 @@ from clan_cli.facts.generate import generate_facts
from clan_cli.facts.upload import upload_secrets from clan_cli.facts.upload import upload_secrets
from clan_cli.machines.list import list_machines from clan_cli.machines.list import list_machines
from clan_cli.machines.machines import Machine from clan_cli.machines.machines import Machine
from clan_cli.nix import nix_command, nix_config, nix_metadata
from clan_cli.ssh.host import Host, HostKeyCheck from clan_cli.ssh.host import Host, HostKeyCheck
from clan_cli.vars.generate import generate_vars from clan_cli.vars.generate import generate_vars
from clan_cli.vars.upload import upload_secret_vars from clan_cli.vars.upload import upload_secret_vars

View File

@@ -4,6 +4,7 @@ import sys
from pathlib import Path from pathlib import Path
from clan_lib.errors import ClanError from clan_lib.errors import ClanError
from clan_lib.nix import nix_shell
from clan_cli.cmd import RunOpts, run from clan_cli.cmd import RunOpts, run
from clan_cli.completions import ( from clan_cli.completions import (
@@ -12,7 +13,6 @@ from clan_cli.completions import (
complete_machines, complete_machines,
complete_users, complete_users,
) )
from clan_cli.nix import nix_shell
from .secrets import encrypt_secret, sops_secrets_folder from .secrets import encrypt_secret, sops_secrets_folder

View File

@@ -16,10 +16,10 @@ from typing import IO, Any
from clan_lib.api import API from clan_lib.api import API
from clan_lib.errors import ClanError from clan_lib.errors import ClanError
from clan_lib.flake import Flake from clan_lib.flake import Flake
from clan_lib.nix import nix_shell
from clan_cli.cmd import Log, RunOpts, run from clan_cli.cmd import Log, RunOpts, run
from clan_cli.dirs import user_config_dir from clan_cli.dirs import user_config_dir
from clan_cli.nix import nix_shell
from .folders import sops_users_folder from .folders import sops_users_folder

View File

@@ -7,6 +7,7 @@ from pathlib import Path
from typing import Any from typing import Any
from clan_lib.errors import ClanError from clan_lib.errors import ClanError
from clan_lib.nix import nix_shell
from clan_cli.async_run import AsyncRuntime from clan_cli.async_run import AsyncRuntime
from clan_cli.cmd import run from clan_cli.cmd import run
@@ -15,7 +16,6 @@ from clan_cli.completions import (
complete_machines, complete_machines,
) )
from clan_cli.machines.machines import Machine from clan_cli.machines.machines import Machine
from clan_cli.nix import nix_shell
from clan_cli.ssh.host import Host, is_ssh_reachable from clan_cli.ssh.host import Host, is_ssh_reachable
from clan_cli.ssh.host_key import HostKeyCheck from clan_cli.ssh.host_key import HostKeyCheck
from clan_cli.ssh.parse import parse_deployment_address from clan_cli.ssh.parse import parse_deployment_address

View File

@@ -14,10 +14,10 @@ from tempfile import TemporaryDirectory
from typing import Any from typing import Any
from clan_lib.errors import ClanError from clan_lib.errors import ClanError
from clan_lib.nix import nix_shell
from clan_cli.cmd import CmdOut, RunOpts, run from clan_cli.cmd import CmdOut, RunOpts, run
from clan_cli.colors import AnsiColor from clan_cli.colors import AnsiColor
from clan_cli.nix import nix_shell
from clan_cli.ssh.host_key import HostKeyCheck from clan_cli.ssh.host_key import HostKeyCheck
cmdlog = logging.getLogger(__name__) cmdlog = logging.getLogger(__name__)

View File

@@ -8,10 +8,10 @@ import time
from dataclasses import dataclass from dataclasses import dataclass
from clan_lib.errors import TorConnectionError, TorSocksError from clan_lib.errors import TorConnectionError, TorSocksError
from clan_lib.nix import nix_shell
from clan_cli.async_run import AsyncRuntime from clan_cli.async_run import AsyncRuntime
from clan_cli.cmd import Log, RunOpts, run from clan_cli.cmd import Log, RunOpts, run
from clan_cli.nix import nix_shell
log = logging.getLogger(__name__) log = logging.getLogger(__name__)

View File

@@ -4,6 +4,7 @@ import logging
from pathlib import Path from pathlib import Path
from clan_lib.errors import ClanCmdError, ClanError from clan_lib.errors import ClanCmdError, ClanError
from clan_lib.nix import nix_eval
from clan_cli.cmd import RunOpts, run from clan_cli.cmd import RunOpts, run
from clan_cli.completions import ( from clan_cli.completions import (
@@ -13,7 +14,6 @@ from clan_cli.completions import (
) )
from clan_cli.dirs import get_clan_flake_toplevel_or_env from clan_cli.dirs import get_clan_flake_toplevel_or_env
from clan_cli.machines.machines import Machine from clan_cli.machines.machines import Machine
from clan_cli.nix import nix_eval
log = logging.getLogger(__name__) log = logging.getLogger(__name__)

View File

@@ -18,12 +18,12 @@ from clan_cli.dirs import (
) )
from clan_cli.locked_open import locked_open from clan_cli.locked_open import locked_open
from clan_cli.machines.machines import Machine from clan_cli.machines.machines import Machine
from clan_cli.nix import nix_test_store
from clan_cli.tests import age_keys from clan_cli.tests import age_keys
from clan_cli.tests.fixture_error import FixtureError from clan_cli.tests.fixture_error import FixtureError
from clan_cli.tests.root import CLAN_CORE from clan_cli.tests.root import CLAN_CORE
from clan_cli.tests.temporary_dir import TEMPDIR from clan_cli.tests.temporary_dir import TEMPDIR
from clan_lib.flake import Flake from clan_lib.flake import Flake
from clan_lib.nix import nix_test_store
log = logging.getLogger(__name__) log = logging.getLogger(__name__)

View File

@@ -2,7 +2,7 @@ import subprocess
from pathlib import Path from pathlib import Path
import pytest import pytest
from clan_cli.nix import nix_shell from clan_lib.nix import nix_shell
# fixture for git_repo # fixture for git_repo

View File

@@ -8,7 +8,6 @@ import pytest
from clan_cli.cmd import run from clan_cli.cmd import run
from clan_cli.git import commit_file from clan_cli.git import commit_file
from clan_cli.locked_open import locked_open from clan_cli.locked_open import locked_open
from clan_cli.nix import nix_command
from clan_cli.templates import ( from clan_cli.templates import (
ClanExports, ClanExports,
InputName, InputName,
@@ -20,6 +19,7 @@ from clan_cli.templates import (
) )
from clan_cli.tests.fixtures_flakes import FlakeForTest from clan_cli.tests.fixtures_flakes import FlakeForTest
from clan_lib.flake import Flake from clan_lib.flake import Flake
from clan_lib.nix import nix_command
# Function to write clan attributes to a file # Function to write clan attributes to a file

View File

@@ -4,10 +4,10 @@ from pathlib import Path
import pytest import pytest
from clan_cli.cmd import run from clan_cli.cmd import run
from clan_cli.nix import nix_flake_show
from clan_cli.tests.fixtures_flakes import FlakeForTest, substitute from clan_cli.tests.fixtures_flakes import FlakeForTest, substitute
from clan_cli.tests.helpers import cli from clan_cli.tests.helpers import cli
from clan_cli.tests.stdout import CaptureOutput from clan_cli.tests.stdout import CaptureOutput
from clan_lib.nix import nix_flake_show
log = logging.getLogger(__name__) log = logging.getLogger(__name__)

View File

@@ -4,10 +4,10 @@ from typing import TYPE_CHECKING
import pytest import pytest
from clan_cli.machines.create import CreateOptions, create_machine from clan_cli.machines.create import CreateOptions, create_machine
from clan_cli.nix import nix_eval, run
from clan_cli.tests.fixtures_flakes import FlakeForTest from clan_cli.tests.fixtures_flakes import FlakeForTest
from clan_lib.api.modules import list_modules from clan_lib.api.modules import list_modules
from clan_lib.flake import Flake from clan_lib.flake import Flake
from clan_lib.nix import nix_eval, run
from clan_lib.nix_models.inventory import ( from clan_lib.nix_models.inventory import (
Inventory, Inventory,
Machine, Machine,

View File

@@ -5,7 +5,6 @@ from pathlib import Path
import pytest import pytest
from clan_cli.machines.machines import Machine from clan_cli.machines.machines import Machine
from clan_cli.nix import nix_eval, run
from clan_cli.tests.age_keys import SopsSetup from clan_cli.tests.age_keys import SopsSetup
from clan_cli.tests.fixtures_flakes import ClanFlake from clan_cli.tests.fixtures_flakes import ClanFlake
from clan_cli.tests.helpers import cli from clan_cli.tests.helpers import cli
@@ -24,6 +23,7 @@ from clan_cli.vars.secret_modules import password_store, sops
from clan_cli.vars.set import set_var from clan_cli.vars.set import set_var
from clan_lib.errors import ClanError from clan_lib.errors import ClanError
from clan_lib.flake import Flake from clan_lib.flake import Flake
from clan_lib.nix import nix_eval, run
def test_dependencies_as_files(temp_dir: Path) -> None: def test_dependencies_as_files(temp_dir: Path) -> None:
@@ -451,7 +451,7 @@ def test_generate_secret_for_multiple_machines(
) -> None: ) -> None:
flake = flake_with_sops flake = flake_with_sops
from clan_cli.nix import nix_config from clan_lib.nix import nix_config
local_system = nix_config()["system"] local_system = nix_config()["system"]

View File

@@ -6,13 +6,13 @@ from contextlib import ExitStack
import pytest import pytest
from clan_cli import cmd from clan_cli import cmd
from clan_cli.machines.machines import Machine from clan_cli.machines.machines import Machine
from clan_cli.nix import nix_eval, run
from clan_cli.tests.age_keys import SopsSetup from clan_cli.tests.age_keys import SopsSetup
from clan_cli.tests.fixtures_flakes import ClanFlake from clan_cli.tests.fixtures_flakes import ClanFlake
from clan_cli.tests.helpers import cli from clan_cli.tests.helpers import cli
from clan_cli.tests.nix_config import ConfigItem from clan_cli.tests.nix_config import ConfigItem
from clan_cli.vms.run import inspect_vm, spawn_vm from clan_cli.vms.run import inspect_vm, spawn_vm
from clan_lib.flake import Flake from clan_lib.flake import Flake
from clan_lib.nix import nix_eval, run
@pytest.mark.impure @pytest.mark.impure

View File

@@ -17,12 +17,12 @@ from clan_cli.completions import (
) )
from clan_cli.git import commit_files from clan_cli.git import commit_files
from clan_cli.machines.list import list_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._types import StoreBase
from clan_cli.vars.migration import check_can_migrate, migrate_files from clan_cli.vars.migration import check_can_migrate, migrate_files
from clan_lib.api import API from clan_lib.api import API
from clan_lib.errors import ClanError from clan_lib.errors import ClanError
from clan_lib.flake import Flake from clan_lib.flake import Flake
from clan_lib.nix import nix_config, nix_shell, nix_test_store
from .check import check_vars from .check import check_vars
from .graph import ( from .graph import (

View File

@@ -9,11 +9,11 @@ from tempfile import TemporaryDirectory
from clan_cli.cmd import CmdOut, Log, RunOpts, run from clan_cli.cmd import CmdOut, Log, RunOpts, run
from clan_cli.machines.machines import Machine from clan_cli.machines.machines import Machine
from clan_cli.nix import nix_shell
from clan_cli.ssh.host import Host from clan_cli.ssh.host import Host
from clan_cli.ssh.upload import upload from clan_cli.ssh.upload import upload
from clan_cli.vars._types import StoreBase from clan_cli.vars._types import StoreBase
from clan_cli.vars.generate import Generator, Var from clan_cli.vars.generate import Generator, Var
from clan_lib.nix import nix_shell
log = logging.getLogger(__name__) log = logging.getLogger(__name__)

View File

@@ -13,13 +13,13 @@ from pathlib import Path
from tempfile import TemporaryDirectory from tempfile import TemporaryDirectory
from clan_lib.errors import ClanCmdError, ClanError from clan_lib.errors import ClanCmdError, ClanError
from clan_lib.nix import nix_shell
from clan_cli.cmd import CmdOut, Log, RunOpts, handle_io, run from clan_cli.cmd import CmdOut, Log, RunOpts, handle_io, run
from clan_cli.completions import add_dynamic_completer, complete_machines from clan_cli.completions import add_dynamic_completer, complete_machines
from clan_cli.dirs import module_root, user_cache_dir, vm_state_dir from clan_cli.dirs import module_root, user_cache_dir, vm_state_dir
from clan_cli.facts.generate import generate_facts from clan_cli.facts.generate import generate_facts
from clan_cli.machines.machines import Machine from clan_cli.machines.machines import Machine
from clan_cli.nix import nix_shell
from clan_cli.qemu.qga import QgaSession from clan_cli.qemu.qga import QgaSession
from clan_cli.qemu.qmp import QEMUMonitorProtocol from clan_cli.qemu.qmp import QEMUMonitorProtocol
from clan_cli.vars.generate import generate_vars from clan_cli.vars.generate import generate_vars

View File

@@ -6,8 +6,7 @@ from collections.abc import Iterator
from pathlib import Path from pathlib import Path
from clan_lib.errors import ClanError from clan_lib.errors import ClanError
from clan_lib.nix import nix_shell
from clan_cli.nix import nix_shell
@contextlib.contextmanager @contextlib.contextmanager

View File

@@ -6,8 +6,7 @@ import time
from collections.abc import Iterator from collections.abc import Iterator
from clan_lib.errors import ClanError from clan_lib.errors import ClanError
from clan_lib.nix import nix_shell
from clan_cli.nix import nix_shell
VMADDR_CID_HYPERVISOR = 2 VMADDR_CID_HYPERVISOR = 2

View File

@@ -5,10 +5,10 @@ from pathlib import Path
from typing import Any, Literal from typing import Any, Literal
from clan_cli.cmd import RunOpts, run from clan_cli.cmd import RunOpts, run
from clan_cli.nix import nix_shell
from clan_lib.errors import ClanError from clan_lib.errors import ClanError
from clan_lib.flake import Flake from clan_lib.flake import Flake
from clan_lib.nix import nix_shell
from . import API from . import API

View File

@@ -3,7 +3,8 @@ import re
from dataclasses import dataclass from dataclasses import dataclass
from clan_cli.cmd import run from clan_cli.cmd import run
from clan_cli.nix import nix_shell
from clan_lib.nix import nix_shell
from . import API from . import API

View File

@@ -620,7 +620,8 @@ class Flake:
Loads the flake into the store and populates self.store_path and self.hash such that the flake can evaluate locally and offline Loads the flake into the store and populates self.store_path and self.hash such that the flake can evaluate locally and offline
""" """
from clan_cli.cmd import run from clan_cli.cmd import run
from clan_cli.nix import (
from clan_lib.nix import (
nix_command, nix_command,
) )
@@ -650,7 +651,8 @@ class Flake:
This method is used to refresh the cache by reloading it from the flake. This method is used to refresh the cache by reloading it from the flake.
""" """
from clan_cli.dirs import user_cache_dir from clan_cli.dirs import user_cache_dir
from clan_cli.nix import (
from clan_lib.nix import (
nix_metadata, nix_metadata,
) )
@@ -704,7 +706,8 @@ class Flake:
""" """
from clan_cli.cmd import Log, RunOpts, run from clan_cli.cmd import Log, RunOpts, run
from clan_cli.dirs import nixpkgs_source, select_source from clan_cli.dirs import nixpkgs_source, select_source
from clan_cli.nix import (
from clan_lib.nix import (
nix_build, nix_build,
nix_config, nix_config,
nix_test_store, nix_test_store,
@@ -818,7 +821,8 @@ class Flake:
""" """
from clan_cli.cmd import Log, RunOpts, run from clan_cli.cmd import Log, RunOpts, run
from clan_cli.nix import (
from clan_lib.nix import (
nix_eval, nix_eval,
nix_test_store, nix_test_store,
) )

View File

@@ -7,12 +7,12 @@ from functools import cache
from pathlib import Path from pathlib import Path
from typing import Any from typing import Any
from clan_lib.errors import ClanError
from clan_cli.cmd import run from clan_cli.cmd import run
from clan_cli.dirs import nixpkgs_flake, nixpkgs_source from clan_cli.dirs import nixpkgs_flake, nixpkgs_source
from clan_cli.locked_open import locked_open from clan_cli.locked_open import locked_open
from clan_lib.errors import ClanError
log = logging.getLogger(__name__) log = logging.getLogger(__name__)

View File

@@ -14,7 +14,6 @@ from clan_cli.inventory import patch_inventory_with
from clan_cli.machines.create import CreateOptions as ClanCreateOptions from clan_cli.machines.create import CreateOptions as ClanCreateOptions
from clan_cli.machines.create import create_machine from clan_cli.machines.create import create_machine
from clan_cli.machines.machines import Machine from clan_cli.machines.machines import Machine
from clan_cli.nix import nix_command
from clan_cli.secrets.key import generate_key from clan_cli.secrets.key import generate_key
from clan_cli.secrets.sops import maybe_get_admin_public_key from clan_cli.secrets.sops import maybe_get_admin_public_key
from clan_cli.secrets.users import add_user from clan_cli.secrets.users import add_user
@@ -26,6 +25,7 @@ from clan_lib.api.disk import hw_main_disk_options, set_machine_disk_schema
from clan_lib.api.network import check_machine_online from clan_lib.api.network import check_machine_online
from clan_lib.errors import ClanError from clan_lib.errors import ClanError
from clan_lib.flake import Flake from clan_lib.flake import Flake
from clan_lib.nix import nix_command
from clan_lib.nix_models.inventory import Machine as InventoryMachine from clan_lib.nix_models.inventory import Machine as InventoryMachine
from clan_lib.nix_models.inventory import MachineDeploy from clan_lib.nix_models.inventory import MachineDeploy

View File

@@ -38,7 +38,7 @@ let
# load nixpkgs runtime dependencies from a json file # load nixpkgs runtime dependencies from a json file
# This file represents an allow list at the same time that is checked by the run_cmd # This file represents an allow list at the same time that is checked by the run_cmd
# implementation in nix.py # implementation in nix.py
allDependencies = lib.importJSON ./clan_cli/nix/allowed-packages.json; allDependencies = lib.importJSON ./clan_lib/nix/allowed-packages.json;
generateRuntimeDependenciesMap = generateRuntimeDependenciesMap =
deps: deps:
lib.filterAttrs (_: pkg: !pkg.meta.unsupported or false) (lib.genAttrs deps (name: pkgs.${name})); lib.filterAttrs (_: pkg: !pkg.meta.unsupported or false) (lib.genAttrs deps (name: pkgs.${name}));

View File

@@ -54,7 +54,7 @@
clan-core-path = clanCoreWithVendoredDeps; clan-core-path = clanCoreWithVendoredDeps;
templateDerivation = templateDerivation; templateDerivation = templateDerivation;
pythonRuntime = pkgs.python3; pythonRuntime = pkgs.python3;
includedRuntimeDeps = lib.importJSON ./clan_cli/nix/allowed-packages.json; includedRuntimeDeps = lib.importJSON ./clan_lib/nix/allowed-packages.json;
}; };
clan-cli-docs = pkgs.stdenv.mkDerivation { clan-cli-docs = pkgs.stdenv.mkDerivation {
name = "clan-cli-docs"; name = "clan-cli-docs";

View File

@@ -20,13 +20,15 @@ exclude = ["clan_cli.nixpkgs*", "result"]
[tool.setuptools.package-data] [tool.setuptools.package-data]
clan_cli = [ clan_cli = [
"**/allowed-packages.json",
"py.typed", "py.typed",
"templates/**/*", "templates/**/*",
"vms/mimetypes/**/*", "vms/mimetypes/**/*",
"webui/assets/**/*", "webui/assets/**/*",
"flash/*.sh", "flash/*.sh",
] ]
clan_lib = [
"**/allowed-packages.json",
]
[tool.pytest.ini_options] [tool.pytest.ini_options]
testpaths = ["tests", "clan_cli", "clan_lib"] testpaths = ["tests", "clan_cli", "clan_lib"]

View File

@@ -4,7 +4,7 @@ from pathlib import Path
import pytest import pytest
from clan_cli.custom_logger import setup_logging from clan_cli.custom_logger import setup_logging
from clan_cli.nix import nix_shell from clan_lib.nix import nix_shell
sys.path.append(str(Path(__file__).parent / "helpers")) sys.path.append(str(Path(__file__).parent / "helpers"))
sys.path.append( sys.path.append(

View File

@@ -12,9 +12,9 @@ from typing import Any, override
from clan_cli.dirs import find_git_repo_root from clan_cli.dirs import find_git_repo_root
from clan_cli.machines.machines import Machine from clan_cli.machines.machines import Machine
from clan_cli.nix import nix_config, nix_eval
from clan_cli.vars.generate import generate_vars from clan_cli.vars.generate import generate_vars
from clan_lib.flake.flake import Flake from clan_lib.flake.flake import Flake
from clan_lib.nix import nix_config, nix_eval
sops_priv_key = ( sops_priv_key = (
"AGE-SECRET-KEY-1PL0M9CWRCG3PZ9DXRTTLMCVD57U6JDFE8K7DNVQ35F4JENZ6G3MQ0RQLRV" "AGE-SECRET-KEY-1PL0M9CWRCG3PZ9DXRTTLMCVD57U6JDFE8K7DNVQ35F4JENZ6G3MQ0RQLRV"