Commit Graph

544 Commits

Author SHA1 Message Date
Jörg Thalheim
bd42d67b0c override-inputs: filter out self 2025-07-07 21:25:33 +02:00
Jörg Thalheim
c64dbceceb checks/inventory: optimize eval tests to use filtered sources
Replace full flake source (self) with minimal filtered filesets to prevent
unnecessary rebuilds when unrelated files change. All three inventory eval
tests now use the same unified fileset containing only necessary files.

This follows the same optimization pattern applied to other eval tests,
significantly reducing rebuild frequency during development.
2025-07-07 20:41:20 +02:00
Jörg Thalheim
00914311a4 don't rebuild eval tests on each ci run 2025-07-07 20:05:45 +02:00
Jörg Thalheim
4f13049ee2 put flake input overrides into a helper function 2025-07-07 15:59:09 +00:00
Johannes Kirschbauer
db6220b57b Templates/list: display templates via exposed nix value 2025-07-06 14:37:03 +02:00
Jörg Thalheim
d5aa917ee7 migrate all projects to python 3.13 linting 2025-07-04 18:39:01 +02:00
Johannes Kirschbauer
f8d36634ee inventory: fix missing default for instances.*.module 2025-07-03 12:06:29 +02:00
hsjobeki
672db4a33f Merge pull request 'clanServices: add flake level exports' (#4172) from flake-exports into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4172
2025-07-02 08:42:07 +00:00
Johannes Kirschbauer
82c80a9a53 clan/exportsModule: add missing default 2025-07-02 10:32:56 +02:00
Johannes Kirschbauer
16116505ab flake-exports: add options documentation 2025-07-02 10:22:09 +02:00
Johannes Kirschbauer
454936336f clanServices: add test to ensure nixosModule is imported 2025-07-01 17:35:04 +02:00
Johannes Kirschbauer
38bb2dfb56 clanServices: remove recursive services
Initially added in #3972 we've decided to remove them, because they are to complex to use correctly
2025-07-01 17:03:58 +02:00
Johannes Kirschbauer
d10fe7a8ee clanServices: add flake level exports 2025-07-01 16:54:19 +02:00
hsjobeki
29a2103aab Merge pull request 'clanServices: clean up, add tests' (#4157) from default-modules into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4157
2025-07-01 12:09:28 +00:00
hsjobeki
d858206fd2 Merge pull request 'Lib/flakes: remove self references' (#4165) from fix-lib into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4165
2025-07-01 12:03:52 +00:00
Johannes Kirschbauer
c1bbd970d4 lib.clan: properly merge self attrs 2025-07-01 14:02:02 +02:00
Johannes Kirschbauer
5c7256e063 Lib/flakes: remove self references 2025-07-01 13:57:49 +02:00
Johannes Kirschbauer
93fc2e2238 modules/clan: inject .clan into self.inputs if self is an attribute set 2025-07-01 13:19:37 +02:00
Johannes Kirschbauer
a131c3cbbb checks: mock self.inputs.self by default 2025-07-01 13:19:37 +02:00
Johannes Kirschbauer
15f3cd5547 clanServices: add tests for resolve modules 2025-07-01 13:19:37 +02:00
Johannes Kirschbauer
15c5d539fc clanServices: remove unnecessary localModules 2025-07-01 13:19:37 +02:00
Johannes Kirschbauer
cf6fc744ab clanServices: remove unneeded self reference in lib 2025-07-01 13:19:37 +02:00
Mic92
40d776b953 Merge pull request 'vars-check: replace slow python implementation with pure nix' (#4144) from machine-class into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4144
2025-07-01 10:53:27 +00:00
Jörg Thalheim
0a4bdf2e83 vars-check: replace slow python implementation with pure nix 2025-07-01 12:46:50 +02:00
Johannes Kirschbauer
ae274d6b82 buildClan: replace all usages by lib.clan 2025-07-01 11:56:31 +02:00
Johannes Kirschbauer
2ebeb2e205 clanLib: remove select 2025-06-30 16:14:01 +02:00
DavHau
ee5fa8fe74 checks: rename attributes for better discoverability
- all eval checks prefixed with `eval-`
- all service checks prefixed with `service-`
2025-06-30 19:04:21 +07:00
DavHau
8de7a9f040 services: improve error when module not found 2025-06-30 11:44:30 +00:00
DavHau
e0b2d15361 tests: explicitly specify services to be sourced from self
See previous commit
2025-06-30 10:13:46 +00:00
DavHau
50cce90527 clan services: use service modules from clan-core by default
Users will use clan-core services first before making their own. Therefore this is a better default. Also it allow us to simplify rendering of our docs
2025-06-30 10:13:46 +00:00
Jörg Thalheim
f1fd710dd1 add regression test for macOS evaluation 2025-06-29 23:58:19 +02:00
Jörg Thalheim
622597e70f overridePkgs: drop unneeded parantheses 2025-06-29 23:58:19 +02:00
Jörg Thalheim
43b205624d no longer fallback to "nixos" machineClass
we should always have a value defined.
2025-06-29 23:58:19 +02:00
Jörg Thalheim
43df2c9a14 fix unlocked flake.lock in tests 2025-06-28 08:50:41 +02:00
Jörg Thalheim
e152740017 container-test-driver: implement wait_for_open_port 2025-06-27 18:35:55 +02:00
kenji
89e8673e82 Merge pull request 'lib/test/sops: Fix secret deployment for test machines' (#4120) from kenji/ke-fix-sops-test-integration into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4120
2025-06-27 10:45:41 +00:00
a-kenji
0a56f60005 lib/test/sops: Fix secret deployment for test machines
Fix secret deployment for test machines in our NixOS vm and container
tests.

We filter now if we really need to deploy a certain set of files as a
deployment script, which alleviates us running into these edgecases:
```
error: The option `nodes.server.system.activationScripts.setupSecrets.text'
was accessed but has no value defined. Try setting the option.
```
2025-06-27 12:19:46 +02:00
Johannes Kirschbauer
d011b1ab02 docs: rename all references from 'buildClan' to 'lib.clan' 2025-06-27 09:54:23 +02:00
Johannes Kirschbauer
b34e5b30e5 modules: add explizit class to clan module 2025-06-27 09:53:40 +02:00
Johannes Kirschbauer
79ec0f07eb modules: fix consistent nixpkgs and nix-darwin injection 2025-06-27 09:21:19 +02:00
Johannes Kirschbauer
7833a56723 modules.nixosVmTest: rename to nixosTest to match the target module _class 2025-06-26 17:37:42 +02:00
Johannes Kirschbauer
50f6b4a095 modules.clan.default: move specialArgs into common place 2025-06-26 17:37:42 +02:00
Johannes Kirschbauer
e195a77476 buildClan: deprecate in favor of 'clan'
clan.lib.clan { <your definition> } returns an eval result
In contrast to buildClan which returns the .config
This allows for better introspection
2025-06-26 17:08:47 +02:00
Johannes Kirschbauer
0271af0dcb modules: move clan module to flake.modules.clan.default 2025-06-26 17:08:47 +02:00
Johannes Kirschbauer
7d755d04b5 chore: clean up logic around clanInternals 2025-06-26 16:12:35 +02:00
Johannes Kirschbauer
a95d39923e chore: buildClan warn access without .config prefix
Makes behavior consistent with nixosSystem, nixpkgs.
Alows access to options and other eval modules results
Needed for error tracking and better devx
2025-06-26 15:21:49 +02:00
Johannes Kirschbauer
acaf44e2c5 chore: remove spurious class 2025-06-26 15:20:18 +02:00
Johannes Kirschbauer
e77769bd20 refactor: clanLib buildClan 2025-06-26 15:20:05 +02:00
Johannes Kirschbauer
11a94893fb refactor: unify evalClanService with evalService 2025-06-26 14:50:35 +02:00
Johannes Kirschbauer
1568950410 refactor: simplify buildClan remove any filtering 2025-06-26 13:56:14 +02:00