Commit Graph

42 Commits

Author SHA1 Message Date
Johannes Kirschbauer
8789ebeb59 modules/clan: consistent logic for auto injecting nixpkgs, nix-darwin
We want to make them options this is a temporary fix
2025-06-27 10:23:53 +02:00
Johannes Kirschbauer
7372063579 Fix(clan-module): pass clan-core not a module 2025-06-27 10:13:58 +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
50f6b4a095 modules.clan.default: move specialArgs into common place 2025-06-26 17:37:42 +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
e77769bd20 refactor: clanLib buildClan 2025-06-26 15:20:05 +02:00
Johannes Kirschbauer
9196de993d feat(darwinModules): add module location analog to flake-parts 2025-06-26 11:55:55 +02:00
Johannes Kirschbauer
fcd2124936 refactor: clan expose the clan module as is 2025-06-26 11:47:53 +02:00
Johannes Kirschbauer
247eb46b5e Refactor(build-clan): rename to lib/modules
This is a preparation for moving everything into clan, to make it all one module evaluation
2025-06-23 16:06:49 +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
Jörg Thalheim
67def050fd use a clan-core snapshots for ci tests
We currently have to re-run our integration tests a lot because they are
depending on the whole repository. This pull request changes locks the
clan-core used for vm tests. This has the caveat that we might not run
the latest NixOS machine of our profiles. On the upside we can test
behaviour against an older clan-core version and capture breakages and
make it backwards compatible. If we actually want to test the latest
version, the PR that changes the exposed flake api, could also bump the
clan-core snapshot.
2025-05-12 13:21:25 +02:00
Michael Hoang
1079fb7812 flake-parts: remove unnecessary mkSubmoduleOptions
This is no longer necessary as of https://github.com/NixOS/nixpkgs/pull/156533.
2025-04-08 19:03:29 +02:00
Michael Hoang
88669ec19c flake-parts: ensure flake.darwinConfigurations is mergeable
We didn't run into issues previously for `nixosConfigurations` because
there is already a [flake-parts module] that creates the option inside
`flake`.

[flake-parts module]: https://github.com/hercules-ci/flake-parts/blob/main/modules/nixosConfigurations.nix
2025-04-08 19:03:29 +02:00
Michael Hoang
6de4735c81 build-clan: support constructing darwinConfigurations 2025-04-08 08:53:29 +02:00
Johannes Kirschbauer
2715c398cc fix(inventory/interface): use explizit file dependency, until dependency injection works properly 2025-04-02 11:12:16 +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
11701d5607 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
lassulus
3992d0ed0d add demo_iso code for iso-morphing 2025-02-22 03:39:42 +00:00
Michael Hoang
61c1943ccc templates: allow specifying from flake-parts module 2025-02-16 21:10:22 +07:00
Johannes Kirschbauer
821a781e55 buildClan: add empty default 2024-11-08 10:43:05 +01:00
a-kenji
16e6b690ad 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
Johannes Kirschbauer
d51508656f Add flake-parts module 2024-08-03 12:05:09 +02:00
Johannes Kirschbauer
ac95878ead Inventory: init: deployment info for machines 2024-07-17 10:07:57 +02:00
Johannes Kirschbauer
a2c3c09564 Inventory: migrate failure test message 2024-07-16 10:33:24 +02:00
Jörg Thalheim
5c0b482431 wip: debug 2024-07-15 20:41:27 +02:00
Jörg Thalheim
fabea318d9 flake-parts: expose inventory 2024-07-15 17:17:14 +02:00
Johannes Kirschbauer
9b0e2a87e8 ClanModules: Add docs and api to retrieve metadata 2024-06-25 21:17:01 +02:00
Johannes Kirschbauer
7f674e6f63 Remove useless settings.json 2024-06-25 12:23:29 +00:00
Johannes Kirschbauer
2f8b782a1f Inventory: init module merge & validation logic for inventory 2024-06-25 12:23:29 +00:00
Johannes Kirschbauer
83fe58e003 clan-core: add clan meta for ui usage 2024-05-31 16:26:46 +00:00
Johannes Kirschbauer
581b48b518 docs: improve flake-parts configuration 2024-04-16 12:02:44 +02:00
Jörg Thalheim
a4b15d2ca2 flake-parts: fix merging of all-machines-json 2024-04-15 22:14:54 +02:00
Jörg Thalheim
1fd28f2f4c flake-parts: fixup type for specialArgs 2024-04-05 18:48:37 +02:00
Jörg Thalheim
28e8af60cf flake-parts: fix clan-core reference 2024-04-04 13:38:15 +02:00
Jörg Thalheim
3212410704 add flake-parts module for clan 2024-04-03 16:45:06 +02:00
DavHau
9b6fafcb2d clan config: re-enable clan config 2023-09-19 15:12:29 +02:00
DavHau
4afd9910e9 Revert "rename clanCore to clan.core"
This reverts commit fef796fa6e.
2023-08-30 15:24:33 +02:00
Jörg Thalheim
fef796fa6e rename clanCore to clan.core 2023-08-30 12:46:49 +00:00
DavHau
999fbe0d89 clan-config: add readme
Also add capability of reading an option value
2023-08-23 01:01:07 +02:00
DavHau
48686591d8 clan-config: improve and add flake-parts module for clan-config 2023-08-22 21:17:47 +00:00