Johannes Kirschbauer
4a126fee12
Feat(templates): export clan templates statically
2025-06-11 16:52:52 +02:00
Johannes Kirschbauer
17527082f4
chore(clanInternals): remove unused 'templates' attribute"
2025-06-10 19:26:04 +02:00
Johannes Kirschbauer
78563b0544
Fix(clan.nix): create public attributes from 'clan', dont expose them from clanInternals
...
ClanInternals is already exposed at the toplevel the API can access anything
This also deduplicated 'templates' and 'modules' into 'clan.modules' and 'clan.templates' repsectively
Only this one path is its source
2025-06-10 18:51:42 +02:00
Johannes Kirschbauer
e322c92b2e
Chore(clanInternals): remove unused attributes
2025-06-10 18:27:16 +02:00
DavHau
7cf065ae8c
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
4616545cba
build-clan: refactor: don't only use imports
2025-06-09 13:24:27 +07:00
Jörg Thalheim
646a3d56ce
add inputs to specialArgs and make templates use it.
2025-05-30 19:53:12 +02:00
Qubasa
d765f1078b
clan-cli: Unify list_machines and use flake caching
2025-05-16 10:47:49 +02:00
Johannes Kirschbauer
c5a28e2655
fix: make sure legacyModules dont end up in localModules for inventory.instances
2025-05-08 17:38:28 +02:00
Johannes Kirschbauer
0af36d0a4d
Refactor(inventory/modules): add support for local clan.modules and migrate all checks
2025-05-08 17:17:46 +02:00
Johannes Kirschbauer
1e379f6fa7
chore: deprecate usage of inventory.modules in favor of clan.modules
2025-05-07 19:12:07 +02:00
Johannes Kirschbauer
afdb08643d
fix(tests/modules): list_modules returns moduleSets"
2025-05-07 16:46:13 +02:00
Johannes Kirschbauer
cbd7157cfc
feat(modules): derive module list from inputs and local modules
2025-05-06 18:57:54 +02:00
hsjobeki
89fbf723ca
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
e44d34ef99
feat(clanLib): init evalServiceSchema
2025-05-05 21:55:29 +02:00
Johannes Kirschbauer
9fbd943f44
API(clanInternals): add 'evalServiceSchema' endpoint
2025-05-05 21:46:20 +02:00
Johannes Kirschbauer
d42d9ad943
tests: add error prefix for json schema in checks
2025-05-05 21:46:16 +02:00
hsjobeki
7b4b700c33
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
e07551cecf
Refactor(inventory): move prio 'introspection' into inventoryClass to minimize the 'clanInternals' api
2025-04-30 11:02:58 +02:00
Brian McGee
a438fe77a7
feat: configure age plugins for SOPS in buildClan
2025-04-29 16:02:32 +10:00
DavHau
ebada396dd
build-clan: Throw better error when _class is not provided by nixpkgs
2025-04-28 15:49:14 +00:00
Johannes Kirschbauer
b87d5a238c
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
Johannes Kirschbauer
7007b7d62e
refactor: rename clanLib.values to introspection
2025-04-27 13:10:42 +02:00
Michael Hoang
a575894a83
nixosModules/clanCore: support nix-darwin
2025-04-22 23:14:03 +10:00
Michael Hoang
41ff4a4247
build-clan: fix constructing nix-darwin machines
2025-04-17 20:23:54 +02:00
Johannes Kirschbauer
f331295dd5
feat(buildClan): expose {nixosModules,darwinModules} from clanInternals
...
These are the exact same modules that where used internally to construct the corresponding
'nixosConfiguration', 'darwinConfiguration'
They can be externally used, and would yield the same result
Given that you pass the same 'specialArgs'
2025-04-15 17:25:57 +02:00
Johannes Kirschbauer
9800255a2c
refactor(buildClan): simplify pkgs overriding logic
2025-04-15 16:05:57 +02:00
Johannes Kirschbauer
e68ab67112
refactor(buildClan): move modules into 'forName' and import the correct core module depending on class
2025-04-15 15:29:01 +02:00
Johannes Kirschbauer
d264e262bd
fixup(buildClan): use clan.inventory instead of refering to the clanInternals dumping ground within the module
2025-04-15 15:10:08 +02:00
Johannes Kirschbauer
af04bf547f
fixup(buildClan): split up the inner-module into: {forSystem, forName}
...
I am preparing this such that we can move the forName modules into the
defaults for the deferred module outputs and the forSystem modules are
added later and only for the 'configsPerSystem' where we actually need
the system modules
2025-04-15 15:02:37 +02:00
Johannes Kirschbauer
14ace40820
refactor: buildClan output; output deferred modules instead of nixosConfig
2025-04-15 14:25:02 +02:00
Michael Hoang
5cc1d823aa
build-clan: drop unused machinesFunc
2025-04-15 13:30:28 +02:00
Michael Hoang
95fd1ec7eb
build-clan: expose Clan configuration as a module
2025-04-14 16:04:06 +02:00
Johannes Kirschbauer
35379d3b86
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 62dfb23e41 .
2025-04-09 18:16:35 +02:00
Johannes Kirschbauer
05c45371af
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
Johannes Kirschbauer
a6a79e83a0
treewide(clanLib): rename all occurences of {clan-core,self}.lib to 'clanLib'
2025-04-09 11:32:46 +02:00
Michael Hoang
6de4735c81
build-clan: support constructing darwinConfigurations
2025-04-08 08:53:29 +02:00
hsjobeki
b0d8d1f195
Merge pull request 'chore(lib/select): move into subfolder with a test file' ( #3175 ) from hsjobeki/clan-core:lib-cleanup into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3175
2025-04-04 12:32:32 +00:00
DavHau
73d14e078e
remove default for clan.core.settings.machine.name and make readOnly
...
There is not reason that there needs to be a default. Machines are usually defined as an attrset, so there is no reason to have a default.
Also make this readOnly as we never want to override it.
2025-04-03 17:29:07 +07:00
Johannes Kirschbauer
0ec63de3e6
feat(buildClan): add clan.modules as output
2025-04-02 13:38:38 +02:00
Johannes Kirschbauer
2ab53b05fe
chore(lib/treewide): cleanup directory struture of lib. See lib/readme.md for details
2025-04-02 11:11:21 +02:00
Johannes Kirschbauer
81898996f4
chore(buildClan): make buildClan and flake-parts return identical outputs
2025-04-02 09:56:28 +02:00
Johannes Kirschbauer
9a7ab66b3b
chore(buildClan): set clanInternals.modules to clanInternals.clanModules
2025-04-01 15:36:37 +02:00
Johannes Kirschbauer
f7d15215ea
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
9d386485dd
chore(auto-imports): Remove the auto-import feature. There will be a replacement, to make imports explicit"
2025-03-30 15:29:05 +02:00
Johannes Kirschbauer
ee9ae9c76d
fix(eval/tests): distributed-services: don't abort on warn in tests"
2025-03-30 15:29:05 +02:00
Johannes Kirschbauer
0fb1b5c5ce
feat(inventory/instances): add service result to nixos machines
2025-03-30 15:29:05 +02:00
Johannes Kirschbauer
48d910f11f
fix(auto-imports): disable since this is not needed anymore and causing collision with the new module type
2025-03-29 16:24:48 +01:00
Johannes Kirschbauer
b83d3ecba2
feat(clan/services): init adapter function to convert inventory instances into clan.service module configurations
2025-03-29 13:25:19 +01:00
Johannes Kirschbauer
f37f15c482
feat(clan/services): init new clanInternals attribute 'distributedServices'
2025-03-29 13:25:19 +01:00