676 Commits

Author SHA1 Message Date
Johannes Kirschbauer
afd1ba6306 checks: mock self.inputs.self by default 2025-07-01 13:19:37 +02:00
Johannes Kirschbauer
e260168a6b clanServices: add tests for resolve modules 2025-07-01 13:19:37 +02:00
Johannes Kirschbauer
1e94fd18f8 clanServices: remove unnecessary localModules 2025-07-01 13:19:37 +02:00
Johannes Kirschbauer
65f01c72bd clanServices: remove unneeded self reference in lib 2025-07-01 13:19:37 +02:00
Mic92
b766d290cd Merge pull request 'vars-check: replace slow python implementation with pure nix' (#4144) from machine-class into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4144
2025-07-01 10:53:27 +00:00
Jörg Thalheim
a780dbe60c vars-check: replace slow python implementation with pure nix 2025-07-01 12:46:50 +02:00
Johannes Kirschbauer
667cee0f6e buildClan: replace all usages by lib.clan 2025-07-01 11:56:31 +02:00
Johannes Kirschbauer
4f496a84f9 clanLib: remove select 2025-06-30 16:14:01 +02:00
DavHau
73b298d0b2 checks: rename attributes for better discoverability
- all eval checks prefixed with `eval-`
- all service checks prefixed with `service-`
2025-06-30 19:04:21 +07:00
DavHau
6f2672addd services: improve error when module not found 2025-06-30 11:44:30 +00:00
DavHau
2a3e786cfe tests: explicitly specify services to be sourced from self
See previous commit
2025-06-30 10:13:46 +00:00
DavHau
f966f5b745 clan services: use service modules from clan-core by default
Users will use clan-core services first before making their own. Therefore this is a better default. Also it allow us to simplify rendering of our docs
2025-06-30 10:13:46 +00:00
Jörg Thalheim
14226d222e add regression test for macOS evaluation 2025-06-29 23:58:19 +02:00
Jörg Thalheim
37611d2477 overridePkgs: drop unneeded parantheses 2025-06-29 23:58:19 +02:00
Jörg Thalheim
fd689a25f5 no longer fallback to "nixos" machineClass
we should always have a value defined.
2025-06-29 23:58:19 +02:00
Jörg Thalheim
581dfeffeb fix unlocked flake.lock in tests 2025-06-28 08:50:41 +02:00
Jörg Thalheim
044edc9d06 container-test-driver: implement wait_for_open_port 2025-06-27 18:35:55 +02:00
kenji
e6a8f507dd Merge pull request 'lib/test/sops: Fix secret deployment for test machines' (#4120) from kenji/ke-fix-sops-test-integration into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4120
2025-06-27 10:45:41 +00:00
a-kenji
465548db26 lib/test/sops: Fix secret deployment for test machines
Fix secret deployment for test machines in our NixOS vm and container
tests.

We filter now if we really need to deploy a certain set of files as a
deployment script, which alleviates us running into these edgecases:
```
error: The option `nodes.server.system.activationScripts.setupSecrets.text'
was accessed but has no value defined. Try setting the option.
```
2025-06-27 12:19:46 +02:00
Johannes Kirschbauer
731de62876 docs: rename all references from 'buildClan' to 'lib.clan' 2025-06-27 09:54:23 +02:00
Johannes Kirschbauer
35d50489bb modules: add explizit class to clan module 2025-06-27 09:53:40 +02:00
Johannes Kirschbauer
04a31bea67 modules: fix consistent nixpkgs and nix-darwin injection 2025-06-27 09:21:19 +02:00
Johannes Kirschbauer
5dc8865da1 modules.nixosVmTest: rename to nixosTest to match the target module _class 2025-06-26 17:37:42 +02:00
Johannes Kirschbauer
e9600a19c1 modules.clan.default: move specialArgs into common place 2025-06-26 17:37:42 +02:00
Johannes Kirschbauer
a35e2d84d1 buildClan: deprecate in favor of 'clan'
clan.lib.clan { <your definition> } returns an eval result
In contrast to buildClan which returns the .config
This allows for better introspection
2025-06-26 17:08:47 +02:00
Johannes Kirschbauer
f6de6632e4 modules: move clan module to flake.modules.clan.default 2025-06-26 17:08:47 +02:00
Johannes Kirschbauer
d8d49c9d72 chore: clean up logic around clanInternals 2025-06-26 16:12:35 +02:00
Johannes Kirschbauer
6b1722d3c3 chore: buildClan warn access without .config prefix
Makes behavior consistent with nixosSystem, nixpkgs.
Alows access to options and other eval modules results
Needed for error tracking and better devx
2025-06-26 15:21:49 +02:00
Johannes Kirschbauer
48e37b55fc chore: remove spurious class 2025-06-26 15:20:18 +02:00
Johannes Kirschbauer
761e8b0ec5 refactor: clanLib buildClan 2025-06-26 15:20:05 +02:00
Johannes Kirschbauer
9ef518fa20 refactor: unify evalClanService with evalService 2025-06-26 14:50:35 +02:00
Johannes Kirschbauer
fa525304ac refactor: simplify buildClan remove any filtering 2025-06-26 13:56:14 +02:00
Johannes Kirschbauer
66ee74e193 schema: update clan option source 2025-06-26 13:24:34 +02:00
Johannes Kirschbauer
d9da723d5d Refactor(build-inventory): remove build-inventory in favor of simple and expressive evalModules 2025-06-26 11:11:50 +02:00
Johannes Kirschbauer
c81ba4b6fa build-inventory: fix tests temporarily 2025-06-25 18:15:47 +02:00
Johannes Kirschbauer
345aa12e99 build-inventory: move inventory and inventoryClass into explizitly different folders 2025-06-25 17:55:45 +02:00
Johannes Kirschbauer
ae4e18c152 build-inventory: replace by equivalent submodule 2025-06-25 17:23:46 +02:00
Johannes Kirschbauer
0c8f23ed3e Chore: add _file for internals error tracing 2025-06-25 15:47:18 +02:00
Johannes Kirschbauer
0bb621f0f7 inventory/interface: reduce apply arguments chain by adding it to _module.args 2025-06-25 15:15:22 +02:00
Johannes Kirschbauer
e1cb17db35 build-clan: export default.nix that injects clanLib
This should be the single entry point, that includes clanLib
instead of importApply propagation
2025-06-25 12:07:59 +02:00
Johannes Kirschbauer
72ca729ba2 build-clan: move clan attribute relates modules into subfolder 2025-06-25 10:55:37 +02:00
hsjobeki
26b2911d52 Merge pull request 'build-clan: move clan attribute relates modules into subfolder' (#4063) from clan-unify into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4063
2025-06-25 08:46:18 +00:00
DavHau
e70afa9511 bring back services rendering for docs
Setting services to visible = false breaks stuff
2025-06-25 13:48:50 +07:00
DavHau
12682b608c docs: add clan options search page
This provides a simpler and more intuitive search over a flat list of possible options.

Styling still to be improved
2025-06-25 12:55:25 +07:00
Johannes Kirschbauer
2d2476602b build-clan: move clan attribute relates modules into subfolder 2025-06-24 13:13:59 +02:00
pinpox
7fc8776742 Merge branch 'main' into machine-id-option 2025-06-24 11:12:24 +00:00
DavHau
7745e9eec6 inventory interface: add description for module.name 2025-06-24 10:09:05 +00:00
pinpox
d88ac429cb Make machine ID a option 2025-06-24 10:42:03 +02:00
hsjobeki
29199e96da Merge pull request 'Feat(inventory): simplify instance module spec, by applying a default' (#4054) from hsjobeki/module-default into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4054
2025-06-23 14:21:55 +00:00
Johannes Kirschbauer
ac5cc85d57 Refactor(build-clan): rename to lib/modules
This is a preparation for moving everything into clan, to make it all one module evaluation
2025-06-23 16:06:49 +02:00