Commit Graph

70 Commits

Author SHA1 Message Date
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
Jörg Thalheim
4beb097a95 don't add nixpkgs to nix registry to not conflict with nixpkgs
NixOS is already doing this for us.
2025-03-22 14:45:53 +01:00
Johannes Kirschbauer
a2b76eb5a2 Inventory: rename internal inventory toplevel attribute to 'inventoryClass' 2025-03-07 12:30:29 +00:00
Johannes Kirschbauer
6755aa2c70 inventory: migrate tests 2025-02-04 13:20:15 +07:00
Johannes Kirschbauer
316e33f54a Inventory: refactor build-inventory in more independent parts 2025-02-04 13:20:15 +07:00
Jörg Thalheim
6f1ab30881 fix infinite recursion 2025-02-03 12:00:47 +01:00
lassulus
fe2cfd3b37 clan-cli: add a Flake class with caching 2025-02-02 11:52:36 +00:00
Jörg Thalheim
8634087309 Do not deprecate directory argument 2025-02-02 10:30:26 +00:00
Qubasa
c212538ac7 clan: Remove unecessary templates and modules interface 2025-01-29 19:24:15 +07:00
Qubasa
6e47f1ee96 Add importable clan.modules and clan.template interfaces without implementation 2025-01-27 17:35:42 +07:00
Qubasa
e36654daa1 clan: Add autoloaded clanModules from flake inputs. Rename 'directory' to 'self' in buildClan 2025-01-24 12:32:04 +07:00
Qubasa
8d0a9762a2 Reapply "buildClan: Add automatic inventory import directory"
This reverts commit e5bfa926e2.

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.
2025-01-18 10:01:19 +07:00
Jörg Thalheim
e5bfa926e2 Revert "buildClan: Add automatic inventory import directory"
This reverts commit 850eabb98c.

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.
2025-01-17 15:43:44 +01:00
Qubasa
850eabb98c buildClan: Add automatic inventory import directory 2025-01-17 20:58:48 +07:00
Johannes Kirschbauer
28a608cd2a Chore: move 'icon','name' into 'clan.core.settings' submodule 2024-12-31 15:17:52 +01:00
Johannes Kirschbauer
2c41e9f0c6 Chore:_migrate 'machineName' to 'settings.machine.name' 2024-12-31 14:55:50 +01:00
Johannes Kirschbauer
318a4f2d86 Chore: init settings submdule, move clanDir into settings submodule 2024-12-31 14:18:09 +01:00
DavHau
5d47622a78 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
6096e619ca inventory/valuePrios: filter out unsupported freeformType 2024-12-06 21:00:59 +01:00
Johannes Kirschbauer
40704d7626 clanInternals.inventory: expose used priorities 2024-12-04 17:41:41 +01:00
Jörg Thalheim
2e07bfa834 fix deploying from darwin to linux 2024-12-04 14:54:44 +01:00
Johannes Kirschbauer
4ea35d5dc9 Clan-core: automatically load disko.nix 2024-11-29 21:15:15 +01:00
Johannes Kirschbauer
de4c6caf30 Ext/modules: expose module schemas 2024-11-21 17:02:34 +01:00
Johannes Kirschbauer
25fb899f64 Inventory: init external modules support 2024-11-21 15:38:17 +00:00
DavHau
0aa63e2e35 tests: minify test machines to decrease runtime 2024-11-13 20:40:01 +07:00
Qubasa
20f4ca2f63 clan: Re-add pkgsForSystem to configsPerSystem too 2024-11-11 23:20:27 +07:00
Qubasa
49296133af Revert "clan: Remove pkgsForSystem"
This reverts commit 724913be90.
2024-11-11 21:50:25 +07:00
Qubasa
fd9759d67a module.nix: add better explanation 2024-11-11 14:08:12 +00:00
Qubasa
724913be90 clan: Remove pkgsForSystem 2024-11-11 14:08:12 +00:00
Johannes Kirschbauer
a1acac4b7d Inventory: init inventory.tags for globally defined static and dynamic tags 2024-11-08 12:48:03 +01:00
Jörg Thalheim
ff4ae1eb50 remove machine settings.json 2024-10-09 12:08:23 +02:00