Commit Graph

54 Commits

Author SHA1 Message Date
pinpox
2a50dadf84 fmt 2025-07-15 13:48:37 +02:00
pinpox
aeb555a320 Fix tests 2025-07-15 13:40:54 +02:00
pinpox
8caaaa5b8b wip 2025-07-15 13:17:34 +02:00
pinpox
0e53499f40 Remove clanModules 2025-07-15 11:53:32 +02:00
Johannes Kirschbauer
e7c9d1e6d0 services: add modules schema to inventoryClass 2025-07-13 14:17:57 +02:00
Johannes Kirschbauer
5f19e76cd0 api/modules: remove redundant localModules 2025-07-13 11:52:19 +02:00
Johannes Kirschbauer
bb20e3926f modules: add explicit class constraints 2025-07-11 14:38:59 +02:00
Jörg Thalheim
0e97efbbef refactor: move docs transformOptions to clanLib to reduce rebuilds
- Add clanLib.docs.stripStorePathsFromDeclarations to deduplicate code
- Update all documentation generation to use the shared function
- This strips store paths from option declarations to prevent options.json
  from rebuilding when only store paths change but content remains the same
- Reduces unnecessary documentation rebuilds when making unrelated changes
2025-07-09 16:59:58 +02:00
Jörg Thalheim
462974b85c checks/inventory: optimize eval tests to use filtered sources
Replace full flake source (self) with minimal filtered filesets to prevent
unnecessary rebuilds when unrelated files change. All three inventory eval
tests now use the same unified fileset containing only necessary files.

This follows the same optimization pattern applied to other eval tests,
significantly reducing rebuild frequency during development.
2025-07-07 20:41:20 +02:00
Jörg Thalheim
b692f6fcfe put flake input overrides into a helper function 2025-07-07 15:59:09 +00:00
Johannes Kirschbauer
adb726c318 Templates/list: display templates via exposed nix value 2025-07-06 14:37:03 +02:00
Johannes Kirschbauer
f40ceccdc0 inventory: fix missing default for instances.*.module 2025-07-03 12:06:29 +02:00
hsjobeki
6a411250b7 Merge pull request 'clanServices: add flake level exports' (#4172) from flake-exports into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4172
2025-07-02 08:42:07 +00:00
Johannes Kirschbauer
2afc653877 clan/exportsModule: add missing default 2025-07-02 10:32:56 +02:00
Johannes Kirschbauer
416d789188 flake-exports: add options documentation 2025-07-02 10:22:09 +02:00
Johannes Kirschbauer
af06dec6f4 clanServices: add test to ensure nixosModule is imported 2025-07-01 17:35:04 +02:00
Johannes Kirschbauer
8d15a7ed62 clanServices: remove recursive services
Initially added in #3972 we've decided to remove them, because they are to complex to use correctly
2025-07-01 17:03:58 +02:00
Johannes Kirschbauer
a89502e47f clanServices: add flake level exports 2025-07-01 16:54:19 +02:00
Johannes Kirschbauer
d785169fbf lib.clan: properly merge self attrs 2025-07-01 14:02:02 +02:00
Johannes Kirschbauer
42d1cd2a83 modules/clan: inject .clan into self.inputs if self is an attribute set 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
Johannes Kirschbauer
667cee0f6e buildClan: replace all usages by lib.clan 2025-07-01 11:56:31 +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
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
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