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
Johannes Kirschbauer
18af41cc19
Feat(inventory): simplify instance module spec, by applying a default
2025-06-23 15:46:52 +02:00
hsjobeki
0f6477d28a
Merge pull request 'feat(clan-services): enable recursive services' ( #3972 ) from hsjobeki/nested-services into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3972
2025-06-20 12:51:27 +00:00
Johannes Kirschbauer
39d0347c22
Fix(clan-services): allMachines might not contain the machineName
2025-06-20 14:41:17 +02:00
Jörg Thalheim
2f5489a8b7
fix(vars-check): include generator scripts in test closure
...
The vars-check test was failing because it only included the
runtimeInputs of generators but not the actual generator scripts
themselves. This caused the test to fail when trying to execute
generators that reference local files (like generate.py).
Added allGeneratorScripts to the closureInfo to ensure all generator
scripts and their dependencies are available in the test environment.
2025-06-17 21:09:59 +02:00
Jörg Thalheim
691401f674
no longer make test derivation depends on vars-check
...
this triggers more builds than necessary.
2025-06-17 21:09:59 +02:00