Files
clan-core/pkgs/clan-cli
lassulus 40065c7a00 refactor: remove deployment.json and use direct selectors
- Remove deployment.json file generation from outputs.nix
- Add throw for deprecated deployment.file usage with upgrade instructions
- Remove vars data from deployment.data
- Update Machine class to use direct select() calls instead of deployment property
- Update all deployment property accesses to use direct selectors
- Add precaching for frequently accessed values in update.py:
  - Module paths for facts and vars
  - Deployment settings (requireExplicitUpdate, nixosMobileWorkaround)
  - Services and generators data
  - Secret upload locations
- This removes unnecessary JSON serialization and makes the code more composable
2025-07-02 20:56:23 +02:00
..
2024-08-02 18:56:53 +02:00
2023-12-14 18:47:14 +01:00
2024-07-08 16:24:34 +02:00
2025-07-02 17:59:24 +07:00
2025-06-28 09:27:34 +02:00
2025-02-06 14:56:57 +00:00
2025-06-30 16:14:01 +02:00
2025-07-02 12:35:02 +02:00
2025-05-22 00:01:01 +10:00

clan-cli

The Clan CLI contains the command line interface.

Hacking on the CLI

We recommend setting up direnv to load the development with Nix. If you do not have it set up you can also use nix develop directly like this:

use flake .#clan-cli --builders ''

After you can use the local bin wrapper to test things in the CLI:

./bin/clan

Run locally single-threaded for debugging

By default tests run in parallel using pytest-parallel. pytest-parallel however breaks breakpoint(). To disable it, use this:

pytest -n0 -s

You can also run a single test like this:

pytest -n0 -s tests/test_secrets_cli.py::test_users

Run tests in nix container

Run all impure checks

nix run .#impure-checks

Run all checks

nix flake check