Commit Graph

338 Commits

Author SHA1 Message Date
Johannes Kirschbauer
059cc1e2ea chore(lib/buildClan): remove dependencies {nixpkgs,nix-darwin} from the clanLib file 2025-04-08 22:13:46 +02:00
Johannes Kirschbauer
7c955f2820 chore(lib/getModuleClass): remove unused library function 2025-04-08 22:09:10 +02: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
hsjobeki
0e26bfc228 Merge pull request 'chore(inventory/services): dont check _class in our logics. Let the error eccour in the final evaluation.' (#3236) from hsjobeki/clan-core:role-settings into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3236
2025-04-08 19:49:46 +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
Sam Lehman
4fe822b340 devshells: name shells for clarity 2025-04-08 19:31:30 +00:00
Johannes Kirschbauer
8c970dc04a chore(inventory/instances): don't eagerly test the service modules _class 2025-04-08 20:30:35 +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
Johannes Kirschbauer
be8b86153c fix(getModulesSchema): forward argument to evalClanModules 2025-04-08 19:53:20 +02:00
Johannes Kirschbauer
29fbf361a7 chore(lib/modulesDocs): move dependency on clan-core and pkgs into function args
This is a good idea, to make lib agnostic from clan-core
The next step could be to rename the clan-core argument name
Or to explizitly pass the actual dependencies, instead of everything in
clan-core
2025-04-08 15:30:49 +02:00
hsjobeki
6df1b4a085 Merge pull request 'feat(inventory/instances): add extendSettings as argument to perInstance, perMachine' (#3233) from hsjobeki/clan-core:role-settings into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3233
2025-04-08 12:46:44 +00:00
Johannes Kirschbauer
375b18fd32 feat(inventory/instances): dont set module location to allow underlying error location to bubble up 2025-04-08 14:36:29 +02:00
Mic92
413d932238 Merge pull request 'directory-context' (#3234) from directory-context into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3234
2025-04-08 12:09:36 +00:00
Jörg Thalheim
681d28430b inventory: don't loose string context of directory 2025-04-08 13:50:27 +02:00
Johannes Kirschbauer
5db084e011 feat(inventory/instances): add extendSettings as argument to perInstance, perMachine 2025-04-08 13:15:06 +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
ce85aebc17 tests: add --show-trace to nix-unit tests 2025-04-08 08:53:29 +02:00
Michael Hoang
b5a57a72a0 build-clan: support constructing darwinConfigurations 2025-04-08 08:53:29 +02:00
Michael Hoang
c2eaf74df5 lib/jsonschema: fix enum support 2025-04-08 08:53:27 +02:00
hsjobeki
d15ac22d41 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
Johannes Kirschbauer
bc2e353dff feat(lib/inventory): fix arguments discrepancy on perInstance and perMachine 2025-04-04 14:22:36 +02:00
Johannes Kirschbauer
3358eb1bfa chore(lib/select): init simple test 2025-04-04 14:06:05 +02:00
DavHau
e435bc2f72 workaround bug in docs rendering if machine.name is not set 2025-04-03 17:29:07 +07:00
DavHau
e540b82dc6 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
11f213f8e2 feat(inventory/instances): prevent modules without explizit class from beeing used 2025-04-02 14:57:21 +02:00
Johannes Kirschbauer
542a6a3fd1 feat(buildClan): add clan.modules as output 2025-04-02 13:38:38 +02:00
Johannes Kirschbauer
8a1584b145 chore(lib/introspection): add comment about upstream PRs, that allows removing features 2025-04-02 12:38:28 +02:00
Johannes Kirschbauer
1aaa328e1b chore(lib/select): move into subfolder with a test file 2025-04-02 12:37:49 +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
ad43cb63ca chore(lib/readme): use real-world example for directory structure vision 2025-04-02 09:56:30 +02:00
Johannes Kirschbauer
d69a074366 chore(buildClan): make buildClan and flake-parts return identical outputs 2025-04-02 09:56:28 +02:00
Johannes Kirschbauer
be62c8844e fix(computed-tags): typo 2025-04-02 09:49:54 +02:00
Johannes Kirschbauer
05b6180675 chore(buildClan): remove dependency on clan-core in the lib function 2025-04-02 09:49:54 +02:00
Johannes Kirschbauer
3c2708b263 feat(lib/buildClan): turn lib/build-clan into a 'buildClanModule' with sub-features such as 'buildClan' and 'flakePartsModule' 2025-04-01 15:39:12 +02:00
Johannes Kirschbauer
6bc98c14e5 chore(buildClan): set clanInternals.modules to clanInternals.clanModules 2025-04-01 15:36:37 +02:00
Johannes Kirschbauer
9ef42996e4 chore(buildClan): rename eval.nix to function-adapter.nix to make its shallows purpose more clear 2025-04-01 14:33:55 +02:00
Johannes Kirschbauer
b08c67cc7b test(inventory/instnces): add tests for 'perInstance' arguments 2025-04-01 12:50:04 +02:00
Johannes Kirschbauer
663739a629 feat(inventory): remove tag settings for now 2025-04-01 11:04:51 +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
ec086c3323 fix(lib/evalClan): evalClan is an explizit lib attribute 2025-03-30 17:07:11 +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
8a67602469 feat(lib/modules): remove dependency on self 2025-03-30 16:12:01 +02:00
Johannes Kirschbauer
0083ea86df feat(lib): init callLib; helper to bootstrap clanLib 2025-03-30 16:11:04 +02:00
Johannes Kirschbauer
77b6afd034 chore(lib): prepare for refactoring into clanLib 2025-03-30 15:56:54 +02:00
Johannes Kirschbauer
d9f3169ac3 docs(lib): init readme with folder and testing conventions 2025-03-30 15:29:05 +02:00
Johannes Kirschbauer
a867034aae 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
eac13871c2 fix(eval/tests): distributed-services: don't abort on warn in tests" 2025-03-30 15:29:05 +02:00
Johannes Kirschbauer
a3b636aab3 fix(tests): include 'lib' always as a whole 2025-03-30 15:29:05 +02:00