Commit Graph

49 Commits

Author SHA1 Message Date
Johannes Kirschbauer
0885f9e301 feat(clanInternals): dont allow superfluous options 2025-06-10 19:16:26 +02:00
Johannes Kirschbauer
01a3151968 Chore(clanInternals): remove unused attributes 2025-06-10 18:27:16 +02:00
DavHau
d37c7c4c05 buildClan function: export all machines via nixosModules/darwinModules
We want each machine not only to be exposed via nixosConfigurations but also as a module.
This allows re-importing the machine in tests and override the architecture for example.
2025-06-09 12:51:22 +00:00
DavHau
60f07c3472 tests: actually execute vars checks in CI 2025-05-31 16:16:09 +07:00
Johannes Kirschbauer
ad1f3bfa92 fix(clan/interface): minor fixes 2025-05-28 14:02:43 +02:00
Johannes Kirschbauer
c4980d3990 fix(clanLib): propagate clanLib into module apply 2025-05-21 20:44:56 +02:00
Qubasa
2f0114a236 clan-cli: Unify list_machines and use flake caching 2025-05-16 10:47:49 +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
c88c68749e API(clanInternals): add 'evalServiceSchema' endpoint 2025-05-05 21:46:20 +02:00
Johannes Kirschbauer
2d5e337f81 tests: add error prefix for json schema in checks 2025-05-05 21:46:16 +02:00
hsjobeki
617b87b29e Merge pull request 'Refactor(inventory): move prio 'introspection' into inventoryClass to minimize the 'clanInternals' api' (#3440) from hsjobeki/clan-core:ui-fixups into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3440
2025-04-30 10:24:34 +00:00
Johannes Kirschbauer
0d003f5424 Refactor(inventory): move prio 'introspection' into inventoryClass to minimize the 'clanInternals' api 2025-04-30 11:02:58 +02:00
Brian McGee
651b277bb9 feat: configure age plugins for SOPS in buildClan 2025-04-29 16:02:32 +10:00
Johannes Kirschbauer
fbd291ba11 chore: remove unused moduleSchemas and related API endpoint for legacy modules
We didn't reach the state where we would display these schemas in the
UI.
We might need to wire this up in a similar way for the newer
clan.services
2025-04-27 13:14:09 +02:00
Michael Hoang
9c317e8f3b build-clan: drop unused machinesFunc 2025-04-15 13:30:28 +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
681d28430b inventory: don't loose string context of directory 2025-04-08 13:50:27 +02:00
Michael Hoang
b5a57a72a0 build-clan: support constructing darwinConfigurations 2025-04-08 08:53:29 +02:00
Johannes Kirschbauer
542a6a3fd1 feat(buildClan): add clan.modules as output 2025-04-02 13:38:38 +02:00
Johannes Kirschbauer
f6f0c1b356 fix(inventory/interface): use explizit file dependency, until dependency injection works properly 2025-04-02 11:12:16 +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
ae8e7edac0 feat(clanLib): expose clanInternals.clanLib
This is usefully for:
- As api via python
- for testing clanLib downstream
2025-03-30 17:07:11 +02:00
Johannes Kirschbauer
111d55a1bc feat(clan/services): init new clanInternals attribute 'distributedServices' 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
Michael Hoang
742040cd03 templates: allow specifying from flake-parts module 2025-02-16 21:10:22 +07:00
Johannes Kirschbauer
ba8ae04e5b buildClan: add depercation warnings for directory=self 2025-02-03 12:00:47 +01:00
Jörg Thalheim
eee6415261 fix infinite recursion 2025-02-03 12:00:47 +01:00
lassulus
02d450b905 clan-cli: add a Flake class with caching 2025-02-02 11:52:36 +00:00
Jörg Thalheim
522156efc8 Do not deprecate directory argument 2025-02-02 10:30:26 +00:00
Qubasa
9a79ea8e1d clan: Remove unecessary templates and modules interface 2025-01-29 19:24:15 +07:00
Qubasa
e7e96f3f95 Add importable clan.modules and clan.template interfaces without implementation 2025-01-27 17:35:42 +07:00
Qubasa
ed6aaf5f0c clan: Add autoloaded clanModules from flake inputs. Rename 'directory' to 'self' in buildClan 2025-01-24 12:32:04 +07:00
a-kenji
2a29b8904c lib/*/interface.nix: Fix typos 2024-12-17 11:58:28 +01:00
DavHau
1cbba05055 build-clan: fix bug where vars generator scripts are built for target system instead of local system 2024-12-16 19:20:17 +07:00
Johannes Kirschbauer
7ac8b70ebd clanInternals.inventory: expose used priorities 2024-12-04 17:41:41 +01:00
Johannes Kirschbauer
3ebda7c304 Ext/modules: expose module schemas 2024-11-21 17:02:34 +01:00
Johannes Kirschbauer
b3bcecd61c Inventory: init external modules support 2024-11-21 15:38:17 +00:00
Qubasa
130aeb36b7 Revert "clan: Remove pkgsForSystem"
This reverts commit 382e27a20b.
2024-11-11 21:50:25 +07:00
Qubasa
382e27a20b clan: Remove pkgsForSystem 2024-11-11 14:08:12 +00:00
danjujan
7a1e952c54 lib: fix typos 2024-10-29 12:37:34 +00:00
Johannes Kirschbauer
68a571f858 Interfaces: unclutter meta interface, file conflict position tracking 2024-10-04 13:48:11 +02:00
Johannes Kirschbauer
a67fb750cf Docs: fixup links 2024-09-25 13:46:12 +02:00
Johannes Kirschbauer
79b20cf3d9 Docs/buildClan: add documentation descriptions 2024-09-25 13:33:46 +02:00
Johannes Kirschbauer
55526b1fdb Docs: add top-level index, refactor according to diataxis 2024-09-22 18:39:13 +02:00
a-kenji
f58d5c53be Fix: forward meta attributes in flake-parts module
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.
2024-08-07 12:19:17 +00:00
a-kenji
19633da2de Revert "Fix: forward meta attributes in flake-parts module"
This reverts commit ce33119896.

The propagated `self` attribute can be an error in non `flake-parts`
modules.
2024-08-07 10:40:36 +00:00
a-kenji
ce33119896 Fix: forward meta attributes in flake-parts module
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.
2024-08-07 09:33:49 +00:00
Johannes Kirschbauer
35891f7165 Add flake-parts module 2024-08-03 12:05:09 +02:00
Johannes Kirschbauer
8b0212b828 Add build-clan module 2024-08-03 12:05:09 +02:00