Commit Graph

116 Commits

Author SHA1 Message Date
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
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
DavHau
7745e9eec6 inventory interface: add description for module.name 2025-06-24 10:09:05 +00:00
Johannes Kirschbauer
18af41cc19 Feat(inventory): simplify instance module spec, by applying a default 2025-06-23 15:46:52 +02:00
Johannes Kirschbauer
01a3151968 Chore(clanInternals): remove unused attributes 2025-06-10 18:27:16 +02:00
Johannes Kirschbauer
ac0477e710 Fix(inventory/extraModules): use more narrow type for better persistence 2025-06-03 18:57:34 +02:00
Johannes Kirschbauer
c6947a8fab feat(inventory/instances): add option for extraModules to roles 2025-06-03 18:17:16 +02:00
Johannes Kirschbauer
582841ba05 feat(inventory/instances): map over all machines and return lazy attributes 2025-06-03 17:37:04 +02:00
Qubasa
ae41bfad8c inventory: Add buildHost argument 2025-06-02 14:52:13 +02:00
Johannes Kirschbauer
c4980d3990 fix(clanLib): propagate clanLib into module apply 2025-05-21 20:44:56 +02:00
Johannes Kirschbauer
3951889b74 Feat(settings): use uniqueDeferredSerializableModule for settings 2025-05-21 18:41:20 +02:00
hsjobeki
3edd6487cc Merge pull request 'feat(docs,api): expose inventory.instances interface' (#3721) from hsjobeki/clan-core:inventory-services-1 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3721
2025-05-20 15:29:14 +00:00
Johannes Kirschbauer
6e822a2811 feat(docs,api): expose inventory.instances interface" 2025-05-20 16:10:32 +02:00
Johannes Kirschbauer
935d39abb3 chore(inventory/tags): remove unsupported settings from tags interface 2025-05-20 16:10:32 +02:00
Jörg Thalheim
09c62b8b2d Stop warning about inventory.instances
we now marked inventory.modules as deprecated, so this new api can be no
longer under development
2025-05-20 10:12:34 +02:00
Johannes Kirschbauer
af58c32238 Docs: unify 'manual' with 'guides' folder
This is one of the final steps towards strictly following
https://diataxis.fr/
2025-05-18 20:40:40 +02:00
hsjobeki
aaafde59cf Merge pull request 'Docs: init migration guide for clanServices' (#3679) from service-docs into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3679
2025-05-16 14:39:22 +00:00
Johannes Kirschbauer
64bef5980f docs: move authoring guides into guides subfolder 2025-05-16 16:33:39 +02:00
Johannes Kirschbauer
f3c81f5095 feat(clanModules): add deprecation feature that generates a warning if the module is used 2025-05-14 17:06:58 +02:00
ginkogruen
ba6f5e3552 fix: Documentation for inventory.tags.nixos option
Corrected documentation referencing machines with the machineClass = "darwin" set, when it should be: machineClass = "nixos"
2025-05-12 22:12:43 +00:00
Johannes Kirschbauer
b71e5378d6 Refactor(inventory/modules): add support for local clan.modules and migrate all checks 2025-05-08 17:17:46 +02:00
Johannes Kirschbauer
c78b736dd5 chore: deprecate usage of inventory.modules in favor of clan.modules 2025-05-07 19:12:07 +02:00
Johannes Kirschbauer
cb8be5015b feat(modules): derive module list from inputs and local modules 2025-05-06 18:57:54 +02:00
hsjobeki
f6b0b5ada5 Merge pull request 'API(cli): add method to Flake class to allow calling nix functions' (#3502) from hsjobeki/clan-core:improvements-2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3502
2025-05-05 20:16:28 +00:00
Johannes Kirschbauer
2d5e337f81 tests: add error prefix for json schema in checks 2025-05-05 21:46:16 +02:00
Johannes Kirschbauer
0d003f5424 Refactor(inventory): move prio 'introspection' into inventoryClass to minimize the 'clanInternals' api 2025-04-30 11:02:58 +02:00
Johannes Kirschbauer
fc27c87e2b Inventory/tags: init {nixos,darwin} tags 2025-04-21 16:43:15 +02:00
Johannes Kirschbauer
cd11835ec4 Reapply "Merge pull request 'chore(buildClan): move machineClass option into inventory.machines submodule' (#3259) from hsjobeki/clan-core:buildclan-cleanup into main"
This reverts commit 6154b4cb3a.
2025-04-09 18:16:35 +02:00
Johannes Kirschbauer
b0fb0752e9 fix(checks/data-mesher): format, dont pass a duplicate data-mesher module 2025-04-09 18:03:04 +02:00
Johannes Kirschbauer
9f159084cd feat(buildInventory): move instance resolution into buildInventory
Such that buildClan doesn't have to compose the results
buildInventory should be more self contained. But it is NOT meant a
public API! use buildClan argument 'inventory' instead
2025-04-09 17:31:35 +02:00
Jörg Thalheim
6154b4cb3a Revert "Merge pull request 'chore(buildClan): move machineClass option into inventory.machines submodule' (#3259) from hsjobeki/clan-core:buildclan-cleanup into main"
This reverts commit 325a794d12, reversing
changes made to afbae04aa6.
2025-04-09 16:08:39 +02:00
Johannes Kirschbauer
c49dd6c462 chore(buildClan): move machineClass option into inventory.machines submodule 2025-04-09 12:50:43 +00:00
hsjobeki
5879bcd6d9 Merge pull request 'docs(authoring): restructure authoring guides' (#3248) from hsjobeki/clan-core:docs-authoring into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3248
2025-04-08 19:58:59 +00:00
Johannes Kirschbauer
485b6ae5c4 docs(authoring): restructure authoring guides
Mainly because we have two module specs now and they will remain
valid for a while. We need to keep the older format documented for a while
2025-04-08 21:32:19 +02:00
Johannes Kirschbauer
dd62b6c97a chore(inventory/services): dont check _class of legacy clanModules.
Let the module system handle the error. Once we shift to deferred
modules, things get more complicated and we cannot check the module
class eagerly
2025-04-08 20:30:33 +02:00
Brian McGee
b31cf42d2d fix(docs): tighten up validation for meta.name and improved description 2025-04-08 10:44:35 +01:00
Michael Hoang
b5a57a72a0 build-clan: support constructing darwinConfigurations 2025-04-08 08:53:29 +02:00
Johannes Kirschbauer
208cd12328 feat(inventory/instances): only warn if instances is populated 2025-03-30 17:07:11 +02:00
Johannes Kirschbauer
d9741be51a feat(lib/inventory): use clanLib instead of clan-core as internal specialArg. This has the benefit of beeing more narrow scoped. 2025-03-30 17:07:09 +02:00
Johannes Kirschbauer
2190dffad0 feat(inventory/instances): add wip warning 2025-03-30 15:29:05 +02:00
Johannes Kirschbauer
330a4b2449 feat(inventory/instances): preserve settings modifiers close at source 2025-03-29 15:39:02 +01:00
Johannes Kirschbauer
ca1777fddc fix(inventory/instances): fix jsonschema compatibility 2025-03-29 13:25:19 +01:00
Johannes Kirschbauer
922a8510e4 feat(inventory/instances): init instances as new attribute for adding distributed services 2025-03-29 13:25:19 +01:00
Johannes Kirschbauer
c71d5e9d48 feat(inventory/modules): allow inline modules 2025-03-29 13:25:19 +01:00
Johannes Kirschbauer
fb883e54a6 Inventory: rename internal inventory toplevel attribute to 'inventoryClass' 2025-03-07 12:30:29 +00:00
Johannes Kirschbauer
9faf221b3e inventory: refactor role resolution into submodule 2025-02-08 10:43:54 +07:00
Johannes Kirschbauer
e4af2225c7 Inventory: migrate import and config resolution into a module 2025-02-05 16:23:30 +07:00
Johannes Kirschbauer
005f44c964 Inventory: move build inventory into a module 2025-02-05 11:06:43 +07:00
Johannes Kirschbauer
6a5332ec8c inventory: use special args to split build inventory into modules 2025-02-05 09:56:08 +07:00