Commit Graph

28 Commits

Author SHA1 Message Date
Johannes Kirschbauer
346e3d816a lib/modules: move modules out of lib 2025-10-21 19:35:50 +02:00
Johannes Kirschbauer
daea2da358 lib: move clan out of lib into flake
This allows clanLib to stay agnostic and be more testable
2025-09-16 15:28:12 +02:00
Johannes Kirschbauer
f49df8d574 inventory: make resolve module a clanLib function
Unclutter inventory logic
2025-09-16 13:09:56 +02:00
Johannes Kirschbauer
e9600a19c1 modules.clan.default: move specialArgs into common place 2025-06-26 17:37:42 +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
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
DavHau
1add6a6314 clan tests: convert makeTestClan to a module
Let's not put yet another wrapper around runTest, instead expose our logic as a module that can be imported into any nixos-vm-test
2025-06-03 19:38:02 +07:00
Johannes Kirschbauer
7dc03f8eee Feat(clanLib): init types {uniqueDeferredSerializableModule} 2025-05-21 18:41:14 +02:00
lassulus
d93e58218d Refactor select with new maybe selector
This is a great refactor of the select functionality in the flake class.
This now uses the same parser as the nix code, but runs it in python for
nice stacktraces.

Also we now have a maybe selector which can be used by prepending the
selector with a ?

Tests have been expanded to make sure the code is more stable and easier
to understand
2025-04-25 16:26:45 +10:00
Michael Hoang
b5a57a72a0 build-clan: support constructing darwinConfigurations 2025-04-08 08:53:29 +02:00
Johannes Kirschbauer
1aaa328e1b chore(lib/select): move into subfolder with a test file 2025-04-02 12:37:49 +02:00
Johannes Kirschbauer
6e16d1345e chore(lib/treewide): cleanup directory struture of lib. See lib/readme.md for details 2025-04-02 11:11:21 +02:00
Johannes Kirschbauer
0083ea86df feat(lib): init callLib; helper to bootstrap clanLib 2025-03-30 16:11:04 +02:00
Johannes Kirschbauer
69b7c9602f feat(clan/services): init test-suite for eval test 2025-03-29 13:25:19 +01:00
DavHau
5ce72dd261 tests: reduce unnecessary rebuilds of several tests
Some test were referring to the whole source code via ${self} which amde them rebuild on every single commit.

This is not mitigated by introduceing `self.filter { include = [...]; }` allowin to a content addressed subset of the source code in tests.
2025-01-17 17:00:18 +07:00
Johannes Kirschbauer
de78a85324 lib.values: init getPrio
This function can be used to get the priority of all values within a module
2024-12-04 17:37:23 +01:00
Johannes Kirschbauer
8b0212b828 Add build-clan module 2024-08-03 12:05:09 +02:00
Johannes Kirschbauer
25024aba95 Add settings.json back 2024-06-25 12:23:29 +00:00
Johannes Kirschbauer
aed486f020 lib: eval clan module as lib function 2024-06-24 15:47:25 +02:00
Jörg Thalheim
ede4d3f6e5 re-format with nixfmt 2024-03-17 19:48:49 +01:00
DavHau
cf0953146d api/machines: allow importing extra modules
- add top-level option `clanImports` to clanCore
- clanImports can be set and checked as any other option
- buildClan resolves the clanImports from the settings.json before calling evalModules to prevent infinite recursions
- new endpoint PUT machines/{name}/schema to allow getting the schema for a specific list of imports
- to retrieve the currently imported modules, cimply do a GET or PU on machines/{name}/config which will return `clanImports` as part of the config

Still missing: get list of available modules
2023-10-25 16:36:30 +01:00
DavHau
03808d9fbc buildClan: fix missing argument clan 2023-09-02 18:24:34 +02:00
Jörg Thalheim
1d496c6363 buildClan: also import clanCore module 2023-08-30 16:41:50 +02:00
Jörg Thalheim
72768573db drop non-existent clan modules 2023-08-29 22:30:33 +02:00
Jörg Thalheim
7c21453b17 lib.buildClan: fix flake reference 2023-08-29 22:27:13 +02:00
Jörg Thalheim
a4e182debf clan template: reduce autogenerate code to a minimum 2023-08-29 13:54:06 +00:00
DavHau
7262208a4c clanLib.jsonschema: move tests from pkgs/clan-cli 2023-08-09 16:05:33 +02:00
lassulus
96067a789d move modules into nixosModules, add autoimport 2023-08-02 10:24:01 +02:00