This reverts commit 6119aa884f.
This is incorrect we have mentions to inventory.modules in the codebase since much longer.
As can be seen in the documentation: https://docs.clan.lol/reference/nix-api/inventory/
As this PR improves the readability of the docs, I will re-apply it.
This reverts commit a64c054168.
This introduces the name "inventory module" whereas we already use the
term clan modules everywhere else. I don't don't too many confusing
termologies in the codebase. Let's discuss this before adding it back.
This fixes building machines with the flake-parts module.
Since the inventory merges the machines, the `clan.core.meta` attribute
is now a submodule and conditionally imported.
Also drops the following attributes:
- clan.core.meta.icon
- clan.core.meta.description
In favor of specifying them inside the inventory.
This doesn't use `mkRemovedOptionsModule`, because in our case it would
cause infinite recursion.
This fixes building machines with the flake-parts module.
Since the inventory merges the machines, the `clan.core.meta` attribute
is now a submodule and conditionally imported.
Also drops the following attributes:
- clan.core.meta.icon
- clan.core.meta.description
In favor of specifying them inside the inventory.
This doesn't use `mkRemovedOptionsModule`, because in our case it would
cause infinite recursion.
- 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