Commit Graph

79 Commits

Author SHA1 Message Date
Johannes Kirschbauer
f49df8d574 inventory: make resolve module a clanLib function
Unclutter inventory logic
2025-09-16 13:09:56 +02:00
Johannes Kirschbauer
0bce953c2f inventory: inline manifest module
Reducing the clutter of files
Its sometimes better to have all the options in one place if reusing is not a concern
2025-09-16 12:36:58 +02:00
Johannes Kirschbauer
453f2649d3 clanInternals: expose builtin modules 2025-08-31 15:58:39 +02:00
Johannes Kirschbauer
4470bb886e docs: move 'migrate-flake' to 'convert existing nixos' 2025-08-25 14:11:31 +02:00
Johannes Kirschbauer
4414403dec clan/inventory: allow list usage of roles via polymorphism 2025-08-25 11:27:38 +02:00
Johannes Kirschbauer
2d78730037 clan/schema: rename json schemas consistent {clanSchemaNix, clanSchemaJson} 2025-08-25 11:27:03 +02:00
Brian McGee
9aebf02f05 feat(ui): display machine install state and install button 2025-08-19 15:09:34 +01:00
Johannes Kirschbauer
3c34f81a44 inventory/tests: remove unused tests 2025-08-16 12:56:30 +02:00
Johannes Kirschbauer
72e7c2e9b9 clanModules: cleanup some more unused code 2025-08-16 12:56:30 +02:00
Johannes Kirschbauer
4a51aa9316 clanModules: remove unused test code 2025-08-16 11:58:55 +02:00
Johannes Kirschbauer
308a10d6e6 clanModules: remove unused code 2025-08-16 11:48:13 +02:00
Johannes Kirschbauer
a82ecbcbff docs: update docs for exports 2025-08-14 18:01:19 +02:00
Johannes Kirschbauer
90c7951704 exports: expose in special args or 'perInstance' and 'perMachine' 2025-08-14 17:58:23 +02:00
Johannes Kirschbauer
116ff37156 exports: rename special args 2025-08-14 17:58:23 +02:00
pinpox
35e5f4a42a Remove clanModules
- Removes clanModules in favor of the new clanServices
- Adds a warning and link to the migration guide
2025-08-14 12:02:40 +02:00
Michael Hoang
a71a5880c1 treewide: reformat 2025-08-08 15:28:37 +10:00
Johannes Kirschbauer
caaf9dc4f3 docs: unify documentation
Strictly enforce diataxis
Use resource driven approach
Can extend later to add 'developer' link index page
2025-07-24 16:51:57 +02:00
Johannes Kirschbauer
59105bd1da docs/options: expose all clan options in NüschtOS search 2025-07-24 09:42:21 +02:00
Qubasa
5c7e6b3830 docs: Move developer guides into the Developer section
nix fmt

address davhau review
2025-07-23 18:31:19 +07:00
Johannes Kirschbauer
b5a3d617fd services: fix extraModules as path 2025-07-21 19:51:16 +02:00
lassulus
60768cc537 Add networking module
This adds a (for now hidden) clan network command that exposes list,
ping, overview subcommands to get informations about configured
networks.
ClanServices can now use the exports to define network specific
information.

This is not the complete feature yet, as we are lacking more tests and
documentation, but merging this now makes it easier to iterate.
2025-07-17 15:23:08 +02:00
Qubasa
5a86862f47 buildClan: Add deprecation warning 2025-07-17 15:32:12 +07:00
Qubasa
e6a6cb27ec inventory: Add missing default value for exports.instances and exports.machines 2025-07-17 13:10:30 +07:00
Johannes Kirschbauer
5fc98a9611 clanInternals: refactor configsPerSystem, minimize diff 2025-07-15 21:40:22 +02:00
hsjobeki
341f444fa0 revert bd3861c580
revert Merge pull request 'Remove clanModules/*' (#4202) from remove-modules into main

Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4202

See: https://git.clan.lol/clan/clan-core/issues/4365

Not all modules are migrated.
If they are not migrated, we need to write migration docs and please display the link to the migration docs
2025-07-15 17:51:36 +00:00
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