Compare commits

..

1543 Commits

Author SHA1 Message Date
Brian McGee
60279fffa9 wip(storybook): run storybook in nix derivation 2025-10-13 11:06:28 +01:00
Brian McGee
5886cc3330 wip(storybook): run storybook in nix derivation 2025-10-13 11:06:27 +01:00
hsjobeki
436da16bf9 Merge pull request 'facts: add bigger migration warnings' (#5484) from fix-c into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5484
2025-10-13 08:11:38 +00:00
Johannes Kirschbauer
1c3282bb63 vars: simplify collectFiles 2025-10-13 10:05:53 +02:00
Johannes Kirschbauer
3c4b3e180e facts: add bigger migration warnings 2025-10-13 10:05:53 +02:00
hsjobeki
3953715b48 Merge pull request 'clan-cli: remove unused test fixture' (#5482) from fix-c into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5482
2025-10-12 16:07:44 +00:00
Johannes Kirschbauer
7b95fa039f clan-cli: remove unused test fixture 2025-10-12 18:00:52 +02:00
hsjobeki
38712d6fe0 Merge pull request 'clan-core/nixos: remove autoloading magic in favour of simple code' (#5476) from fix-a into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5476
2025-10-12 14:39:17 +00:00
Johannes Kirschbauer
1d38ffa9c2 inventory: unit test autoloading with a virtual fs 2025-10-12 16:32:55 +02:00
clan-bot
665f036dec Merge pull request 'Update clan-core-for-checks in devFlake' (#5478) from update-devFlake-clan-core-for-checks into main 2025-10-12 00:12:04 +00:00
clan-bot
b74b6ff449 Update clan-core-for-checks in devFlake 2025-10-12 00:01:53 +00:00
clan-bot
9c8797e770 Merge pull request 'Update clan-core-for-checks in devFlake' (#5477) from update-devFlake-clan-core-for-checks into main 2025-10-11 20:12:29 +00:00
clan-bot
2be6cedec4 Update clan-core-for-checks in devFlake 2025-10-11 20:01:49 +00:00
Johannes Kirschbauer
7f49449f94 clan-core/nixos: remove autoloading magic in favour of simple code 2025-10-11 18:02:32 +02:00
hsjobeki
1f7bfa4e34 Merge pull request 'inventory: wrap autoloaded machines with correct file' (#5474) from fix-a into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5474
2025-10-11 16:00:37 +00:00
clan-bot
67fab4b11d Merge pull request 'Update clan-core-for-checks in devFlake' (#5475) from update-devFlake-clan-core-for-checks into main 2025-10-11 15:11:33 +00:00
clan-bot
18e3c72ef0 Update clan-core-for-checks in devFlake 2025-10-11 15:01:51 +00:00
Johannes Kirschbauer
84d4660a8d inventory: wrap autoloaded machines with correct file 2025-10-11 15:57:42 +02:00
clan-bot
13c3e1411a Merge pull request 'Update nixpkgs-dev in devFlake' (#5472) from update-devFlake-nixpkgs-dev into main 2025-10-11 10:14:29 +00:00
clan-bot
3c3a505aca Merge pull request 'Update clan-core-for-checks in devFlake' (#5471) from update-devFlake-clan-core-for-checks into main 2025-10-11 10:13:33 +00:00
clan-bot
f33c8e98fe Update nixpkgs-dev in devFlake 2025-10-11 10:02:05 +00:00
clan-bot
869a04e5af Update clan-core-for-checks in devFlake 2025-10-11 10:01:50 +00:00
clan-bot
d09fdc3528 Merge pull request 'Update clan-core-for-checks in devFlake' (#5470) from update-devFlake-clan-core-for-checks into main 2025-10-11 05:09:16 +00:00
clan-bot
652677d06f Update clan-core-for-checks in devFlake 2025-10-11 05:01:53 +00:00
clan-bot
ec163657cd Merge pull request 'Update clan-core-for-checks in devFlake' (#5469) from update-devFlake-clan-core-for-checks into main 2025-10-11 00:09:33 +00:00
clan-bot
7d3aa5936d Update clan-core-for-checks in devFlake 2025-10-11 00:01:51 +00:00
clan-bot
f8f8efbb88 Merge pull request 'Update treefmt-nix' (#5466) from update-treefmt-nix into main 2025-10-10 20:12:14 +00:00
clan-bot
8887e209d6 Merge pull request 'Update clan-core-for-checks in devFlake' (#5467) from update-devFlake-clan-core-for-checks into main 2025-10-10 20:10:50 +00:00
clan-bot
a72f74a36e Merge pull request 'Update treefmt-nix in devFlake' (#5468) from update-devFlake-treefmt-nix into main 2025-10-10 20:10:42 +00:00
clan-bot
0e0f8e73ec Update treefmt-nix in devFlake 2025-10-10 20:02:13 +00:00
clan-bot
f15a113f52 Update clan-core-for-checks in devFlake 2025-10-10 20:01:50 +00:00
clan-bot
1fbb4f5014 Update treefmt-nix 2025-10-10 20:01:49 +00:00
Michael Hoang
980a3c90b5 Merge pull request 'cli: ensure init-hardware-config passes Nix options to nixos-anywhere' (#5465) from push-mwotvwkqsluy into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5465
2025-10-10 15:40:34 +00:00
clan-bot
c01b14aef5 Merge pull request 'Update clan-core-for-checks in devFlake' (#5464) from update-devFlake-clan-core-for-checks into main 2025-10-10 15:10:05 +00:00
clan-bot
0a3e564ec0 Update clan-core-for-checks in devFlake 2025-10-10 15:01:52 +00:00
Michael Hoang
bc09d5c886 cli: ensure init-hardware-config passes Nix options to nixos-anywhere 2025-10-10 17:00:10 +02:00
Michael Hoang
f6b8d660d8 Merge pull request 'checks: fix SSH debugging over vsock not working' (#5463) from push-yplypuoxymkt into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5463
2025-10-10 14:40:10 +00:00
Michael Hoang
6014ddcd9a checks: fix SSH debugging over vsock not working 2025-10-10 16:32:54 +02:00
hsjobeki
551f5144c7 Merge pull request 'docs: Remove surprising statement on the front of documentation' (#5460) from kenji/ke-docs-fix into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5460
2025-10-10 12:24:49 +00:00
a-kenji
9a664c323c docs: Remove surprising statement on the front of documentation 2025-10-10 13:35:29 +02:00
clan-bot
7572dc8c2b Merge pull request 'Update clan-core-for-checks in devFlake' (#5454) from update-devFlake-clan-core-for-checks into main 2025-10-10 10:09:30 +00:00
clan-bot
e22f0d9e36 Merge pull request 'Update nixpkgs-dev in devFlake' (#5455) from update-devFlake-nixpkgs-dev into main 2025-10-10 10:07:47 +00:00
clan-bot
f93ae13448 Update nixpkgs-dev in devFlake 2025-10-10 10:02:12 +00:00
clan-bot
749bac63f4 Update clan-core-for-checks in devFlake 2025-10-10 10:01:53 +00:00
clan-bot
2bac2ec7ee Merge pull request 'Update clan-core-for-checks in devFlake' (#5452) from update-devFlake-clan-core-for-checks into main 2025-10-10 05:09:28 +00:00
clan-bot
f224d4b20c Update clan-core-for-checks in devFlake 2025-10-10 05:01:54 +00:00
clan-bot
47aa0a3b8e Merge pull request 'Update clan-core-for-checks in devFlake' (#5451) from update-devFlake-clan-core-for-checks into main 2025-10-10 00:11:09 +00:00
clan-bot
dd1cab5daa Update clan-core-for-checks in devFlake 2025-10-10 00:01:51 +00:00
clan-bot
32edae4ebd Merge pull request 'Update clan-core-for-checks in devFlake' (#5450) from update-devFlake-clan-core-for-checks into main 2025-10-09 20:09:43 +00:00
clan-bot
d829aa5838 Update clan-core-for-checks in devFlake 2025-10-09 20:01:50 +00:00
clan-bot
fd6619668b Merge pull request 'Update clan-core-for-checks in devFlake' (#5449) from update-devFlake-clan-core-for-checks into main 2025-10-09 15:09:37 +00:00
clan-bot
50a26ece32 Update clan-core-for-checks in devFlake 2025-10-09 15:01:53 +00:00
brianmcgee
8f224b00a6 Merge pull request 'various-ui-fixes' (#5448) from various-ui-fixes into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5448
2025-10-09 14:22:06 +00:00
Brian McGee
27d43ee21d fix(storybook): disable Sidebar story until we have a better mock data approach 2025-10-09 14:57:22 +01:00
Brian McGee
9626e22db7 fix(storybook): adjust flash installer on mount
It needs to handle possible missing state in the store on mount.
2025-10-09 14:57:22 +01:00
Brian McGee
1df329fe0d fix(storybook): disable service workflow stories
Temporary until we can decide how best to mock state.
2025-10-09 14:57:21 +01:00
Brian McGee
9da38abc77 fix(storybook): clan settings mock data shape changed 2025-10-09 14:57:20 +01:00
Brian McGee
2814c46e68 fix(storybook): button stories
- role="button" was removed at some point during refactoring which broke how the story was finding buttons
- button no longer has automatic loading state, instead it is now controlled.
2025-10-09 14:56:39 +01:00
Brian McGee
feef0a513e fix(storybook): remove cubes storybook
It wasn't adding much value and requires a mock Clan context which is a lot of effort at the min.
2025-10-09 14:56:38 +01:00
Brian McGee
9cc85b36c6 feat(ui): switch to webkit for storybook tests 2025-10-09 14:56:38 +01:00
hsjobeki
1465b18820 Merge pull request 'app: fix ClanSettings story' (#5447) from ui-cleanup into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5447
2025-10-09 13:27:56 +00:00
Johannes Kirschbauer
6fa0062573 app: fix ClanSettings story 2025-10-09 15:24:30 +02:00
clan-bot
6cd68c23f5 Merge pull request 'Update clan-core-for-checks in devFlake' (#5444) from update-devFlake-clan-core-for-checks into main 2025-10-09 10:09:50 +00:00
clan-bot
fdddc60676 Merge pull request 'Update nixpkgs-dev in devFlake' (#5445) from update-devFlake-nixpkgs-dev into main 2025-10-09 10:08:18 +00:00
clan-bot
684aa27068 Update nixpkgs-dev in devFlake 2025-10-09 10:02:12 +00:00
clan-bot
35d8deb393 Update clan-core-for-checks in devFlake 2025-10-09 10:01:53 +00:00
DavHau
e2f20b5ffc Merge pull request 'vars: refactor - make shared generators carry machines list' (#5443) from dave into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5443
2025-10-09 09:03:09 +00:00
DavHau
fd5d7934a0 vars: refactor - make shared generators carry machines list
This should make it simpler to improve the implementation of granting a new machine access to a shared secret.
The current approach using the health_check is  pretty hacky
2025-10-09 15:41:04 +07:00
Kenji Berthold
f194c31e0e Merge pull request 'Fix typo in "Authoring a 'clan.service' module"' (#5439) from nickdichev/clan-core:nickdichev-patch-1 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5439
2025-10-09 08:32:40 +00:00
DavHau
061b598adf Merge pull request 'vars: cleanup + fix wording' (#5442) from dave into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5442
2025-10-09 05:44:14 +00:00
DavHau
744f35e0cc vars: cleanup + fix wording 2025-10-09 07:38:00 +02:00
clan-bot
4a6d46198c Merge pull request 'Update clan-core-for-checks in devFlake' (#5441) from update-devFlake-clan-core-for-checks into main 2025-10-09 05:11:10 +00:00
clan-bot
82d5ca9a0b Update clan-core-for-checks in devFlake 2025-10-09 05:01:51 +00:00
clan-bot
28d8a91a30 Merge pull request 'Update clan-core-for-checks in devFlake' (#5440) from update-devFlake-clan-core-for-checks into main 2025-10-09 00:09:59 +00:00
clan-bot
18f8d69728 Update clan-core-for-checks in devFlake 2025-10-09 00:01:50 +00:00
nickdichev
1feead4ce4 Fix typo in "Authoring a 'clan.service' module" 2025-10-08 20:16:16 +00:00
clan-bot
7f28110558 Merge pull request 'Update clan-core-for-checks in devFlake' (#5438) from update-devFlake-clan-core-for-checks into main 2025-10-08 20:09:55 +00:00
clan-bot
38787da891 Update clan-core-for-checks in devFlake 2025-10-08 20:01:48 +00:00
clan-bot
2b587da9fe Merge pull request 'Update clan-core-for-checks in devFlake' (#5437) from update-devFlake-clan-core-for-checks into main 2025-10-08 15:10:06 +00:00
clan-bot
acd2c1654b Update clan-core-for-checks in devFlake 2025-10-08 15:01:52 +00:00
hsjobeki
2ecb1399c3 Merge pull request 'docs: move generated markdown into a package' (#5436) from docs-source into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5436
2025-10-08 14:40:41 +00:00
Johannes Kirschbauer
46ae6b49c1 docs: move generated markdown into a package 2025-10-08 16:37:31 +02:00
hsjobeki
50a8a69719 Merge pull request 'fix: pull request template folder' (#5435) from fix-j into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5435
2025-10-08 14:28:00 +00:00
Johannes Kirschbauer
203761a99c fix: pull request template folder 2025-10-08 16:24:52 +02:00
hsjobeki
990b4e0223 Merge pull request 'docs: move option-search into own package' (#5434) from docs-source into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5434
2025-10-08 14:05:38 +00:00
Johannes Kirschbauer
032f54cbfb docs: fix links 2025-10-08 16:02:31 +02:00
hsjobeki
47146efa0f Merge pull request 'PR: add pull request template' (#5428) from team-workflow into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5428
2025-10-08 13:44:14 +00:00
Johannes Kirschbauer
c031abcd9e docs: move option-search into own package 2025-10-08 15:42:18 +02:00
Kenji Berthold
6b5dca5842 Merge pull request 'docs: Improve list view on testing' (#5433) from kenji/ke-docs-testing-display into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5433
2025-10-08 12:31:43 +00:00
a-kenji
016fe3d114 docs: Improve list view on testing 2025-10-08 14:29:01 +02:00
DavHau
9b60b4a989 Merge pull request 'lib/introspection: Test skipping instrospection of oneOf' (#5432) from ke-oneof-test into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5432
2025-10-08 12:07:58 +00:00
a-kenji
3088ce025b lib/introspection: Test skipping instrospection of oneOf
This builds on top of #5422.
And tests it's behavior.
2025-10-08 13:17:55 +02:00
hsjobeki
4f1fda3de6 Merge pull request 'docs: remove unused asciinema player' (#5431) from cus-docs into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5431
2025-10-08 11:08:09 +00:00
Johannes Kirschbauer
57f14827c2 docs: remove unused asciinema player 2025-10-08 13:01:26 +02:00
Johannes Kirschbauer
0390d5999d PR: add pull request template 2025-10-08 12:44:36 +02:00
clan-bot
58e9a28f14 Merge pull request 'Update clan-core-for-checks in devFlake' (#5429) from update-devFlake-clan-core-for-checks into main 2025-10-08 10:14:43 +00:00
clan-bot
b4ad5ca1bd Merge pull request 'Update nixpkgs-dev in devFlake' (#5430) from update-devFlake-nixpkgs-dev into main 2025-10-08 10:14:17 +00:00
clan-bot
84ecb1aae6 Update nixpkgs-dev in devFlake 2025-10-08 10:02:10 +00:00
clan-bot
2b9971f538 Update clan-core-for-checks in devFlake 2025-10-08 10:01:51 +00:00
pinpox
81e15cab34 Merge pull request 'Fix capitalization issue' (#5427) from doc-fixes-1 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5427
2025-10-08 09:24:34 +00:00
pinpox
215c808071 Fix capitalization issue
fixes #4574
2025-10-08 11:21:06 +02:00
DavHau
4de052e58b Merge pull request 'lib/instrospection: Skip either(oneOf)' (#5422) from ke-introspection-either-or into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5422
2025-10-08 07:42:12 +00:00
Louis Opter
a06a7a7a2c clan-cli/secrets: update some error message in encrypt_secret (#5271)
Found that while reading through some code.

Co-authored-by: Jörg Thalheim <joerg@thalheim.io>
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5271
Co-authored-by: Louis Opter <louis@opter.org>
Co-committed-by: Louis Opter <louis@opter.org>
2025-10-08 07:41:14 +00:00
DavHau
94df3855b5 Merge pull request 'vars: raise error when shared generators differ between machines' (#5425) from dave into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5425
2025-10-08 07:20:03 +00:00
DavHau
a83f3c23f4 vars: raise error when shared generators differ between machines
When generators are shared between machines, their definition has to be the same across all machines. If not, it might lead to unexpected problems, as the architecture assumes that all definitions are the same.

fixes https://git.clan.lol/clan/clan-core/issues/5253
2025-10-08 14:02:39 +07:00
DavHau
da6cd324f0 Merge pull request 'vars/performance: aggregate selects over all machines and generators' (#5402) from dave into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5402
2025-10-08 06:04:50 +00:00
DavHau
c5b96df7b0 vars/performance: aggregate selects over all machines and generators
This improves the performance of deployment, by aggregating uncached select calls for vars generate into two batches.
batch 1: Get all generators of all machines
batch 2: get all final scripts for generators which need to run
2025-10-08 13:00:20 +07:00
clan-bot
c4feeace31 Merge pull request 'Update clan-core-for-checks in devFlake' (#5424) from update-devFlake-clan-core-for-checks into main 2025-10-08 05:06:31 +00:00
clan-bot
6117b664ae Update clan-core-for-checks in devFlake 2025-10-08 05:02:02 +00:00
clan-bot
b8fdb48fd8 Merge pull request 'Update clan-core-for-checks in devFlake' (#5423) from update-devFlake-clan-core-for-checks into main 2025-10-08 00:06:18 +00:00
clan-bot
9165f7ccaf Update clan-core-for-checks in devFlake 2025-10-08 00:01:52 +00:00
a-kenji
8058a7c158 lib/instrospection: Skip either(oneOf)
For either(oneOf) types, we skip introspection as we cannot
determine which branch of the union was taken without more context
This *should* be safe, as it can currently mostly be triggered through
The `extraModules` setting of inventory modules.

Example:

```
importer.roles.default.extraModules = [
    ../../modules/nixos/common.nix
];
```

Error Message:

```
Traceback (most recent call last):
  File "/nix/store/zaz4r4fic03m4whgz46p5jjszzlkq694-clan-cli/lib/python3.13/site-packages/clan_lib/templates/handler.py", line 91, in machine_template
    yield dst_machine_dir
  File "/nix/store/zaz4r4fic03m4whgz46p5jjszzlkq694-clan-cli/lib/python3.13/site-packages/clan_cli/machines/create.py", line 95, in create_machine
    inventory_store.write(inventory, message=f"machine '{machine_name}'")
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/zaz4r4fic03m4whgz46p5jjszzlkq694-clan-cli/lib/python3.13/site-packages/clan_lib/persist/inventory_store.py", line 269, in write
    write_info = self._write_map()
  File "/nix/store/zaz4r4fic03m4whgz46p5jjszzlkq694-clan-cli/lib/python3.13/site-packages/clan_lib/persist/inventory_store.py", line 214, in _write_map
    current_priority = self._get_inventory_current_priority()
  File "/nix/store/zaz4r4fic03m4whgz46p5jjszzlkq694-clan-cli/lib/python3.13/site-packages/clan_lib/persist/inventory_store.py", line 206, in _get_inventory_current_priority
    return self._flake.select("clanInternals.inventoryClass.introspection")
           ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/zaz4r4fic03m4whgz46p5jjszzlkq694-clan-cli/lib/python3.13/site-packages/clan_lib/flake/flake.py", line 1129, in select
    self.get_from_nix([selector])
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/nix/store/zaz4r4fic03m4whgz46p5jjszzlkq694-clan-cli/lib/python3.13/site-packages/clan_lib/flake/flake.py", line 1054, in get_from_nix
    raise ClanSelectError(
    ...<3 lines>...
    ) from e
clan_lib.flake.flake.ClanSelectError: Error on: $ clan select 'clanInternals.inventoryClass.introspection'
  Reason: Yet Unsupported type: either
Removing left-over machine directory: /tmp/hyperconfig/machines/trooo
Error on: $ clan select 'clanInternals.inventoryClass.introspection'
  Reason: Yet Unsupported type: either

```

Closes: #5387
2025-10-07 22:58:51 +02:00
clan-bot
fed61f49f9 Merge pull request 'Update clan-core-for-checks in devFlake' (#5421) from update-devFlake-clan-core-for-checks into main 2025-10-07 20:06:46 +00:00
clan-bot
f1f05c7e6b Update clan-core-for-checks in devFlake 2025-10-07 20:01:53 +00:00
clan-bot
7597d1560f Merge pull request 'Update nixpkgs-dev in devFlake' (#5419) from update-devFlake-nixpkgs-dev into main 2025-10-07 15:06:44 +00:00
clan-bot
f739e1b66d Merge pull request 'Update clan-core-for-checks in devFlake' (#5418) from update-devFlake-clan-core-for-checks into main 2025-10-07 15:06:44 +00:00
clan-bot
5d3609aacd Update nixpkgs-dev in devFlake 2025-10-07 15:02:06 +00:00
clan-bot
7aa51d6bd7 Update clan-core-for-checks in devFlake 2025-10-07 15:01:48 +00:00
pinpox
af91ae8c7f Merge pull request 'Add internal services guide' (#5254) from internal-service-doc into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5254
2025-10-07 14:39:52 +00:00
pinpox
077bf55fd7 Add internal services guide 2025-10-07 16:37:22 +02:00
hsjobeki
1f6dcb910f Merge pull request 'clan: ignore nixpkgs version checks in core' (#5416) from fix-override into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5416
2025-10-07 14:08:30 +00:00
Johannes Kirschbauer
6363d9c99c clan: ignore nixpkgs version checks in core 2025-10-07 16:03:56 +02:00
Kenji Berthold
fd30dbd1be Merge pull request 'docs: Fix typos' (#5415) from kenji/ke-docs-typo into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5415
2025-10-07 12:15:11 +00:00
a-kenji
ba4dc36ddf docs: Fix typos 2025-10-07 14:09:38 +02:00
Mic92
5abac04b15 Merge pull request 'network: fix generator cleanup in nested context manager' (#5412) from no-leaks into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5412
2025-10-07 11:51:38 +00:00
Kenji Berthold
8c84d32b13 Merge pull request 'docs: document vars generation requirement for service tests' (#5409) from kenji/ke-document-update-vars into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5409
2025-10-07 11:48:46 +00:00
a-kenji
c083548795 docs: document vars generation requirement for service tests
Add documentation explaining that services defining vars need to run
update-vars before tests can execute. Clarifies how `clan.directory`
determines where vars are generated and loaded from during testing.

Closes: #5380
2025-10-07 13:45:39 +02:00
Kenji Berthold
11af5c3471 Merge pull request 'docs: docs-integrity enable UTF-8 support' (#5413) from kenji/ke-html-proofer into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5413
2025-10-07 11:23:06 +00:00
a-kenji
dac8a40b9f docs: docs-integrity enable UTF-8 support 2025-10-07 13:13:55 +02:00
Jörg Thalheim
204f9d09e3 network: refactor get_best_remote to class-based context manager
Resolves the "RuntimeError: generator didn't stop after throw()" issue
by replacing the generator-based @contextmanager with an explicit class.

This maintains backward compatibility through a factory function.
2025-10-07 13:05:20 +02:00
Mic92
668067080d Merge pull request 'sops: don't leak secret key in debug logs' (#5411) from no-leaks into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5411
2025-10-07 10:00:47 +00:00
Jörg Thalheim
10ed2cc7f7 sops: don't leak secret key in debug logs 2025-10-07 11:31:12 +02:00
Kenji Berthold
060b22cf21 Merge pull request 'docs: Fix nixpkgs hierarchy' (#5410) from kenji/ke-qa-nixpkgs-input into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5410
2025-10-07 08:50:00 +00:00
a-kenji
965dddfee1 docs: Fix nixpkgs hierarchy 2025-10-07 10:34:22 +02:00
clan-bot
6e5d74ba22 Merge pull request 'Update nixpkgs-dev in devFlake' (#5408) from update-devFlake-nixpkgs-dev into main 2025-10-07 05:06:29 +00:00
clan-bot
4257f47a1a Merge pull request 'Update clan-core-for-checks in devFlake' (#5407) from update-devFlake-clan-core-for-checks into main 2025-10-07 05:06:22 +00:00
clan-bot
72b64a8b70 Update nixpkgs-dev in devFlake 2025-10-07 05:02:09 +00:00
clan-bot
e46e0543cd Update clan-core-for-checks in devFlake 2025-10-07 05:01:51 +00:00
clan-bot
0de79962ea Merge pull request 'Update clan-core-for-checks in devFlake' (#5406) from update-devFlake-clan-core-for-checks into main 2025-10-07 00:06:50 +00:00
clan-bot
6209816115 Update clan-core-for-checks in devFlake 2025-10-07 00:01:50 +00:00
clan-bot
ec21cda0cf Merge pull request 'Update clan-core-for-checks in devFlake' (#5404) from update-devFlake-clan-core-for-checks into main 2025-10-06 20:06:46 +00:00
clan-bot
8a29d102cd Merge pull request 'Update nixpkgs-dev in devFlake' (#5405) from update-devFlake-nixpkgs-dev into main 2025-10-06 20:06:28 +00:00
clan-bot
22787e7c93 Update nixpkgs-dev in devFlake 2025-10-06 20:02:12 +00:00
clan-bot
19fd72e075 Update clan-core-for-checks in devFlake 2025-10-06 20:01:53 +00:00
clan-bot
50be33088c Merge pull request 'Update clan-core-for-checks in devFlake' (#5403) from update-devFlake-clan-core-for-checks into main 2025-10-06 15:06:19 +00:00
clan-bot
6e7a67c830 Update clan-core-for-checks in devFlake 2025-10-06 15:01:51 +00:00
DavHau
1cb7c7d25f Merge pull request 'tests: disable state-version generation in all python tests' (#5399) from dave into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5399
2025-10-06 10:13:02 +00:00
DavHau
43b1744528 tests: disable state-version generation in all python tests
This improves the performance of tests, as there are less vars operations to perform.
2025-10-06 17:08:42 +07:00
clan-bot
27d1dd4400 Merge pull request 'Update clan-core-for-checks in devFlake' (#5400) from update-devFlake-clan-core-for-checks into main 2025-10-06 10:06:25 +00:00
clan-bot
5d27af51d8 Update clan-core-for-checks in devFlake 2025-10-06 10:01:52 +00:00
clan-bot
c737271585 Merge pull request 'Update clan-core-for-checks in devFlake' (#5398) from update-devFlake-clan-core-for-checks into main 2025-10-06 05:07:22 +00:00
clan-bot
f504a63e93 Update clan-core-for-checks in devFlake 2025-10-06 05:01:53 +00:00
clan-bot
ca53d14656 Merge pull request 'Update clan-core-for-checks in devFlake' (#5397) from update-devFlake-clan-core-for-checks into main 2025-10-06 00:09:06 +00:00
clan-bot
09d8a2b3a9 Update clan-core-for-checks in devFlake 2025-10-06 00:01:51 +00:00
Michael Hoang
2a67b09f51 Merge pull request 'test-fixtures: move to devFlake' (#5277) from push-mmqvttmrxtlk into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5277
2025-10-05 21:52:33 +00:00
Michael Hoang
3295e1561d checks: use new clan-core-for-checks to fix tests
I manually updated `flake.lock` and then evaluated the flake input to get the
correct NAR hash and last modified time.
2025-10-05 23:48:08 +02:00
Michael Hoang
9d0cec1422 checks/installation: don't require privateInputs for eval 2025-10-05 23:26:33 +02:00
Michael Hoang
dc66321a72 test-fixtures: move to devFlake 2025-10-05 23:26:24 +02:00
Michael Hoang
01baa46b36 flake: make privateInputs actually the inputs 2025-10-05 22:09:44 +02:00
clan-bot
dd0acfb628 Merge pull request 'Update nixpkgs-dev in devFlake' (#5395) from update-devFlake-nixpkgs-dev into main 2025-10-05 20:08:47 +00:00
clan-bot
ab14538c28 Merge pull request 'Update clan-core-for-checks in devFlake' (#5394) from update-devFlake-clan-core-for-checks into main 2025-10-05 20:06:58 +00:00
clan-bot
331287bfb6 Update nixpkgs-dev in devFlake 2025-10-05 20:02:08 +00:00
clan-bot
02cfe180db Update clan-core-for-checks in devFlake 2025-10-05 20:01:48 +00:00
clan-bot
b681737dce Merge pull request 'Update clan-core-for-checks in devFlake' (#5393) from update-devFlake-clan-core-for-checks into main 2025-10-05 15:07:57 +00:00
clan-bot
99011d2514 Update clan-core-for-checks in devFlake 2025-10-05 15:01:51 +00:00
hsjobeki
8aa4749a3e Merge pull request 'docs: check init htmlproofer' (#5392) from docs-simplify into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5392
2025-10-05 12:16:54 +00:00
Johannes Kirschbauer
359582118c docs: fix broken links 2025-10-05 14:14:12 +02:00
Johannes Kirschbauer
75c8feb42a docs: fix rss link 2025-10-05 14:14:12 +02:00
Johannes Kirschbauer
fcfd56c00c docs: check init htmlproofer
Checks integrity of internal links
post-rendering for problems that might have slipped through
we noticed a set of edge cases where the builtin link checking doesnt work
2025-10-05 14:14:12 +02:00
clan-bot
d598e19da4 Merge pull request 'Update clan-core-for-checks in devFlake' (#5390) from update-devFlake-clan-core-for-checks into main 2025-10-05 10:10:51 +00:00
clan-bot
23a07f15ab Merge pull request 'Update nixpkgs-dev in devFlake' (#5391) from update-devFlake-nixpkgs-dev into main 2025-10-05 10:10:50 +00:00
clan-bot
a3e34a9a1a Update nixpkgs-dev in devFlake 2025-10-05 10:02:09 +00:00
clan-bot
4991965ed9 Update clan-core-for-checks in devFlake 2025-10-05 10:01:51 +00:00
clan-bot
7560a07458 Merge pull request 'Update sops-nix' (#5384) from update-sops-nix into main 2025-10-05 05:09:54 +00:00
clan-bot
ee3b126a04 Merge pull request 'Update nixpkgs-dev in devFlake' (#5386) from update-devFlake-nixpkgs-dev into main 2025-10-05 05:09:12 +00:00
clan-bot
9c4af81b2f Merge pull request 'Update clan-core-for-checks in devFlake' (#5385) from update-devFlake-clan-core-for-checks into main 2025-10-05 05:09:09 +00:00
clan-bot
83878ceeda Update nixpkgs-dev in devFlake 2025-10-05 05:02:24 +00:00
clan-bot
6206b4a636 Update clan-core-for-checks in devFlake 2025-10-05 05:02:06 +00:00
clan-bot
da151a1ff4 Update sops-nix 2025-10-05 05:02:00 +00:00
clan-bot
dd686ed6dd Merge pull request 'Update clan-core-for-checks in devFlake' (#5383) from update-devFlake-clan-core-for-checks into main 2025-10-05 00:08:11 +00:00
clan-bot
93908bfa54 Update clan-core-for-checks in devFlake 2025-10-05 00:01:55 +00:00
clan-bot
e28b49317e Merge pull request 'Update clan-core-for-checks in devFlake' (#5381) from update-devFlake-clan-core-for-checks into main 2025-10-04 20:06:38 +00:00
clan-bot
6e7a96e762 Update clan-core-for-checks in devFlake 2025-10-04 20:01:49 +00:00
clan-bot
a026ead29d Merge pull request 'Update clan-core-for-checks in devFlake' (#5379) from update-devFlake-clan-core-for-checks into main 2025-10-04 15:06:03 +00:00
clan-bot
e1b8086c40 Update clan-core-for-checks in devFlake 2025-10-04 15:01:51 +00:00
clan-bot
9847d4558b Merge pull request 'Update clan-core-for-checks in devFlake' (#5377) from update-devFlake-clan-core-for-checks into main 2025-10-04 10:06:15 +00:00
clan-bot
eef1e4eca9 Merge pull request 'Update nixpkgs-dev in devFlake' (#5378) from update-devFlake-nixpkgs-dev into main 2025-10-04 10:05:59 +00:00
clan-bot
b7dd116136 Update nixpkgs-dev in devFlake 2025-10-04 10:02:09 +00:00
clan-bot
8c6d096fa7 Update clan-core-for-checks in devFlake 2025-10-04 10:01:52 +00:00
clan-bot
81d5132ac6 Merge pull request 'Update clan-core-for-checks in devFlake' (#5376) from update-devFlake-clan-core-for-checks into main 2025-10-04 05:06:05 +00:00
clan-bot
4c51a62b2a Update clan-core-for-checks in devFlake 2025-10-04 05:01:52 +00:00
clan-bot
e587735050 Merge pull request 'Update clan-core-for-checks in devFlake' (#5375) from update-devFlake-clan-core-for-checks into main 2025-10-04 00:06:32 +00:00
clan-bot
808e42f9b5 Update clan-core-for-checks in devFlake 2025-10-04 00:01:53 +00:00
Luis Hebendanz
fd62b4e9b3 Merge pull request 'clan_lib: Add clan_module_to_llm_function for ai integration' (#5361) from ai_support2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5361
2025-10-03 21:20:43 +00:00
clan-bot
dc1dd9aa3f Merge pull request 'Update clan-core-for-checks in devFlake' (#5373) from update-devFlake-clan-core-for-checks into main 2025-10-03 20:06:35 +00:00
clan-bot
67b1f36a38 Merge pull request 'Update nixpkgs-dev in devFlake' (#5374) from update-devFlake-nixpkgs-dev into main 2025-10-03 20:06:25 +00:00
clan-bot
9de5607394 Update nixpkgs-dev in devFlake 2025-10-03 20:02:08 +00:00
clan-bot
6e994d57c6 Update clan-core-for-checks in devFlake 2025-10-03 20:01:49 +00:00
hsjobeki
90c8f674e1 Merge pull request 'docs: move services into its reserved category' (#5372) from docs-simplify into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5372
2025-10-03 19:18:42 +00:00
Johannes Kirschbauer
3068a9e16a docs: move service definition into explizit markdown file 2025-10-03 21:16:32 +02:00
Johannes Kirschbauer
6c972c1e19 docs: move services into its reserved category 2025-10-03 21:02:18 +02:00
hsjobeki
807e3b2369 Merge pull request 'docs: fix contributing.md' (#5371) from docs-simplify into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5371
2025-10-03 18:54:36 +00:00
Johannes Kirschbauer
f9c58b4912 docs: fix contributing.md 2025-10-03 20:51:04 +02:00
hsjobeki
3fc2a55468 Merge pull request 'docs: consistent options reference' (#5370) from docs-simplify into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5370
2025-10-03 17:01:58 +00:00
Johannes Kirschbauer
8d9d4c9089 docs: fix absolute links need to be absolute 2025-10-03 18:59:47 +02:00
Johannes Kirschbauer
76d1d9b167 docs: consistent options reference 2025-10-03 18:17:13 +02:00
hsjobeki
652eb87bcc Merge pull request 'docs: move official services into subfolder' (#5369) from docs-simplify into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5369
2025-10-03 15:59:02 +00:00
Johannes Kirschbauer
028cf2a00c docs: move official services into subfolder 2025-10-03 17:56:47 +02:00
hsjobeki
c04e8b6ead Merge pull request 'docs: use absolute page URI' (#5368) from docs-simplify into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5368
2025-10-03 15:36:00 +00:00
Johannes Kirschbauer
08c2d574ce docs: use absolute page URI
This allows us to migrate to any framework that uses normal uri's
We just need to strip all .md endings in a simple grep command
2025-10-03 17:31:42 +02:00
hsjobeki
cf8720e4dd Merge pull request 'docs: decisions harmonize with file tree' (#5367) from docs-simplify into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5367
2025-10-03 15:08:28 +00:00
clan-bot
2bca2b2b7e Merge pull request 'Update clan-core-for-checks in devFlake' (#5366) from update-devFlake-clan-core-for-checks into main 2025-10-03 15:06:21 +00:00
Johannes Kirschbauer
f9c8ed74e1 docs: decisions harmonize with file tree 2025-10-03 17:06:14 +02:00
clan-bot
1a488dd2ad Update clan-core-for-checks in devFlake 2025-10-03 15:01:51 +00:00
hsjobeki
b58f37011d Merge pull request 'docs: move getting-started out of guides' (#5365) from docs-simplify into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5365
2025-10-03 14:53:59 +00:00
Johannes Kirschbauer
b1f6dd58f3 docs: move getting-started out of guides 2025-10-03 16:50:10 +02:00
hsjobeki
d634f2c9ae Merge pull request 'docs: unify markdown files with documentation titles' (#5364) from docs-simplify into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5364
2025-10-03 14:31:29 +00:00
Johannes Kirschbauer
90b1033870 docs: unify markdown files with documentation titles
This is preparational work to reduce the surface are of the different mappings

We want to reduce the following:

/guides/secrets.md -> Guides/getting started/How to use flakes with sops -> with '# Secrets Management'

- Title
- URI
- Filepath

should follow a stricter pattern to make it easy to maintain
2025-10-03 16:08:20 +02:00
Michael Hoang
d20ed9ec0c Merge pull request 'clanServices/sshd: readd default' (#5363) from push-wxxokvmsuymn into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5363
2025-10-03 13:11:27 +00:00
Michael Hoang
d847ab6fa1 clanServices/sshd: readd default 2025-10-03 15:07:09 +02:00
Michael Hoang
94272f76d4 Merge pull request 'cli: support getting chroot-realpath from nixos-init if necessary' (#5362) from push-wquonsppmwzr into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5362
2025-10-03 11:21:26 +00:00
Michael Hoang
56558023a8 cli: support getting chroot-realpath from nixos-init if necessary 2025-10-03 13:02:40 +02:00
Qubasa
b56230e3a7 clan_lib: Add clan_module_to_llm_function for ai integration 2025-10-03 12:32:33 +02:00
clan-bot
5e98b1335a Merge pull request 'Update clan-core-for-checks in devFlake' (#5360) from update-devFlake-clan-core-for-checks into main 2025-10-03 10:05:59 +00:00
clan-bot
36e03b75b2 Update clan-core-for-checks in devFlake 2025-10-03 10:01:52 +00:00
clan-bot
a371b9255c Merge pull request 'Update clan-core-for-checks in devFlake' (#5358) from update-devFlake-clan-core-for-checks into main 2025-10-03 05:06:07 +00:00
clan-bot
01e7a7ff26 Update clan-core-for-checks in devFlake 2025-10-03 05:01:54 +00:00
clan-bot
7f4faf8696 Merge pull request 'Update clan-core-for-checks in devFlake' (#5356) from update-devFlake-clan-core-for-checks into main 2025-10-03 00:05:59 +00:00
clan-bot
2a14e3e085 Update clan-core-for-checks in devFlake 2025-10-03 00:01:47 +00:00
clan-bot
b7521d00c7 Merge pull request 'Update nixpkgs-dev in devFlake' (#5355) from update-devFlake-nixpkgs-dev into main 2025-10-02 20:07:35 +00:00
clan-bot
7a77e563c9 Merge pull request 'Update clan-core-for-checks in devFlake' (#5354) from update-devFlake-clan-core-for-checks into main 2025-10-02 20:07:31 +00:00
clan-bot
bb119518c4 Update nixpkgs-dev in devFlake 2025-10-02 20:02:06 +00:00
clan-bot
d9048fdfda Update clan-core-for-checks in devFlake 2025-10-02 20:01:46 +00:00
Luis Hebendanz
4f00a22921 Merge pull request 'clanServices: Add role descriptions to all our services Part 2' (#5353) from Qubasa/clan-core:add_role_descriptions into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5353
2025-10-02 17:16:38 +00:00
Luis Hebendanz
4ce5f49144 Merge pull request 'inventory: Add roles.<name>.description option and a warning if it is not set Part 1' (#5340) from Qubasa/clan-core:ai_support into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5340
2025-10-02 17:16:29 +00:00
Qubasa
3d5d812e05 clanServices: Add role descriptions to all our services 2025-10-02 19:05:31 +02:00
Qubasa
2df96d3a9b inventory: Add roles.<name>.description option and a warning if it is not set 2025-10-02 18:57:55 +02:00
hsjobeki
b344db021b Merge pull request 'lib/clan: add checks' (#5352) from write-access into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5352
2025-10-02 16:41:23 +00:00
Johannes Kirschbauer
2dabff5db1 lib/clan: add checks 2025-10-02 18:21:37 +02:00
hsjobeki
e4a31f065d Merge pull request 'lib/introspection: backwards support older nixpkgs version with reduced features' (#5351) from write-access into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5351
2025-10-02 15:43:33 +00:00
Johannes Kirschbauer
149e14e85d lib/introspection: backwards support older nixpkgs version with reduced features 2025-10-02 17:39:03 +02:00
clan-bot
38339651cc Merge pull request 'Update clan-core-for-checks in devFlake' (#5350) from update-devFlake-clan-core-for-checks into main 2025-10-02 15:07:53 +00:00
clan-bot
652cc9fecc Update clan-core-for-checks in devFlake 2025-10-02 15:01:50 +00:00
hsjobeki
13c2581cbd Merge pull request 'lib/introspect: seperate headType from nullable' (#5332) from write-access into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5332
2025-10-02 14:44:56 +00:00
Johannes Kirschbauer
6f5f182aef lib/introspect: fix list item meta 2025-10-02 16:40:29 +02:00
DavHau
393323ba91 Merge pull request 'vars: optimize generate - reduce cache misses' (#5348) from dave into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5348
2025-10-02 11:50:26 +00:00
DavHau
5a6ffbf916 vars: optimize generate - reduce cache misses
optimize the `clan vars generate` procedure by pre-caching more selectors.

To achieve this, helper functions are added to several classes.

Also a debugging feature is added to the Flake class in order to track stack traces of cache misses
2025-10-02 18:46:11 +07:00
clan-bot
6de667c125 Merge pull request 'Update clan-core-for-checks in devFlake' (#5346) from update-devFlake-clan-core-for-checks into main 2025-10-02 10:09:11 +00:00
clan-bot
ba03ac29fd Merge pull request 'Update nixpkgs-dev in devFlake' (#5347) from update-devFlake-nixpkgs-dev into main 2025-10-02 10:09:04 +00:00
clan-bot
3691dcc9e0 Update nixpkgs-dev in devFlake 2025-10-02 10:02:09 +00:00
clan-bot
8c976445c0 Update clan-core-for-checks in devFlake 2025-10-02 10:01:50 +00:00
hsjobeki
586b0ddc5f Merge pull request 'ui: new api call design' (#5319) from hgl-api into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5319
2025-10-02 07:58:09 +00:00
clan-bot
cb0d4f2200 Merge pull request 'Update clan-core-for-checks in devFlake' (#5345) from update-devFlake-clan-core-for-checks into main 2025-10-02 05:06:44 +00:00
clan-bot
65f884616a Update clan-core-for-checks in devFlake 2025-10-02 05:01:51 +00:00
clan-bot
bc139cb0e2 Merge pull request 'Update clan-core-for-checks in devFlake' (#5344) from update-devFlake-clan-core-for-checks into main 2025-10-02 00:07:24 +00:00
clan-bot
b0bb03b1d1 Merge pull request 'Update flake-parts' (#5343) from update-flake-parts into main 2025-10-02 00:05:59 +00:00
clan-bot
6a4de66edb Update clan-core-for-checks in devFlake 2025-10-02 00:01:53 +00:00
clan-bot
0982378f96 Update flake-parts 2025-10-02 00:01:14 +00:00
clan-bot
8d4a9a959f Merge pull request 'Update nixpkgs-dev in devFlake' (#5342) from update-devFlake-nixpkgs-dev into main 2025-10-01 20:08:10 +00:00
clan-bot
5d0d302ed5 Merge pull request 'Update clan-core-for-checks in devFlake' (#5341) from update-devFlake-clan-core-for-checks into main 2025-10-01 20:07:28 +00:00
clan-bot
fd2730eaa7 Update nixpkgs-dev in devFlake 2025-10-01 20:02:07 +00:00
clan-bot
ef2d6f7949 Update clan-core-for-checks in devFlake 2025-10-01 20:01:47 +00:00
clan-bot
b9c07a7151 Merge pull request 'Update clan-core-for-checks in devFlake' (#5338) from update-devFlake-clan-core-for-checks into main 2025-10-01 15:06:05 +00:00
clan-bot
e6a3dd4c34 Merge pull request 'Update nixpkgs-dev in devFlake' (#5339) from update-devFlake-nixpkgs-dev into main 2025-10-01 15:05:33 +00:00
clan-bot
8697bc8b11 Update nixpkgs-dev in devFlake 2025-10-01 15:02:11 +00:00
clan-bot
a0d7bd0726 Update clan-core-for-checks in devFlake 2025-10-01 15:01:53 +00:00
Johannes Kirschbauer
1a8131f17f lib/introspect: recurse for nested attrsOf 2025-10-01 16:56:53 +02:00
Kenji Berthold
af62946651 Merge pull request 'service/yggdrasil: Fix typos' (#5337) from kenji/ke-fix-typos into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5337
2025-10-01 14:33:52 +00:00
a-kenji
351087d4e1 service/yggdrasil: Fix typos 2025-10-01 16:29:40 +02:00
Glen Huang
a268be69fe ui: new api call design
- api functions exist under api.*
- they accept an abort signal and return a promise
- they can be swapped out at build time depending on the platform
  (e.g.,window.method on desktop, fetch on mobile)
- TanStack Query functions should only be used in components, and
  only when we need its features, favoring simpler api.* calls
2025-10-01 20:51:48 +08:00
Michael Hoang
a9a1982943 Merge pull request 'nixos_test_lib: fix Nix in Nix not working with driverInteractive' (#5326) from push-puyqntntpwsx into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5326
2025-10-01 12:38:45 +00:00
Michael Hoang
850160d120 nixos_test_lib: fix Nix in Nix not working with driverInteractive 2025-10-01 14:33:23 +02:00
Kenji Berthold
8dc7256a4a Merge pull request 'pkgs/lib: verbose git commits' (#5333) from kenji/ke-verbose-git-commits into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5333
Reviewed-by: DavHau <d.hauer.it@gmail.com>
2025-10-01 10:28:45 +00:00
Luis Hebendanz
02fdb83282 Merge pull request 'docs: Update zerotier documentation' (#5335) from ke-docs-update-zerotier into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5335
2025-10-01 10:25:52 +00:00
a-kenji
df3fdf3758 pkgs/lib/git: List all files that are committed 2025-10-01 12:24:33 +02:00
a-kenji
11c559ee6d docs: Update zerotier documentation 2025-10-01 12:14:57 +02:00
a-kenji
5e6a202ce0 docs: Remove outdated information 2025-10-01 12:11:09 +02:00
clan-bot
f31dbe6c2a Merge pull request 'Update clan-core-for-checks in devFlake' (#5334) from update-devFlake-clan-core-for-checks into main 2025-10-01 10:06:02 +00:00
clan-bot
f18cdd20ce Update clan-core-for-checks in devFlake 2025-10-01 10:01:51 +00:00
a-kenji
08e2048eeb pkgs/lib: verbose git commits
Make sure the user knowns that a git command is run.

From the issue #4588:
> It is confusing at times, when executing some CLI command, expecting change,
then checking git status but no changes are observed.

We now log:
- git add (debug)
- git commit (info)

The git commit information is formatted the following way:
```
Committed machines/backup-target to git
```

Alternatives:
Currently this shows to the user what happened.
But we might want to show the user what is being run.
We could print the information before invoking the `git commit` itself.
Informing the user of a potential password input window.

Closes #4588
2025-10-01 11:46:01 +02:00
Johannes Kirschbauer
a8156d2fa6 lib/introspect: seperate headType from nullable 2025-10-01 09:51:34 +02:00
DavHau
e593d5da34 Merge pull request 'vars/list: reduce cache misses to 1' (#5331) from dave into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5331
2025-10-01 05:52:55 +00:00
DavHau
b72145d4aa vars/list: reduce cache misses to 1
This improves the performance for clan vars list
2025-10-01 12:43:09 +07:00
clan-bot
7cdd026e04 Merge pull request 'Update clan-core-for-checks in devFlake' (#5330) from update-devFlake-clan-core-for-checks into main 2025-10-01 05:06:12 +00:00
clan-bot
8e395d6715 Update clan-core-for-checks in devFlake 2025-10-01 05:02:08 +00:00
clan-bot
0868f466b6 Merge pull request 'Update clan-core-for-checks in devFlake' (#5329) from update-devFlake-clan-core-for-checks into main 2025-10-01 00:06:28 +00:00
clan-bot
7144b4b271 Update clan-core-for-checks in devFlake 2025-10-01 00:01:50 +00:00
clan-bot
b99d2363b9 Merge pull request 'Update clan-core-for-checks in devFlake' (#5327) from update-devFlake-clan-core-for-checks into main 2025-09-30 20:06:36 +00:00
clan-bot
0131900d79 Merge pull request 'Update nixpkgs-dev in devFlake' (#5328) from update-devFlake-nixpkgs-dev into main 2025-09-30 20:05:57 +00:00
clan-bot
2cd2a8b9b7 Update nixpkgs-dev in devFlake 2025-09-30 20:02:10 +00:00
clan-bot
f918149430 Update clan-core-for-checks in devFlake 2025-09-30 20:01:50 +00:00
clan-bot
7ecec19232 Merge pull request 'Update clan-core-for-checks in devFlake' (#5325) from update-devFlake-clan-core-for-checks into main 2025-09-30 15:06:05 +00:00
clan-bot
0ee297504c Update clan-core-for-checks in devFlake 2025-09-30 15:01:52 +00:00
hsjobeki
e680c3a478 Merge pull request 'classgen: mute expected warning' (#5324) from mute-warning into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5324
2025-09-30 13:40:08 +00:00
Johannes Kirschbauer
5a026eaf57 classgen: mute expected warning 2025-09-30 15:37:22 +02:00
Luis Hebendanz
873382eaa9 Merge pull request 'ai_support' (#5323) from Qubasa/clan-core:ai_support into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5323
2025-09-30 13:34:17 +00:00
Qubasa
07def16ff6 clan-app: fix logging error
on closing the logging file descriptor some parts of the program still
had the old reference. This will replace the old fd with stderr to fix
errors raised
2025-09-30 15:32:21 +02:00
Qubasa
fdc4b5f769 clan-app: full context tracebacks
If an exception now is thrown in one of the middlewares we will get a
proper traceback instead of a cut off one like before
2025-09-30 15:31:16 +02:00
Qubasa
8ad9f99606 clan-app: renamed deps folder to 'backend' 2025-09-30 15:30:39 +02:00
Luis Hebendanz
adb82a8414 Merge pull request 'clan-app: fixed broken webview delete_task' (#5321) from Qubasa/clan-core:ai_support into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5321
2025-09-30 12:09:56 +00:00
Qubasa
d36f97aa6d clan-app: fixed broken webview delete_task 2025-09-30 14:07:25 +02:00
DavHau
d2728bea27 Merge pull request 'vars: make list/get fast' (#5316) from vars into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5316
2025-09-30 10:15:08 +00:00
Jörg Thalheim
d67e23890b inline stringify_vars 2025-09-30 12:10:44 +02:00
Jörg Thalheim
597eb46c47 vars: speedup get/list
no longer get the full closure that is only needed for generating vars
2025-09-30 12:10:44 +02:00
clan-bot
4b4f4c8a30 Merge pull request 'Update clan-core-for-checks in devFlake' (#5317) from update-devFlake-clan-core-for-checks into main 2025-09-30 10:06:52 +00:00
clan-bot
467ba09720 Merge pull request 'Update nixpkgs-dev in devFlake' (#5318) from update-devFlake-nixpkgs-dev into main 2025-09-30 10:06:26 +00:00
clan-bot
1cfc9f1c5a Update nixpkgs-dev in devFlake 2025-09-30 10:02:12 +00:00
clan-bot
3ba9f1e957 Update clan-core-for-checks in devFlake 2025-09-30 10:01:52 +00:00
clan-bot
b9b8b6d5be Merge pull request 'Update clan-core-for-checks in devFlake' (#5315) from update-devFlake-clan-core-for-checks into main 2025-09-30 05:06:59 +00:00
clan-bot
f5aa3dc76f Update clan-core-for-checks in devFlake 2025-09-30 05:01:51 +00:00
clan-bot
9dcf3ae934 Merge pull request 'Update sops-nix' (#5313) from update-sops-nix into main 2025-09-30 00:09:19 +00:00
clan-bot
7629f497f5 Merge pull request 'Update clan-core-for-checks in devFlake' (#5314) from update-devFlake-clan-core-for-checks into main 2025-09-30 00:07:56 +00:00
clan-bot
39b6dd70e4 Update clan-core-for-checks in devFlake 2025-09-30 00:01:50 +00:00
clan-bot
c8e5b0ac00 Update sops-nix 2025-09-30 00:01:45 +00:00
clan-bot
d8a1699691 Merge pull request 'Update clan-core-for-checks in devFlake' (#5312) from update-devFlake-clan-core-for-checks into main 2025-09-29 20:06:44 +00:00
clan-bot
95dbd1e4cc Update clan-core-for-checks in devFlake 2025-09-29 20:01:49 +00:00
clan-bot
eaa359d70c Merge pull request 'Update clan-core-for-checks in devFlake' (#5311) from update-devFlake-clan-core-for-checks into main 2025-09-29 15:06:53 +00:00
clan-bot
37524ebb37 Update clan-core-for-checks in devFlake 2025-09-29 15:01:51 +00:00
brianmcgee
750f502ac6 Merge pull request 'feat(ui): remove add clan button from ListClansModal' (#5310) from feat/remove-add-clan-button into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5310
2025-09-29 10:45:15 +00:00
Brian McGee
aa0b03064a feat(ui): remove add clan button from ListClansModal
It was confusing how it worked. Cleaner to remove it and just have users X out of the modal and use the existing onboarding workflow.

Closes #5010
2025-09-29 11:42:41 +01:00
Brian McGee
04a1fa1cf0 feat(ui): remove add clan button from ListClansModal
It was confusing how it worked. Cleaner to remove it and just have users X out of the modal and use the existing onboarding workflow.

Closes #5010
2025-09-29 11:13:03 +01:00
clan-bot
7951e25319 Merge pull request 'Update clan-core-for-checks in devFlake' (#5308) from update-devFlake-clan-core-for-checks into main 2025-09-29 10:09:29 +00:00
clan-bot
d7c42cd2aa Merge pull request 'Update nixpkgs-dev in devFlake' (#5309) from update-devFlake-nixpkgs-dev into main 2025-09-29 10:08:53 +00:00
clan-bot
4f6cb72a3b Merge pull request 'Update data-mesher' (#5307) from update-data-mesher into main 2025-09-29 10:06:29 +00:00
clan-bot
ee6adf5ca5 Update nixpkgs-dev in devFlake 2025-09-29 10:02:08 +00:00
clan-bot
a2fffd64fd Update clan-core-for-checks in devFlake 2025-09-29 10:01:52 +00:00
clan-bot
18e0175412 Update data-mesher 2025-09-29 10:01:14 +00:00
hsjobeki
890486e353 Merge pull request 'use css modules for Tag and MachineStatus' (#5255) from hgl-ui-machine into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5255
2025-09-29 08:06:44 +00:00
hsjobeki
406ee30b1c Merge pull request 'docs/index: fix broken links' (#5306) from docs-fix into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5306
2025-09-29 07:38:04 +00:00
hsjobeki
ccced8c9f7 Merge pull request 'ui/onboarding: extract cube animation to its own component' (#5287) from hgl-onboarding into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5287
Reviewed-by: hsjobeki <hsjobeki@gmail.com>
2025-09-29 07:37:57 +00:00
Johannes Kirschbauer
13c0639fa9 docs/index: fix broken links 2025-09-29 09:30:29 +02:00
clan-bot
c59ae5205d Merge pull request 'Update clan-core-for-checks in devFlake' (#5305) from update-devFlake-clan-core-for-checks into main 2025-09-29 05:07:15 +00:00
clan-bot
a0df88dd71 Update clan-core-for-checks in devFlake 2025-09-29 05:01:52 +00:00
clan-bot
b813988dd6 Merge pull request 'Update clan-core-for-checks in devFlake' (#5304) from update-devFlake-clan-core-for-checks into main 2025-09-29 00:08:39 +00:00
clan-bot
db1f4db2ff Update clan-core-for-checks in devFlake 2025-09-29 00:01:54 +00:00
clan-bot
1ce0cbc9bb Merge pull request 'Update clan-core-for-checks in devFlake' (#5303) from update-devFlake-clan-core-for-checks into main 2025-09-28 20:06:35 +00:00
clan-bot
cb73261283 Update clan-core-for-checks in devFlake 2025-09-28 20:01:49 +00:00
clan-bot
d073306f05 Merge pull request 'Update clan-core-for-checks in devFlake' (#5302) from update-devFlake-clan-core-for-checks into main 2025-09-28 15:08:04 +00:00
clan-bot
e99d2876ce Update clan-core-for-checks in devFlake 2025-09-28 15:01:51 +00:00
clan-bot
9e09134f27 Merge pull request 'Update clan-core-for-checks in devFlake' (#5300) from update-devFlake-clan-core-for-checks into main 2025-09-28 10:06:29 +00:00
clan-bot
1826880edf Merge pull request 'Update nixpkgs-dev in devFlake' (#5301) from update-devFlake-nixpkgs-dev into main 2025-09-28 10:05:45 +00:00
clan-bot
8525855fe2 Update nixpkgs-dev in devFlake 2025-09-28 10:02:05 +00:00
clan-bot
17b91ce812 Update clan-core-for-checks in devFlake 2025-09-28 10:01:48 +00:00
clan-bot
5ebe68c9c9 Merge pull request 'Update clan-core-for-checks in devFlake' (#5299) from update-devFlake-clan-core-for-checks into main 2025-09-28 05:09:24 +00:00
clan-bot
861e050c02 Merge pull request 'Update sops-nix' (#5298) from update-sops-nix into main 2025-09-28 05:09:18 +00:00
clan-bot
5b72076895 Update clan-core-for-checks in devFlake 2025-09-28 05:01:55 +00:00
clan-bot
98ffa0c368 Update sops-nix 2025-09-28 05:01:51 +00:00
clan-bot
9e07526f7e Merge pull request 'Update clan-core-for-checks in devFlake' (#5297) from update-devFlake-clan-core-for-checks into main 2025-09-28 00:06:30 +00:00
clan-bot
5e0a8eb914 Update clan-core-for-checks in devFlake 2025-09-28 00:01:51 +00:00
clan-bot
814990f75d Merge pull request 'Update clan-core-for-checks in devFlake' (#5296) from update-devFlake-clan-core-for-checks into main 2025-09-27 20:06:34 +00:00
clan-bot
35b2dbec59 Update clan-core-for-checks in devFlake 2025-09-27 20:01:49 +00:00
clan-bot
68106108ee Merge pull request 'Update clan-core-for-checks in devFlake' (#5294) from update-devFlake-clan-core-for-checks into main 2025-09-27 15:08:11 +00:00
clan-bot
216dfbccec Merge pull request 'Update nixpkgs-dev in devFlake' (#5295) from update-devFlake-nixpkgs-dev into main 2025-09-27 15:07:29 +00:00
clan-bot
f8aa623c9a Update nixpkgs-dev in devFlake 2025-09-27 15:02:09 +00:00
clan-bot
3d30cfbb13 Update clan-core-for-checks in devFlake 2025-09-27 15:01:51 +00:00
clan-bot
5f1303ffd1 Merge pull request 'Update clan-core-for-checks in devFlake' (#5293) from update-devFlake-clan-core-for-checks into main 2025-09-27 10:06:12 +00:00
clan-bot
d300e35b6a Update clan-core-for-checks in devFlake 2025-09-27 10:01:53 +00:00
clan-bot
aa8e9758d1 Merge pull request 'Update clan-core-for-checks in devFlake' (#5292) from update-devFlake-clan-core-for-checks into main 2025-09-27 05:06:16 +00:00
clan-bot
4604a80f72 Update clan-core-for-checks in devFlake 2025-09-27 05:01:52 +00:00
clan-bot
54b0fe25f3 Merge pull request 'Update clan-core-for-checks in devFlake' (#5291) from update-devFlake-clan-core-for-checks into main 2025-09-27 00:06:41 +00:00
clan-bot
6dc1b1b102 Update clan-core-for-checks in devFlake 2025-09-27 00:01:51 +00:00
clan-bot
01b018866d Merge pull request 'Update clan-core-for-checks in devFlake' (#5289) from update-devFlake-clan-core-for-checks into main 2025-09-26 20:06:47 +00:00
clan-bot
03d402c8c5 Merge pull request 'Update nixpkgs-dev in devFlake' (#5290) from update-devFlake-nixpkgs-dev into main 2025-09-26 20:06:02 +00:00
clan-bot
29f8d783c4 Update nixpkgs-dev in devFlake 2025-09-26 20:02:07 +00:00
clan-bot
b14e82aae4 Update clan-core-for-checks in devFlake 2025-09-26 20:01:48 +00:00
clan-bot
cc23fe4e2d Merge pull request 'Update clan-core-for-checks in devFlake' (#5288) from update-devFlake-clan-core-for-checks into main 2025-09-26 15:06:52 +00:00
clan-bot
22d86b859e Update clan-core-for-checks in devFlake 2025-09-26 15:01:53 +00:00
Glen Huang
35f42107bb ui/onboarding: extract cube animation to its own component 2025-09-26 21:58:32 +08:00
hsjobeki
017f0901da Merge pull request 'ui/HostFileInput: refactor' (#5280) from hgl-hostfileinput into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5280
Reviewed-by: hsjobeki <hsjobeki@gmail.com>
2025-09-26 13:53:02 +00:00
Glen Huang
54c39edafd ui/HostFileInput: refactor
- Contain api call within itself
- Flatten input attributes
- Fix directory validation type error
2025-09-26 21:44:50 +08:00
Michael Hoang
d0148b47d5 Merge pull request 'checks/installation: refactor to remove hardcoded system' (#5278) from push-qkzrzzqorxsl into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5278
2025-09-26 12:24:29 +00:00
Michael Hoang
e4137a6876 checks/installation: fix NixOS configuration not having a system 2025-09-26 14:13:19 +02:00
Michael Hoang
356b0ab546 Merge pull request 'checks/installation: remove unused closureInfo' (#5286) from push-kpwummqulwnp into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5286
2025-09-26 11:32:04 +00:00
Michael Hoang
992273013f checks/installation: remove unused closureInfo 2025-09-26 13:19:25 +02:00
clan-bot
1e91be3efa Merge pull request 'Update clan-core-for-checks in devFlake' (#5284) from update-devFlake-clan-core-for-checks into main 2025-09-26 10:06:45 +00:00
clan-bot
907ccbfd22 Merge pull request 'Update nixpkgs-dev in devFlake' (#5285) from update-devFlake-nixpkgs-dev into main 2025-09-26 10:06:11 +00:00
clan-bot
49ff420b8b Update nixpkgs-dev in devFlake 2025-09-26 10:02:11 +00:00
clan-bot
269169815c Update clan-core-for-checks in devFlake 2025-09-26 10:01:52 +00:00
clan-bot
724b114c34 Merge pull request 'Update clan-core-for-checks in devFlake' (#5281) from update-devFlake-clan-core-for-checks into main 2025-09-26 05:06:45 +00:00
clan-bot
a5bc193411 Merge pull request 'Update nixpkgs-dev in devFlake' (#5282) from update-devFlake-nixpkgs-dev into main 2025-09-26 05:06:44 +00:00
clan-bot
2b321914f5 Update nixpkgs-dev in devFlake 2025-09-26 05:02:11 +00:00
clan-bot
921693f494 Update clan-core-for-checks in devFlake 2025-09-26 05:01:52 +00:00
clan-bot
374bb30eea Merge pull request 'Update clan-core-for-checks in devFlake' (#5279) from update-devFlake-clan-core-for-checks into main 2025-09-26 00:07:29 +00:00
clan-bot
0f2d38551f Update clan-core-for-checks in devFlake 2025-09-26 00:01:48 +00:00
Michael Hoang
3ec2c7c03b Merge pull request 'cli: support machines init-hardware-config --debug' (#5275) from push-kkrktlvvovkm into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5275
2025-09-25 20:14:53 +00:00
Michael Hoang
51bf7c8848 cli: support machines init-hardware-config --debug 2025-09-25 22:10:01 +02:00
clan-bot
14dfe1f9c5 Merge pull request 'Update clan-core-for-checks in devFlake' (#5274) from update-devFlake-clan-core-for-checks into main 2025-09-25 20:07:01 +00:00
clan-bot
88b3c1b7ac Update clan-core-for-checks in devFlake 2025-09-25 20:01:51 +00:00
Michael Hoang
285e72616e Merge pull request 'Update clan-core-for-checks in devFlake' (#5203) from update-devFlake-clan-core-for-checks into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5203
2025-09-25 17:23:41 +00:00
Michael Hoang
4cadedaa5d checks: don't use the global flake registry 2025-09-25 19:18:28 +02:00
Michael Hoang
27f87c7345 checks: add dependency on bubblewrap 2025-09-25 19:18:28 +02:00
clan-bot
6f5137fc56 Update clan-core-for-checks in devFlake 2025-09-25 19:18:28 +02:00
Michael Hoang
948bc41562 Merge pull request 'checks/flash: don't generate any vars' (#5273) from push-ormsrmnustku into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5273
2025-09-25 17:18:00 +00:00
Michael Hoang
ab5060a947 checks/flash: don't generate any vars 2025-09-25 19:14:10 +02:00
Luis Hebendanz
23d5a77814 Merge pull request 'Improve backup documentation' (#5272) from Qubasa/clan-core:docs_fix2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5272
2025-09-25 17:13:59 +00:00
Qubasa
6d6a085b97 flake.nix: re-add nuschtos 2025-09-25 19:03:32 +02:00
Qubasa
233d1a48af docs: make flake-inputs flow better 2025-09-25 18:59:27 +02:00
Qubasa
eddb1e35fc docs: make flake-parts guide flow better 2025-09-25 18:59:27 +02:00
Qubasa
2c2266ce8c docs: group templates together 2025-09-25 18:59:27 +02:00
Qubasa
a28270f43a docs: extensive backup documentation 2025-09-25 18:59:27 +02:00
Michael Hoang
824f80f357 Merge pull request 'checks/update: reduce instances of hardcoded system' (#5270) from push-toqqzsyoqotv into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5270
2025-09-25 16:40:53 +00:00
Michael Hoang
bec8de3faa checks/update: reduce instances of hardcoded system 2025-09-25 18:37:35 +02:00
Qubasa
f9681d49b6 borgbackup: fix requirement that client and server roles must be defined 2025-09-25 18:32:37 +02:00
hsjobeki
3169df3769 Merge pull request 'ui: no need to guard SolidQueryDevtools behind dev flag' (#5266) from hgl-query into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5266
2025-09-25 15:12:52 +00:00
clan-bot
1314f070f7 Merge pull request 'Update nix-darwin' (#5269) from update-nix-darwin into main 2025-09-25 15:07:19 +00:00
clan-bot
eba3b9f119 Update nix-darwin 2025-09-25 15:02:38 +00:00
Glen Huang
19b8c6022f ui: no need to guard SolidQueryDevtools behind dev flag
It won't be bundled in the prod build
2025-09-25 17:05:30 +08:00
clan-bot
587dde157f Merge pull request 'Update nixpkgs-dev in devFlake' (#5265) from update-devFlake-nixpkgs-dev into main 2025-09-25 00:06:28 +00:00
clan-bot
149ea99344 Update nixpkgs-dev in devFlake 2025-09-25 00:02:08 +00:00
clan-bot
1e32e2ef46 Merge pull request 'Update treefmt-nix in devFlake' (#5264) from update-devFlake-treefmt-nix into main 2025-09-24 20:08:06 +00:00
clan-bot
565972d602 Merge pull request 'Update treefmt-nix' (#5263) from update-treefmt-nix into main 2025-09-24 20:08:05 +00:00
clan-bot
dab2bffc7b Update treefmt-nix in devFlake 2025-09-24 20:02:15 +00:00
clan-bot
7385d7caec Update treefmt-nix 2025-09-24 20:01:47 +00:00
hsjobeki
becb32a947 Merge pull request 'lib/introspect: use valueMeta to expose more information' (#5262) from update-service into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5262
2025-09-24 16:38:14 +00:00
Johannes Kirschbauer
bcadf6b0fb clan_lib: write_rules complete internal keys 2025-09-24 18:34:09 +02:00
Johannes Kirschbauer
75121767d3 lib/introspect: use valueMeta to expose more information 2025-09-24 17:24:44 +02:00
Luis Hebendanz
8da25d5295 Merge pull request 'hardware-update-split' (#5261) from Qubasa/clan-core:hardware-update-split into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5261
2025-09-24 14:54:32 +00:00
Qubasa
ed069c48d3 clan-cli: rename to init-hardware-config 2025-09-24 16:51:06 +02:00
Qubasa
ac79bfb35f clan-cli: Split up update-hardware info into kexec-hardware-info 2025-09-24 15:47:33 +02:00
Qubasa
5595b2f862 clan-cli: Don't print trace on Keyboard Interrupt 2025-09-24 15:43:04 +02:00
hsjobeki
f03bcb8c14 Merge pull request 'ui: add npmrc to disable install scripts' (#5258) from hgl-npmrc into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5258
2025-09-24 11:01:26 +00:00
hsjobeki
b8e1fa2478 Merge pull request 'ui/cubes: use css modules for cube' (#5257) from hgl-ui-cube into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5257
2025-09-24 11:01:14 +00:00
Glen Huang
a2529e953b ui: add npmrc to disable install scripts
https://www.stepsecurity.io/blog/ctrl-tinycolor-and-40-npm-packages-compromised#immediate-actions-required
2025-09-24 18:59:04 +08:00
clan-bot
d783ae7c7c Merge pull request 'Update nixpkgs-dev in devFlake' (#5256) from update-devFlake-nixpkgs-dev into main 2025-09-24 10:06:06 +00:00
Glen Huang
2c66bd6508 ui/cubes: use css modules for cubes 2025-09-24 18:05:25 +08:00
clan-bot
aeb6b44ca6 Update nixpkgs-dev in devFlake 2025-09-24 10:02:02 +00:00
Glen Huang
cbb32e5ce9 ui/colors: remove the unused fgClass function 2025-09-24 17:48:21 +08:00
Glen Huang
5f13b24f80 ui/TagGroup: use css modules for TagGroup 2025-09-24 17:37:50 +08:00
Glen Huang
aaa353ec91 ui/Tag: use css modules 2025-09-24 17:17:47 +08:00
Glen Huang
c0281e8b4c ui/MachineStatus: use css modules 2025-09-24 15:47:38 +08:00
clan-bot
fde05adbd6 Merge pull request 'Update nuschtos in devFlake' (#5252) from update-devFlake-nuschtos into main 2025-09-24 00:05:38 +00:00
clan-bot
e1fff811ee Update nuschtos in devFlake 2025-09-24 00:02:02 +00:00
hsjobeki
3171512f30 Merge pull request 'ui/SectionService: not throwing errors inside the component rendering function' (#5249) from hgl-ui-froze into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5249
2025-09-23 15:54:09 +00:00
hsjobeki
b87953e2af Merge pull request 'clan: add nixpkgs version checks' (#5246) from update-service into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5246
2025-09-23 15:11:56 +00:00
Johannes Kirschbauer
ab8607e01a clan: add nixpkgs version checks 2025-09-23 17:07:33 +02:00
Glen Huang
6db8757281 ui/SectionService: not throwing errors inside the component rendering function 2025-09-23 22:50:22 +08:00
hsjobeki
18edf5f992 Merge pull request 'ui: use css modules for TextArea and TextInput' (#5235) from hgl-ui-textfield into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5235
2025-09-23 13:59:21 +00:00
Mic92
f6bc4ca6df Merge pull request 'clan-cli vars: speedup vars retrieval' (#5245) from faster_vars into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5245
Reviewed-by: Kenji Berthold <aks.kenji@protonmail.com>
2025-09-23 12:03:37 +00:00
lassulus
8567c2c09d clan-cli vars: speedup vars retrieval 2025-09-23 13:55:33 +02:00
clan-bot
59aec481b2 Merge pull request 'Update nixpkgs-dev in devFlake' (#5238) from update-devFlake-nixpkgs-dev into main 2025-09-23 10:05:00 +00:00
clan-bot
fe04eb827f Update nixpkgs-dev in devFlake 2025-09-23 10:01:27 +00:00
Glen Huang
7be9e3f333 ui: use css modules for TextArea and TextInput 2025-09-23 15:01:17 +08:00
hsjobeki
6b059ca71d Merge pull request 'clan_lib: persist, compute static data for simpler patch validation' (#5218) from update-service into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5218
2025-09-22 16:39:29 +00:00
Johannes Kirschbauer
9ea5156f32 clan_lib: disable static checks temporarily 2025-09-22 18:32:58 +02:00
brianmcgee
519ff4c0f3 Merge pull request 'ui/form: use css modules for form components' (#5232) from hgl-ui-form into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5232
Reviewed-by: brianmcgee <brian@bmcgee.ie>
2025-09-22 13:06:02 +00:00
Glen Huang
bc045ee972 ui/form: use css modules for form components 2025-09-22 20:59:53 +08:00
brianmcgee
5de0d37f0e Merge pull request 'ui/checkbox: use css modules' (#5228) from hgl-ui-checkbox into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5228
Reviewed-by: brianmcgee <brian@bmcgee.ie>
2025-09-22 10:11:59 +00:00
Johannes Kirschbauer
3574b37a29 clan_lib: fix inventory test message assertions 2025-09-22 12:10:51 +02:00
brianmcgee
2921ae7b84 Merge pull request 'ui: use css modules for sidebar components' (#5217) from hgl into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5217
Reviewed-by: brianmcgee <brian@bmcgee.ie>
2025-09-22 10:07:52 +00:00
clan-bot
8f5cae5671 Merge pull request 'Update nixpkgs-dev in devFlake' (#5230) from update-devFlake-nixpkgs-dev into main 2025-09-22 10:05:52 +00:00
clan-bot
bc241cdd5f Update nixpkgs-dev in devFlake 2025-09-22 10:01:41 +00:00
Glen Huang
d1b65d5a06 ui/checkbox: use css modules 2025-09-22 17:21:06 +08:00
Qubasa
8ff060c589 clan_lib: Remote add to arguments override func 2025-09-22 11:20:49 +02:00
clan-bot
8402463296 Merge pull request 'Update data-mesher' (#5227) from update-data-mesher into main 2025-09-22 05:06:27 +00:00
clan-bot
461e7ee968 Update data-mesher 2025-09-22 05:00:36 +00:00
Johannes Kirschbauer
b273cc9c6a clan_lib: temporarily allow missing paths again 2025-09-21 17:33:35 +02:00
Johannes Kirschbauer
51f3ffec42 clan_lib: rename writeability to write_map 2025-09-21 17:30:33 +02:00
Johannes Kirschbauer
48ddf22879 clan_lib: split utils into meaningfull files 2025-09-21 17:24:28 +02:00
clan-bot
7a9f3dfc03 Merge pull request 'Update nix-darwin' (#5224) from update-nix-darwin into main 2025-09-21 15:06:53 +00:00
clan-bot
2588813578 Merge pull request 'Update nixpkgs-dev in devFlake' (#5225) from update-devFlake-nixpkgs-dev into main 2025-09-21 15:05:09 +00:00
clan-bot
c95ab34807 Update nixpkgs-dev in devFlake 2025-09-21 15:01:29 +00:00
clan-bot
54fc2aec03 Update nix-darwin 2025-09-21 15:00:39 +00:00
Johannes Kirschbauer
9a03644a80 clan_lib: deprecate is_writeable_key 2025-09-21 16:37:50 +02:00
Johannes Kirschbauer
381c190ba2 clan_lib: inventory store use structured keys 2025-09-21 16:25:54 +02:00
Johannes Kirschbauer
bd50e1ee40 clan_lib: use structured keys for def calc_patches
This allows key that contain dot  and other potentially ambigous unicode
2025-09-21 16:02:10 +02:00
Johannes Kirschbauer
00d38180d3 clan_lib: use flatten_data_structured 2025-09-21 16:02:10 +02:00
Johannes Kirschbauer
7e1b7b056d clan_lib: use flatten_data_structured 2025-09-21 16:02:10 +02:00
Johannes Kirschbauer
4ec3043a4e clan_lib: init flatten_data_structured
Avoids ambiguity issues with keys that contain dots or other separators.
2025-09-21 16:02:10 +02:00
Johannes Kirschbauer
78634d0165 clan_lib: persist, compute static data for simpler patch validation 2025-09-21 16:02:10 +02:00
clan-bot
4d4a689519 Merge pull request 'Update sops-nix' (#5223) from update-sops-nix into main 2025-09-21 05:07:27 +00:00
clan-bot
bd4285a638 Update sops-nix 2025-09-21 05:01:24 +00:00
clan-bot
c418d688dc Merge pull request 'Update nixpkgs-dev in devFlake' (#5222) from update-devFlake-nixpkgs-dev into main 2025-09-21 00:05:33 +00:00
clan-bot
69ea1a211f Update nixpkgs-dev in devFlake 2025-09-21 00:01:33 +00:00
clan-bot
02117d8698 Merge pull request 'Update nix-darwin' (#5221) from update-nix-darwin into main 2025-09-20 20:05:15 +00:00
clan-bot
91643bafbe Update nix-darwin 2025-09-20 20:00:38 +00:00
pinpox
8223120521 Merge pull request 'Add yggdrasil clanService' (#5104) from yggdrasil-vars into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5104
2025-09-20 14:05:54 +00:00
pinpox
8e279a1e71 Add yggdrasil clanService 2025-09-20 16:03:26 +02:00
clan-bot
d6c891750d Merge pull request 'Update nixpkgs-dev in devFlake' (#5220) from update-devFlake-nixpkgs-dev into main 2025-09-20 10:04:45 +00:00
clan-bot
c73d954b55 Update nixpkgs-dev in devFlake 2025-09-20 10:01:30 +00:00
Luis Hebendanz
4ec6ec0090 Merge pull request 'clan-cli: Increase test coverage for clan flash list' (#5194) from Qubasa/clan-core:add_flash_test into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5194
2025-09-20 00:19:33 +00:00
Qubasa
ec98cdf097 clan-cli: Increase test coverage for clan flash list 2025-09-20 02:15:33 +02:00
clan-bot
4ad348d881 Merge pull request 'Update nixpkgs-dev in devFlake' (#5219) from update-devFlake-nixpkgs-dev into main 2025-09-20 00:05:55 +00:00
clan-bot
728d651ad1 Update nixpkgs-dev in devFlake 2025-09-20 00:01:33 +00:00
Luis Hebendanz
fb4c151969 Merge pull request 'clan machines generations' (#4848) from Qubasa/clan-core:add_generate_cli into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4848
2025-09-19 23:30:19 +00:00
Glen Huang
3cf979f0ed ui/divider: use css modules 2025-09-19 22:29:18 +08:00
Glen Huang
3bc31b3e3f ui: use css modules for sidebar components 2025-09-19 22:22:01 +08:00
brianmcgee
99f167a89f Merge pull request 'ui: use css modules for Typography and SidebarBody' (#5215) from hgl into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5215
Reviewed-by: brianmcgee <brian@bmcgee.ie>
2025-09-19 13:48:14 +00:00
hsjobeki
ed432cc4cf Merge pull request 'UI: add update service' (#5216) from update-service into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5216
2025-09-19 13:44:12 +00:00
Michael Hoang
4ec5be9476 Merge pull request 'treewide: fix evaluation warnings' (#5214) from nuke-warnings into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5214
2025-09-19 13:29:41 +00:00
Michael Hoang
00a864663b flash-installer: fix evaluation warnings 2025-09-19 15:24:59 +02:00
Michael Hoang
9f1d8d22e8 demo-iso: fix evaluation warning 2025-09-19 15:23:27 +02:00
Johannes Kirschbauer
6f791ac086 UI: add update service 2025-09-19 15:01:53 +02:00
Glen Huang
133f4aee53 ui: use css modules for Typography and SidebarBody
Extra changes:
- Add missing transition to according triggers in SidebarBody
- More sensible tag for each Typography hierarchy
2025-09-19 20:52:22 +08:00
clan-bot
91985504d0 Merge pull request 'Update nuschtos in devFlake' (#5213) from update-devFlake-nuschtos into main 2025-09-19 10:09:08 +00:00
clan-bot
ba5968ce93 Merge pull request 'Update nixpkgs-dev in devFlake' (#5212) from update-devFlake-nixpkgs-dev into main 2025-09-19 10:08:02 +00:00
clan-bot
3370212cea Update nuschtos in devFlake 2025-09-19 10:01:33 +00:00
clan-bot
3043a92815 Update nixpkgs-dev in devFlake 2025-09-19 10:01:30 +00:00
brianmcgee
77921f2857 Merge pull request 'ui/onboarding: use css modules' (#5171) from hgl/clan-core:css into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5171
Reviewed-by: brianmcgee <brian@bmcgee.ie>
2025-09-19 09:56:37 +00:00
Glen Huang
f22c8f166e ui: use css modules for Button, Icon and Loader
Changes:
- use mergeProps to set default values instead of using ||
- Let a parent component override a child by specifying `in`
- Button can only have at most two icons,  make it accept icon and endIcon
- Rely on class to denote Button's icon type, instead of querying the DOM structure in css
- Dynamic with undefined as the component already skips rendering, no need to explicit check the component value
- move fgClass in css.tsx to a css module
2025-09-19 17:32:29 +08:00
Qubasa
d6ae9cde3f clanServices: add deprecation warning to monitoring service settings. 2025-09-19 10:34:02 +02:00
clan-bot
51b6717202 Merge pull request 'Update nuschtos in devFlake' (#5210) from update-devFlake-nuschtos into main 2025-09-19 00:05:33 +00:00
clan-bot
d27576c130 Merge pull request 'Update nixpkgs-dev in devFlake' (#5209) from update-devFlake-nixpkgs-dev into main 2025-09-19 00:04:22 +00:00
clan-bot
0a972b387c Update nuschtos in devFlake 2025-09-19 00:01:39 +00:00
clan-bot
e8bbe91685 Update nixpkgs-dev in devFlake 2025-09-19 00:01:36 +00:00
Qubasa
455268f6ce clanServices: add ca certs for monitoring/telegraf 2025-09-19 01:29:23 +02:00
clan-bot
ce2e80bcf1 Merge pull request 'Update treefmt-nix in devFlake' (#5205) from update-devFlake-treefmt-nix into main 2025-09-18 20:04:17 +00:00
clan-bot
8e9105735c Update treefmt-nix in devFlake 2025-09-18 20:01:38 +00:00
hsjobeki
db75af2445 Merge pull request 'clanInternals: remove unused options' (#5206) from module-clan into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5206
2025-09-18 16:13:23 +00:00
clan-bot
24014564e8 Merge pull request 'Update nixpkgs-dev in devFlake' (#5204) from update-devFlake-nixpkgs-dev into main 2025-09-18 15:49:06 +00:00
clan-bot
4939723477 Update nixpkgs-dev in devFlake 2025-09-18 17:46:48 +02:00
clan-bot
8be04e790b Merge pull request 'Update treefmt-nix' (#5202) from update-treefmt-nix into main 2025-09-18 15:45:00 +00:00
clan-bot
eaf94f90fe Update treefmt-nix 2025-09-18 17:40:37 +02:00
Johannes Kirschbauer
ac07265ea4 clan/module: remove deprecated clanInternals.inventory 2025-09-18 15:35:39 +00:00
Johannes Kirschbauer
92ca540a42 clan/module: remove clanModules from clanInternals 2025-09-18 15:35:39 +00:00
Mic92
8b18418e7c Merge pull request 'fix pytest' (#5207) from fix-tests into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5207
2025-09-18 15:35:28 +00:00
Jörg Thalheim
9b1573db63 Revert "Merge pull request 'Update clan-core-for-checks in devFlake' (#5132) from update-devFlake-clan-core-for-checks into main"
This reverts commit 62eedacd33, reversing
changes made to 1a344f759a.
2025-09-18 17:31:31 +02:00
Jörg Thalheim
47be7d6865 fix pytest 2025-09-18 17:07:50 +02:00
hsjobeki
1e18d7b897 Merge pull request 'clan_lib: fix update_service:_instance api name' (#5201) from api-update-service into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5201
2025-09-18 14:46:00 +00:00
Michael Hoang
f099e92394 Merge pull request 'gitea: run nix with --print-build-logs to workflows' (#5200) from push-tymntmvkqxmx into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5200
2025-09-18 14:45:10 +00:00
Johannes Kirschbauer
668fc39dba clan_lib: fix update_service:_instance api name 2025-09-18 16:45:03 +02:00
Michael Hoang
589d353285 gitea: run nix with --print-build-logs to workflows 2025-09-18 16:42:15 +02:00
clan-bot
62eedacd33 Merge pull request 'Update clan-core-for-checks in devFlake' (#5132) from update-devFlake-clan-core-for-checks into main 2025-09-18 14:35:43 +00:00
Michael Hoang
4ce8f03ea6 checks: add dependency on bubblewrap 2025-09-18 16:34:15 +02:00
clan-bot
75367f4d6f Update clan-core-for-checks in devFlake 2025-09-18 16:34:15 +02:00
hsjobeki
1a344f759a Merge pull request 'clan_lib/api: init update service instance' (#5199) from api-update-service into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5199
2025-09-18 14:33:18 +00:00
Johannes Kirschbauer
3cc1ea6d83 clan_lib/api: init update service instance 2025-09-18 16:31:07 +02:00
Johannes Kirschbauer
09af3f38ee clan_lib: allow delete on non-existing data 2025-09-18 16:29:55 +02:00
Johannes Kirschbauer
0f71ffd3c7 clan_lib: typecast return of get_value_by_path 2025-09-18 16:29:55 +02:00
Johannes Kirschbauer
0fef161391 clan_lib: add inventory json argument 2025-09-18 16:27:05 +02:00
hsjobeki
854481fd49 Merge pull request 'Remove function syntax from extraModules' (#5152) from remove-extainv-func into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5152
Reviewed-by: hsjobeki <hsjobeki@gmail.com>
2025-09-18 14:00:28 +00:00
Qubasa
74f853bd7c clan-cli: Add a clan machines generations command
improvements

stash
2025-09-18 15:18:33 +02:00
Mic92
5613cbe7cb Merge pull request 'telegraf: move telegraf.json into runtime directory' (#5196) from telegraf into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5196
2025-09-18 12:12:45 +00:00
Jörg Thalheim
4b549365f7 telegraf: move telegraf.json into runtime directory
No need to persist this type of data. We also don't need to allocate a
persistent user for telegraf.

Also make it a directory because otherwise thre is a potential race
condition on startup.
2025-09-18 12:11:48 +02:00
clan-bot
e03fcc25e7 Merge pull request 'Update nixpkgs-dev in devFlake' (#5197) from update-devFlake-nixpkgs-dev into main 2025-09-18 10:05:24 +00:00
clan-bot
a798fcb359 Update nixpkgs-dev in devFlake 2025-09-18 10:02:43 +00:00
Glen Huang
d163f0da14 ui/onboarding: use css modules 2025-09-18 14:39:45 +08:00
clan-bot
92e2c841e3 Merge pull request 'Update disko' (#5195) from update-disko into main 2025-09-18 05:05:05 +00:00
clan-bot
01856cf4cb Update disko 2025-09-18 05:00:35 +00:00
Luis Hebendanz
0d04b24473 Merge pull request 'clanServices: init test clan_lib.metrics.version::get_nixos_systems' (#4849) from Qubasa/clan-core:build_is_installed_api into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4849
2025-09-17 23:42:25 +00:00
Qubasa
bc521a1b9b clanServices: jail telegraf-json to not write to tmp dir 2025-09-18 01:38:30 +02:00
Qubasa
eb321df10d clanServices: add indepth test for telegraf metrics 2025-09-18 01:14:10 +02:00
Qubasa
cdceb2a211 clanServices: init vars for telegraf 2025-09-17 21:18:51 +02:00
Qubasa
6546f8a952 clanServices: init test clan_lib.metrics.version::get_nixos_systems 2025-09-17 18:21:19 +02:00
clan-bot
b7798f5466 Merge pull request 'Update nix-darwin' (#5192) from update-nix-darwin into main 2025-09-17 15:06:05 +00:00
clan-bot
132728d757 Merge pull request 'Update nixpkgs-dev in devFlake' (#5193) from update-devFlake-nixpkgs-dev into main 2025-09-17 15:05:57 +00:00
clan-bot
2a52548120 Update nixpkgs-dev in devFlake 2025-09-17 15:01:36 +00:00
clan-bot
71533f118f Update nix-darwin 2025-09-17 15:00:41 +00:00
hsjobeki
c9ab0a42ac Merge pull request 'docs: bring back structured clan options' (#5191) from docs-clan-options into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5191
2025-09-17 13:20:42 +00:00
Johannes Kirschbauer
e7fe50fd6e docs: rename tab to 'search clan options' 2025-09-17 15:17:25 +02:00
Johannes Kirschbauer
757f2412a6 docs: bring back structured clan options 2025-09-17 15:15:32 +02:00
Kenji Berthold
f8d153b318 Merge pull request 'docs: Fix erroneous NixOS spelling' (#5189) from kenji/ke-fix-nixos-rebuild into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5189
2025-09-17 11:20:03 +00:00
a-kenji
782a9375bf docs: Fix erroneous NixOS spelling 2025-09-17 12:40:43 +02:00
Michael Hoang
e332ae9059 Merge pull request 'cli: don't commit the target host for privacy' (#5188) from push-yvrxxtxymrsr into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5188
2025-09-17 10:15:02 +00:00
Michael Hoang
9a9d6bf22d cli: don't commit the target host for privacy 2025-09-17 12:09:26 +02:00
Luis Hebendanz
593c2d3d5b Merge pull request 'docs: dedup vars' (#5187) from Qubasa/clan-core:dedup_docs into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5187
2025-09-17 09:31:53 +00:00
Qubasa
59c463f326 docs: dedup vars 2025-09-17 11:29:43 +02:00
hsjobeki
f1416bdcba Merge pull request 'lib/types: add docs for custom type' (#5186) from lib-1 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5186
2025-09-17 09:07:45 +00:00
Johannes Kirschbauer
7a38e976a4 lib/types: add docs for custom type 2025-09-17 11:03:08 +02:00
clan-bot
ae28196039 Merge pull request 'Update nixpkgs' (#5179) from update-nixpkgs into main 2025-09-17 05:07:50 +00:00
clan-bot
a1b7c4f8f7 Update nixpkgs 2025-09-17 05:01:06 +00:00
Luis Hebendanz
66b6290d32 Merge pull request 'feat: add zerotier to network cli' (#5178) from Qubasa/clan-core:zerotier_network into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5178
2025-09-16 19:17:48 +00:00
Qubasa
4aff2a9d40 vars: add machine name to errors 2025-09-16 21:13:54 +02:00
Qubasa
9b39ca42e0 clan_lib: implement check_zerotier_running for network overview 2025-09-16 21:13:54 +02:00
Qubasa
104058b79c zerotier: increase network prio 2025-09-16 21:13:54 +02:00
Mic92
5dd30a8edd Merge pull request 'clanServices/wifi: allow WPA3 and other key management settings' (#5159) from nim65s/clan-core:wpa3 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5159
Reviewed-by: Kenji Berthold <aks.kenji@protonmail.com>
2025-09-16 15:53:44 +00:00
clan-bot
5127a74515 Merge pull request 'Update nixpkgs' (#5174) from update-nixpkgs into main 2025-09-16 15:51:24 +00:00
clan-bot
fd1c0dfabc Update nixpkgs 2025-09-16 15:47:29 +00:00
Moritz Böhme
3d8fab062d feat: add zerotier to network cli 2025-09-16 17:24:11 +02:00
Luis Hebendanz
559c13f41b Merge pull request 'kurogeek-flakeModules-clan-nixos-test' (#5177) from Qubasa/clan-core:kurogeek-flakeModules-clan-nixos-test into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5177
2025-09-16 15:20:16 +00:00
hsjobeki
3afe48f9cf Merge pull request 'lib/jsonschema: remove unused arguments' (#5176) from lib-1 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5176
2025-09-16 15:15:56 +00:00
Qubasa
555c2e1bc9 clan-core: use importApply for testModule export 2025-09-16 17:14:33 +02:00
Johannes Kirschbauer
80bc3daf96 lib/jsonschema: remove unused arguments 2025-09-16 17:11:19 +02:00
clan-bot
fc1a68b99c Merge pull request 'Update nixpkgs-dev in devFlake' (#5175) from update-devFlake-nixpkgs-dev into main 2025-09-16 15:09:01 +00:00
kurogeek
cbdf8745eb nixosTests option is exposed via flakeModules.testModule 2025-09-16 17:03:31 +02:00
clan-bot
b08f9743f0 Update nixpkgs-dev in devFlake 2025-09-16 15:01:32 +00:00
Luis Hebendanz
50239028b6 Merge pull request 'docs: fix small nitpicks' (#5173) from Qubasa/clan-core:improve_vars_docs2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5173
2025-09-16 15:00:52 +00:00
Qubasa
0f0cfbc7e0 docs: fix small nitpicks 2025-09-16 16:57:40 +02:00
Luis Hebendanz
d4e601586d Merge pull request 'docs: init new structure' (#5157) from improve_vars_docs2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5157
2025-09-16 14:48:15 +00:00
Qubasa
ada80be417 docs: re-add nixos rebuild
docs: fix strict errors
2025-09-16 16:45:09 +02:00
clan-bot
e4b316c14a Merge pull request 'Update nixpkgs' (#4821) from update-nixpkgs into main 2025-09-16 14:19:39 +00:00
hsjobeki
a0fda9b819 Merge pull request 'docs: remove unused plugin' (#5172) from doc-98 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5172
2025-09-16 14:13:10 +00:00
Luis Hebendanz
125a882938 Merge pull request 'bundle nix packagemanager by default' (#5166) from nix into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5166
2025-09-16 14:10:29 +00:00
Luis Hebendanz
fc223939ec Merge pull request 'simplify_http_backend' (#5167) from Qubasa/clan-core:simplify_http_backend into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5167
2025-09-16 14:09:27 +00:00
Michael Hoang
2152646df6 cli: don't hardcode system for flash list 2025-09-16 16:07:54 +02:00
Michael Hoang
1f9b44a4ad syncthing: fix vars generator not working with latest Syncthing 2025-09-16 16:07:54 +02:00
Michael Hoang
8a1f924f72 treewide: reformat 2025-09-16 16:07:54 +02:00
Michael Hoang
e43779f8d6 clanServices: remove useless importApply 2025-09-16 16:07:54 +02:00
Michael Hoang
69b0c36381 docs: use manifest.readme instead of path manipulation 2025-09-16 16:07:54 +02:00
Michael Hoang
479d7d536e cli/persist: explicitly annotate type to assist mypy 2025-09-16 16:07:54 +02:00
Michael Hoang
19a209c75a cli/templates: only catch ClanError 2025-09-16 16:07:54 +02:00
clan-bot
c249994e18 Update nixpkgs 2025-09-16 16:07:54 +02:00
hsjobeki
6910620629 Merge pull request 'docs: remove references to buildClan' (#5170) from docs-99 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5170
2025-09-16 14:07:43 +00:00
Johannes Kirschbauer
3f17a6c121 docs: remove unused plugin 2025-09-16 16:07:36 +02:00
Qubasa
864b131010 clan-app: Move middleware to it's own folder 2025-09-16 16:06:16 +02:00
Johannes Kirschbauer
50c8df7e40 flake: keep imports sorted 2025-09-16 16:02:10 +02:00
Johannes Kirschbauer
a80df32c59 lib: cleanup readme 2025-09-16 16:02:10 +02:00
Johannes Kirschbauer
b1e3e3616e docs: remove unused export 2025-09-16 16:02:10 +02:00
Johannes Kirschbauer
3d680bcc5f docs: remove references to buildClan 2025-09-16 16:02:05 +02:00
Qubasa
3f5bf8e171 docs: remove stale link
docs: revert nuschtos changes
2025-09-16 16:01:03 +02:00
Qubasa
31ff7b903c docs: add next step button to physical machine 2025-09-16 16:01:03 +02:00
Qubasa
62eb42ae5b docs: Add a what is clan extendable to homepage 2025-09-16 16:01:03 +02:00
Qubasa
d25818580d docs: Fixup stale references 2025-09-16 16:01:03 +02:00
Johannes Kirschbauer
13eba4d7c5 docs: changes from johannes
WIP
2025-09-16 16:01:03 +02:00
Qubasa
86c4555bc0 docs: init new structure 2025-09-16 16:00:40 +02:00
hsjobeki
39eb13eebb Merge pull request 'lib: move clan out of lib into flake' (#5169) from inv-1 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5169
2025-09-16 13:33:45 +00:00
Johannes Kirschbauer
daea2da358 lib: move clan out of lib into flake
This allows clanLib to stay agnostic and be more testable
2025-09-16 15:28:12 +02:00
hsjobeki
d995c0b118 Merge pull request 'inventory: remove deprecated frontmatter' (#5168) from inv-1 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5168
2025-09-16 13:05:46 +00:00
Johannes Kirschbauer
5e22830048 inventory: remove deprecated frontmatter 2025-09-16 14:59:39 +02:00
DavHau
15d117d06b Merge pull request 'generate_test_vars: fix + add tests' (#5163) from dave into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5163
2025-09-16 12:23:04 +00:00
DavHau
c936830bc6 generate_test_vars: add test 2025-09-16 19:16:53 +07:00
Jörg Thalheim
8e50ddc84b bundle nix packagemanager by default
detsys nix lazy-path seems to be incompatible with our caching and
deployment commands. By shipping nix, we can be sure to have binaries we
tested.
2025-09-16 13:25:06 +02:00
hsjobeki
f2134754c5 Merge pull request 'inventory: make resolve module a clanLib function' (#5165) from inv-1 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5165
2025-09-16 11:14:40 +00:00
Johannes Kirschbauer
f49df8d574 inventory: make resolve module a clanLib function
Unclutter inventory logic
2025-09-16 13:09:56 +02:00
Kenji Berthold
d873e667ba Merge pull request 'docs: Add information about nixos-rebuild' (#5000) from ke-docs-add-nixos-rebuild into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5000
2025-09-16 10:42:32 +00:00
hsjobeki
6c2fa3e4ed Merge pull request 'inventory: inline manifest module' (#5164) from inv-1 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5164
2025-09-16 10:42:17 +00:00
Johannes Kirschbauer
0bce953c2f inventory: inline manifest module
Reducing the clutter of files
Its sometimes better to have all the options in one place if reusing is not a concern
2025-09-16 12:36:58 +02:00
clan-bot
dd1f045022 Merge pull request 'Update sops-nix' (#5135) from update-sops-nix into main 2025-09-16 10:21:43 +00:00
clan-bot
f7cd8c8863 Update sops-nix 2025-09-16 10:01:09 +00:00
Qubasa
ee0f111fc9 clan-app: change ApiBridge ABC class to Protocol 2025-09-16 11:48:59 +02:00
DavHau
ea32fdbd93 generate_test_vars: move into clan_cli
Reduces overhead by not having to manage a separate package for this small tool
2025-09-16 16:37:41 +07:00
DavHau
1f3aa0075e generate_test_vars: fix script 2025-09-16 16:37:41 +07:00
DavHau
5d38824d8e cli/debug: fix web-pdb 2025-09-16 16:37:41 +07:00
a-kenji
5ee6156b29 docs: Add information about nixos-rebuild 2025-09-16 11:29:46 +02:00
hsjobeki
a90197cfd4 Merge pull request 'inventory: unify modules' (#5154) from inventory-unify into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5154
2025-09-16 09:02:24 +00:00
hsjobeki
cd1351cd6f Merge pull request 'lib: remove usages of flip' (#5155) from remove-flip into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5155
2025-09-16 09:01:27 +00:00
Mic92
1b193123b2 Merge pull request 'docs: Add missing space' (#5160) from hgl/clan-core:doc into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5160
Reviewed-by: Kenji Berthold <aks.kenji@protonmail.com>
2025-09-16 08:34:17 +00:00
Glen Huang
81126da053 docs: Add missing space 2025-09-16 15:07:32 +08:00
clan-bot
67795730a2 Merge pull request 'Update nixpkgs-dev in devFlake' (#5158) from update-devFlake-nixpkgs-dev into main 2025-09-16 00:07:39 +00:00
clan-bot
e6797c6f20 Update nixpkgs-dev in devFlake 2025-09-16 00:01:36 +00:00
Guilhem Saurel
8c42cc377c clanServices/wifi: allow WPA3 and other key management settings 2025-09-15 19:33:19 +02:00
Johannes Kirschbauer
5750ab8d3a lib: remove usages of flip
Makes the code more consistent to read.
Usage in 9 places is rather inconsistent style.
2025-09-15 13:17:09 +02:00
Johannes Kirschbauer
d3397af442 inventory: unify modules 2025-09-15 12:18:35 +02:00
pinpox
ea3818bb50 Remove function syntax from extraModules
Related: https://git.clan.lol/clan/clan-core/issues/5151
2025-09-15 09:52:07 +02:00
clan-bot
93280a9f98 Merge pull request 'Update data-mesher' (#5150) from update-data-mesher into main 2025-09-15 05:09:00 +00:00
clan-bot
d89ddfabec Update data-mesher 2025-09-15 05:00:39 +00:00
clan-bot
e2946615f0 Merge pull request 'Update nuschtos in devFlake' (#5149) from update-devFlake-nuschtos into main 2025-09-15 00:17:45 +00:00
clan-bot
bce9f9a747 Update nuschtos in devFlake 2025-09-15 00:01:49 +00:00
clan-bot
b494bdee21 Merge pull request 'Update nixpkgs-dev in devFlake' (#5148) from update-devFlake-nixpkgs-dev into main 2025-09-14 10:09:05 +00:00
clan-bot
13632ff659 Update nixpkgs-dev in devFlake 2025-09-14 10:01:35 +00:00
clan-bot
90ad8054d0 Merge pull request 'Update nixpkgs-dev in devFlake' (#5147) from update-devFlake-nixpkgs-dev into main 2025-09-13 15:10:47 +00:00
clan-bot
716d4a17f5 Update nixpkgs-dev in devFlake 2025-09-13 15:01:35 +00:00
clan-bot
dcd1273f3f Merge pull request 'Update nixpkgs-dev in devFlake' (#5145) from update-devFlake-nixpkgs-dev into main 2025-09-12 15:10:09 +00:00
clan-bot
899c9eed0e Update nixpkgs-dev in devFlake 2025-09-12 15:01:35 +00:00
Luis Hebendanz
af85041e5e Merge pull request 'docs: Move age plugins to vars/sops backend group. Improve age plugin documentation' (#5144) from Qubasa/clan-core:improve_vars_docs2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5144
2025-09-12 12:20:28 +00:00
Qubasa
6a96ce8679 docs: Move age plugins to vars/sops backend group. Improve age plugin documentation 2025-09-12 14:13:49 +02:00
Luis Hebendanz
60195f9614 Merge pull request 'docs: fix multiple format errors, improve readability of vars' (#5142) from Qubasa/clan-core:improve_vars_docs into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5142
2025-09-12 10:46:15 +00:00
Qubasa
447b0bf8ac docs: fix uml errors 2025-09-12 12:42:41 +02:00
clan-bot
fd162f6fc8 Merge pull request 'Update nuschtos in devFlake' (#5143) from update-devFlake-nuschtos into main 2025-09-12 00:10:15 +00:00
clan-bot
e4bf6523ad Update nuschtos in devFlake 2025-09-12 00:01:43 +00:00
Qubasa
5312799784 docs: fix multiple format errors, improve readability of vars 2025-09-11 19:45:16 +02:00
Luis Hebendanz
7d265a6156 Merge pull request 'Fix link in README and typo in zerotier service' (#5137) from ErinvanderVeen/clan-core:main into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5137
2025-09-11 13:02:07 +00:00
Luis Hebendanz
f8428947ca Merge pull request 'fix: (re)add missing tofu --host-key-check option' (#5140) from friedow/clan-core:fix/missing-host-key-check into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5140
2025-09-11 13:00:26 +00:00
Christian Friedow
196d7c95c0 fix: add missing --host-key-check option 2025-09-11 14:30:48 +02:00
clan-bot
6be40f6f79 Merge pull request 'Update nixpkgs-dev in devFlake' (#5139) from update-devFlake-nixpkgs-dev into main 2025-09-11 10:09:35 +00:00
clan-bot
3aefabd818 Update nixpkgs-dev in devFlake 2025-09-11 10:01:38 +00:00
clan-bot
230e7e6769 Merge pull request 'Update nixpkgs-dev in devFlake' (#5138) from update-devFlake-nixpkgs-dev into main 2025-09-11 05:10:22 +00:00
clan-bot
46bae67645 Update nixpkgs-dev in devFlake 2025-09-11 05:01:36 +00:00
Erin van der Veen
890e8c7003 chore(zerotier): fix stableEndpoint example 2025-09-10 20:48:50 +02:00
Erin van der Veen
0d3a62321a chore(readme): fix contributing link 2025-09-10 20:47:22 +02:00
clan-bot
ef82e07293 Merge pull request 'Update nixpkgs-dev in devFlake' (#5136) from update-devFlake-nixpkgs-dev into main 2025-09-10 15:13:31 +00:00
clan-bot
7c8c3811f4 Merge pull request 'Update disko' (#5134) from update-disko into main 2025-09-10 15:06:42 +00:00
clan-bot
9b2c97a855 Update nixpkgs-dev in devFlake 2025-09-10 15:01:50 +00:00
clan-bot
785f789628 Update disko 2025-09-10 15:00:51 +00:00
clan-bot
a034fefb51 Merge pull request 'Update sops-nix' (#5130) from update-sops-nix into main 2025-09-10 14:04:53 +00:00
clan-bot
bcd846fe5e Update sops-nix 2025-09-10 10:01:13 +00:00
clan-bot
a6214f431d Merge pull request 'Update nixpkgs-dev in devFlake' (#5131) from update-devFlake-nixpkgs-dev into main 2025-09-10 00:12:29 +00:00
clan-bot
b8890f6732 Update nixpkgs-dev in devFlake 2025-09-10 00:01:36 +00:00
Luis Hebendanz
370b4f535d Merge pull request 'vars: docs' (#4119) from vars-docs into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4119
2025-09-09 20:59:52 +00:00
Qubasa
ef66c9b5be docs: vars ai fixups 2025-09-09 22:53:15 +02:00
Jörg Thalheim
79d44f7c30 vars: docs
re-add vars-backend.md

re-add vars-backend.md
2025-09-09 22:12:07 +02:00
clan-bot
e72e100965 Merge pull request 'Update nixpkgs-dev in devFlake' (#5129) from update-devFlake-nixpkgs-dev into main 2025-09-09 20:10:13 +00:00
clan-bot
180e2a601c Merge pull request 'Update nix-darwin' (#5128) from update-nix-darwin into main 2025-09-09 20:06:57 +00:00
clan-bot
90d265089b Update nixpkgs-dev in devFlake 2025-09-09 20:01:39 +00:00
clan-bot
a0fa52fded Update nix-darwin 2025-09-09 20:00:41 +00:00
Luis Hebendanz
af4e9e784b Merge pull request 'docs: Add secure boot info to disk encryption guide' (#5127) from docs_fix into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5127
2025-09-09 17:46:09 +00:00
Qubasa
cb162a53b8 docs: Add secure boot info to disk encryption guide
fix wrong link
2025-09-09 19:41:59 +02:00
Luis Hebendanz
16e506ea1a Merge pull request 'doc: use clan-core as inputs name' (#5126) from Mayeu-doc/clan-core-input2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5126
2025-09-09 17:29:06 +00:00
Mayeu
11ec94c17f doc: use clan-core as inputs name 2025-09-09 19:18:35 +02:00
clan-bot
8468b1ebaf Merge pull request 'Update nixpkgs-dev in devFlake' (#5123) from update-devFlake-nixpkgs-dev into main 2025-09-09 15:08:55 +00:00
clan-bot
ec83130fa4 Update nixpkgs-dev in devFlake 2025-09-09 15:01:38 +00:00
Luis Hebendanz
c1e41f8fd9 Merge pull request 'docs: update concepts/inventory to match new option structure' (#5121) from friedow/clan-core:docs/concept-inventory into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5121
2025-09-09 14:44:30 +00:00
Christian Friedow
3630e778ad docs: update concepts/inventory to match new option structure 2025-09-09 15:35:23 +02:00
Luis Hebendanz
916186c465 Merge pull request 'webview: update to support displaying app icon on macOS' (#5120) from Qubasa/clan-core:demo_fix into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5120
2025-09-09 10:12:56 +00:00
clan-bot
25e733b8d7 Merge pull request 'Update nixpkgs-dev in devFlake' (#5112) from update-devFlake-nixpkgs-dev into main 2025-09-09 10:11:14 +00:00
Luis Hebendanz
2599998b17 Merge pull request 'add apply "machine" as an alias to clan machines create' (#5005) from apply into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5005
2025-09-09 10:08:58 +00:00
clan-bot
56649b7fe2 Merge pull request 'Update data-mesher' (#5111) from update-data-mesher into main 2025-09-09 10:07:57 +00:00
Luis Hebendanz
fc85622e01 Merge pull request 'ui/imports: fix asset imports' (#5119) from fix-imports into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5119
2025-09-09 10:02:29 +00:00
clan-bot
c499c563bb Update nixpkgs-dev in devFlake 2025-09-09 10:02:19 +00:00
clan-bot
b255ba0367 Update data-mesher 2025-09-09 10:01:18 +00:00
Luis Hebendanz
493adebd7c Merge pull request 'docs: Fix minor typo' (#5110) from vorburger/clan-core:docs-typo into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5110
2025-09-09 09:59:21 +00:00
Qubasa
cac2866356 webview: update to support displaying app icon on macOS 2025-09-09 11:54:18 +02:00
Qubasa
981f6052ad zerotierone: Add restartUnit to vars generators 2025-09-09 09:49:38 +00:00
Michael Vorburger
6e888c38fa docs: Fix minor typo 2025-09-08 01:03:55 +02:00
clan-bot
e953f807de Merge pull request 'Update disko' (#5108) from update-disko into main 2025-09-07 15:07:42 +00:00
clan-bot
c2534e9a42 Update disko 2025-09-07 15:00:37 +00:00
clan-bot
b0feef1a40 Merge pull request 'Update nixpkgs-dev in devFlake' (#5101) from update-devFlake-nixpkgs-dev into main 2025-09-07 05:08:56 +00:00
clan-bot
d4c26087df Update nixpkgs-dev in devFlake 2025-09-07 05:01:56 +00:00
clan-bot
1a9bbab667 Merge pull request 'Update nix-darwin' (#5100) from update-nix-darwin into main 2025-09-06 05:08:32 +00:00
clan-bot
b23171f291 Update nix-darwin 2025-09-06 05:00:40 +00:00
clan-bot
087423597b Merge pull request 'Update nixpkgs-dev in devFlake' (#5099) from update-devFlake-nixpkgs-dev into main 2025-09-05 10:08:09 +00:00
clan-bot
602dc192f3 Update nixpkgs-dev in devFlake 2025-09-05 10:01:37 +00:00
clan-bot
dba166cc8a Merge pull request 'Update nixpkgs-dev in devFlake' (#5097) from update-devFlake-nixpkgs-dev into main 2025-09-05 00:09:56 +00:00
clan-bot
21b872a1c9 Merge pull request 'Update nix-darwin' (#5096) from update-nix-darwin into main 2025-09-05 00:07:04 +00:00
clan-bot
be48ffe724 Update nixpkgs-dev in devFlake 2025-09-05 00:01:40 +00:00
clan-bot
7673b72991 Update nix-darwin 2025-09-05 00:00:43 +00:00
Johannes Kirschbauer
42bbd7c5fd ui/imports: fix asset imports 2025-09-04 19:35:06 +02:00
clan-bot
823114435a Merge pull request 'Update nixpkgs-dev in devFlake' (#5095) from update-devFlake-nixpkgs-dev into main 2025-09-04 15:08:37 +00:00
clan-bot
e7efbb701b Update nixpkgs-dev in devFlake 2025-09-04 15:01:35 +00:00
hsjobeki
30d9c86015 Merge pull request 'ui/move: fix bug, with interleaving positions' (#5094) from ui/password-input-reveal into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5094
2025-09-03 20:00:53 +00:00
Johannes Kirschbauer
313b77be79 ui/move: fix bug, with interleaving positions 2025-09-03 21:57:27 +02:00
hsjobeki
6229e62281 Merge pull request 'ui/services: fix reactivity issue when switching between services' (#5093) from ui/password-input-reveal into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5093
2025-09-03 19:53:56 +00:00
Johannes Kirschbauer
49ff4da6be ui/services: fix reactivity issue when switching between services 2025-09-03 21:50:15 +02:00
hsjobeki
6d6521803d Merge pull request 'ui/move: fix bug, when long press without moving' (#5092) from ui/password-input-reveal into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5092
2025-09-03 19:44:14 +00:00
Johannes Kirschbauer
afd7bfc8c0 ui/move: fix bug, when long press without moving 2025-09-03 21:40:46 +02:00
hsjobeki
88fa3dff83 Merge pull request 'ui/3d-fonts: replace troika with 3d rendered default font' (#5091) from ui/password-input-reveal into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5091
2025-09-03 19:38:05 +00:00
Johannes Kirschbauer
629ef65ce5 ui/3d-fonts: replace troika with 3d rendered default font 2025-09-03 21:34:26 +02:00
Johannes Kirschbauer
92151331f3 ui/devShell: remove fonts directory if exists 2025-09-03 21:33:40 +02:00
Johannes Kirschbauer
67dcd45dd5 ui/services: simplify and sort 2025-09-03 21:15:06 +02:00
hsjobeki
95a4a69ffb Merge pull request 'ui/fieldset: use normal div, due to webkit layout bug for fieldsets' (#5090) from ui/password-input-reveal into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5090
2025-09-03 19:11:47 +00:00
Johannes Kirschbauer
88343ce523 ui/sidebar: remove spurious console.log 2025-09-03 21:05:58 +02:00
Johannes Kirschbauer
fd9dd6f872 ui/fieldset: use normal div, due to webkit layout bug for fieldsets 2025-09-03 21:05:35 +02:00
Brian McGee
aaaa310c7f feat(ui): refine input to allow start and end components 2025-09-03 21:05:35 +02:00
Luis Hebendanz
ffbf22eb60 Merge pull request 'docs: Fixup out of date networking docs' (#5089) from Qubasa/clan-core:fix_docs into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5089
2025-09-03 16:39:22 +00:00
Qubasa
8d3e0d2209 docs: Fixup out of date networking docs 2025-09-03 18:35:55 +02:00
Luis Hebendanz
c05a890d50 Merge pull request 'clanServices: telegraf -> fix telegraf-json failing because file does not yet exist' (#5088) from Qubasa/clan-core:telegraf_fix into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5088
2025-09-03 16:08:07 +00:00
Qubasa
03458ffbd8 clanServices: telegraf -> fix telegraf-json failing because file does not yet exist 2025-09-03 17:51:51 +02:00
clan-bot
ea098048c8 Merge pull request 'Update nixpkgs-dev in devFlake' (#5086) from update-devFlake-nixpkgs-dev into main 2025-09-03 15:07:41 +00:00
brianmcgee
838ed6ead7 Merge pull request 'feat(ui): refine input to allow start and end components' (#5080) from ui/password-input-reveal into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5080
2025-09-03 15:02:30 +00:00
clan-bot
7e7278b99b Update nixpkgs-dev in devFlake 2025-09-03 15:01:36 +00:00
Brian McGee
f4d7728f3f feat(ui): refine input to allow start and end components 2025-09-03 15:55:49 +01:00
brianmcgee
c9b71496eb Merge pull request 'feat(ui): improve placeholder to MachineTags' (#5085) from ui/improve-tags-placeholder into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5085
2025-09-03 14:42:14 +00:00
Brian McGee
cd1f9c5a8b feat(ui): improve placeholder to MachineTags 2025-09-03 15:38:57 +01:00
hsjobeki
56379510d0 Merge pull request 'ui/sidebar: max-width of section, scroll within sections' (#5083) from ui/update-machine into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5083
2025-09-03 12:49:22 +00:00
Johannes Kirschbauer
389299ac7d ui/refetch: don't block button clicks, move context out of modal 2025-09-03 14:45:55 +02:00
Johannes Kirschbauer
9cf04bcb5f ui/services: pass instance to ServiceRoute 2025-09-03 14:31:42 +02:00
Johannes Kirschbauer
c370598564 ui/sidebar: max-width of section, scroll within sections 2025-09-03 14:31:05 +02:00
brianmcgee
04001ff178 Merge pull request 'feat(ui): refresh state after machine install or update' (#5081) from ui/refresh-state into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5081
2025-09-03 11:22:15 +00:00
Brian McGee
194c3080ea feat(ui): refresh state after machine install or update
Closes #5071
2025-09-03 12:10:35 +01:00
hsjobeki
60d1e524ac Merge pull request 'ui/update: integrate with api' (#5079) from ui/update-machine into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5079
2025-09-03 10:46:45 +00:00
Johannes Kirschbauer
672af1c63d ui/update: fix cancel/close 2025-09-03 12:41:26 +02:00
Johannes Kirschbauer
6cb728a4ca ui/update: integrate with api 2025-09-03 12:29:23 +02:00
hsjobeki
a074650947 Merge pull request 'ui/install: vars fix loading screen' (#5077) from ui/update-machine into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5077
2025-09-03 06:34:29 +00:00
Johannes Kirschbauer
f169a40c69 ui/install: fix onClose not called 2025-09-03 08:30:57 +02:00
Johannes Kirschbauer
480d5ee18c ui/install: vars fix loading screen 2025-09-03 08:28:51 +02:00
hsjobeki
ba47d797e4 Merge pull request 'ui/update: init update machine' (#5076) from ui/update-machine into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5076
2025-09-02 20:18:01 +00:00
Johannes Kirschbauer
3e5f84dcb4 ui/update: init update machine 2025-09-02 22:14:34 +02:00
brianmcgee
e398d98b42 Merge pull request 'fix(ui): re-enable machine state query but disable polling' (#5075) from ui/fix-machine-status into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5075
2025-09-02 20:13:22 +00:00
Brian McGee
09e5f78aae fix(ui): re-enable machine state query but disable polling 2025-09-02 21:09:13 +01:00
clan-bot
ae1680a720 Merge pull request 'Update nixpkgs-dev in devFlake' (#5074) from update-devFlake-nixpkgs-dev into main 2025-09-02 20:07:56 +00:00
clan-bot
9abf557353 Update nixpkgs-dev in devFlake 2025-09-02 20:01:33 +00:00
brianmcgee
dc0ec3443e Merge pull request 'feat(ui): simplify machine status' (#5073) from ui/update-machine into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5073
2025-09-02 19:28:09 +00:00
Brian McGee
d6c6918f85 feat(ui): simplify machine status 2025-09-02 21:20:25 +02:00
hsjobeki
24756442c8 Merge pull request 'feat(ui): services in sidebar and sidebar pane' (#5072) from ui/list-services-sidebar into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5072
2025-09-02 19:16:49 +00:00
Johannes Kirschbauer
c61a0f0712 ui/services: wire up with sidebar and router 2025-09-02 21:13:10 +02:00
Johannes Kirschbauer
f05bfcb13d ui/services: refactor services 2025-09-02 20:41:51 +02:00
Brian McGee
6d8ea1f2c5 feat(ui): services in sidebar and sidebar pane 2025-09-02 20:39:24 +02:00
Luis Hebendanz
f1de0e28ff Merge pull request 'clan-app: Add password input' (#5068) from Qubasa/clan-core:password_prompt into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5068
2025-09-02 15:48:24 +00:00
Qubasa
53ce3cf53d clan-app: Add password input 2025-09-02 17:41:07 +02:00
brianmcgee
0ac6d7be87 Merge pull request 'fix(ui): add loader sizes' (#5067) from ui/fix-loader-scaling into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5067
2025-09-02 15:09:42 +00:00
Brian McGee
e55401ecd9 fix(ui): add loader sizes 2025-09-02 16:04:41 +01:00
DavHau
37a49a14f4 vars: fix re-generate behavior for dependencies of shared vars (#5001)
fixes https://git.clan.lol/clan/clan-core/issues/3791

This fixes multiple issues we had when re-generating shared vars.

Problem 1: shared vars are re-generated for each individual machine instead of just once (see #3791)

Problem 2: When a shared var was re-generated for one machine, dependent vars on other machines did not get re-generated, leading to broken state

Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5001
2025-09-02 14:54:24 +00:00
brianmcgee
7f68b10611 Merge pull request 'fix(ui): remove empty strings from add machine api call' (#5066) from ui/refine-add-machine-api-call into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5066
2025-09-02 14:43:57 +00:00
Brian McGee
a2867ba29d fix(ui): remove empty strings from add machine api call 2025-09-02 15:40:32 +01:00
pinpox
0817cf868b Merge pull request 'Change default coredns port' (#5065) from fixes-coredns into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5065
2025-09-02 13:28:57 +00:00
pinpox
018ffdaeeb Change default coredns port
This removes a conflict with systemd-resolved and provides an option to
set your own port
2025-09-02 15:23:12 +02:00
hsjobeki
eebb9b6a12 Merge pull request 'ui/fix: some more fixes' (#5063) from ui-more-3 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5063
2025-09-02 12:12:25 +00:00
Johannes Kirschbauer
36f73d40b3 ui/scene: fix double click on move 2025-09-02 14:09:16 +02:00
Johannes Kirschbauer
db84369000 ui/toolbar: shrink width avoid blocking interactions 2025-09-02 14:08:48 +02:00
Johannes Kirschbauer
359b2d4e7a ui/fix: move machine into starting position 2025-09-02 12:40:44 +02:00
Johannes Kirschbauer
2af9bd5003 ui/fix: frozen map after clicking machine 2025-09-02 12:40:23 +02:00
Johannes Kirschbauer
a8cbfcbd18 ui/toolbar: increase stacking index 2025-09-02 12:38:42 +02:00
Johannes Kirschbauer
dc17d62131 ui/contextMenu: prevent duplicate context menu 2025-09-02 12:38:15 +02:00
lassulus
f97e22e125 Merge pull request 'fix: network checking triggering fail2ban' (#5047) from MoritzBoehme/clan-core:fix-network-check into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5047
2025-09-02 09:49:33 +00:00
hsjobeki
1d9ad2ae54 Merge pull request 'ui/labels: fix font, bg radius' (#5061) from ui-more-3 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5061
2025-09-02 09:38:38 +00:00
pinpox
c266261d3b Merge pull request 'Add certificates service' (#4780) from certificates into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4780
2025-09-02 09:36:18 +00:00
Johannes Kirschbauer
93c31d4c26 ui/labels: fix font, bg radius 2025-09-02 11:34:55 +02:00
pinpox
c9275db377 update vars 2025-09-02 11:27:31 +02:00
brianmcgee
cf83833d8b Merge pull request 'fix(ui): reactivity within machine detail view' (#5060) from ui/fix-machine-detail into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5060
2025-09-02 08:05:03 +00:00
Brian McGee
494f79edb4 fix(ui): reactivity within machine detail view 2025-09-02 09:01:23 +01:00
clan-bot
de3102614a Merge pull request 'Update flake-parts' (#5059) from update-flake-parts into main 2025-09-02 00:06:18 +00:00
clan-bot
a6f0924c05 Update flake-parts 2025-09-02 00:00:42 +00:00
pinpox
99dc4f6787 Fix update-vars script 2025-09-01 22:31:09 +02:00
hsjobeki
5f2ad6432e Merge pull request 'ui/machines: some scenen improvements' (#5058) from ui-more-2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5058
2025-09-01 18:52:20 +00:00
Johannes Kirschbauer
f8c34caaab ui/machines: add background to 3d labels 2025-09-01 20:48:02 +02:00
hsjobeki
8c2399446b Merge pull request 'ui/machineTags: remove spurious console.logs' (#5056) from ui-more-2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5056
2025-09-01 18:39:11 +00:00
Johannes Kirschbauer
95c781bf4d ui/machines: move on long press 2025-09-01 19:14:32 +02:00
Johannes Kirschbauer
fe58de0997 ui/machineTags: remove spurious logging 2025-09-01 18:23:39 +02:00
hsjobeki
7582458bae Merge pull request 'ui/machineTags: fix keyboard and select logic' (#5055) from ui-more-2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5055
2025-09-01 16:20:37 +00:00
Johannes Kirschbauer
3a7d7afaab ui/machineTags: fix keyboard and select logic 2025-09-01 18:15:48 +02:00
Luis Hebendanz
321eeacff0 Merge pull request 'clan-app: Now displays runtime icon correctly in process overview' (#5019) from Qubasa/clan-core:fix_runtime_icon into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5019
2025-09-01 15:37:51 +00:00
Qubasa
8ae43ff9a0 clan-app: display runtime icon on macOS too 2025-09-01 17:34:30 +02:00
Qubasa
e6efd5e731 clan-app: display runtime icon correctly in process overview 2025-09-01 17:34:07 +02:00
clan-bot
7c1c8a5486 Merge pull request 'Update nuschtos in devFlake' (#5053) from update-devFlake-nuschtos into main 2025-09-01 15:10:50 +00:00
clan-bot
7932562fa6 Merge pull request 'Update nixpkgs-dev in devFlake' (#5052) from update-devFlake-nixpkgs-dev into main 2025-09-01 15:10:24 +00:00
clan-bot
ac22843abc Merge pull request 'Update disko' (#5051) from update-disko into main 2025-09-01 15:10:23 +00:00
clan-bot
eb83386098 Update nuschtos in devFlake 2025-09-01 15:01:33 +00:00
clan-bot
7877075847 Update nixpkgs-dev in devFlake 2025-09-01 15:01:30 +00:00
clan-bot
7206dd8219 Update disko 2025-09-01 15:00:34 +00:00
hsjobeki
f21e1e7641 Merge pull request 'api/machines: move configuration data into subattribute' (#5048) from api-list-machines into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5048
2025-09-01 14:55:26 +00:00
Johannes Kirschbauer
c2a3f5e498 api/machines: populate instance_refs 2025-09-01 16:47:47 +02:00
pinpox
63c0db482f rename TLDs to tlds 2025-09-01 15:49:53 +02:00
pinpox
d2456be3dd Add certificates service 2025-09-01 15:49:53 +02:00
pinpox
c3c08482ac Merge pull request 'Fix update-vars, add shell' (#5050) from fix-update-vars-new into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5050
2025-09-01 13:38:25 +00:00
brianmcgee
62126f0c32 Merge pull request 'feat(ui): refine styling for MachineTags and fix inverted mode' (#5049) from ui/refine-machine-tags into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5049
2025-09-01 13:32:06 +00:00
pinpox
28139560c2 Fix update-vars, add shell 2025-09-01 15:31:54 +02:00
Brian McGee
45c916fb6d feat(ui): refine styling for MachineTags and fix inverted mode
Closes #5045
2025-09-01 14:27:47 +01:00
Johannes Kirschbauer
727d4e70ae api/machines: move configuration data into subattribute
This helps to make room for 'instance_refs'
And potentially other metadata that we want to compute and expose
2025-09-01 14:42:12 +02:00
Moritz Böhme
261c5d2be8 fix: network checking triggering fail2ban 2025-09-01 14:17:10 +02:00
clan-bot
87ea942399 Merge pull request 'Update data-mesher' (#5044) from update-data-mesher into main 2025-09-01 07:49:03 +00:00
clan-bot
39a032a285 Update data-mesher 2025-09-01 05:00:37 +00:00
clan-bot
a06940e981 Merge pull request 'Update treefmt-nix in devFlake' (#5043) from update-devFlake-treefmt-nix into main 2025-08-31 20:13:10 +00:00
clan-bot
4aebfadc8a Merge pull request 'Update nixpkgs-dev in devFlake' (#5042) from update-devFlake-nixpkgs-dev into main 2025-08-31 20:11:27 +00:00
clan-bot
f45f26994e Merge pull request 'Update treefmt-nix' (#5041) from update-treefmt-nix into main 2025-08-31 20:11:10 +00:00
clan-bot
c777a1a2b9 Update treefmt-nix in devFlake 2025-08-31 20:01:38 +00:00
clan-bot
36fe7822f7 Update nixpkgs-dev in devFlake 2025-08-31 20:01:33 +00:00
clan-bot
0ccf3310f9 Update treefmt-nix 2025-08-31 20:01:10 +00:00
clan-bot
a8d6552caa Merge pull request 'Update nixos-facter-modules' (#5032) from update-nixos-facter-modules into main 2025-08-31 19:39:40 +00:00
hsjobeki
a131448dcf Merge pull request 'ui/scene: init move machine' (#5031) from ui-more-2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5031
2025-08-31 15:22:32 +00:00
hsjobeki
14a52dbc2e Merge pull request 'api/modules: improve logic for builtin modules' (#5040) from fix-modules-spagetti-other into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5040
2025-08-31 15:12:31 +00:00
Johannes Kirschbauer
565391bd8c ui/modules: deduplicate information 2025-08-31 17:09:36 +02:00
Johannes Kirschbauer
9bffa2a774 ui/clanContext: simplify
Try to avoid classes for use cases like this
2025-08-31 17:04:03 +02:00
Johannes Kirschbauer
e42a07423e ui/machineLabels: use troika for label rendering 2025-08-31 17:04:03 +02:00
Johannes Kirschbauer
c5178ac16a ui/fonts: use ttf font for 3d texture rendering 2025-08-31 17:04:03 +02:00
Johannes Kirschbauer
33791e06cd ui: cleanup unused code 2025-08-31 17:04:03 +02:00
Johannes Kirschbauer
c7e3bf624e ui/scene: replace 2d labels 2025-08-31 17:04:03 +02:00
Johannes Kirschbauer
ba027c2239 ui/scene: init move machine 2025-08-31 17:04:03 +02:00
Johannes Kirschbauer
25fdabee29 ui/menu: add simple context menu 2025-08-31 17:04:03 +02:00
clan-bot
de69c63ee3 Update nixos-facter-modules 2025-08-31 15:00:41 +00:00
Johannes Kirschbauer
b9573636d8 ui/modules: simplify ui logic 2025-08-31 15:58:39 +02:00
Johannes Kirschbauer
3862ad2a06 api/modules: add foreign key to instances 2025-08-31 15:58:39 +02:00
Johannes Kirschbauer
c447aec9d3 api/modules: improve logic for builtin modules 2025-08-31 15:58:39 +02:00
Johannes Kirschbauer
5137d19b0f nix_modules: fix and update None types 2025-08-31 15:58:39 +02:00
Johannes Kirschbauer
453f2649d3 clanInternals: expose builtin modules 2025-08-31 15:58:39 +02:00
Johannes Kirschbauer
58cfcf3d25 api/modules: delete instances.py duplicate 2025-08-31 15:58:39 +02:00
clan-bot
c260a97cc1 Merge pull request 'Update nixpkgs-dev in devFlake' (#5033) from update-devFlake-nixpkgs-dev into main 2025-08-31 13:49:44 +00:00
clan-bot
3eb64870b0 Update nixpkgs-dev in devFlake 2025-08-31 13:44:23 +00:00
Mic92
7412b958c6 Merge pull request 'disable state-version in right place' (#5038) from private-flake-2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5038
2025-08-31 13:43:07 +00:00
Jörg Thalheim
a0c27194a6 disable state-version in right place 2025-08-31 15:37:25 +02:00
Mic92
3437af29cb Merge pull request 'vars: fix var name in error message' (#5037) from private-flake-2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5037
2025-08-31 13:33:01 +00:00
Jörg Thalheim
0b1c12d2e5 flash-installer: disable state-version
We cannot have vars in here because it breaks:

```
  clan flash write --flake https://git.clan.lol/clan/clan-core/archive/main.tar.gz   --ssh-pubkey $HOME/.ssh/id_ed25519.pub   --keymap us   --language en_US.UTF-8   --disk main /dev/sdb   flash-installer
```
2025-08-31 15:26:04 +02:00
Jörg Thalheim
8620761bbd vars: fix var name in error message 2025-08-31 15:23:24 +02:00
Mic92
d793b6ca07 Merge pull request 'vars: improve error message when storing trying to store a var in a read-only flake' (#5036) from private-flake-2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5036
2025-08-31 13:20:13 +00:00
Jörg Thalheim
17e9231657 vars: improve error message when storing trying to store a var in a read-only flake 2025-08-31 14:14:56 +02:00
Mic92
acc2674d79 Merge pull request 'fix: check if phases are non-default when installing' (#5024) from sachk/clan-core:main into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5024
2025-08-29 16:16:01 +00:00
Jörg Thalheim
c34a21a3bb install: make Step a String enum 2025-08-29 17:45:16 +02:00
Mic92
275bff23da Merge pull request 'zfs-latest: fix eval errors' (#5029) from zfs-latest into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5029
2025-08-29 15:26:58 +00:00
Sacha Korban
1a766a3447 fix: check if phases are non-default when running 2025-08-29 17:26:49 +02:00
Jörg Thalheim
c22844c83b zfs-latest: fix eval errors 2025-08-29 17:20:56 +02:00
clan-bot
5472ca0e21 Merge pull request 'Update nixpkgs-dev in devFlake' (#5028) from update-devFlake-nixpkgs-dev into main 2025-08-29 15:08:13 +00:00
clan-bot
ad890b0b6b Update nixpkgs-dev in devFlake 2025-08-29 15:01:35 +00:00
DavHau
a364b5ebf3 API/list_service_instances: add module metadata (#5023)
@hsjobeki

Co-authored-by: Johannes Kirschbauer <hsjobeki@gmail.com>
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5023
2025-08-29 13:14:19 +00:00
brianmcgee
d0134d131e Merge pull request 'feat(ui): display add machine in sidebar when machine list is empty' (#5027) from ui/refine-add-machine into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5027
2025-08-29 12:27:33 +00:00
Brian McGee
ccf0dace11 feat(ui): display add machine in sidebar when machine list is empty 2025-08-29 13:23:45 +01:00
hsjobeki
9977a903ce Merge pull request 'ui/scene: cursor and mode fixes' (#5026) from ui-more-2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5026
2025-08-29 12:01:56 +00:00
Johannes Kirschbauer
dc9bf5068e ui/scene: make 'select' the default mode 2025-08-29 13:58:35 +02:00
Johannes Kirschbauer
6b4f79c9fa ui/scene: add different cursor type 2025-08-29 13:54:32 +02:00
brianmcgee
b2985b59e9 Merge pull request 'feat(ui): stop reloading sidebar when moving between machine' (#5025) from ui/stop-sidebar-pane-re-opening into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5025
2025-08-29 11:27:03 +00:00
Brian McGee
d4ac3b83ee feat(ui): stop reloading sidebar when moving between machine 2025-08-29 12:06:28 +01:00
hsjobeki
00bf55be5a Merge pull request 'ui/implement-add-machine-workflow' (#5021) from ui/implement-add-machine-workflow into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5021
2025-08-29 08:42:31 +00:00
Johannes Kirschbauer
851d6aaa89 ui/machines: hook up create machine with scene workflow 2025-08-29 10:39:05 +02:00
Johannes Kirschbauer
f007279bee ui: format and debug messages 2025-08-29 10:38:39 +02:00
Brian McGee
5a3381d9ff ui/machines: add machine workflow 2025-08-29 10:34:03 +02:00
clan-bot
83e51db2e7 Merge pull request 'Update nixpkgs-dev in devFlake' (#5022) from update-devFlake-nixpkgs-dev into main 2025-08-29 00:11:06 +00:00
clan-bot
4e4af8a52f Update nixpkgs-dev in devFlake 2025-08-29 00:01:29 +00:00
Brian McGee
54a8ec717e chore(ui): rename install workflow to InstallMachine 2025-08-28 22:44:27 +02:00
hsjobeki
d3e5e6edf1 Merge pull request 'ui/service: rewire to allow external selection' (#5020) from search into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5020
2025-08-28 20:43:07 +00:00
Johannes Kirschbauer
a4277ad312 ui/service: rewire to allow external selection 2025-08-28 22:39:49 +02:00
Johannes Kirschbauer
8877f2d451 ui/scene: lift state signals to allow external access 2025-08-28 22:39:23 +02:00
Johannes Kirschbauer
9275b66bd9 ui/machine: remove unsued imports 2025-08-28 22:38:19 +02:00
Johannes Kirschbauer
6a964f37d5 ui/machineRepr: listen to highlight state 2025-08-28 22:38:19 +02:00
Johannes Kirschbauer
73f2a4f56f ui/hooks: add clickOutside hook 2025-08-28 22:37:34 +02:00
Johannes Kirschbauer
85fb0187ee ui/typography: add missing label xxs 2025-08-28 22:37:15 +02:00
Johannes Kirschbauer
db9812a08b ui/sidebar: remove unused imports 2025-08-28 22:37:05 +02:00
Johannes Kirschbauer
ca69530591 ui/search: fix divider and text styles 2025-08-28 22:36:50 +02:00
Johannes Kirschbauer
fc5b0e4113 ui/multisearch: make controlled for now 2025-08-28 22:36:21 +02:00
Johannes Kirschbauer
278af5f0f4 ui/queries: add instances query 2025-08-28 22:35:58 +02:00
Johannes Kirschbauer
e7baf25ff7 ui/toast: add toast temporarily 2025-08-28 22:35:33 +02:00
Johannes Kirschbauer
fada75144c ui/highlight: add global highlighter store 2025-08-28 22:35:15 +02:00
brianmcgee
803ef5476f Merge pull request 'feat(ui): disable button when loading state is active' (#5018) from ui/disable-button-when-loading into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5018
2025-08-28 16:00:57 +00:00
brianmcgee
016bd263d0 Merge pull request 'ui/refine-sidebar-sidepane' (#5017) from ui/refine-sidebar-sidepane into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5017
2025-08-28 15:44:27 +00:00
Brian McGee
f9143f8a5d feat(ui): disable button when loading state is active 2025-08-28 16:43:23 +01:00
Brian McGee
92eb27fcb1 feat(ui): reduce size of sidebar when selecting a machine 2025-08-28 16:40:47 +01:00
Brian McGee
0cc9b91ae8 fix(ui): quirks with sidebar sizing 2025-08-28 15:56:37 +01:00
hsjobeki
2ed3608e34 Merge pull request 'ui/clan: wire up service create' (#5016) from search into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5016
2025-08-28 12:17:03 +00:00
Johannes Kirschbauer
a92a1a7dd1 ui/clan: wire up service create 2025-08-28 14:13:39 +02:00
Johannes Kirschbauer
9a903be6d4 ui/services: add submit handler to create the instance 2025-08-28 14:13:26 +02:00
Johannes Kirschbauer
adea270b27 ui/tagSelect: remove left over console.log 2025-08-28 14:13:05 +02:00
clan-bot
765eb142a5 Merge pull request 'Update nixpkgs-dev in devFlake' (#5014) from update-devFlake-nixpkgs-dev into main 2025-08-28 10:08:09 +00:00
clan-bot
faa1405d6b Update nixpkgs-dev in devFlake 2025-08-28 10:01:48 +00:00
hsjobeki
0c93aab818 Merge pull request 'ui/services: workflow init' (#5013) from search into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5013
2025-08-28 08:19:01 +00:00
Johannes Kirschbauer
56923ae2c3 ui/services: workflow init 2025-08-28 10:11:15 +02:00
Johannes Kirschbauer
e2f64e1d40 ui/stepper: forward props in backButton 2025-08-28 10:10:52 +02:00
Johannes Kirschbauer
c574b84278 ui/tagSelect: simplify by requiring objects with value key 2025-08-28 10:10:25 +02:00
Johannes Kirschbauer
640f15d55e ui/search: remove portal, fix styling 2025-08-28 10:09:41 +02:00
Johannes Kirschbauer
789d326273 ui/queries: add list tags query 2025-08-28 10:09:03 +02:00
clan-bot
1763d85d91 Merge pull request 'Update nixpkgs-dev in devFlake' (#5011) from update-devFlake-nixpkgs-dev into main 2025-08-27 20:10:01 +00:00
clan-bot
082fa05083 Update nixpkgs-dev in devFlake 2025-08-27 20:01:45 +00:00
brianmcgee
9ed7190606 Merge pull request 'fix(ui): icon alignment in alerts' (#5008) from ui/fix-icon-misalignment into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5008
2025-08-27 16:33:29 +00:00
Brian McGee
6c22539dd4 fix(ui): icon alignment in alerts
Closes #5004
2025-08-27 17:30:08 +01:00
Luis Hebendanz
e6819ede61 Merge pull request 'docs/update: refactor machine update guide' (#4997) from docs-10 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4997
2025-08-27 15:40:34 +00:00
Qubasa
186a760529 docs: fixup links to networking guide, improve introduction. 2025-08-27 17:37:15 +02:00
clan-bot
a84aee7b0c Merge pull request 'Update nixos-facter-modules' (#5007) from update-nixos-facter-modules into main 2025-08-27 15:10:12 +00:00
clan-bot
cab2fa44ba Update nixos-facter-modules 2025-08-27 15:00:55 +00:00
Jörg Thalheim
758eacd27e add apply "machine" as an alias to clan machines create
I was a bit confused that I was able to list templates but not
apply them. Turns out that "apply" only supported disk templates
2025-08-27 13:39:39 +00:00
Mic92
5962149e55 Merge pull request 'remove diskId from existing templates' (#5006) from drop-diskid into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5006
2025-08-27 13:31:23 +00:00
Jörg Thalheim
00f9d08a4b remove diskId from existing templates
we don't have a replacement yet, but at least this will work.
2025-08-27 15:24:59 +02:00
clan-bot
3d0c843308 Merge pull request 'Update nixpkgs-dev in devFlake' (#5003) from update-devFlake-nixpkgs-dev into main 2025-08-27 10:08:09 +00:00
clan-bot
847138472b Update nixpkgs-dev in devFlake 2025-08-27 10:01:50 +00:00
Johannes Kirschbauer
c7786a59fd docs/update: refactor machine update guide
Restructured page: core workflow first, advanced usage after.

Improved grammar, phrasing, and capitalization (Clan CLI, apostrophes).

Added warnings/notes for buildHost and CPU architecture.

Polished code snippets and CLI examples for clarity.
2025-08-27 10:26:53 +02:00
hsjobeki
3b2d357f10 Merge pull request 'api/modules: unify duplicate endpoints for {modules, instances}' (#4994) from search into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4994
2025-08-27 07:13:46 +00:00
DavHau
a83dbf604c Merge pull request 'vars: always generate dependents' (#4996) from vars into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4996
2025-08-27 05:59:13 +00:00
DavHau
f77456a123 vars: simplify graph implementation, remove obsolete closure functions
- full_closure is obsolete since it is the same as calling requested_closure with the full list of generators.
- minimal_closure is obsolete as well. Since the recent addition of dependents to the closure via 3d2127ce1e it is essentially the same as the all_missing_closure
2025-08-27 12:50:59 +07:00
DavHau
6e4c3a638d vars: move graph tests to separate file 2025-08-27 11:47:46 +07:00
DavHau
3d2127ce1e vars: always generate dependents
Even for the minimal closure case (when a specific generator was picked), we should still force regeneration of all dependents, as otherwise we risk keeping outdated dependents from previous generations
2025-08-27 11:47:46 +07:00
DavHau
a4a5916fa2 vars: generate over multiple machines at once 2025-08-27 11:45:45 +07:00
Johannes Kirschbauer
f6727055cd api/modules: unify duplicate endpoints for {modules, instances} 2025-08-26 21:44:58 +02:00
hsjobeki
0517d87caa Merge pull request 'api/instances: add list service instances' (#4993) from search into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4993
2025-08-26 16:52:53 +00:00
Johannes Kirschbauer
89e587592c api/instances: add list service instances 2025-08-26 18:47:08 +02:00
hsjobeki
439495d738 Merge pull request 'ui/search: fix height of overflow' (#4992) from search into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4992
2025-08-26 16:46:29 +00:00
Johannes Kirschbauer
0b2fd681be ui/search: fix height of overflow 2025-08-26 18:43:09 +02:00
hsjobeki
41de615331 Merge pull request 'ui/services: add more features to components' (#4988) from search into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4988
2025-08-26 16:40:51 +00:00
Johannes Kirschbauer
b7639b1d81 ui/services: fix some background colors 2025-08-26 18:35:43 +02:00
Johannes Kirschbauer
602879c9e4 ui/services: workflow select service 2025-08-26 18:35:43 +02:00
Johannes Kirschbauer
53e16242b9 ui/search: add loading state 2025-08-26 18:35:43 +02:00
Johannes Kirschbauer
24c5146763 ui/search: fix height calculate to avoid overlaying components 2025-08-26 18:35:43 +02:00
Johannes Kirschbauer
dca7aa0487 ui/modules: hook up list modules query 2025-08-26 18:35:43 +02:00
Johannes Kirschbauer
647bc4e4df api/list_modules: return a simpler list of modules 2025-08-26 18:35:43 +02:00
brianmcgee
1c80223fe3 Merge pull request 'feat(ui): remove light typography weight' (#4991) from misc/fixes into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4991
2025-08-26 16:18:21 +00:00
Brian McGee
7ac9b00398 feat(ui): remove light typography weight 2025-08-26 16:13:53 +01:00
brianmcgee
d37c9e3b04 Merge pull request 'feat(ui): refine remove clan button copy' (#4986) from ui/refine-remove-clan into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4986
2025-08-26 14:44:12 +00:00
Brian McGee
0fe9d0e157 feat(ui): refine remove clan button copy 2025-08-26 15:40:24 +01:00
Mic92
5479c767c1 Merge pull request 'try{300,301,400}: fix' (#4984) from checkout-update into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4984
2025-08-26 14:31:57 +00:00
brianmcgee
edc389ba4b Merge pull request 'feat(ui): change button font to normal instead of monospace' (#4985) from ui/change-button-font into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4985
2025-08-26 14:23:10 +00:00
Jörg Thalheim
4cb17d42e1 PLR2004: fix 2025-08-26 16:21:15 +02:00
Jörg Thalheim
f26499edb8 pyproject.toml: add descriptions to each rule 2025-08-26 16:21:15 +02:00
Jörg Thalheim
2857cb7ed8 remove various ignores that had no actual issue 2025-08-26 16:21:15 +02:00
Jörg Thalheim
3168fecd52 PT100: fix 2025-08-26 16:21:15 +02:00
Jörg Thalheim
24c20ff243 TRY400: fix 2025-08-26 16:21:15 +02:00
Jörg Thalheim
8ba8fda54b RUF100: fix 2025-08-26 16:21:15 +02:00
Brian McGee
0992a47b00 feat(ui): change button font to normal instead of monospace 2025-08-26 15:13:30 +01:00
Jörg Thalheim
d5b09f18ed RET504: fix 2025-08-26 15:55:23 +02:00
Jörg Thalheim
fb2fe36c87 SIM112: fix 2025-08-26 15:55:23 +02:00
hsjobeki
3db51887b1 Merge pull request 'ui/select machines/tags: add custom combobox' (#4983) from search into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4983
2025-08-26 13:51:50 +00:00
Johannes Kirschbauer
24f3bcca57 ui/select: rename to tagSelect 2025-08-26 15:48:28 +02:00
Johannes Kirschbauer
85006c8103 ui/select machines/tags: add custom combobox
This just renders machines and tags as chips
onclick will open another combobox
2025-08-26 15:47:22 +02:00
Jörg Thalheim
db5571d623 SIM108: fix 2025-08-26 15:23:36 +02:00
Jörg Thalheim
d4bdaec586 SIM102: fix 2025-08-26 15:22:25 +02:00
Jörg Thalheim
cb9c8e5b5a try{300,301,400}: fix 2025-08-26 15:17:16 +02:00
Mic92
0a1802c341 Merge pull request 'github/repo-sync: v4 -> v5' (#4982) from checkout-update into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4982
2025-08-26 12:59:10 +00:00
Mic92
dfae1a4429 Merge pull request 'PLC0415: fix' (#4981) from ruff into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4981
2025-08-26 12:58:37 +00:00
Jörg Thalheim
c1dc73a21b github/repo-sync: v4 -> v5 2025-08-26 14:54:41 +02:00
Jörg Thalheim
8145740cc1 api: lazly load Api options 2025-08-26 14:48:20 +02:00
Jörg Thalheim
b2a54f5b0d PLC0415: fix 2025-08-26 14:46:42 +02:00
hsjobeki
9c9adc6e16 Merge pull request 'ui/tags: refactor generic children and icon' (#4960) from search into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4960
2025-08-26 12:14:41 +00:00
Johannes Kirschbauer
f7cde8eb0f ui/tags: refactor generic children and icon 2025-08-26 14:11:14 +02:00
DavHau
501d020562 vars: retrieve generators for multiple machines
This is necessary ground work for fixing regeneration behavior spanning over multiple machines
2025-08-26 18:55:54 +07:00
Mic92
a9bafd71e1 Merge pull request 'templates/list: we can compute the lenght of an dictionary directly' (#4980) from ruff into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4980
2025-08-26 11:45:44 +00:00
Mic92
166e4b8081 Merge pull request 'add feature: ask for vars input confirmation, and fail after 3 attempts. fixes accidental misinputs when typing passwords!' (#4920) from adeci-2xconfirm into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4920
2025-08-26 11:41:16 +00:00
Jörg Thalheim
c3eb40f17a templates/list: we can compute the lenght of an dictionary directly 2025-08-26 13:39:49 +02:00
Jörg Thalheim
7330285150 prompt/multiline: strip final newline just like hidden prompt 2025-08-26 13:35:12 +02:00
Luis Hebendanz
8cf8573c61 Merge pull request 'clan-app: Maybe fix the logging errror ValueError: I/O operation on closed file.' (#4974) from Qubasa/clan-core:fix_logging into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4974
2025-08-26 11:32:48 +00:00
Jörg Thalheim
5bfa0d7a9d prompt: catch EOF errors 2025-08-26 13:26:49 +02:00
adeci
8ea2dd9b72 add feature: ask for vars input confirmation, and fail after 3 attempts. fixes accidental misinputs when typing passwords! 2025-08-26 13:26:49 +02:00
Mic92
6efcade56a Merge pull request 'Enable "all" ruff lint fixes' (#4978) from ruff into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4978
2025-08-26 11:26:47 +00:00
Jörg Thalheim
6d2372be56 machines/update: fix incorrecct nixos-rebuild command 2025-08-26 13:11:43 +02:00
brianmcgee
626af4691b Merge pull request 'feat(ui): pin stepper buttons to the bottom' (#4979) from ui/pinned-stepper-buttons into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4979
2025-08-26 11:07:30 +00:00
Jörg Thalheim
63697ac4b1 various fixes 2025-08-26 13:07:22 +02:00
Brian McGee
0ebb1f0c66 feat(ui): pin stepper buttons to the bottom
Closes #4968
2025-08-26 12:02:28 +01:00
Jörg Thalheim
1dda60847e PLW0602: fix 2025-08-26 12:57:31 +02:00
Jörg Thalheim
a7bce4cb19 pyproject: enable all lints 2025-08-26 12:57:31 +02:00
Mic92
a5474bc25f Merge pull request 'ruff-7-misc' (#4939) from ruff-7-misc into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4939
2025-08-26 10:43:12 +00:00
Jörg Thalheim
f634b8f1fb merge-after-ci: move away from writePython3Bin
this is one is doing checks we don't want because we already have ruff.
2025-08-26 12:39:50 +02:00
brianmcgee
0ad40a0233 Merge pull request 'ui/refine-select-folder-onboarding' (#4977) from ui/refine-select-folder-onboarding into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4977
2025-08-26 10:30:23 +00:00
Luis Hebendanz
78abc36cd3 Merge pull request 'clan-cli: clan machines update-hardware-config now uses kexec, and supports non NixOS targets' (#4948) from Qubasa/clan-core:fix_update_hardware_config into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4948
2025-08-26 10:16:59 +00:00
Brian McGee
f5158b068f feat(ui): reduce size of sidebar pane
Make it clearer the distinction between parent and child panes.
2025-08-26 11:16:03 +01:00
Jörg Thalheim
e6066a6cb1 spawn_tor: catch OSError and wrap as ClanError 2025-08-26 12:12:29 +02:00
clan-bot
fc8b66effa Merge pull request 'Update nixpkgs-dev in devFlake' (#4972) from update-devFlake-nixpkgs-dev into main 2025-08-26 10:09:59 +00:00
Qubasa
16b92963fd clan-app: Maybe fix the logging errror ValueError: I/O operation on closed file. 2025-08-26 12:08:45 +02:00
Brian McGee
2ff3d871ac feat(ui): allow placing machines directly next to each other 2025-08-26 11:02:58 +01:00
clan-bot
108936ef07 Update nixpkgs-dev in devFlake 2025-08-26 10:01:48 +00:00
Jörg Thalheim
c45d4cfec9 D413/D212: fix 2025-08-26 12:01:47 +02:00
Jörg Thalheim
64217e1281 G001: fix 2025-08-26 12:01:47 +02:00
Jörg Thalheim
d1421bb534 EXE002: fix 2025-08-26 12:01:47 +02:00
Jörg Thalheim
ac20514a8e EXE001: fix 2025-08-26 12:01:47 +02:00
Jörg Thalheim
79c4e73a15 test_http_api: remove unused logging middleware 2025-08-26 12:01:47 +02:00
Jörg Thalheim
61a647b436 PLR1704: fix 2025-08-26 12:01:47 +02:00
Jörg Thalheim
c9a709783a BLE001: fix 2025-08-26 12:01:47 +02:00
Kenji Berthold
c55b369899 Merge pull request 'docs: Add edit button to documentation pages' (#4969) from kenji/ke-add-repo-url into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4969
2025-08-26 09:59:14 +00:00
Brian McGee
084b8bacd3 fix(ui): typos in install machine workflow 2025-08-26 10:52:52 +01:00
a-kenji
47ad7d8a95 docs: Add edit button to documentation pages
Closes: #4966
2025-08-26 11:52:08 +02:00
a-kenji
3798808013 docs: Fix edit uri 2025-08-26 11:51:53 +02:00
Brian McGee
43a39267f3 feat(ui): make the intention of the select folder button clearer in Onboarding 2025-08-26 10:44:42 +01:00
Mic92
db94ea2d2e Merge pull request 'Misc ruff fixes' (#4965) from ruff-foo into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4965
2025-08-26 09:44:06 +00:00
hsjobeki
f0533f9bba Merge pull request 'ui/scene: dont snap to occupied positions' (#4967) from fixes-ui into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4967
2025-08-26 09:43:59 +00:00
Johannes Kirschbauer
360048fd04 ui/scene: dont snap to occupied positions 2025-08-26 11:40:38 +02:00
Jörg Thalheim
8f8426de52 PGH003: fix 2025-08-26 11:36:38 +02:00
Qubasa
4bce390e64 clan-cli: clan machiens update-hardware-config now uses kexec, and supports non NixOS targets 2025-08-26 11:35:44 +02:00
DavHau
2b7837e2b6 Merge pull request 'GUI: add port option for ssh remote' (#4961) from dave into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4961
2025-08-26 09:33:26 +00:00
Jörg Thalheim
cbf9678534 flake/prefetch: Fix unconditional truthy string causes always-True 2025-08-26 11:07:57 +02:00
Jörg Thalheim
b38b10c9a6 automatic ruff fixes 2025-08-26 11:07:57 +02:00
Jörg Thalheim
31cbb7dc00 PLC0415: fix 2025-08-26 11:07:57 +02:00
hsjobeki
0fa4377793 Merge pull request 'ui/scene: add reload button' (#4962) from fixes-ui into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4962
2025-08-26 09:01:45 +00:00
Johannes Kirschbauer
7b0d10e8c2 ui/queries: remove annoying refetch interval, invalidate on change instead 2025-08-26 10:58:39 +02:00
Johannes Kirschbauer
bb41adab4b ui/scene: fix syncing remote and local state 2025-08-26 10:40:09 +02:00
DavHau
648aa7dc59 Merge pull request 'API: fix serialization of union types' (#4963) from serde into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4963
2025-08-26 08:26:13 +00:00
DavHau
3073969c92 vars/tests: add comments 2025-08-26 15:17:41 +07:00
DavHau
2f1dc3a33d API: fix serialization of union types
Due to this bug in serde.py, the run_generators API id not work for the frontend
2025-08-26 15:16:55 +07:00
Johannes Kirschbauer
b707dcea2d ui/scene: add reload button 2025-08-26 10:08:05 +02:00
Johannes Kirschbauer
4f0c8025b2 ui/queries: remove annoying refetch interval, invalidate on change instead 2025-08-26 10:07:41 +02:00
pinpox
b91bee537a Merge pull request 'Enable state-version in defaults' (#4711) from default-state-version into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4711
2025-08-26 07:49:46 +00:00
pinpox
7207a3e8cd Cleanup state-version test 2025-08-26 09:44:01 +02:00
pinpox
ac675a5af0 Merge pull request 'Add coredns module' (#4837) from coredns into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4837
2025-08-26 07:39:57 +00:00
pinpox
64caebde62 service/state-version: drop 2025-08-26 09:32:36 +02:00
pinpox
4934884e0c Enable state-version in defaults 2025-08-26 09:32:36 +02:00
pinpox
22cd9baee2 Merge pull request 'Improve inventory docs' (#4933) from inventory-docs into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4933
2025-08-26 07:32:23 +00:00
pinpox
84232b5355 Improve inventory docs 2025-08-26 09:29:25 +02:00
DavHau
5bc7c255c1 GUI: add port option for ssh remote
I need this for testing with a local VM, which ahs a different port than 22.

This also disables host key checking, as there is currently no workflow int he GUI which can handle a mismatch, which mismatches are common.
2025-08-26 13:28:27 +07:00
clan-bot
d11d83f699 Merge pull request 'Update clan-core-for-checks in devFlake' (#4959) from update-devFlake-clan-core-for-checks into main 2025-08-26 05:08:08 +00:00
clan-bot
2ef1b2a8fa Update clan-core-for-checks in devFlake 2025-08-26 05:01:46 +00:00
clan-bot
f7414d7e6e Merge pull request 'Update clan-core-for-checks in devFlake' (#4957) from update-devFlake-clan-core-for-checks into main 2025-08-26 00:08:04 +00:00
clan-bot
ab384150b2 Merge pull request 'Update nixpkgs-dev in devFlake' (#4958) from update-devFlake-nixpkgs-dev into main 2025-08-26 00:07:37 +00:00
clan-bot
0b6939ffee Update nixpkgs-dev in devFlake 2025-08-26 00:01:48 +00:00
clan-bot
bc6a1a9d17 Update clan-core-for-checks in devFlake 2025-08-26 00:01:28 +00:00
clan-bot
7055461cf0 Merge pull request 'Update clan-core-for-checks in devFlake' (#4956) from update-devFlake-clan-core-for-checks into main 2025-08-25 20:10:56 +00:00
clan-bot
a9564df6a9 Update clan-core-for-checks in devFlake 2025-08-25 20:01:26 +00:00
brianmcgee
e2dfc74d02 Merge pull request 'feat(ui): fix layout and size of install progress and done screens' (#4954) from ui/fix-install-modal-sizes into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4954
2025-08-25 16:55:48 +00:00
Brian McGee
326cb60aea feat(ui): fix layout and size of install progress and done screens 2025-08-25 17:51:20 +01:00
brianmcgee
68b264970a Merge pull request 'feat(ui): set loading status on update hardware report button in install workflow' (#4951) from ui/update-hardware-report-loading-state into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4951
2025-08-25 16:46:16 +00:00
Brian McGee
1fa4ef82e9 feat(ui): set loading status on update hardware report button in install workflow 2025-08-25 17:32:15 +01:00
Kenji Berthold
bd93651f12 Merge pull request 'pkgs/clan-app: Refactor debugger' (#4949) from kenji/ke-debug-view-simplify into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4949
2025-08-25 16:30:48 +00:00
a-kenji
85ad51ce4c pkgs/clan-app: Refactor debugger 2025-08-25 18:25:02 +02:00
Luis Hebendanz
59e50c6150 Merge pull request 'clan-app: Add new icons' (#4947) from Qubasa/clan-core:new_app_icons into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4947
2025-08-25 16:11:15 +00:00
Qubasa
f347568de3 clan-app: Add new icons 2025-08-25 18:07:11 +02:00
brianmcgee
bdad7d81b2 Merge pull request 'Clan Settings modal' (#4941) from ui/clan-settings-modal into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4941
2025-08-25 15:33:31 +00:00
Brian McGee
b8203cdf73 feat(ui): support removing a clan
Also fixes:
- close modal on escape key
- handle class attribute in form components correctly
2025-08-25 16:28:13 +01:00
Brian McGee
431e45cc3a feat(ui): support editing basic metadata for a Clan 2025-08-25 16:28:12 +01:00
brianmcgee
f185d28f68 Merge pull request 'ui/fix-clan-list-select-same-clan' (#4944) from ui/fix-clan-list-select-same-clan into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4944
2025-08-25 15:26:05 +00:00
Brian McGee
d8e6fcf773 chore(ui): move list clans modal into modals directory 2025-08-25 16:22:58 +01:00
Brian McGee
23b7d24399 fix(ui): allow reloading the failed active clan in clan list modal 2025-08-25 16:19:07 +01:00
clan-bot
a1ed512da4 Merge pull request 'Update clan-core-for-checks in devFlake' (#4943) from update-devFlake-clan-core-for-checks into main 2025-08-25 15:09:34 +00:00
clan-bot
40ac96cd10 Update clan-core-for-checks in devFlake 2025-08-25 15:01:41 +00:00
hsjobeki
c4da43da0f Merge pull request 'ui: add multiple search for machines and tags' (#4942) from search into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4942
2025-08-25 14:57:06 +00:00
Johannes Kirschbauer
8822f6dadc ui: add multiple search for machines and tags 2025-08-25 16:53:49 +02:00
Mic92
b5a7a91612 Merge pull request 'ruff-6-warnings' (#4937) from ruff-6-warnings into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4937
2025-08-25 14:06:20 +00:00
Mic92
453b1a91a8 Merge pull request 'ruff-5-docstring-fixes' (#4938) from ruff-5-docstring-fixes into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4938
2025-08-25 14:03:43 +00:00
Jörg Thalheim
70274d69e9 templates/list: “Last input” detection is off when some inputs don’t define this template_type.
is_last_input compares against len(templates.custom.items()) - 1, but you continue past inputs that lack template_type,
so the ASCII tree may render └ on non-final printed items. Compute the filtered inputs list first.
2025-08-25 15:59:54 +02:00
Jörg Thalheim
c57d8b30d3 vms/qemu: Fix CID range to exclude reserved vsock IDs 2025-08-25 15:27:03 +02:00
Jörg Thalheim
7407fef21b zerotier/generate: use with for urlopen and also set a 5s timeout 2025-08-25 15:25:50 +02:00
Jörg Thalheim
23c152541a docs/getting-started: remove duplicate nixosConfigurations 2025-08-25 15:22:30 +02:00
Jörg Thalheim
6765e27031 pkgs/clan-cli/clan_lib/services/modules.py: fix Exception in docs 2025-08-25 15:20:15 +02:00
Jörg Thalheim
cbb789bc69 PLW1508: fix 2025-08-25 15:17:06 +02:00
Jörg Thalheim
7f68a21257 PLW1641: fix 2025-08-25 15:17:06 +02:00
Jörg Thalheim
fc66dc78c3 PLW0603: fix 2025-08-25 15:17:06 +02:00
Jörg Thalheim
1d0e0f243e PLW2901: fix 2025-08-25 15:17:06 +02:00
Mic92
8134ffd787 Merge pull request 'ruff-4-perf-fixes' (#4935) from ruff-4-perf-fixes into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4935
2025-08-25 13:12:14 +00:00
Jörg Thalheim
7f1590c729 PERF403: fix 2025-08-25 15:06:32 +02:00
Jörg Thalheim
c65bb0b1ce PERF401: fix 2025-08-25 15:06:32 +02:00
Mic92
d8bc5269ee Merge pull request 'ruff-5-docstring-fixes' (#4936) from ruff-5-docstring-fixes into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4936
2025-08-25 13:04:05 +00:00
Jörg Thalheim
917407c475 D210: fix 2025-08-25 14:56:48 +02:00
Jörg Thalheim
d9e6e0c540 D417: fix 2025-08-25 14:56:48 +02:00
Jörg Thalheim
ef5ab0c2f4 D404: fix 2025-08-25 14:56:48 +02:00
Jörg Thalheim
34816013ad D106: fix 2025-08-25 14:56:48 +02:00
Mic92
05665b1c7e Merge pull request 'ruff-3-arg-fixes' (#4934) from ruff-3-arg-fixes into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4934
2025-08-25 12:54:04 +00:00
Jörg Thalheim
2bebcab736 zerotier-members: fix passing member_ip 2025-08-25 14:46:12 +02:00
Jörg Thalheim
306f83e357 flash: skip test on aarch64-linux 2025-08-25 14:46:12 +02:00
Jörg Thalheim
04457b1272 ARG001: fix 2025-08-25 14:46:12 +02:00
Jörg Thalheim
4986fe30c3 ARG002/ARG005: fix 2025-08-25 14:36:36 +02:00
Mic92
de33a07875 Merge pull request 'ruff-2-security-fixes' (#4931) from ruff-2-security-fixes into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4931
2025-08-25 12:30:20 +00:00
Jörg Thalheim
5233eb7fdb ARG002: fix 2025-08-25 14:24:21 +02:00
Jörg Thalheim
94a158b77a ARG001: fix 2025-08-25 14:24:21 +02:00
hsjobeki
98af47d0b5 Merge pull request 'docs: change wording, update links' (#4929) from cleanup-again into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4929
2025-08-25 12:18:55 +00:00
Johannes Kirschbauer
4470bb886e docs: move 'migrate-flake' to 'convert existing nixos' 2025-08-25 14:11:31 +02:00
Jörg Thalheim
f4feac0d6b logmanager: fix exceptions in python docs 2025-08-25 14:11:25 +02:00
Jörg Thalheim
7547761812 zerotier-members: validate hex input to prevent ValueError
Add proper validation for network_id and identity parameters to ensure
they contain valid hexadecimal characters. Previously, non-hex input
would raise ValueError instead of the expected ClanError, bypassing
proper error handling.
2025-08-25 14:11:25 +02:00
Jörg Thalheim
23d11651fc Preserve symlinks during store copy 2025-08-25 14:11:25 +02:00
Jörg Thalheim
03a4ac5bde sudo_askpass_proxy: check for stdin before print 2025-08-25 14:11:25 +02:00
Jörg Thalheim
ab50b433ee type_to_jsonschema: throw correct Error 2025-08-25 14:11:25 +02:00
Jörg Thalheim
123e8398d8 S310: fix 2025-08-25 14:11:25 +02:00
Jörg Thalheim
6a2dfb8176 S101: fix 2025-08-25 14:11:25 +02:00
Jörg Thalheim
332d10e306 s110: address 2025-08-25 14:07:59 +02:00
Jörg Thalheim
f3f6692e4d S102: ignore 2025-08-25 14:07:59 +02:00
Jörg Thalheim
954301465f s608: ignore 2025-08-25 14:07:59 +02:00
Jörg Thalheim
2199f4efd5 S324: ignore 2025-08-25 14:07:59 +02:00
Jörg Thalheim
e208c02be7 S311: fix random usage 2025-08-25 14:07:59 +02:00
Jörg Thalheim
7747e3cc0d S604: ignore 2025-08-25 14:07:59 +02:00
Jörg Thalheim
1c24b4c6cb S604: fix 2025-08-25 14:07:59 +02:00
Jörg Thalheim
4b1ab4cdde S105: fix 2025-08-25 13:43:33 +02:00
Jörg Thalheim
4852e79c3c S310: fix 2025-08-25 13:43:33 +02:00
Jörg Thalheim
0a70ed6268 S108: ignore our uses 2025-08-25 13:43:33 +02:00
Mic92
136acc7901 Merge pull request 'ruff-1-initial-fixes' (#4930) from ruff-1-initial-fixes into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4930
2025-08-25 11:38:36 +00:00
Jörg Thalheim
70d1dd0deb nix_setup/cp: remove xcp again 2025-08-25 13:33:13 +02:00
Jörg Thalheim
df32da304f drop agit 2025-08-25 13:06:04 +02:00
Jörg Thalheim
76eb3c13e9 add various module docstrings 2025-08-25 13:06:04 +02:00
Jörg Thalheim
6e88046fd4 PERF404: fix 2025-08-25 13:06:04 +02:00
Jörg Thalheim
b3cafa4a8c log_manager: drop example usage
don't need this.
2025-08-25 13:06:04 +02:00
Jörg Thalheim
d1cf87d2ce BLE001: don't catch blind errors 2025-08-25 13:06:04 +02:00
Jörg Thalheim
dc5485d9f1 ruff: replace asserts outside of tests with Exceptions 2025-08-25 13:06:04 +02:00
Johannes Kirschbauer
1b12882e29 docs: change wording, update links 2025-08-25 12:42:03 +02:00
hsjobeki
5be9b8383b Merge pull request 'clan/inventory: allow list usage of roles via polymorphism' (#4918) from cleanup-again into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4918
2025-08-25 10:41:49 +00:00
DavHau
c308fd63a7 vars: delete old var when changing share
When changing a password from non-shared to shared, we want to remove the old one
2025-08-25 10:37:46 +00:00
clan-bot
fcdfd80b34 Merge pull request 'Update clan-core-for-checks in devFlake' (#4925) from update-devFlake-clan-core-for-checks into main 2025-08-25 10:37:07 +00:00
clan-bot
c5d975542d Merge pull request 'Update nixos-facter-modules' (#4832) from update-nixos-facter-modules into main 2025-08-25 10:25:02 +00:00
clan-bot
526eccdf16 Merge pull request 'Update nixpkgs-dev in devFlake' (#4926) from update-devFlake-nixpkgs-dev into main 2025-08-25 10:23:25 +00:00
clan-bot
f7dd34be21 Merge pull request 'Update disko' (#4924) from update-disko into main 2025-08-25 10:22:23 +00:00
Mic92
289732ad20 Merge pull request 'Replace funky utf-8 singlequotes with decent ones' (#4923) from replace-backticks into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4923
2025-08-25 10:03:46 +00:00
pinpox
a50b6f7bc7 Merge pull request 'Allow shared user password' (#4921) from TilmanBaumann/clan-core:main into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4921
Reviewed-by: pinpox <clan@pablo.tools>
2025-08-25 10:02:59 +00:00
clan-bot
51c679d3a9 Update nixpkgs-dev in devFlake 2025-08-25 10:01:50 +00:00
clan-bot
470c3d330f Update clan-core-for-checks in devFlake 2025-08-25 10:01:32 +00:00
clan-bot
df596ed59f Update nixos-facter-modules 2025-08-25 10:00:58 +00:00
clan-bot
f2c1202b03 Update disko 2025-08-25 10:00:51 +00:00
pinpox
cdd241d8ff Replace funky utf-8 singlequotes with decent ones 2025-08-25 11:56:29 +02:00
Mic92
0803d9c864 Merge pull request 'Apply automatic ruff lints' (#4919) from ruff-1 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4919
2025-08-25 09:53:41 +00:00
Tilman Baumann
7171864a5e Allow shared user password
By default each user gets a new password on every host.

Now you can use a shared vars.
2025-08-25 11:46:09 +02:00
Mic92
7aa9a34168 Merge pull request 'services/user: add migration guide for root-password' (#4917) from root-password into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4917
2025-08-25 09:36:02 +00:00
Jörg Thalheim
0ec2c32ff8 ruff: apply automatic unsafe fixes 2025-08-25 11:34:41 +02:00
Jörg Thalheim
ea2d6aab65 ruff: apply automatic fixes 2025-08-25 11:34:41 +02:00
Jörg Thalheim
4101ebc45b services/user: add migration guide for root-password 2025-08-25 11:29:56 +02:00
Johannes Kirschbauer
4414403dec clan/inventory: allow list usage of roles via polymorphism 2025-08-25 11:27:38 +02:00
Johannes Kirschbauer
2d78730037 clan/schema: rename json schemas consistent {clanSchemaNix, clanSchemaJson} 2025-08-25 11:27:03 +02:00
hsjobeki
45c7c42634 Merge pull request 'tests/dirs: unify test files' (#4916) from cleanup-again into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4916
2025-08-25 09:26:12 +00:00
Johannes Kirschbauer
8baf4fcedd docs: refine autoincludes 2025-08-25 11:19:39 +02:00
Johannes Kirschbauer
a41e0ba80f nix_models: fix typo 2025-08-25 11:19:39 +02:00
DavHau
798d445f3e docs: move options search to separate page 2025-08-25 15:51:24 +07:00
Johannes Kirschbauer
00bd003be4 tests/dirs: unify test files 2025-08-25 10:14:02 +02:00
clan-bot
5841432b6f Merge pull request 'Update data-mesher' (#4914) from update-data-mesher into main 2025-08-25 05:24:10 +00:00
clan-bot
1fb91ec161 Merge pull request 'Update clan-core-for-checks in devFlake' (#4915) from update-devFlake-clan-core-for-checks into main 2025-08-25 05:23:55 +00:00
clan-bot
fc16879336 Update clan-core-for-checks in devFlake 2025-08-25 05:01:34 +00:00
clan-bot
290510ae74 Update data-mesher 2025-08-25 05:00:51 +00:00
clan-bot
7b926d43dc Merge pull request 'Update clan-core-for-checks in devFlake' (#4913) from update-devFlake-clan-core-for-checks into main 2025-08-25 00:21:50 +00:00
clan-bot
d91a44c7c5 Update clan-core-for-checks in devFlake 2025-08-25 00:01:31 +00:00
clan-bot
a47ed71bb7 Merge pull request 'Update clan-core-for-checks in devFlake' (#4911) from update-devFlake-clan-core-for-checks into main 2025-08-24 20:19:28 +00:00
clan-bot
18f9df29da Merge pull request 'Update nixpkgs-dev in devFlake' (#4912) from update-devFlake-nixpkgs-dev into main 2025-08-24 20:09:41 +00:00
clan-bot
2438dc09a2 Update nixpkgs-dev in devFlake 2025-08-24 20:01:48 +00:00
clan-bot
420412e60c Update clan-core-for-checks in devFlake 2025-08-24 20:01:29 +00:00
clan-bot
aee6bc335b Merge pull request 'Update clan-core-for-checks in devFlake' (#4910) from update-devFlake-clan-core-for-checks into main 2025-08-24 15:18:34 +00:00
clan-bot
6ae679fb3d Update clan-core-for-checks in devFlake 2025-08-24 15:01:31 +00:00
clan-bot
b40a13b4c5 Merge pull request 'Update clan-core-for-checks in devFlake' (#4906) from update-devFlake-clan-core-for-checks into main 2025-08-24 10:18:53 +00:00
clan-bot
dd2aa70efd Merge pull request 'Update nixpkgs-dev in devFlake' (#4907) from update-devFlake-nixpkgs-dev into main 2025-08-24 10:09:48 +00:00
clan-bot
2a9c9f7f2c Update nixpkgs-dev in devFlake 2025-08-24 10:01:51 +00:00
clan-bot
82001544fd Update clan-core-for-checks in devFlake 2025-08-24 10:01:32 +00:00
brianmcgee
9f352aa362 Merge pull request 'feat(ui): remove focus-visible state from readonly form inputs' (#4905) from ui/disable-active-status-readonly-input into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4905
2025-08-24 09:53:06 +00:00
Brian McGee
35177ead40 feat(ui): remove focus-visible state from readonly form inputs 2025-08-24 10:49:34 +01:00
brianmcgee
1931c17513 Merge pull request 'feat(ui): make save button clearer in sidebar section forms' (#4904) from ui/sidebar-section-save-button into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4904
2025-08-24 09:45:23 +00:00
Brian McGee
b12debf373 feat(ui): make save button clearer in sidebar section forms 2025-08-24 10:42:01 +01:00
clan-bot
0b3d362357 Merge pull request 'Update clan-core-for-checks in devFlake' (#4903) from update-devFlake-clan-core-for-checks into main 2025-08-24 05:21:48 +00:00
clan-bot
d8119f2308 Update clan-core-for-checks in devFlake 2025-08-24 05:01:46 +00:00
clan-bot
ce36894ab1 Merge pull request 'Update clan-core-for-checks in devFlake' (#4902) from update-devFlake-clan-core-for-checks into main 2025-08-24 00:19:01 +00:00
clan-bot
c5f4f2e1d6 Update clan-core-for-checks in devFlake 2025-08-24 00:01:33 +00:00
clan-bot
c861ffe07b Merge pull request 'Update clan-core-for-checks in devFlake' (#4900) from update-devFlake-clan-core-for-checks into main 2025-08-23 20:17:58 +00:00
clan-bot
6df980bc57 Merge pull request 'Update nixpkgs-dev in devFlake' (#4901) from update-devFlake-nixpkgs-dev into main 2025-08-23 20:09:30 +00:00
clan-bot
9d1d07b0ca Update nixpkgs-dev in devFlake 2025-08-23 20:01:48 +00:00
clan-bot
24a774b5d6 Update clan-core-for-checks in devFlake 2025-08-23 20:01:29 +00:00
clan-bot
442f673128 Merge pull request 'Update clan-core-for-checks in devFlake' (#4898) from update-devFlake-clan-core-for-checks into main 2025-08-23 15:20:43 +00:00
clan-bot
8905b5c5f1 Merge pull request 'Update nixpkgs-dev in devFlake' (#4899) from update-devFlake-nixpkgs-dev into main 2025-08-23 15:12:14 +00:00
clan-bot
3eff656dfa Update nixpkgs-dev in devFlake 2025-08-23 15:01:50 +00:00
clan-bot
79e6f34c9e Update clan-core-for-checks in devFlake 2025-08-23 15:01:31 +00:00
clan-bot
9c6e8f7735 Merge pull request 'Update treefmt-nix' (#4894) from update-treefmt-nix into main 2025-08-23 10:24:13 +00:00
clan-bot
cc4fd1369e Merge pull request 'Update clan-core-for-checks in devFlake' (#4895) from update-devFlake-clan-core-for-checks into main 2025-08-23 10:23:54 +00:00
clan-bot
7f32d6f81a Merge pull request 'Update treefmt-nix in devFlake' (#4897) from update-devFlake-treefmt-nix into main 2025-08-23 10:17:23 +00:00
clan-bot
a450ca10b8 Merge pull request 'Update nixpkgs-dev in devFlake' (#4896) from update-devFlake-nixpkgs-dev into main 2025-08-23 10:17:07 +00:00
clan-bot
06fbf32691 Update treefmt-nix in devFlake 2025-08-23 10:01:56 +00:00
clan-bot
d4bd297439 Update nixpkgs-dev in devFlake 2025-08-23 10:01:51 +00:00
clan-bot
acc8043f26 Update clan-core-for-checks in devFlake 2025-08-23 10:01:32 +00:00
clan-bot
35e5d0daab Update treefmt-nix 2025-08-23 10:01:29 +00:00
clan-bot
e51c9ef1ad Merge pull request 'Update clan-core-for-checks in devFlake' (#4892) from update-devFlake-clan-core-for-checks into main 2025-08-23 05:19:20 +00:00
clan-bot
cdcbe3359a Update clan-core-for-checks in devFlake 2025-08-23 05:01:32 +00:00
clan-bot
e5b51e6a2b Merge pull request 'Update clan-core-for-checks in devFlake' (#4891) from update-devFlake-clan-core-for-checks into main 2025-08-23 00:20:46 +00:00
clan-bot
694ebc5b30 Update clan-core-for-checks in devFlake 2025-08-23 00:01:30 +00:00
lassulus
ff2555cc4a Merge pull request 'Enable network configuration in iwd settings' (#4886) from RuboGubo/clan-core:fixDHCPinstaller into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4886
2025-08-22 22:34:07 +00:00
lassulus
016255459c Merge pull request 'clan_lib flake: fix handling of maybes and empty sets' (#4890) from select_fix into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4890
2025-08-22 22:31:29 +00:00
lassulus
14f03bcab0 Merge pull request 'vars: add .exists to files' (#4889) from vars_exist into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4889
2025-08-22 21:47:16 +00:00
lassulus
4dc90b3d39 clan_lib flake: fix handling of maybes and empty sets 2025-08-22 23:44:14 +02:00
lassulus
8cdce6c0c8 vars: add .exists to files 2025-08-22 23:30:19 +02:00
clan-bot
8904cf27a4 Merge pull request 'Update clan-core-for-checks in devFlake' (#4888) from update-devFlake-clan-core-for-checks into main 2025-08-22 20:19:40 +00:00
clan-bot
493194c124 Merge pull request 'Update nix-select' (#4887) from update-nix-select into main 2025-08-22 20:15:43 +00:00
clan-bot
5d1600a077 Update clan-core-for-checks in devFlake 2025-08-22 20:01:38 +00:00
clan-bot
7daaacbddf Update nix-select 2025-08-22 20:01:00 +00:00
RuboGubo
30e18bbc66 Enable network configuration in iwd settings
closes #4885
2025-08-22 20:20:37 +01:00
hsjobeki
16dffa99c0 Merge pull request 'ui/search: add search with virtualized scrolling' (#4884) from ui-search into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4884
2025-08-22 16:07:54 +00:00
Johannes Kirschbauer
58ad50b749 ui/search: add search with virtualized scrolling 2025-08-22 17:52:48 +02:00
clan-bot
bc25074f5b Merge pull request 'Update clan-core-for-checks in devFlake' (#4882) from update-devFlake-clan-core-for-checks into main 2025-08-22 15:18:46 +00:00
clan-bot
c79916d06c Merge pull request 'Update nixpkgs-dev in devFlake' (#4883) from update-devFlake-nixpkgs-dev into main 2025-08-22 15:09:43 +00:00
clan-bot
4d53542f79 Update nixpkgs-dev in devFlake 2025-08-22 15:01:50 +00:00
clan-bot
d3ef03aeb3 Update clan-core-for-checks in devFlake 2025-08-22 15:01:31 +00:00
brianmcgee
9949fac5ea Merge pull request 'feat(ui): refine spacing in NavSection' (#4881) from ui/navigation-section into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4881
2025-08-22 12:32:10 +00:00
Brian McGee
6d236a6282 feat(ui): refine spacing in NavSection 2025-08-22 13:28:06 +01:00
brianmcgee
6e6a920796 Merge pull request 'ui/navigation-section' (#4880) from ui/navigation-section into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4880
2025-08-22 11:20:14 +00:00
Brian McGee
99092a6ef2 chore(ui): lint 2025-08-22 12:16:21 +01:00
Brian McGee
1897b7bb06 feat(ui): use NavSection in installer workflow 2025-08-22 12:15:16 +01:00
Brian McGee
878789cf38 feat(ui): use NavSection in ListClansModal 2025-08-22 12:11:22 +01:00
Brian McGee
8a59cf7ea3 feat(ui): add NavSection component 2025-08-22 12:07:26 +01:00
brianmcgee
7ade9cd222 Merge pull request 'Handle error cases when switching clan' (#4879) from feat/handle-clan-switch-errors into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4879
2025-08-22 10:47:35 +00:00
Brian McGee
447f619ecc feat(ui): handle when a clan folder has been moved/renamed 2025-08-22 11:44:16 +01:00
clan-bot
657a55517b Merge pull request 'Update clan-core-for-checks in devFlake' (#4878) from update-devFlake-clan-core-for-checks into main 2025-08-22 10:20:14 +00:00
clan-bot
16a5b34ddf Update clan-core-for-checks in devFlake 2025-08-22 10:01:32 +00:00
Luis Hebendanz
23f303b6ba Merge pull request 'clan_lib: Fix run_machine_install incorrect pesist_state path' (#4877) from Qubasa/clan-core:fix_install into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4877
2025-08-22 09:36:34 +00:00
Qubasa
84bf9f3bc5 clan_lib: Fix run_machine_install incorrect pesist_state path 2025-08-22 11:21:44 +02:00
brianmcgee
48736011de Merge pull request 'fix(ui): remove custom viewboxes for some icons' (#4876) from ui/fix-icons into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4876
2025-08-22 08:14:22 +00:00
Brian McGee
cf5675b7f3 fix(ui): remove custom viewboxes for some icons 2025-08-22 09:11:09 +01:00
Brian McGee
f0bbdad9ef feat(ui): improve clan list logic in SidebarHeader 2025-08-22 08:51:27 +01:00
Brian McGee
5f83fe02a1 feat(ui): move isLoading logic into ClanContext 2025-08-22 08:51:26 +01:00
Brian McGee
8cb92e143d feat(ui): by default do not retry queries 2025-08-22 08:51:26 +01:00
Brian McGee
73f5f887f3 feat(ui): add clanURI to ClanContext 2025-08-22 08:51:25 +01:00
clan-bot
db4e6c0be5 Merge pull request 'Update nix-darwin' (#4872) from update-nix-darwin into main 2025-08-22 05:22:33 +00:00
clan-bot
c24892f865 Merge pull request 'Update clan-core-for-checks in devFlake' (#4873) from update-devFlake-clan-core-for-checks into main 2025-08-22 05:20:02 +00:00
clan-bot
6badc14936 Update clan-core-for-checks in devFlake 2025-08-22 05:01:33 +00:00
clan-bot
3d1fb401fd Update nix-darwin 2025-08-22 05:00:53 +00:00
clan-bot
f2cdac75e2 Merge pull request 'Update clan-core-for-checks in devFlake' (#4871) from update-devFlake-clan-core-for-checks into main 2025-08-22 00:19:10 +00:00
clan-bot
5d6e35832c Update clan-core-for-checks in devFlake 2025-08-22 00:01:33 +00:00
Luis Hebendanz
9aa9ba500e Merge pull request 'clan-lib: Make Flake throw more concrete errors if the flake path is invalid or non existend' (#4870) from Qubasa/clan-core:fix_ui_stuff2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4870
2025-08-21 22:08:28 +00:00
Qubasa
2934269279 clan-lib: Make Flake throw more concrete errors if the flake path is invalid or non existend
treefmt
2025-08-21 23:53:26 +02:00
clan-bot
1c7323c90a Merge pull request 'Update clan-core-for-checks in devFlake' (#4869) from update-devFlake-clan-core-for-checks into main 2025-08-21 20:18:08 +00:00
clan-bot
e667e03832 Update clan-core-for-checks in devFlake 2025-08-21 20:01:29 +00:00
brianmcgee
7f227b232c Merge pull request 'ui/icons: update app icons' (#4867) from ui-search into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4867
Reviewed-by: brianmcgee <brian@bmcgee.ie>
2025-08-21 17:14:34 +00:00
Johannes Kirschbauer
9d887805a8 ui/icons: update app icons 2025-08-21 19:11:08 +02:00
hsjobeki
244e1c7447 Merge pull request 'ui/cubes: scene add tooltip descriptions to toolbar' (#4866) from api-modules-unify into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4866
2025-08-21 16:25:11 +00:00
Johannes Kirschbauer
78911063a6 ui/tooltip: cleanup hostfileInput
Components should not rely on any global css classes
This can have bad side effects
2025-08-21 18:22:15 +02:00
hsjobeki
d86509e97b Merge pull request 'feat(ui): history stack for stepper' (#4834) from ui/fix-backwards-nav-installer into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4834
2025-08-21 16:15:26 +00:00
Johannes Kirschbauer
6de431df2c ui/stepper: use initial step from opts 2025-08-21 18:12:06 +02:00
Johannes Kirschbauer
cda49b5b20 ui/cubes: scene add tooltip descriptions to toolbar 2025-08-21 18:04:12 +02:00
brianmcgee
678841e64c Merge pull request 'fix(ui): blurry bold variants for CommitMono' (#4864) from fix/commit-mono-bold into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4864
2025-08-21 15:37:21 +00:00
Johannes Kirschbauer
74549164e4 ui/toolbarButton: wrap in tooltip for always having more information 2025-08-21 17:36:01 +02:00
Johannes Kirschbauer
6afe8695de ui/tooltip: refactor tooltip 2025-08-21 17:35:13 +02:00
Brian McGee
460800b6fb fix(ui): blurry bold variants for CommitMono 2025-08-21 16:33:51 +01:00
clan-bot
5558bf3b9a Merge pull request 'Update clan-core-for-checks in devFlake' (#4862) from update-devFlake-clan-core-for-checks into main 2025-08-21 15:18:02 +00:00
clan-bot
62701f7730 Merge pull request 'Update nixpkgs-dev in devFlake' (#4863) from update-devFlake-nixpkgs-dev into main 2025-08-21 15:11:45 +00:00
clan-bot
a2f3e2e513 Update nixpkgs-dev in devFlake 2025-08-21 15:01:50 +00:00
clan-bot
4867d467de Update clan-core-for-checks in devFlake 2025-08-21 15:01:31 +00:00
brianmcgee
d9685acc37 Merge pull request 'feat(ui): introduce a top-level Clan context' (#4860) from feat/handle-clan-switch-errors into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4860
2025-08-21 13:57:13 +00:00
pinpox
1aaa157f20 Merge pull request 'Cleanup machine-id,postgresql test' (#4858) from cleanup-tests into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4858
2025-08-21 12:58:36 +00:00
hsjobeki
9a0ad4182f Merge pull request 'api/modules: unify frontmatter with module manifest' (#4847) from api-modules-unify into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4847
Reviewed-by: lassulus <clanlol@lassul.us>
2025-08-21 12:56:19 +00:00
pinpox
65d194af58 Cleanup machine-id,postgresql test 2025-08-21 14:52:13 +02:00
Johannes Kirschbauer
1f2f71ab03 lib/modules: make categories class method 2025-08-21 14:41:03 +02:00
Brian McGee
f985187999 feat(ui): introduce a top-level Clan context 2025-08-21 12:20:51 +01:00
clan-bot
396a8d1e5e Merge pull request 'Update clan-core-for-checks in devFlake' (#4857) from update-devFlake-clan-core-for-checks into main 2025-08-21 10:23:58 +00:00
clan-bot
651f630080 Merge pull request 'Update nix-darwin' (#4856) from update-nix-darwin into main 2025-08-21 10:21:19 +00:00
clan-bot
21de41f1c0 Update clan-core-for-checks in devFlake 2025-08-21 10:01:29 +00:00
clan-bot
98e5987e22 Update nix-darwin 2025-08-21 10:00:54 +00:00
brianmcgee
a77af2d379 Merge pull request 'ui/misc-fixes' (#4855) from ui/misc-fixes into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4855
2025-08-21 09:58:34 +00:00
Brian McGee
ccde9e0ba6 feat(ui): replace modal backdrop blur with opacity 2025-08-21 10:14:17 +01:00
Brian McGee
6f6f582fe3 feat(ui): improve spacing in sidebar dropdown 2025-08-21 10:04:21 +01:00
pinpox
ec70de406b Add coredns module 2025-08-21 10:29:54 +02:00
clan-bot
29a3140702 Merge pull request 'Update clan-core-for-checks in devFlake' (#4854) from update-devFlake-clan-core-for-checks into main 2025-08-21 05:20:25 +00:00
clan-bot
465eda24bc Update clan-core-for-checks in devFlake 2025-08-21 05:01:37 +00:00
clan-bot
2888907109 Merge pull request 'Update clan-core-for-checks in devFlake' (#4852) from update-devFlake-clan-core-for-checks into main 2025-08-21 00:19:00 +00:00
clan-bot
f770f600c6 Merge pull request 'Update nixpkgs-dev in devFlake' (#4853) from update-devFlake-nixpkgs-dev into main 2025-08-21 00:10:35 +00:00
clan-bot
729f1673b3 Update nixpkgs-dev in devFlake 2025-08-21 00:01:46 +00:00
clan-bot
7c95cb0177 Update clan-core-for-checks in devFlake 2025-08-21 00:01:30 +00:00
clan-bot
b7f159aea3 Merge pull request 'Update clan-core-for-checks in devFlake' (#4850) from update-devFlake-clan-core-for-checks into main 2025-08-20 20:20:07 +00:00
clan-bot
06a0062311 Update clan-core-for-checks in devFlake 2025-08-20 20:01:29 +00:00
Luis Hebendanz
aa840d9758 Merge pull request 'working check_machine_up_to_date' (#4754) from Qubasa/clan-core:build_is_installed_api into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4754
2025-08-20 19:12:53 +00:00
hsjobeki
d1e6da0779 Merge pull request 'api/install: set install date after install' (#4838) from install-done into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4838
Reviewed-by: brianmcgee <brian@bmcgee.ie>
2025-08-20 19:02:13 +00:00
Johannes Kirschbauer
e6981ddd72 cli/install: add --no-persist-state
Skip persisting the current date after successful install
This is a workaround due to incomplete test setup - installing a clan machine without having a clan
2025-08-20 20:46:44 +02:00
Qubasa
101c52f7c2 clan_lib: Add 'address' field to LocalHost 2025-08-20 20:28:21 +02:00
Johannes Kirschbauer
a83f301e59 docs/render: remove dead code 2025-08-20 20:19:49 +02:00
Qubasa
5120d90b85 clanService: telegraf.nix add json exporter over http 2025-08-20 20:17:49 +02:00
Qubasa
ea1e470502 clan_lib: add 'get_metrics' API endpoint 2025-08-20 20:17:14 +02:00
Johannes Kirschbauer
f4d6edc501 api/modules: unify frontmatter with module manifest 2025-08-20 20:15:41 +02:00
Johannes Kirschbauer
cbbc235570 api/modules: rename Frontmatter -> ModulesFrontmatter to make room for other disk templates metadata 2025-08-20 19:46:28 +02:00
brianmcgee
56d9256c02 Merge pull request 'chore(ui): remove close this clan button' (#4846) from chore/remove-close-clan-button into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4846
2025-08-20 15:55:50 +00:00
Brian McGee
e131d3d036 chore(ui): remove close this clan button 2025-08-20 16:52:47 +01:00
brianmcgee
7f5b7b5057 Merge pull request 'ui/clan-switching' (#4844) from ui/clan-switching into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4844
2025-08-20 15:46:11 +00:00
brianmcgee
c27fa9f56e Merge pull request 'fix(ui): inverted dividers in SectionGeneral component' (#4845) from fix/inverted-dividers-in-sidebar-pane into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4845
2025-08-20 15:41:31 +00:00
Brian McGee
1a1addb19d fix(ui): cancel loading state properly for select folder button in onboarding 2025-08-20 16:40:50 +01:00
Brian McGee
349da24b29 feat(ui): enable switching between clans 2025-08-20 16:40:49 +01:00
Brian McGee
717f66b613 fix(ui): inverted dividers in SectionGeneral component
Closes #4836
2025-08-20 16:37:33 +01:00
clan-bot
dcbc8c9a50 Merge pull request 'Update clan-core-for-checks in devFlake' (#4842) from update-devFlake-clan-core-for-checks into main 2025-08-20 15:21:49 +00:00
Brian McGee
9834f413cc feat(ui): introduce Add clan button into sidebar 2025-08-20 16:21:40 +01:00
Brian McGee
fb5645ae33 fix(ui): mock machine state in Sidebar stories 2025-08-20 16:21:39 +01:00
Brian McGee
dc311d78e2 fix(ui): add mock api client provider to Sidebar stories 2025-08-20 16:21:39 +01:00
clan-bot
f0b1d8b2af Merge pull request 'Update nixpkgs-dev in devFlake' (#4843) from update-devFlake-nixpkgs-dev into main 2025-08-20 15:12:06 +00:00
clan-bot
7f0d55ef74 Update nixpkgs-dev in devFlake 2025-08-20 15:01:51 +00:00
clan-bot
6e8860b3a0 Update clan-core-for-checks in devFlake 2025-08-20 15:01:31 +00:00
Mic92
5a5ec468c7 Merge pull request 'clan-cli: use automatic networking for vars upload and machines update' (#4792) from networking_4 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4792
2025-08-20 12:42:56 +00:00
Kenji Berthold
fbc2b889b5 Merge pull request 'docs: Fix migration docs for clan modules' (#4839) from kenji/ke-fix-migration-docs into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4839
2025-08-20 12:27:09 +00:00
lassulus
fb094e8f3b add tor network to default template 2025-08-20 14:24:43 +02:00
lassulus
e2eb26345f networking: add documentation, unhide from CLI 2025-08-20 14:22:58 +02:00
a-kenji
6f1a94e825 docs: Fix migration docs for clan modules 2025-08-20 14:13:27 +02:00
Johannes Kirschbauer
05951ffdb9 api/install: set install date after install 2025-08-20 13:39:32 +02:00
clan-bot
69de5f10c0 Merge pull request 'Update clan-core-for-checks in devFlake' (#4833) from update-devFlake-clan-core-for-checks into main 2025-08-20 10:20:20 +00:00
Brian McGee
c01a191f3a feat(ui): history stack for stepper 2025-08-20 11:02:38 +01:00
clan-bot
dfe1a3e67f Update clan-core-for-checks in devFlake 2025-08-20 10:01:34 +00:00
brianmcgee
e975b67fad Merge pull request 'fix(ui): de-duplicate clan uris when adding to local storage' (#4831) from ui/deduplicate-clan-storage into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4831
2025-08-20 09:38:02 +00:00
Brian McGee
5c08893db0 fix(ui): de-duplicate clan uris when adding to local storage 2025-08-20 10:34:53 +01:00
brianmcgee
cb679dbee2 Merge pull request 'ui/install-workflow-refinements' (#4827) from ui/install-workflow-refinements into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4827
2025-08-20 09:23:04 +00:00
Brian McGee
f339ca0d85 feat(ui): allow installer splash screens to change modal size 2025-08-20 10:19:19 +01:00
Brian McGee
547ba4276e feat(ui): improve copy in create installer intro 2025-08-20 10:01:40 +01:00
Brian McGee
cae63cc45d fix(ui): spelling mistake 2025-08-20 10:01:39 +01:00
DavHau
527b4b2e40 vars: ensure shared generators don't depend on machine specific generators
A dependency relation like this would not make sense as it would not be clear which machines generator the shared generator would depend on
2025-08-20 15:39:17 +07:00
DavHau
de0b1b2d70 vars: fix regenerating a specific generator
This was broken after re-designing the API -> added a test
2025-08-20 14:49:27 +07:00
clan-bot
6996a6340a Merge pull request 'Update clan-core-for-checks in devFlake' (#4824) from update-devFlake-clan-core-for-checks into main 2025-08-20 05:25:25 +00:00
clan-bot
3c433da8f5 Update clan-core-for-checks in devFlake 2025-08-20 05:01:28 +00:00
DavHau
ef2a2bdb67 vars: improve tests for --regenerate
Ensures that all generators values actually change after running with --regenerate
2025-08-20 11:59:18 +07:00
DavHau
7b61a668e9 vars: refactor: use Machine objects instead of base_dir strings
Replace base_dir string parameters with Machine objects throughout the vars
module for better type safety and consistency.
2025-08-20 11:59:18 +07:00
clan-bot
bdab3e23af Merge pull request 'Update clan-core-for-checks in devFlake' (#4822) from update-devFlake-clan-core-for-checks into main 2025-08-20 00:18:32 +00:00
clan-bot
2b068928a2 Merge pull request 'Update nixpkgs-dev in devFlake' (#4823) from update-devFlake-nixpkgs-dev into main 2025-08-20 00:10:20 +00:00
clan-bot
ec798f89fd Update nixpkgs-dev in devFlake 2025-08-20 00:01:49 +00:00
clan-bot
9efee40477 Update clan-core-for-checks in devFlake 2025-08-20 00:01:30 +00:00
lassulus
448c22c280 clan-cli: use automatic networking for vars upload and machines update
This uses the networking module to find the best_host, as we already do
with ssh and install. So if we don't supply a --target-host and a
networking module is configured, the remote should be autodetected.

Since vars upload doesn't have a --target-host argument, we always try
to use get_best_remote
2025-08-19 23:40:57 +02:00
lassulus
6c6e30ae60 Merge pull request 'Add type to group and owner vars options' (#4819) from fix-4814 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4819
Reviewed-by: lassulus <clanlol@lassul.us>
2025-08-19 21:13:51 +00:00
pinpox
b27ff67a14 Add type to group and owner vars options 2025-08-19 22:46:30 +02:00
clan-bot
c0ffb17e00 Merge pull request 'Update nixpkgs' (#4818) from update-nixpkgs into main 2025-08-19 20:21:34 +00:00
Mic92
e9ccf157b6 Merge pull request 'Update clan-core-for-checks in devFlake' (#4744) from update-devFlake-clan-core-for-checks into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4744
2025-08-19 20:21:18 +00:00
clan-bot
451f2427fe Merge pull request 'Update nixos-facter-modules' (#4724) from update-nixos-facter-modules into main 2025-08-19 20:15:55 +00:00
clan-bot
1676cdd9a4 Update clan-core-for-checks in devFlake 2025-08-19 20:01:30 +00:00
clan-bot
109e6473ab Update nixpkgs 2025-08-19 20:01:23 +00:00
clan-bot
55acff50d0 Update nixos-facter-modules 2025-08-19 20:00:54 +00:00
hsjobeki
eee1bd1ae0 Merge pull request 'ui/select: display no options placeholder' (#4817) from install-story into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4817
2025-08-19 19:50:56 +00:00
Johannes Kirschbauer
e46d5870ff ui/select: display no options placeholder 2025-08-19 21:46:26 +02:00
hsjobeki
f6ec32a5d1 Merge pull request 'ui/modal/select: fix z-index stacking' (#4816) from render-2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4816
2025-08-19 17:19:18 +00:00
Johannes Kirschbauer
e336d1b19c ui/modal/select: fix z-index stacking 2025-08-19 19:15:40 +02:00
brianmcgee
7399f59652 Merge pull request 'fix(ui): reload machine list in sidebar after adding a machine' (#4815) from ui/invalidate-list-query-on-add into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4815
2025-08-19 16:41:31 +00:00
Brian McGee
088abe396e fix(ui): reload machine list in sidebar after adding a machine 2025-08-19 17:37:53 +01:00
Mic92
26b31e24a3 Merge pull request 'Make most vm tests pure.' (#4796) from no-impure into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4796
2025-08-19 16:10:08 +00:00
brianmcgee
099f4c2b8b Merge pull request 'feat(api): define list machine options as data class' (#4811) from api/list-machine-data-class into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4811
2025-08-19 16:07:13 +00:00
brianmcgee
b43605c168 Merge pull request 'ui/filter-usb-devices' (#4813) from ui/filter-usb-devices into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4813
2025-08-19 15:58:27 +00:00
Jörg Thalheim
899dba5a08 tests/vms: add chroot-realpath (needed on aarch64) 2025-08-19 15:53:46 +00:00
Brian McGee
d2b94ced5a feat(api): define list machine options as data class 2025-08-19 16:51:30 +01:00
Jörg Thalheim
cdf9fa1753 move vm configuration into a stand-alone module and include it in our test vms
This hasn't reduced the extra deps we have to pass to our nixos build
unfortunally, but maybe at least it can safe us a few in the future.
2025-08-19 15:45:57 +00:00
Brian McGee
d1e7e2993d feat(ui): filter block devices in flash installer
Only display usb or mmc (SD card) drives.
2025-08-19 16:45:47 +01:00
Brian McGee
e05d85c759 feat(ui): darken modal overlay 2025-08-19 16:13:19 +01:00
clan-bot
53873411a6 Merge pull request 'Update disko' (#4793) from update-disko into main 2025-08-19 14:42:47 +00:00
clan-bot
39e0ab21bd Merge pull request 'Update nixpkgs-dev in devFlake' (#4794) from update-devFlake-nixpkgs-dev into main 2025-08-19 14:28:48 +00:00
clan-bot
8269d869c3 Update disko 2025-08-19 14:24:27 +00:00
clan-bot
e19d1c8122 Update nixpkgs-dev in devFlake 2025-08-19 14:24:17 +00:00
brianmcgee
0cd4ff1b12 Merge pull request 'tracking machine install state' (#4803) from feat/machine-install-state into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4803
2025-08-19 14:23:35 +00:00
Brian McGee
9aebf02f05 feat(ui): display machine install state and install button 2025-08-19 15:09:34 +01:00
Jörg Thalheim
ffb7b91da7 drop impure checks from ci 2025-08-19 15:28:25 +02:00
Jörg Thalheim
2d264a8e5e mark vm tests as pure 2025-08-19 15:28:25 +02:00
Mic92
abf6893714 Merge pull request 'Fix aarch64-linux vm support' (#4810) from various-fixes into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4810
2025-08-19 13:21:28 +00:00
Jörg Thalheim
699c56c721 qemu: enable usb tablet option only on x86_64-linux
at least on aarch64-linux this locks up the hypervisor
2025-08-19 15:16:56 +02:00
Jörg Thalheim
2ce5388a75 qemu: fix machine types for various platforms 2025-08-19 15:16:56 +02:00
Jörg Thalheim
3e664255d6 speed up tests by doing reflink copies 2025-08-19 15:16:56 +02:00
Jörg Thalheim
5b1a9d6848 vms: also prebuild for aarch64 2025-08-19 14:49:52 +02:00
Jörg Thalheim
1850abdd0d clan-cli/vms/run: generate secret before inspect_vm
inspect_vm does some caching, which lead to secrets not beeing found.
2025-08-19 14:49:52 +02:00
Jörg Thalheim
ed503f64da vms/run: move python import to the top. 2025-08-19 14:49:52 +02:00
Jörg Thalheim
4074a184b2 make vm test pure 2025-08-19 14:47:12 +02:00
Jörg Thalheim
6fe2b06f09 qemu: fix nix chroot store support 2025-08-19 14:47:12 +02:00
Jörg Thalheim
8fe7cb1b3d virtiofsd: fix nix chroot store support 2025-08-19 14:47:12 +02:00
DavHau
815c6c9438 vars: move generation functions to clan_lib 2025-08-19 18:05:53 +07:00
DavHau
9ce563aa08 vars: log var updates under specific machine
This makes it easier in the logs to identify which machine a var update belongs to
2025-08-19 11:03:36 +00:00
hsjobeki
c25844dd07 Merge pull request 'ui/modal: refactor mounting and controlled state' (#4807) from render-2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4807
2025-08-19 10:55:43 +00:00
Johannes Kirschbauer
a167e70e63 ui/modal: refactor mounting and controlled state 2025-08-19 12:52:20 +02:00
hsjobeki
dd96fe6b73 Merge pull request 'ui/routing: re-route on changes not only on page load' (#4805) from render-2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4805
2025-08-19 10:15:59 +00:00
Johannes Kirschbauer
40d35d37e2 ui/routing: re-route on changes not only on page load 2025-08-19 12:10:04 +02:00
Luis Hebendanz
071f0f8034 Merge pull request 'codeowners: init team code owners' (#4786) from codeowners-2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4786
Reviewed-by: lassulus <clanlol@lassul.us>
Reviewed-by: pinpox <clan@pablo.tools>
Reviewed-by: DavHau <d.hauer.it@gmail.com>
Reviewed-by: brianmcgee <brian@bmcgee.ie>
2025-08-19 09:54:33 +00:00
Johannes Kirschbauer
81d88fe253 codeowners: init team code owners 2025-08-19 11:35:10 +02:00
DavHau
ab274ce932 vars: refactor - remove generate_vars() in favor of run_generators()
The motivation is to have one shared entry point for the CLI as well as API/GUI
2025-08-19 16:26:53 +07:00
hsjobeki
ba1e598a76 Merge pull request 'ui/alert: migrate to css modules' (#4802) from css-modules into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4802
2025-08-19 08:58:22 +00:00
Johannes Kirschbauer
b5d29bd301 ui/alert: migrate to css modules 2025-08-19 10:27:55 +02:00
Johannes Kirschbauer
e174e8e029 css-modules: add typechecking for css module classes 2025-08-19 10:20:50 +02:00
Kenji Berthold
453d2b4a0a Merge pull request 'pkgs/remove-moonlight-sunshine-accept: drop' (#4798) from remove-moonlight-sunshine-accept into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4798
Reviewed-by: Kenji Berthold <aks.kenji@protonmail.com>
2025-08-19 07:50:41 +00:00
DavHau
aadc8a1d63 vars: refactor - remove _generate_vars_for_machine function
This became unnecessary by now
2025-08-19 07:41:31 +00:00
DavHau
aaca8f4763 vars: refactor - move generator specific code to Generator class
Several functions in generate.py were specific to generator instances. Let's move them into the Generator class
2025-08-19 07:41:31 +00:00
DavHau
0a1a63dfdd Merge pull request 'vars: refactor - remove create_machine_vars_interactive in favor of run_generators' (#4795) from vars into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4795
2025-08-19 06:41:12 +00:00
DavHau
ee87f20471 vars: refactor - remove create_machine_vars_interactive in favor of run_generators
The motivation is to create one powerful entrypoint shared by the GUI as well as the CLI in order to not having to maintain too much separate code paths.

As a next step, generate_vars can probably also be removed.
2025-08-19 13:26:38 +07:00
hsjobeki
43febe5f33 Merge pull request 'Typography and contrast improvements for the UI' (#4797) from ui/typography-size-increases into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4797
2025-08-19 06:25:37 +00:00
clan-bot
c63bbabceb Merge pull request 'Update nuschtos in devFlake' (#4800) from update-devFlake-nuschtos into main 2025-08-19 00:10:33 +00:00
clan-bot
8f1b270b59 Update nuschtos in devFlake 2025-08-19 00:01:53 +00:00
hsjobeki
da0af8bd53 Merge pull request 'Api/schema: improve types top schema conversion' (#4799) from api-types into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4799
2025-08-18 17:48:36 +00:00
Johannes Kirschbauer
f82d18d649 API: rename util file to 'type_to_jsonschema' 2025-08-18 19:30:43 +02:00
Johannes Kirschbauer
287a303484 API/schema: make type conversion more strict in terms of undefined fields 2025-08-18 19:29:54 +02:00
Johannes Kirschbauer
1213608f30 API: init support for narrowing union types
This allows to relax constraints on functions using overloaded interfaces
I.e. for unifying logic this allows passing 'callable | dict'
Conretely useful for prompt values that are asked on demand in the cli, vs upfront in the ui
2025-08-18 19:28:47 +02:00
pinpox
fa1693e8c0 pkgs/remove-moonlight-sunshine-accept: drop
Removes this package as the module has already be deprecated and removed
2025-08-18 14:39:08 +02:00
Brian McGee
ed3ed7cb2a chore(ui): lint 2025-08-18 12:52:33 +01:00
Brian McGee
b2e88fb3fa chore(ui): fmt 2025-08-18 12:52:33 +01:00
Brian McGee
d6ca50218a feat(ui): increase fg/def/4 from 500 to 600 2025-08-18 12:52:32 +01:00
Brian McGee
7d1f0956d6 feat(ui): refine Tag and line-height for labels 2025-08-18 12:52:32 +01:00
Brian McGee
d150c80854 feat(ui): move sidebar section header outside content 2025-08-18 12:52:31 +01:00
Brian McGee
2d1828d088 feat(ui): better contrast in sidebar 2025-08-18 12:52:31 +01:00
Brian McGee
f7f897a311 feat(ui): add xs button type 2025-08-18 12:52:30 +01:00
Brian McGee
683ffbdc76 feat(ui): refine Select with new typography sizes 2025-08-18 12:52:30 +01:00
Brian McGee
480ad3a5f1 feat(ui): increase label font sizes 2025-08-18 12:52:29 +01:00
Brian McGee
16361f03e9 feat(ui): typography size increases 2025-08-18 12:52:27 +01:00
clan-bot
3fb8b6587d Merge pull request 'Update nixpkgs-dev in devFlake' (#4791) from update-devFlake-nixpkgs-dev into main 2025-08-17 00:08:28 +00:00
clan-bot
6aee353b43 Update nixpkgs-dev in devFlake 2025-08-17 00:01:48 +00:00
hsjobeki
e109361e81 Merge pull request 'clanModules: remove unused code' (#4785) from clean-dead-code into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4785
2025-08-16 11:03:16 +00:00
Johannes Kirschbauer
3c34f81a44 inventory/tests: remove unused tests 2025-08-16 12:56:30 +02:00
Johannes Kirschbauer
72e7c2e9b9 clanModules: cleanup some more unused code 2025-08-16 12:56:30 +02:00
Johannes Kirschbauer
03968d8fbc api/inventory: remove leaked schemas 2025-08-16 12:56:30 +02:00
Johannes Kirschbauer
2f27b3941e lib/inventory: limit access to defined keys 2025-08-16 12:56:30 +02:00
clan-bot
e9dc5b9ba6 Merge pull request 'Update nixpkgs-dev in devFlake' (#4787) from update-devFlake-nixpkgs-dev into main 2025-08-16 10:07:46 +00:00
clan-bot
e4ef885cd5 Update nixpkgs-dev in devFlake 2025-08-16 10:01:45 +00:00
Johannes Kirschbauer
9fe457ebd5 lib/clanModules: update nix_models 2025-08-16 11:59:16 +02:00
Johannes Kirschbauer
4a51aa9316 clanModules: remove unused test code 2025-08-16 11:58:55 +02:00
Johannes Kirschbauer
308a10d6e6 clanModules: remove unused code 2025-08-16 11:48:13 +02:00
clan-bot
90f513a08f Merge pull request 'Update nixpkgs' (#4784) from update-nixpkgs into main 2025-08-16 00:21:23 +00:00
clan-bot
4ddc61d132 Update nixpkgs 2025-08-16 00:01:27 +00:00
clan-bot
fc0088e9ea Merge pull request 'Update nix-darwin' (#4783) from update-nix-darwin into main 2025-08-15 20:16:14 +00:00
clan-bot
71094f7fa1 Update nix-darwin 2025-08-15 20:00:52 +00:00
clan-bot
a8516cf9c6 Merge pull request 'Update nixpkgs-dev in devFlake' (#4782) from update-devFlake-nixpkgs-dev into main 2025-08-15 15:08:18 +00:00
clan-bot
a89e2f877a Update nixpkgs-dev in devFlake 2025-08-15 15:01:50 +00:00
Mic92
ed78e49c47 Merge pull request 'vms/inspect: mark test as pure' (#4781) from no-impure into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4781
2025-08-15 11:54:46 +00:00
Jörg Thalheim
3ef0a7919d vms/inspect: mark test as pure 2025-08-15 13:31:27 +02:00
Jörg Thalheim
36812d5f95 test_vars_deployment: simplify test to just start one vm 2025-08-15 13:30:30 +02:00
Mic92
f5bcdb4ba0 Merge pull request 'flakes/inspect: mark test as pure' (#4779) from no-impure into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4779
2025-08-15 11:28:22 +00:00
Jörg Thalheim
b69ad0eca5 backups/list: mark as pure 2025-08-15 13:10:41 +02:00
Jörg Thalheim
b221c29694 flakes/inspect: mark test as pure 2025-08-15 13:08:30 +02:00
Luis Hebendanz
7dc7f09173 Merge pull request 'clanServices: telegraf -> add basic auth' (#4777) from Qubasa/clan-core:basic_auth_telegraf into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4777
2025-08-15 11:07:44 +00:00
Mic92
ec3d224e1d Merge pull request 'tests_secrets_generate: mark as pure' (#4766) from no-impure into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4766
2025-08-15 11:06:47 +00:00
Luis Hebendanz
00c5312080 Merge pull request 'docs: Revamp Getting Started guide for clarity and usability' (#4776) from scriptogre/clan-core:update-getting-started-docs into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4776
2025-08-15 11:04:52 +00:00
Qubasa
7811a56d2b clanServices: telegraf -> add basic auth
treefmt
2025-08-15 18:02:31 +07:00
Jörg Thalheim
e9401177b7 installation: make sure target host is actually down 2025-08-15 12:51:20 +02:00
Jörg Thalheim
ef56258e8b impure-checks: reduce to 6 jobs 2025-08-15 12:51:20 +02:00
Jörg Thalheim
c4d9b39a17 tests_secrets_generate: mark as pure 2025-08-15 12:51:20 +02:00
Mic92
1f59b75c20 Merge pull request 'Delete old files when deploying docs' (#4775) from deploy-docs-delete into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4775
2025-08-15 10:24:10 +00:00
scriptogre
6b6da7b897 docs: Revamp and simplify Getting Started guide 2025-08-15 13:19:39 +03:00
pinpox
4391c19ee9 Delete old files when deploying docs 2025-08-15 12:04:46 +02:00
hsjobeki
eb993b7060 Merge pull request 'ui/vars: add more vars to install story' (#4747) from ui-install-3 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4747
2025-08-15 09:14:46 +00:00
Johannes Kirschbauer
08cb6993a8 install/progress: display usb-stick 2025-08-15 11:10:57 +02:00
Johannes Kirschbauer
872f640211 install/assets: init usb-stick png image 2025-08-15 11:04:10 +02:00
Johannes Kirschbauer
c58f7c573d ui/install: clean up design 2025-08-15 11:04:09 +02:00
Johannes Kirschbauer
7b807a0745 ui/vars: add more vars to install story 2025-08-15 11:04:09 +02:00
pinpox
62805c66ff Merge pull request 'Add monitoring service' (#4756) from monitoring-service into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4756
2025-08-15 08:57:36 +00:00
pinpox
30b737ae1f init telegraph service 2025-08-15 10:54:39 +02:00
Luis Hebendanz
cc41185f98 Merge pull request 'flake.py: Error messages are now always ClanSelectErrors. Improved error messages' (#4773) from Qubasa/clan-core:improve_select_error into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4773
2025-08-15 06:50:46 +00:00
Qubasa
606aae7212 flake.py: Error messages are now always ClanSelectErrors. Improved error messages
flake.py: Fix unbound variable

flake.py: Fix test_create.py test
2025-08-15 13:46:12 +07:00
clan-bot
c31d884dc7 Merge pull request 'Update nixpkgs' (#4772) from update-nixpkgs into main 2025-08-15 05:22:06 +00:00
clan-bot
f546ce82f6 Update nixpkgs 2025-08-15 05:01:35 +00:00
clan-bot
b173bc37f5 Merge pull request 'Update nixpkgs' (#4771) from update-nixpkgs into main 2025-08-15 00:18:55 +00:00
clan-bot
0c20cfb34a Update nixpkgs 2025-08-15 00:01:25 +00:00
clan-bot
6c096a276d Merge pull request 'Update nixpkgs-dev in devFlake' (#4770) from update-devFlake-nixpkgs-dev into main 2025-08-14 20:08:03 +00:00
clan-bot
b7436b5b7f Update nixpkgs-dev in devFlake 2025-08-14 20:01:49 +00:00
hsjobeki
a84ab5d4bf Merge pull request 'exports: rename special args' (#4765) from exports-1 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4765
2025-08-14 16:11:07 +00:00
Johannes Kirschbauer
a82ecbcbff docs: update docs for exports 2025-08-14 18:01:19 +02:00
Mic92
4ae3abe8c2 Merge pull request 'Update nixpkgs-dev in devFlake' (#4669) from update-devFlake-nixpkgs-dev into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4669
2025-08-14 16:01:05 +00:00
Johannes Kirschbauer
90c7951704 exports: expose in special args or 'perInstance' and 'perMachine' 2025-08-14 17:58:23 +02:00
Johannes Kirschbauer
116ff37156 exports: rename special args 2025-08-14 17:58:23 +02:00
clan-bot
f11df276a9 Update nixpkgs-dev in devFlake 2025-08-14 15:57:22 +00:00
Mic92
d44b43a937 Merge pull request 'test_machines_cli: remove more tests from the impure set' (#4764) from no-impure into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4764
2025-08-14 15:22:01 +00:00
Jörg Thalheim
716b74bc02 test_machines_cli: remove more tests from the impure set 2025-08-14 17:14:35 +02:00
Mic92
c85969c2b4 Merge pull request 'chore: remove spurious folder' (#4763) from orga into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4763
2025-08-14 15:11:51 +00:00
Johannes Kirschbauer
edb7dcc154 chore: remove spurious folder 2025-08-14 17:06:02 +02:00
Mic92
3586b4f48c Merge pull request 'clan-cli/machines/list: mark test as pure' (#4761) from no-impure-machines into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4761
2025-08-14 14:59:10 +00:00
Jörg Thalheim
9cdc6a27b6 test_copy_from_nixstore_symlink: drop test.
seems a bit overkill to have a test for two lines of python code...
2025-08-14 16:53:39 +02:00
Mic92
ceecdc0eef Merge pull request 'clan-cli/flash: remove impure tests' (#4757) from no-impure into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4757
2025-08-14 14:41:12 +00:00
Jörg Thalheim
96014c02c5 clan-cli/templates: mark tests as pure 2025-08-14 16:35:25 +02:00
Jörg Thalheim
810a2c67f9 clan-cli/machines/list: mark test as pure 2025-08-14 16:33:21 +02:00
Jörg Thalheim
fbb28afb2f clan-cli/flash: make tests runnable in sandbox 2025-08-14 16:23:22 +02:00
hsjobeki
a6ef38dadd Merge pull request 'vars: move generator class and bound methods into seperate module' (#4734) from generator-class into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4734
2025-08-14 14:17:14 +00:00
Mic92
328e0b20ac Merge pull request 'machines/list: make tests pure' (#4759) from no-impure-list into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4759
2025-08-14 14:07:51 +00:00
brianmcgee
7e77505316 Merge pull request 'fix(ui): host file input max width' (#4760) from fix/host-file-input-max-width into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4760
2025-08-14 14:01:34 +00:00
Brian McGee
245453b461 fix(ui): host file input max width 2025-08-14 14:57:26 +01:00
Jörg Thalheim
21e6a01cf3 machines/list: make tests pure 2025-08-14 15:54:00 +02:00
brianmcgee
302adf6f41 Merge pull request 'chore(ui): general cleanup' (#4758) from chore/cleanup into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4758
2025-08-14 13:32:36 +00:00
Brian McGee
f754b88ae4 chore(ui): general cleanup 2025-08-14 14:28:23 +01:00
Mic92
34d27e6bab Merge pull request 'clan-vm-manager: don't mark test_is_local as impure' (#4755) from no-impure into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4755
2025-08-14 13:12:59 +00:00
Jörg Thalheim
5817713e39 clan-vm-manager: don't mark test_is_local as impure.
should just work without it
2025-08-14 15:09:33 +02:00
clan-bot
cc283e88c9 Merge pull request 'Update disko' (#4700) from update-disko into main 2025-08-14 12:33:03 +00:00
clan-bot
1bb9f4741d Update disko 2025-08-14 12:12:27 +00:00
clan-bot
0d26e991e6 Merge pull request 'Update nuschtos in devFlake' (#4674) from update-devFlake-nuschtos into main 2025-08-14 12:11:19 +00:00
gitea-actions[bot]
961beda3e5 Update nuschtos in devFlake 2025-08-14 14:07:34 +02:00
clan-bot
0a8a1d4354 Merge pull request 'Update nixpkgs' (#4667) from update-nixpkgs into main 2025-08-14 12:05:03 +00:00
clan-bot
daf8d8e80d Update nixpkgs 2025-08-14 14:02:09 +02:00
Mic92
011b2a5872 Merge pull request 'update-flake-inputs: set different author' (#4753) from macos-ci into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4753
2025-08-14 11:35:09 +00:00
Jörg Thalheim
da06babcc2 update-flake-inputs: set different author 2025-08-14 13:30:22 +02:00
Mic92
c43eeb68a5 Merge pull request 'macos: don't build devShell until CI error is fixed' (#4752) from macos-ci into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4752
2025-08-14 11:27:30 +00:00
Jörg Thalheim
5e485a37f5 macos: don't build devShell until CI error is fixed 2025-08-14 13:05:02 +02:00
pinpox
ce902bed0a Merge pull request 'Remove clanModules (again)' (#4387) from remove-modules-new into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4387
2025-08-14 10:39:23 +00:00
pinpox
a5d401b715 Update migration status table 2025-08-14 12:29:27 +02:00
pinpox
2637496059 zt-tcp-relay: drop 2025-08-14 12:03:47 +02:00
pinpox
87c8a4549b re-add table with migration status 2025-08-14 12:02:40 +02:00
pinpox
35e5f4a42a Remove clanModules
- Removes clanModules in favor of the new clanServices
- Adds a warning and link to the migration guide
2025-08-14 12:02:40 +02:00
pinpox
e4949755d7 Merge pull request 'Migrate matrix-synapse to clan services' (#4684) from migrate-matrix-synapse into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4684
2025-08-14 10:01:14 +00:00
pinpox
b239c5bd88 Migrate matrix-synapse to clan services 2025-08-14 11:54:52 +02:00
Johannes Kirschbauer
4312e3fc2f vars: move generator class and bound methods into seperate module 2025-08-14 11:05:42 +02:00
hsjobeki
62ef90e959 Merge pull request 'codeowners: remove @lopter due to inactivity' (#4742) from codeowners into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4742
2025-08-13 17:48:08 +00:00
hsjobeki
7fdbd2e3eb Merge pull request 'dirs: remove unused conditional import' (#4736) from import-cleanup-dirs into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4736
2025-08-13 17:46:19 +00:00
hsjobeki
7daebd5ee0 Merge pull request 'networking: remove unused conditional import' (#4737) from networking-import into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4737
2025-08-13 17:46:04 +00:00
hsjobeki
cc8dd0564b Merge pull request 'askpass: use protocol as interface' (#4739) from interface-askpass into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4739
2025-08-13 17:43:01 +00:00
Johannes Kirschbauer
23e52954c9 codeowners: remove @lopter due to inactivity 2025-08-13 19:41:47 +02:00
hsjobeki
4717d1f149 Merge pull request 'lib/Remote: Unify class method _parse_ssh_uri with class file' (#4733) from imports-cleanup into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4733
2025-08-13 17:40:36 +00:00
Johannes Kirschbauer
e28f280036 vars: remove unused conditional import 2025-08-13 19:24:53 +02:00
Johannes Kirschbauer
6fa2a977df askpass: use protocol as interface
Avoids a cyclic dependency on the Remote class
Strips down the dependency closure by explizitly declaring what functions it needs
2025-08-13 19:21:18 +02:00
Johannes Kirschbauer
65dba2508f dirs: remove unused conditional import 2025-08-13 19:04:32 +02:00
Johannes Kirschbauer
9884643070 networking: remove unused conditional import 2025-08-13 19:03:35 +02:00
Johannes Kirschbauer
5083992f7b lib: remove unused TYPE_CHECKING 2025-08-13 18:26:57 +02:00
Johannes Kirschbauer
6bd8839128 lib/Remote: Unify class method _parse_ssh_uri with class file 2025-08-13 18:26:28 +02:00
clan-bot
765bdb262a Merge pull request 'Update clan-core-for-checks in devFlake' (#4731) from update-devFlake-clan-core-for-checks into main 2025-08-13 15:22:38 +00:00
gitea-actions[bot]
05c00fbe82 Update clan-core-for-checks in devFlake 2025-08-13 15:01:35 +00:00
clan-bot
7e97734797 Merge pull request 'Update clan-core-for-checks in devFlake' (#4727) from update-devFlake-clan-core-for-checks into main 2025-08-13 13:57:32 +00:00
gitea-actions[bot]
6384c4654e Update clan-core-for-checks in devFlake 2025-08-13 13:54:09 +00:00
DavHau
72d3ad09a4 vars: refactor - pass Machine objects to run_generators 2025-08-13 12:45:47 +00:00
DavHau
a535450ec0 vars: refactor - unify get_generators and _get_closure 2025-08-13 12:45:47 +00:00
Mic92
aaeb616f82 Merge pull request 'Drop update-private-flake-inputs ci action' (#4730) from init-wireguard-service into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4730
2025-08-13 12:42:59 +00:00
Jörg Thalheim
434edeaae1 drop update-private-flake-inputs 2025-08-13 14:35:43 +02:00
Mic92
a4efd3cb16 Merge pull request 'update-sops-nix2' (#4719) from update-sops-nix2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4719
2025-08-13 12:34:37 +00:00
Jörg Thalheim
13131ccd6e docs/wireguard: put requirements at the top 2025-08-13 14:34:15 +02:00
hsjobeki
3a8309b01f Merge pull request 'UI/install: add loading animation' (#4723) from install-ui into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4723
2025-08-13 12:19:23 +00:00
Johannes Kirschbauer
10065a7c8f UI/install: add loading to button 2025-08-13 14:15:52 +02:00
Johannes Kirschbauer
176b54e29d UI/Button: move state out of the button 2025-08-13 14:15:29 +02:00
Jörg Thalheim
be048d8307 morph/flash: use patched clan-core-for-checks
the other one doesn't override flake.lock
2025-08-13 11:41:09 +00:00
gitea-actions[bot]
52fcab30e7 Update sops-nix 2025-08-13 11:41:09 +00:00
Mic92
d3b423328f Merge pull request 'Add wireguard service module' (#3354) from init-wireguard-service into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3354
2025-08-13 10:55:48 +00:00
Jörg Thalheim
1177e84dcc vars/generate: print the files that were found when files are missing
this helps fixing typos in the generator scripts
2025-08-13 12:29:52 +02:00
pinpox
414952dfa3 Add wireguard service module 2025-08-13 12:29:52 +02:00
DavHau
24194011ac vars: refactor - remove unnecessary return values
The boolean return value signaling if anything was ran or not isn't that useful. We are not doing anything with it.
2025-08-13 12:54:05 +07:00
DavHau
4f78a8ff94 Merge pull request 'networking_3' (#4507) from networking_3 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4507
2025-08-13 05:20:03 +00:00
DavHau
068b5d4c1e install: fix error message when target host not specified 2025-08-13 12:04:14 +07:00
DavHau
adccef4757 install: fix torify package not available 2025-08-13 12:04:14 +07:00
Qubasa
980d94d47d clan_cli: Improve cli message if no networks present 2025-08-13 12:04:14 +07:00
lassulus
a50b25eea2 clan-cli network: refactor, use new networking in ssh and install commands 2025-08-13 12:04:14 +07:00
lassulus
017989841d refactor: remove DeployInfo class and use Network/Remote directly
- Remove DeployInfo class entirely, replacing with direct Remote usage
- Update parse_qr_json_to_networks to return dict with network and remote
- Refactor all code to work with Remote lists instead of DeployInfo
- Add get_remote_for_machine context manager for network connections
- Update tests to use new Network/Remote structure
2025-08-13 12:04:14 +07:00
lassulus
c14a5fcc69 refactor: move ssh/upload.py from cli to lib
Move the upload module to clan_lib to better organize SSH-related
utilities. Updated all imports across the codebase.
2025-08-13 12:04:14 +07:00
clan-bot
4f60345ba7 Merge pull request 'Update clan-core-for-checks in devFlake' (#4726) from update-devFlake-clan-core-for-checks into main 2025-08-13 00:21:42 +00:00
gitea-actions[bot]
ece48d3b5f Update clan-core-for-checks in devFlake 2025-08-13 00:01:32 +00:00
clan-bot
4eea8d24f0 Merge pull request 'Update clan-core-for-checks in devFlake' (#4725) from update-devFlake-clan-core-for-checks into main 2025-08-12 20:26:23 +00:00
gitea-actions[bot]
49099df3fb Update clan-core-for-checks in devFlake 2025-08-12 20:01:32 +00:00
Johannes Kirschbauer
62ccba9fb5 ui/install: test connection 2025-08-12 21:04:18 +02:00
Johannes Kirschbauer
0b44770f1f UI/install: add loading animation 2025-08-12 20:45:55 +02:00
hsjobeki
61c3d7284a Merge pull request 'pkgs/clan/lib(install): implement separate nixos-anywhere install phases' (#4710) from ke-install-phases into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4710
2025-08-12 15:34:15 +00:00
clan-bot
44b1be5ed4 Merge pull request 'Update clan-core-for-checks in devFlake' (#4717) from update-devFlake-clan-core-for-checks into main 2025-08-12 15:30:32 +00:00
Jörg Thalheim
88871bea69 clan_lib/flash: remove trailing whitespace 2025-08-12 17:14:52 +02:00
Johannes Kirschbauer
5141ea047c install: init secrets 2025-08-12 17:11:58 +02:00
gitea-actions[bot]
ff6a03a646 Update clan-core-for-checks in devFlake 2025-08-12 15:01:31 +00:00
Johannes Kirschbauer
bc379c985d ui/install: update storybook mock data 2025-08-12 16:35:34 +02:00
Johannes Kirschbauer
69d8b029d6 ui/install: fix alignment of some steps 2025-08-12 16:35:34 +02:00
Johannes Kirschbauer
f3617b0407 ui/vars: sanitize generator and prompt field names 2025-08-12 16:35:34 +02:00
Johannes Kirschbauer
a5205681cc ui/select: fix z-index of trigger 2025-08-12 16:35:34 +02:00
Johannes Kirschbauer
9880847d43 install: add progress to ui 2025-08-12 16:35:34 +02:00
a-kenji
8aa88b22ab pkgs/clan/lib(install): implement separate nixos-anywhere install phases
Split the `nixos-anywhere` phases into it's components,
so we provide the user with better feedback.

Closes: #4682
2025-08-12 16:35:34 +02:00
brianmcgee
ff979eba61 Merge pull request 'ui/integrate-clan-tags-machine-detail' (#4716) from ui/integrate-clan-tags-machine-detail into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4716
2025-08-12 14:20:27 +00:00
Brian McGee
5d1abbd303 feat(ui): integrate tags info from field schema into tags section 2025-08-12 15:16:59 +01:00
Brian McGee
92e9bb2ed8 feat(ui): integrate list_tags api call into machine detail 2025-08-12 14:46:43 +01:00
brianmcgee
ea75c9bfa9 Merge pull request 'feat(ui): add small and transparent variants for Alert component' (#4713) from feat/small-variant-for-alert into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4713
Reviewed-by: hsjobeki <hsjobeki@gmail.com>
2025-08-12 12:04:31 +00:00
hsjobeki
2adf65482d Merge pull request 'feat(api): add list_inventory_tags' (#4692) from feat/machine-tags-writeability into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4692
2025-08-12 11:33:49 +00:00
DavHau
5684ddf104 vars: health check also for API not just cli 2025-08-12 11:28:02 +00:00
Johannes Kirschbauer
f74e444120 api/tags: add docs 2025-08-12 13:19:11 +02:00
Johannes Kirschbauer
0ef57bfc8e api/tags: add init.py for pytest 2025-08-12 13:07:36 +02:00
Brian McGee
8f43af3c48 feat(ui): add transparent option for Alert component 2025-08-12 11:52:38 +01:00
Brian McGee
eeaec583cb feat(ui): add small variant for Alert component 2025-08-12 11:52:37 +01:00
Johannes Kirschbauer
a9d1ff83f2 api/tags: split list into options and non-configurable tags 2025-08-12 12:41:15 +02:00
DavHau
89cb22147c Revert "machines update: support --target-host localhost"
This reverts commit a2818d4946cc66a08b9dd7a1ab95dc48ea708fe3.

Setting `--target-host localhost` breaks with:
sudo: no askpass program specified, try setting SUDO_ASKPASS
2025-08-12 17:39:40 +07:00
Jörg Thalheim
1006fc755e clanTest/vars-executor: add debugging to finalScript 2025-08-12 12:38:47 +02:00
clan-bot
f100177df3 Merge pull request 'Update clan-core-for-checks in devFlake' (#4709) from update-devFlake-clan-core-for-checks into main 2025-08-12 10:26:57 +00:00
Johannes Kirschbauer
cbd3b08296 api/tags: add from all possible sources 2025-08-12 11:05:10 +01:00
Brian McGee
2608bee30a feat(api): add list_inventory_tags 2025-08-12 11:05:10 +01:00
gitea-actions[bot]
a29459a384 Update clan-core-for-checks in devFlake 2025-08-12 10:01:30 +00:00
DavHau
1abdd45821 vars: add doc comments for fix() and health_check() 2025-08-12 09:13:54 +00:00
brianmcgee
b058fcc8eb Merge pull request 'fix(ui): swap colors for inverted/non-inverted in Divider component' (#4696) from fix/invert-default-color-scheme-divider into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4696
2025-08-12 09:09:20 +00:00
Brian McGee
24ae95a007 fix(ui): swap colors for inverted/non-inverted in Divider component
Fixes #4602
2025-08-12 10:00:40 +01:00
brianmcgee
39510b613f Merge pull request 'fix color=inherit in typography component' (#4693) from fix/typography-color-inherit into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4693
2025-08-12 09:00:20 +00:00
Brian McGee
dcdab61d13 feat(ui): improve color=inherit example in typography story 2025-08-12 09:56:26 +01:00
1066 changed files with 38766 additions and 22159 deletions

View File

@@ -0,0 +1,12 @@
## Description of the change
<!-- Brief summary of the change if not already clear from the title -->
## Checklist
- [ ] Updated Documentation
- [ ] Added tests
- [ ] Doesn't affect backwards compatibility - or check the next points
- [ ] Add the breaking change and migration details to docs/release-notes.md
- !!! Review from another person is required *BEFORE* merge !!!
- [ ] Add introduction of major feature to docs/release-notes.md

View File

@@ -1,9 +0,0 @@
name: checks
on:
pull_request:
jobs:
checks-impure:
runs-on: nix
steps:
- uses: actions/checkout@v4
- run: nix run .#impure-checks

View File

@@ -8,6 +8,6 @@ jobs:
runs-on: nix
steps:
- uses: actions/checkout@v4
- run: nix run .#deploy-docs
- run: nix run --print-build-logs .#deploy-docs
env:
SSH_HOMEPAGE_KEY: ${{ secrets.SSH_HOMEPAGE_KEY }}

View File

@@ -19,8 +19,11 @@ jobs:
uses: Mic92/update-flake-inputs-gitea@main
with:
# Exclude private flakes and update-clan-core checks flake
exclude-patterns: "devFlake/private/flake.nix,checks/impure/flake.nix"
exclude-patterns: "checks/impure/flake.nix"
auto-merge: true
git-author-name: "clan-bot"
git-committer-name: "clan-bot"
git-author-email: "clan-bot@clan.lol"
git-committer-email: "clan-bot@clan.lol"
gitea-token: ${{ secrets.CI_BOT_TOKEN }}
github-token: ${{ secrets.CI_BOT_GITHUB_TOKEN }}

View File

@@ -1,40 +0,0 @@
name: "Update private flake inputs"
on:
repository_dispatch:
workflow_dispatch:
schedule:
- cron: "0 3 * * *" # Run daily at 3 AM
jobs:
update-private-flake:
runs-on: nix
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Update private flake inputs
run: |
# Update the private flake lock file
cd devFlake/private
nix flake update
cd ../..
# Update the narHash
bash ./devFlake/update-private-narhash
- name: Create pull request
env:
CI_BOT_TOKEN: ${{ secrets.CI_BOT_TOKEN }}
run: |
export GIT_AUTHOR_NAME=clan-bot GIT_AUTHOR_EMAIL=clan-bot@clan.lol GIT_COMMITTER_NAME=clan-bot GIT_COMMITTER_EMAIL=clan-bot@clan.lol
# Check if there are any changes
if ! git diff --quiet; then
git add devFlake/private/flake.lock devFlake/private.narHash
git commit -m "Update dev flake"
# Use shared PR creation script
export PR_BRANCH="update-dev-flake"
export PR_TITLE="Update dev flake"
export PR_BODY="This PR updates the dev flake inputs and corresponding narHash."
else
echo "No changes detected in dev flake inputs"
fi

View File

@@ -10,7 +10,7 @@ jobs:
if: github.repository_owner == 'clan-lol'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
persist-credentials: false
- uses: actions/create-github-app-token@v2

3
.gitignore vendored
View File

@@ -39,7 +39,6 @@ select
# Generated files
pkgs/clan-app/ui/api/API.json
pkgs/clan-app/ui/api/API.ts
pkgs/clan-app/ui/api/Inventory.ts
pkgs/clan-app/ui/api/modules_schemas.json
pkgs/clan-app/ui/api/schema.json
pkgs/clan-app/ui/.fonts
@@ -53,3 +52,5 @@ pkgs/clan-app/ui/.fonts
*.gif
*.mp4
*.mkv
.jj

View File

@@ -1,2 +1,20 @@
nixosModules/clanCore/vars/.* @lopter
pkgs/clan-cli/clan_cli/(secrets|vars)/.* @lopter
clanServices/.* @pinpox @kenji
lib/test/container-test-driver/.* @DavHau @mic92
lib/modules/inventory/.* @hsjobeki
lib/modules/inventoryClass/.* @hsjobeki
pkgs/clan-app/ui/.* @hsjobeki @brianmcgee
pkgs/clan-app/clan_app/.* @qubasa @hsjobeki
pkgs/clan-cli/clan_cli/.* @lassulus @mic92 @kenji
pkgs/clan-cli/clan_cli/(secrets|vars)/.* @DavHau @lassulus
pkgs/clan-cli/clan_lib/log_machines/.* @Qubasa
pkgs/clan-cli/clan_lib/ssh/.* @Qubasa @Mic92 @lassulus
pkgs/clan-cli/clan_lib/tags/.* @hsjobeki
pkgs/clan-cli/clan_lib/persist/.* @hsjobeki
pkgs/clan-cli/clan_lib/flake/.* @lassulus
pkgs/clan-cli/api.py @hsjobeki
pkgs/clan-cli/openapi.py @hsjobeki

View File

@@ -1,4 +0,0 @@
# Contributing to Clan
<!-- Local file: docs/CONTRIBUTING.md -->
Go to the Contributing guide at https://docs.clan.lol/guides/contributing/CONTRIBUTING

View File

@@ -8,7 +8,7 @@ Our mission is simple: to democratize computing by providing tools that empower
## Features of Clan
- **Full-Stack System Deployment:** Utilize Clans toolkit alongside Nix's reliability to build and manage systems effortlessly.
- **Full-Stack System Deployment:** Utilize Clan's toolkit alongside Nix's reliability to build and manage systems effortlessly.
- **Overlay Networks:** Secure, private communication channels between devices.
- **Virtual Machine Integration:** Seamless operation of VM applications within the main operating system.
- **Robust Backup Management:** Long-term, self-hosted data preservation.
@@ -30,7 +30,7 @@ In the Clan ecosystem, security is paramount. Learn how to handle secrets effect
The Clan project thrives on community contributions. We welcome everyone to contribute and collaborate:
- **Contribution Guidelines**: Make a meaningful impact by following the steps in [contributing](https://docs.clan.lol/contributing/contributing/)<!-- [contributing.md](docs/CONTRIBUTING.md) -->.
- **Contribution Guidelines**: Make a meaningful impact by following the steps in [contributing](https://docs.clan.lol/guides/contributing/CONTRIBUTING/)<!-- [contributing.md](docs/CONTRIBUTING.md) -->.
## Join the revolution

View File

@@ -1,51 +0,0 @@
(
{ ... }:
{
name = "borgbackup";
nodes.machine =
{ self, pkgs, ... }:
{
imports = [
self.clanModules.borgbackup
self.nixosModules.clanCore
{
services.openssh.enable = true;
services.borgbackup.repos.testrepo = {
authorizedKeys = [ (builtins.readFile ../assets/ssh/pubkey) ];
};
}
{
clan.core.settings.directory = ./.;
clan.core.state.testState.folders = [ "/etc/state" ];
environment.etc.state.text = "hello world";
systemd.tmpfiles.settings."vmsecrets" = {
"/etc/secrets/borgbackup/borgbackup.ssh" = {
C.argument = "${../assets/ssh/privkey}";
z = {
mode = "0400";
user = "root";
};
};
"/etc/secrets/borgbackup/borgbackup.repokey" = {
C.argument = builtins.toString (pkgs.writeText "repokey" "repokey12345");
z = {
mode = "0400";
user = "root";
};
};
};
# clan.core.facts.secretStore = "vm";
clan.core.vars.settings.secretStore = "vm";
clan.borgbackup.destinations.test.repo = "borg@localhost:.";
}
];
};
testScript = ''
start_all()
machine.systemctl("start --wait borgbackup-job-test.service")
assert "machine-test" in machine.succeed("BORG_UNKNOWN_UNENCRYPTED_REPO_ACCESS_IS_OK=yes /run/current-system/sw/bin/borg-job-test list")
'';
}
)

View File

@@ -1,6 +0,0 @@
{ fetchgit }:
fetchgit {
url = "https://git.clan.lol/clan/clan-core.git";
rev = "5d884cecc2585a29b6a3596681839d081b4de192";
sha256 = "09is1afmncamavb2q88qac37vmsijxzsy1iz1vr6gsyjq2rixaxc";
}

View File

@@ -12,7 +12,6 @@ let
elem
filter
filterAttrs
flip
genAttrs
hasPrefix
pathExists
@@ -20,33 +19,23 @@ let
nixosLib = import (self.inputs.nixpkgs + "/nixos/lib") { };
in
{
imports =
let
clanCoreModulesDir = ../nixosModules/clanCore;
getClanCoreTestModules =
let
moduleNames = attrNames (builtins.readDir clanCoreModulesDir);
testPaths = map (
moduleName: clanCoreModulesDir + "/${moduleName}/tests/flake-module.nix"
) moduleNames;
in
filter pathExists testPaths;
in
getClanCoreTestModules
++ filter pathExists [
./devshell/flake-module.nix
./flash/flake-module.nix
./impure/flake-module.nix
./installation/flake-module.nix
./update/flake-module.nix
./morph/flake-module.nix
./nixos-documentation/flake-module.nix
./dont-depend-on-repo-root.nix
];
imports = filter pathExists [
./devshell/flake-module.nix
./flash/flake-module.nix
./installation/flake-module.nix
./update/flake-module.nix
./morph/flake-module.nix
./nixos-documentation/flake-module.nix
./dont-depend-on-repo-root.nix
# clan core submodule tests
../nixosModules/clanCore/machine-id/tests/flake-module.nix
../nixosModules/clanCore/postgresql/tests/flake-module.nix
../nixosModules/clanCore/state-version/tests/flake-module.nix
];
flake.check = genAttrs [ "x86_64-linux" "aarch64-darwin" ] (
system:
let
checks = flip filterAttrs self.checks.${system} (
checks = filterAttrs (
name: _check:
!(hasPrefix "nixos-test-" name)
&& !(hasPrefix "nixos-" name)
@@ -58,7 +47,7 @@ in
"clan-core-for-checks"
"clan-deps"
])
);
) self.checks.${system};
in
inputs.nixpkgs.legacyPackages.${system}.runCommand "fast-flake-checks-${system}"
{ passthru.checks = checks; }
@@ -93,17 +82,15 @@ in
# Base Tests
nixos-test-secrets = self.clanLib.test.baseTest ./secrets nixosTestArgs;
nixos-test-borgbackup-legacy = self.clanLib.test.baseTest ./borgbackup-legacy nixosTestArgs;
nixos-test-wayland-proxy-virtwl = self.clanLib.test.baseTest ./wayland-proxy-virtwl nixosTestArgs;
# Container Tests
nixos-test-container = self.clanLib.test.containerTest ./container nixosTestArgs;
nixos-test-zt-tcp-relay = self.clanLib.test.containerTest ./zt-tcp-relay nixosTestArgs;
nixos-test-matrix-synapse = self.clanLib.test.containerTest ./matrix-synapse nixosTestArgs;
nixos-test-user-firewall-iptables = self.clanLib.test.containerTest ./user-firewall/iptables.nix nixosTestArgs;
nixos-test-user-firewall-nftables = self.clanLib.test.containerTest ./user-firewall/nftables.nix nixosTestArgs;
service-dummy-test = import ./service-dummy-test nixosTestArgs;
wireguard = import ./wireguard nixosTestArgs;
service-dummy-test-from-flake = import ./service-dummy-test-from-flake nixosTestArgs;
};
@@ -113,6 +100,8 @@ in
"dont-depend-on-repo-root"
];
# Temporary workaround: Filter out docs package and devshell for aarch64-darwin due to CI builder hangs
# TODO: Remove this filter once macOS CI builder is updated
flakeOutputs =
lib.mapAttrs' (
name: config: lib.nameValuePair "nixos-${name}" config.config.system.build.toplevel
@@ -120,8 +109,18 @@ in
// lib.mapAttrs' (
name: config: lib.nameValuePair "darwin-${name}" config.config.system.build.toplevel
) (self.darwinConfigurations or { })
// lib.mapAttrs' (n: lib.nameValuePair "package-${n}") packagesToBuild
// lib.mapAttrs' (n: lib.nameValuePair "devShell-${n}") self'.devShells
// lib.mapAttrs' (n: lib.nameValuePair "package-${n}") (
if system == "aarch64-darwin" then
lib.filterAttrs (n: _: n != "docs" && n != "deploy-docs" && n != "option-search") packagesToBuild
else
packagesToBuild
)
// lib.mapAttrs' (n: lib.nameValuePair "devShell-${n}") (
if system == "aarch64-darwin" then
lib.filterAttrs (n: _: n != "docs") self'.devShells
else
self'.devShells
)
// lib.mapAttrs' (name: config: lib.nameValuePair "home-manager-${name}" config.activation-script) (
self'.legacyPackages.homeConfigurations or { }
);
@@ -129,33 +128,6 @@ in
nixosTests
// flakeOutputs
// {
# TODO: Automatically provide this check to downstream users to check their modules
clan-modules-json-compatible =
let
allSchemas = lib.mapAttrs (
_n: m:
let
schema =
(self.clanLib.evalService {
modules = [ m ];
prefix = [
"checks"
system
];
}).config.result.api.schema;
in
schema
) self.clan.modules;
in
pkgs.runCommand "combined-result"
{
schemaFile = builtins.toFile "schemas.json" (builtins.toJSON allSchemas);
}
''
mkdir -p $out
cat $schemaFile > $out/allSchemas.json
'';
clan-core-for-checks = pkgs.runCommand "clan-core-for-checks" { } ''
cp -r ${privateInputs.clan-core-for-checks} $out
chmod -R +w $out

View File

@@ -2,7 +2,6 @@
config,
self,
lib,
privateInputs,
...
}:
{
@@ -14,8 +13,6 @@
fileSystems."/".device = lib.mkDefault "/dev/vda";
boot.loader.grub.device = lib.mkDefault "/dev/vda";
# We need to use `mkForce` because we inherit from `test-install-machine`
# which currently hardcodes `nixpkgs.hostPlatform`
nixpkgs.hostPlatform = lib.mkForce system;
imports = [ self.nixosModules.test-flash-machine ];
@@ -29,10 +26,24 @@
{
imports = [ self.nixosModules.test-install-machine-without-system ];
# We don't want our system to define any `vars` generators as these can't
# be generated as the flake is inside `/nix/store`.
clan.core.settings.state-version.enable = false;
clan.core.vars.generators.test = lib.mkForce { };
disko.devices.disk.main.preCreateHook = lib.mkForce "";
# Every option here should match the options set through `clan flash write`
# if you get a mass rebuild on the disko derivation, this means you need to
# adjust something here. Also make sure that the injected json in clan flash write
# is up to date.
i18n.defaultLocale = "de_DE.UTF-8";
console.keyMap = "de";
services.xserver.xkb.layout = "de";
users.users.root.openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIRWUusawhlIorx7VFeQJHmMkhl9X3QpnvOdhnV/bQNG root@target\n"
];
};
};
perSystem =
@@ -45,8 +56,11 @@
dependencies = [
pkgs.disko
pkgs.buildPackages.xorg.lndir
pkgs.glibcLocales
pkgs.kbd.out
self.nixosConfigurations."test-flash-machine-${pkgs.hostPlatform.system}".pkgs.perlPackages.ConfigIniFiles
self.nixosConfigurations."test-flash-machine-${pkgs.hostPlatform.system}".pkgs.perlPackages.FileSlurp
pkgs.bubblewrap
self.nixosConfigurations."test-flash-machine-${pkgs.hostPlatform.system}".config.system.build.toplevel
self.nixosConfigurations."test-flash-machine-${pkgs.hostPlatform.system}".config.system.build.diskoScript
@@ -56,7 +70,8 @@
closureInfo = pkgs.closureInfo { rootPaths = dependencies; };
in
{
checks = pkgs.lib.mkIf pkgs.stdenv.isLinux {
# Skip flash test on aarch64-linux for now as it's too slow
checks = lib.optionalAttrs (pkgs.stdenv.isLinux && pkgs.hostPlatform.system != "aarch64-linux") {
nixos-test-flash = self.clanLib.test.baseTest {
name = "flash";
nodes.target = {
@@ -73,7 +88,7 @@
substituters = lib.mkForce [ ];
hashed-mirrors = null;
connect-timeout = lib.mkForce 3;
flake-registry = pkgs.writeText "flake-registry" ''{"flakes":[],"version":2}'';
flake-registry = "";
experimental-features = [
"nix-command"
"flakes"
@@ -82,10 +97,10 @@
};
testScript = ''
start_all()
machine.succeed("echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIRWUusawhlIorx7VFeQJHmMkhl9X3QpnvOdhnV/bQNG root@target' > ./test_id_ed25519.pub")
# Some distros like to automount disks with spaces
machine.succeed('mkdir -p "/mnt/with spaces" && mkfs.ext4 /dev/vdc && mount /dev/vdc "/mnt/with spaces"')
machine.succeed("clan flash write --debug --flake ${privateInputs.clan-core-for-checks} --yes --disk main /dev/vdc test-flash-machine-${pkgs.hostPlatform.system}")
machine.succeed("clan flash write --ssh-pubkey ./test_id_ed25519.pub --keymap de --language de_DE.UTF-8 --debug --flake ${self.checks.x86_64-linux.clan-core-for-checks} --yes --disk main /dev/vdc test-flash-machine-${pkgs.hostPlatform.system}")
'';
} { inherit pkgs self; };
};

View File

@@ -1,51 +0,0 @@
{
perSystem =
{
pkgs,
lib,
self',
...
}:
{
# a script that executes all other checks
packages.impure-checks = pkgs.writeShellScriptBin "impure-checks" ''
#!${pkgs.bash}/bin/bash
set -euo pipefail
unset CLAN_DIR
export PATH="${
lib.makeBinPath (
[
pkgs.gitMinimal
pkgs.nix
pkgs.coreutils
pkgs.rsync # needed to have rsync installed on the dummy ssh server
]
++ self'.packages.clan-cli-full.runtimeDependencies
)
}"
ROOT=$(git rev-parse --show-toplevel)
cd "$ROOT/pkgs/clan-cli"
# Set up custom git configuration for tests
export GIT_CONFIG_GLOBAL=$(mktemp)
git config --file "$GIT_CONFIG_GLOBAL" user.name "Test User"
git config --file "$GIT_CONFIG_GLOBAL" user.email "test@example.com"
export GIT_CONFIG_SYSTEM=/dev/null
# this disables dynamic dependency loading in clan-cli
export CLAN_NO_DYNAMIC_DEPS=1
jobs=$(nproc)
# Spawning worker in pytest is relatively slow, so we limit the number of jobs to 13
# (current number of impure tests)
jobs="$((jobs > 13 ? 13 : jobs))"
nix develop "$ROOT#clan-cli" -c bash -c "TMPDIR=/tmp python -m pytest -n $jobs -m impure ./clan_cli $@"
# Clean up temporary git config
rm -f "$GIT_CONFIG_GLOBAL"
'';
};
}

View File

@@ -1,8 +1,8 @@
{
config,
self,
lib,
privateInputs,
...
}:
{
@@ -14,31 +14,38 @@
# you can get a new one by adding
# client.fail("cat test-flake/machines/test-install-machine/facter.json >&2")
# to the installation test.
clan.machines.test-install-machine-without-system = {
fileSystems."/".device = lib.mkDefault "/dev/vda";
boot.loader.grub.device = lib.mkDefault "/dev/vda";
imports = [ self.nixosModules.test-install-machine-without-system ];
};
clan.machines.test-install-machine-with-system =
{ pkgs, ... }:
{
# https://git.clan.lol/clan/test-fixtures
facter.reportPath = builtins.fetchurl {
url = "https://git.clan.lol/clan/test-fixtures/raw/commit/4a2bc56d886578124b05060d3fb7eddc38c019f8/nixos-vm-facter-json/${pkgs.hostPlatform.system}.json";
sha256 =
{
aarch64-linux = "sha256:1rlfymk03rmfkm2qgrc8l5kj5i20srx79n1y1h4nzlpwaz0j7hh2";
x86_64-linux = "sha256:16myh0ll2gdwsiwkjw5ba4dl23ppwbsanxx214863j7nvzx42pws";
}
.${pkgs.hostPlatform.system};
};
clan.machines = {
test-install-machine-without-system = {
fileSystems."/".device = lib.mkDefault "/dev/vda";
boot.loader.grub.device = lib.mkDefault "/dev/vda";
imports = [ self.nixosModules.test-install-machine-without-system ];
imports = [
self.nixosModules.test-install-machine-without-system
];
};
}
// (lib.listToAttrs (
lib.map (
system:
lib.nameValuePair "test-install-machine-${system}" {
imports = [
self.nixosModules.test-install-machine-without-system
(
if privateInputs ? test-fixtures then
{
facter.reportPath = privateInputs.test-fixtures + /nixos-vm-facter-json/${system}.json;
}
else
{ nixpkgs.hostPlatform = system; }
)
];
fileSystems."/".device = lib.mkDefault "/dev/vda";
boot.loader.grub.device = lib.mkDefault "/dev/vda";
}
) (lib.filter (lib.hasSuffix "linux") config.systems)
));
flake.nixosModules = {
test-install-machine-without-system =
{ lib, modulesPath, ... }:
@@ -153,9 +160,9 @@
closureInfo = pkgs.closureInfo {
rootPaths = [
privateInputs.clan-core-for-checks
self.clanInternals.machines.${pkgs.hostPlatform.system}.test-install-machine-with-system.config.system.build.toplevel
self.clanInternals.machines.${pkgs.hostPlatform.system}.test-install-machine-with-system.config.system.build.initialRamdisk
self.clanInternals.machines.${pkgs.hostPlatform.system}.test-install-machine-with-system.config.system.build.diskoScript
self.nixosConfigurations."test-install-machine-${pkgs.hostPlatform.system}".config.system.build.toplevel
self.nixosConfigurations."test-install-machine-${pkgs.hostPlatform.system}".config.system.build.initialRamdisk
self.nixosConfigurations."test-install-machine-${pkgs.hostPlatform.system}".config.system.build.diskoScript
pkgs.stdenv.drvPath
pkgs.bash.drvPath
pkgs.buildPackages.xorg.lndir
@@ -208,7 +215,7 @@
# Prepare test flake and Nix store
flake_dir = prepare_test_flake(
temp_dir,
"${privateInputs.clan-core-for-checks}",
"${self.checks.${pkgs.hostPlatform.system}.clan-core-for-checks}",
"${closureInfo}"
)
@@ -219,6 +226,22 @@
"${../assets/ssh/privkey}"
)
# Run clan install from host using port forwarding
clan_cmd = [
"${self.packages.${pkgs.system}.clan-cli-full}/bin/clan",
"machines",
"init-hardware-config",
"--debug",
"--flake", str(flake_dir),
"--yes", "test-install-machine-without-system",
"--host-key-check", "none",
"--target-host", f"nonrootuser@localhost:{ssh_conn.host_port}",
"-i", ssh_conn.ssh_key,
"--option", "store", os.environ['CLAN_TEST_STORE']
]
subprocess.run(clan_cmd, check=True)
# Run clan install from host using port forwarding
clan_cmd = [
"${self.packages.${pkgs.system}.clan-cli-full}/bin/clan",
@@ -232,6 +255,7 @@
"-i", ssh_conn.ssh_key,
"--option", "store", os.environ['CLAN_TEST_STORE'],
"--update-hardware-config", "nixos-facter",
"--no-persist-state",
]
subprocess.run(clan_cmd, check=True)
@@ -241,7 +265,7 @@
target.shutdown()
except BrokenPipeError:
# qemu has already exited
pass
target.connected = False
# Create a new machine instance that boots from the installed system
installed_machine = create_test_machine(target, "${pkgs.qemu_test}", name="after_install")
@@ -272,10 +296,10 @@
# Prepare test flake and Nix store
flake_dir = prepare_test_flake(
temp_dir,
"${privateInputs.clan-core-for-checks}",
"${self.checks.${pkgs.hostPlatform.system}.clan-core-for-checks}",
"${closureInfo}"
)
# Set up SSH connection
ssh_conn = setup_ssh_connection(
target,
@@ -301,7 +325,8 @@
"test-install-machine-without-system",
"-i", ssh_conn.ssh_key,
"--option", "store", os.environ['CLAN_TEST_STORE'],
f"nonrootuser@localhost:{ssh_conn.host_port}"
"--target-host", f"nonrootuser@localhost:{ssh_conn.host_port}",
"--yes"
]
result = subprocess.run(clan_cmd, capture_output=True, cwd=flake_dir)
@@ -325,7 +350,9 @@
"test-install-machine-without-system",
"-i", ssh_conn.ssh_key,
"--option", "store", os.environ['CLAN_TEST_STORE'],
f"nonrootuser@localhost:{ssh_conn.host_port}"
"--target-host",
f"nonrootuser@localhost:{ssh_conn.host_port}",
"--yes"
]
result = subprocess.run(clan_cmd, capture_output=True, cwd=flake_dir)

View File

@@ -15,7 +15,6 @@ let
networking.useNetworkd = true;
services.openssh.enable = true;
services.openssh.settings.UseDns = false;
services.openssh.settings.PasswordAuthentication = false;
system.nixos.variant_id = "installer";
environment.systemPackages = [
pkgs.nixos-facter
@@ -147,28 +146,11 @@ let
];
doCheck = false;
};
# Common closure info
closureInfo = pkgs.closureInfo {
rootPaths = [
self.checks.x86_64-linux.clan-core-for-checks
self.clanInternals.machines.${pkgs.hostPlatform.system}.test-install-machine-with-system.config.system.build.toplevel
self.clanInternals.machines.${pkgs.hostPlatform.system}.test-install-machine-with-system.config.system.build.initialRamdisk
self.clanInternals.machines.${pkgs.hostPlatform.system}.test-install-machine-with-system.config.system.build.diskoScript
self.clanInternals.machines.${pkgs.hostPlatform.system}.test-install-machine-with-system.config.system.clan.deployment.file
pkgs.stdenv.drvPath
pkgs.bash.drvPath
pkgs.buildPackages.xorg.lndir
]
++ builtins.map (i: i.outPath) (builtins.attrValues self.inputs);
};
in
{
inherit
target
baseTestMachine
nixosTestLib
closureInfo
;
}

View File

@@ -1,83 +0,0 @@
(
{ pkgs, ... }:
{
name = "matrix-synapse";
nodes.machine =
{
config,
self,
lib,
...
}:
{
imports = [
self.clanModules.matrix-synapse
self.nixosModules.clanCore
{
clan.core.settings.directory = ./.;
services.nginx.virtualHosts."matrix.clan.test" = {
enableACME = lib.mkForce false;
forceSSL = lib.mkForce false;
};
clan.nginx.acme.email = "admins@clan.lol";
clan.matrix-synapse = {
server_tld = "clan.test";
app_domain = "matrix.clan.test";
};
clan.matrix-synapse.users.admin.admin = true;
clan.matrix-synapse.users.someuser = { };
clan.core.facts.secretStore = "vm";
clan.core.vars.settings.secretStore = "vm";
clan.core.vars.settings.publicStore = "in_repo";
# because we use systemd-tmpfiles to copy the secrets, we need to a separate systemd-tmpfiles call to provision them.
boot.postBootCommands = "${config.systemd.package}/bin/systemd-tmpfiles --create /etc/tmpfiles.d/00-vmsecrets.conf";
systemd.tmpfiles.settings."00-vmsecrets" = {
# run before 00-nixos.conf
"/etc/secrets" = {
d.mode = "0700";
z.mode = "0700";
};
"/etc/secrets/matrix-synapse/synapse-registration_shared_secret" = {
f.argument = "supersecret";
z = {
mode = "0400";
user = "root";
};
};
"/etc/secrets/matrix-password-admin/matrix-password-admin" = {
f.argument = "matrix-password1";
z = {
mode = "0400";
user = "root";
};
};
"/etc/secrets/matrix-password-someuser/matrix-password-someuser" = {
f.argument = "matrix-password2";
z = {
mode = "0400";
user = "root";
};
};
};
}
];
};
testScript = ''
start_all()
machine.wait_for_unit("matrix-synapse")
machine.succeed("${pkgs.netcat}/bin/nc -z -v ::1 8008")
machine.wait_until_succeeds("${pkgs.curl}/bin/curl -Ssf -L http://localhost/_matrix/static/ -H 'Host: matrix.clan.test'")
machine.systemctl("restart matrix-synapse >&2") # check if user creation is idempotent
machine.execute("journalctl -u matrix-synapse --no-pager >&2")
machine.wait_for_unit("matrix-synapse")
machine.succeed("${pkgs.netcat}/bin/nc -z -v ::1 8008")
machine.succeed("${pkgs.curl}/bin/curl -Ssf -L http://localhost/_matrix/static/ -H 'Host: matrix.clan.test'")
'';
}
)

View File

@@ -1 +0,0 @@
registration_shared_secret: supersecret

View File

@@ -1,6 +1,5 @@
{
self,
privateInputs,
...
}:
{
@@ -55,7 +54,7 @@
testScript = ''
start_all()
actual.fail("cat /etc/testfile")
actual.succeed("env CLAN_DIR=${privateInputs.clan-core-for-checks} clan machines morph test-morph-template --i-will-be-fired-for-using-this --debug --name test-morph-machine")
actual.succeed("env CLAN_DIR=${self.checks.x86_64-linux.clan-core-for-checks} clan machines morph test-morph-template --i-will-be-fired-for-using-this --debug --name test-morph-machine")
assert actual.succeed("cat /etc/testfile") == "morphed"
'';
} { inherit pkgs self; };

View File

@@ -16,7 +16,6 @@ nixosLib.runTest (
# This tests the compatibility of the inventory
# With the test framework
# - legacy-modules
# - clan.service modules
name = "service-dummy-test-from-flake";
@@ -30,35 +29,34 @@ nixosLib.runTest (
{ nodes, ... }:
''
import subprocess
from nixos_test_lib.nix_setup import setup_nix_in_nix # type: ignore[import-untyped]
import tempfile
from nixos_test_lib.nix_setup import setup_nix_in_nix
setup_nix_in_nix(None) # No closure info for this test
with tempfile.TemporaryDirectory() as temp_dir:
setup_nix_in_nix(temp_dir, None) # No closure info for this test
start_all()
admin1.wait_for_unit("multi-user.target")
peer1.wait_for_unit("multi-user.target")
# Provided by the legacy module
print(admin1.succeed("systemctl status dummy-service"))
print(peer1.succeed("systemctl status dummy-service"))
start_all()
admin1.wait_for_unit("multi-user.target")
peer1.wait_for_unit("multi-user.target")
# peer1 should have the 'hello' file
peer1.succeed("cat ${nodes.peer1.clan.core.vars.generators.new-service.files.not-a-secret.path}")
# peer1 should have the 'hello' file
peer1.succeed("cat ${nodes.peer1.clan.core.vars.generators.new-service.files.not-a-secret.path}")
ls_out = peer1.succeed("ls -la ${nodes.peer1.clan.core.vars.generators.new-service.files.a-secret.path}")
# Check that the file is owned by 'nobody'
assert "nobody" in ls_out, f"File is not owned by 'nobody': {ls_out}"
# Check that the file is in the 'users' group
assert "users" in ls_out, f"File is not in the 'users' group: {ls_out}"
# Check that the file is in the '0644' mode
assert "-rw-r--r--" in ls_out, f"File is not in the '0644' mode: {ls_out}"
ls_out = peer1.succeed("ls -la ${nodes.peer1.clan.core.vars.generators.new-service.files.a-secret.path}")
# Check that the file is owned by 'nobody'
assert "nobody" in ls_out, f"File is not owned by 'nobody': {ls_out}"
# Check that the file is in the 'users' group
assert "users" in ls_out, f"File is not in the 'users' group: {ls_out}"
# Check that the file is in the '0644' mode
assert "-rw-r--r--" in ls_out, f"File is not in the '0644' mode: {ls_out}"
# Run clan command
result = subprocess.run(
["${
clan-core.packages.${hostPkgs.system}.clan-cli
}/bin/clan", "machines", "list", "--flake", "${config.clan.test.flakeForSandbox}"],
check=True
)
# Run clan command
result = subprocess.run(
["${
clan-core.packages.${hostPkgs.system}.clan-cli
}/bin/clan", "machines", "list", "--flake", "${config.clan.test.flakeForSandbox}"],
check=True
)
'';
}
)

View File

@@ -15,12 +15,6 @@
meta.name = "foo";
machines.peer1 = { };
machines.admin1 = { };
services = {
legacy-module.default = {
roles.peer.machines = [ "peer1" ];
roles.admin.machines = [ "admin1" ];
};
};
instances."test" = {
module.name = "new-service";
@@ -28,15 +22,14 @@
roles.peer.machines.peer1 = { };
};
modules = {
legacy-module = ./legacy-module;
};
};
modules.new-service = {
_class = "clan.service";
manifest.name = "new-service";
roles.peer = { };
roles.peer = {
description = "A peer that uses the new-service to generate some files.";
};
perMachine = {
nixosModule = {
# This should be generated by:

View File

@@ -1,10 +0,0 @@
---
description = "Set up dummy-module"
categories = ["System"]
features = [ "inventory" ]
[constraints]
roles.admin.min = 1
roles.admin.max = 1
---

View File

@@ -1,5 +0,0 @@
{
imports = [
../shared.nix
];
}

View File

@@ -1,5 +0,0 @@
{
imports = [
../shared.nix
];
}

View File

@@ -1,34 +0,0 @@
{ config, ... }:
{
systemd.services.dummy-service = {
enable = true;
description = "Dummy service";
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
};
script = ''
generated_password_path="${config.clan.core.vars.generators.dummy-generator.files.generated-password.path}"
if [ ! -f "$generated_password_path" ]; then
echo "Generated password file not found: $generated_password_path"
exit 1
fi
host_id_path="${config.clan.core.vars.generators.dummy-generator.files.host-id.path}"
if [ ! -e "$host_id_path" ]; then
echo "Host ID file not found: $host_id_path"
exit 1
fi
'';
};
# TODO: add and prompt and make it work in the test framework
clan.core.vars.generators.dummy-generator = {
files.host-id.secret = false;
files.generated-password.secret = true;
script = ''
echo $RANDOM > "$out"/host-id
echo $RANDOM > "$out"/generated-password
'';
};
}

View File

@@ -15,7 +15,6 @@ nixosLib.runTest (
# This tests the compatibility of the inventory
# With the test framework
# - legacy-modules
# - clan.service modules
name = "service-dummy-test";
@@ -24,12 +23,6 @@ nixosLib.runTest (
inventory = {
machines.peer1 = { };
machines.admin1 = { };
services = {
legacy-module.default = {
roles.peer.machines = [ "peer1" ];
roles.admin.machines = [ "admin1" ];
};
};
instances."test" = {
module.name = "new-service";
@@ -37,14 +30,13 @@ nixosLib.runTest (
roles.peer.machines.peer1 = { };
};
modules = {
legacy-module = ./legacy-module;
};
};
modules.new-service = {
_class = "clan.service";
manifest.name = "new-service";
roles.peer = { };
roles.peer = {
description = "A peer that uses the new-service to generate some files.";
};
perMachine = {
nixosModule = {
# This should be generated by:
@@ -78,9 +70,6 @@ nixosLib.runTest (
start_all()
admin1.wait_for_unit("multi-user.target")
peer1.wait_for_unit("multi-user.target")
# Provided by the legacy module
print(admin1.succeed("systemctl status dummy-service"))
print(peer1.succeed("systemctl status dummy-service"))
# peer1 should have the 'hello' file
peer1.succeed("cat ${nodes.peer1.clan.core.vars.generators.new-service.files.not-a-secret.path}")

View File

@@ -67,6 +67,15 @@
];
};
nix.settings = {
flake-registry = "";
# required for setting the `flake-registry`
experimental-features = [
"nix-command"
"flakes"
];
};
# Define the mounts that exist in the container to prevent them from being stopped
fileSystems = {
"/" = {
@@ -106,12 +115,13 @@
let
closureInfo = pkgs.closureInfo {
rootPaths = [
self.packages.${pkgs.system}.clan-cli
self.checks.${pkgs.system}.clan-core-for-checks
self.packages.${pkgs.hostPlatform.system}.clan-cli
self.checks.${pkgs.hostPlatform.system}.clan-core-for-checks
self.clanInternals.machines.${pkgs.hostPlatform.system}.test-update-machine.config.system.build.toplevel
pkgs.stdenv.drvPath
pkgs.bash.drvPath
pkgs.buildPackages.xorg.lndir
pkgs.bubblewrap
]
++ builtins.map (i: i.outPath) (builtins.attrValues self.inputs);
};
@@ -122,7 +132,7 @@
imports = [ self.nixosModules.test-update-machine ];
};
extraPythonPackages = _p: [
self.legacyPackages.${pkgs.system}.nixosTestLib
self.legacyPackages.${pkgs.hostPlatform.system}.nixosTestLib
];
testScript = ''
@@ -144,7 +154,7 @@
# Prepare test flake and Nix store
flake_dir = prepare_test_flake(
temp_dir,
"${self.checks.x86_64-linux.clan-core-for-checks}",
"${self.checks.${pkgs.hostPlatform.system}.clan-core-for-checks}",
"${closureInfo}"
)
(flake_dir / ".clan-flake").write_text("") # Ensure .clan-flake exists
@@ -174,7 +184,7 @@
##############
print("TEST: update with --build-host localhost --target-host localhost")
print("TEST: update with --build-host local")
with open(machine_config_path, "w") as f:
f.write("""
{
@@ -197,17 +207,27 @@
check=True
)
# allow machine to ssh into itself
subprocess.run([
"ssh",
"-o", "UserKnownHostsFile=/dev/null",
"-o", "StrictHostKeyChecking=no",
f"root@192.168.1.1",
"mkdir -p /root/.ssh && chmod 700 /root/.ssh && echo \"$(cat \"${../assets/ssh/privkey}\")\" > /root/.ssh/id_ed25519 && chmod 600 /root/.ssh/id_ed25519",
], check=True)
# install the clan-cli package into the container's Nix store
subprocess.run(
[
"${pkgs.nix}/bin/nix",
"copy",
"--from",
f"{temp_dir}/store",
"--to",
"ssh://root@192.168.1.1",
"--no-check-sigs",
f"${self.packages.${pkgs.system}.clan-cli}",
f"${self.packages.${pkgs.hostPlatform.system}.clan-cli}",
"--extra-experimental-features", "nix-command flakes",
"--from", f"{os.environ["TMPDIR"]}/store"
],
check=True,
env={
@@ -216,13 +236,13 @@
},
)
# Run ssh on the host to run the clan update command via --build-host localhost
# Run ssh on the host to run the clan update command via --build-host local
subprocess.run([
"ssh",
"-o", "UserKnownHostsFile=/dev/null",
"-o", "StrictHostKeyChecking=no",
f"root@192.168.1.1",
"${self.packages.${pkgs.system}.clan-cli}/bin/clan",
"${self.packages.${pkgs.hostPlatform.system}.clan-cli}/bin/clan",
"machines",
"update",
"--debug",
@@ -230,8 +250,8 @@
"--host-key-check", "none",
"--upload-inputs", # Use local store instead of fetching from network
"--build-host", "localhost",
"--target-host", "localhost",
"test-update-machine",
"--target-host", f"root@localhost",
], check=True)
# Verify the update was successful
@@ -250,7 +270,7 @@
# Run clan update command
subprocess.run([
"${self.packages.${pkgs.system}.clan-cli-full}/bin/clan",
"${self.packages.${pkgs.hostPlatform.system}.clan-cli-full}/bin/clan",
"machines",
"update",
"--debug",
@@ -277,7 +297,7 @@
# Run clan update command with --build-host
subprocess.run([
"${self.packages.${pkgs.system}.clan-cli-full}/bin/clan",
"${self.packages.${pkgs.hostPlatform.system}.clan-cli-full}/bin/clan",
"machines",
"update",
"--debug",

View File

@@ -0,0 +1,115 @@
{
pkgs,
nixosLib,
clan-core,
lib,
...
}:
nixosLib.runTest (
{ ... }:
let
machines = [
"controller1"
"controller2"
"peer1"
"peer2"
"peer3"
];
in
{
imports = [
clan-core.modules.nixosTest.clanTest
];
hostPkgs = pkgs;
name = "wireguard";
clan = {
directory = ./.;
modules."@clan/wireguard" = import ../../clanServices/wireguard/default.nix;
inventory = {
machines = lib.genAttrs machines (_: { });
instances = {
/*
wg-test-one
controller2 controller1
peer2 peer1 peer3
*/
wg-test-one = {
module.name = "@clan/wireguard";
module.input = "self";
roles.controller.machines."controller1".settings = {
endpoint = "192.168.1.1";
};
roles.controller.machines."controller2".settings = {
endpoint = "192.168.1.2";
};
roles.peer.machines = {
peer1.settings.controller = "controller1";
peer2.settings.controller = "controller2";
peer3.settings.controller = "controller1";
};
};
# TODO: Will this actually work with conflicting ports? Can we re-use interfaces?
#wg-test-two = {
# module.name = "@clan/wireguard";
# roles.controller.machines."controller1".settings = {
# endpoint = "192.168.1.1";
# port = 51922;
# };
# roles.peer.machines = {
# peer1 = { };
# };
#};
};
};
};
testScript = ''
start_all()
# Show all addresses
machines = [peer1, peer2, peer3, controller1, controller2]
for m in machines:
m.systemctl("start network-online.target")
for m in machines:
m.wait_for_unit("network-online.target")
m.wait_for_unit("systemd-networkd.service")
print("\n\n" + "="*60)
print("STARTING PING TESTS")
print("="*60)
for m1 in machines:
for m2 in machines:
if m1 != m2:
print(f"\n--- Pinging from {m1.name} to {m2.name}.wg-test-one ---")
m1.wait_until_succeeds(f"ping -c1 {m2.name}.wg-test-one >&2")
'';
}
)

View File

@@ -0,0 +1,6 @@
[
{
"publickey": "age1rnkc2vmrupy9234clyu7fpur5kephuqs3v7qauaw5zeg00jqjdasefn3cc",
"type": "age"
}
]

View File

@@ -0,0 +1,6 @@
[
{
"publickey": "age1t2hhg99d4p2yymuhngcy5ccutp8mvu7qwvg5cdhck303h9e7ha9qnlt635",
"type": "age"
}
]

View File

@@ -0,0 +1,6 @@
[
{
"publickey": "age1jts52rzlqcwjc36jkp56a7fmjn3czr7kl9ta2spkfzhvfama33sqacrzzd",
"type": "age"
}
]

View File

@@ -0,0 +1,6 @@
[
{
"publickey": "age12nqnp0zd435ckp5p0v2fv4p2x4cvur2mnxe8use2sx3fgy883vaq4ae75e",
"type": "age"
}
]

View File

@@ -0,0 +1,6 @@
[
{
"publickey": "age1sglr4zp34drjfydzeweq43fz3uwpul3hkh53lsfa9drhuzwmkqyqn5jegp",
"type": "age"
}
]

View File

@@ -0,0 +1,15 @@
{
"data": "ENC[AES256_GCM,data:zDF0RiBqaawpg+GaFkuLPomJ01Xu+lgY5JfUzaIk2j03XkCzIf8EMrmn6pRtBP3iUjPBm+gQSTQk6GHTONrixA5hRNyETV+UgQw=,iv:zUUCAGZ0cz4Tc2t/HOjVYNsdnrAOtid/Ns5ak7rnyCk=,tag:z43WtNSue4Ddf7AVu21IKA==,type:str]",
"sops": {
"age": [
{
"recipient": "age1qm0p4vf9jvcnn43s6l4prk8zn6cx0ep9gzvevxecv729xz540v8qa742eg",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlY1NEdjAzQm5RMFZWY3BJ\nclp6c01FdlZFK3dOSDB4cHc1NTdwMXErMFJFCnIrRVFNZEFYOG1rVUhFd2xsbTJ2\nVkJHNmdOWXlOcHJoQ0QzM1VyZmxmcGcKLS0tIFk1cEx4dFdvNGRwK1FWdDZsb1lR\nV2d1RFZtNzZqVFdtQ1FzNStEcEgyUUkKx8tkxqJz/Ko3xgvhvd6IYiV/lRGmrY13\nUZpYWR9tsQwZAR9dLjCyVU3JRuXeGB1unXC1CO0Ff3R0A/PuuRHh+g==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-08-13T09:19:37Z",
"mac": "ENC[AES256_GCM,data:8RGOUhZ2LGmC9ugULwHDgdMrtdo9vzBm3BJmL4XTuNJKm0NlKfgNLi1E4n9DMQ+kD4hKvcwbiUcwSGE8jZD6sm7Sh3bJi/HZCoiWm/O/OIzstli2NNDBGvQBgyWZA5H+kDjZ6aEi6icNWIlm5gsty7KduABnf5B3p0Bn5Uf5Bio=,iv:sGZp0XF+mgocVzAfHF8ATdlSE/5zyz5WUSRMJqNeDQs=,tag:ymYVBRwF5BOSAu5ONU2qKw==,type:str]",
"unencrypted_suffix": "_unencrypted",
"version": "3.10.2"
}
}

View File

@@ -0,0 +1 @@
../../../users/admin

View File

@@ -0,0 +1,15 @@
{
"data": "ENC[AES256_GCM,data:dHM7zWzqnC1QLRKYpbI2t63kOFnSaQy6ur9zlkLQf17Q03CNrqUsZtdEbwMnLR3llu7eVMhtvVRkXjEkvn3leb9HsNFmtk/DP70=,iv:roEZsBFqRypM106O5sehTzo7SySOJUJgAR738rTtOo8=,tag:VDd9/6uU0SAM7pWRLIUhUQ==,type:str]",
"sops": {
"age": [
{
"recipient": "age1qm0p4vf9jvcnn43s6l4prk8zn6cx0ep9gzvevxecv729xz540v8qa742eg",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKTEVYUmVGbUtOcHZ4cnc3\nKzNETnlxaVRKYTI3eWVHdEoyc3l2SnhsZ1J3CnB2RnZrOXM5Uml6TThDUlZjY25J\nbkJ6eUZ2ckN1NWpNUU9IaE93UDJQdlEKLS0tIC95ZDhkU0R1VHhCdldxdW4zSmps\nN3NqL1cvd05hRTRPdDA3R2pzNUFFajgKS+DJH14fH9AvEAa3PoUC1jEqKAzTmExN\nl32FeHTHbGMo1PKeaFm+Eg0WSpAmFE7beBunc5B73SW30ok6x4FcQw==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-08-13T09:19:47Z",
"mac": "ENC[AES256_GCM,data:77EnuBQyguvkCtobUg8/6zoLHjmeGDrSBZuIXOZBMxdbJjzhRg++qxQjuu6t0FoWATtz7u4Y3/jzUMGffr/N5HegqSq0D2bhv7AqJwBiVaOwd80fRTtM+YiP/zXsCk52Pj/Gadapg208bDPQ1BBDOyz/DrqZ7w//j+ARJjAnugI=,iv:IuTDmJKZEuHXJXjxrBw0gP2t6vpxAYEqbtpnVbavVCY=,tag:4EnpX6rOamtg1O+AaEQahQ==,type:str]",
"unencrypted_suffix": "_unencrypted",
"version": "3.10.2"
}
}

View File

@@ -0,0 +1 @@
../../../users/admin

View File

@@ -0,0 +1,15 @@
{
"data": "ENC[AES256_GCM,data:wcSsqxTKiMAnzPwxs5DNjcSdLyjVQ9UOrZxfSbOkVfniwx6F7xz6dLNhaDq7MHQ0vRWpg28yNs7NHrp52bYFnb/+eZsis46WiCw=,iv:B4t1lvS2gC601MtsmZfEiEulLWvSGei3/LSajwFS9Vs=,tag:hnRXlZyYEFfLJUrw1SqbSQ==,type:str]",
"sops": {
"age": [
{
"recipient": "age1qm0p4vf9jvcnn43s6l4prk8zn6cx0ep9gzvevxecv729xz540v8qa742eg",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAybUgya2VEdzMvRG1hdkpu\nM2pGNmcyVmcvYVZ1ZjJlY3A1bXFUUUtkMTI0CmJoRFZmejZjN2UxUXNuc1k5WnE2\nNmxIcnpNQ1lJZ3ZKSmhtSlVURXJTSUUKLS0tIGU4Wi9yZ3VYekJkVW9pNWFHblFk\na0gzbTVKUWdSam1sVjRUaUlTdVd5YWMKntRc9yb9VPOTMibp8QM5m57DilP01N/X\nPTQaw8oI40znnHdctTZz7S+W/3Te6sRnkOhFyalWmsKY0CWg/FELlA==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-08-13T09:19:58Z",
"mac": "ENC[AES256_GCM,data:8nq+ugkUJxE24lUIySySs/cAF8vnfqr936L/5F0O1QFwNrbpPmKRXkuwa6u0V+187L2952Id20Fym4ke59f3fJJsF840NCKDwDDZhBZ20q9GfOqIKImEom/Nzw6D0WXQLUT3w8EMyJ/F+UaJxnBNPR6f6+Kx4YgStYzCcA6Ahzg=,iv:VBPktEz7qwWBBnXE+xOP/EUVy7/AmNCHPoK56Yt/ZNc=,tag:qXONwOLFAlopymBEf5p4Sw==,type:str]",
"unencrypted_suffix": "_unencrypted",
"version": "3.10.2"
}
}

View File

@@ -0,0 +1 @@
../../../users/admin

View File

@@ -0,0 +1,15 @@
{
"data": "ENC[AES256_GCM,data:4d3ri0EsDmWRtA8vzvpPRLMsSp4MIMKwvtn0n0pRY05uBPXs3KcjnweMPIeTE1nIhqnMR2o2MfLah5TCPpaFax9+wxIt74uacbg=,iv:0LBAldTC/hN4QLCxgXTl6d9UB8WmUTnj4sD2zHQuG2w=,tag:zr/RhG/AU4g9xj9l2BprKw==,type:str]",
"sops": {
"age": [
{
"recipient": "age1qm0p4vf9jvcnn43s6l4prk8zn6cx0ep9gzvevxecv729xz540v8qa742eg",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvV0JnZDhlU1piU1g2cng0\ncytKOEZ6WlZlNGRGUjV3MmVMd2Nzc0ZwelgwCjBGdThCUGlXbVFYdnNoZWpJZ3Vm\nc2xkRXhxS09vdzltSVoxLzhFSVduak0KLS0tIE5DRjJ6cGxiVlB1eElHWXhxN1pJ\nYWtIMDMvb0Z6akJjUzlqeEFsNHkxL2cKpghv/QegnXimeqd9OPFouGM//jYvoVmw\n2d4mLT2JSMkEhpfGcqb6vswhdJfCiKuqr2B4bqwAnPMaykhsm8DFRQ==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-08-13T09:20:08Z",
"mac": "ENC[AES256_GCM,data:BzlQVAJ7HzcxNPKB3JhabqRX/uU0EElj172YecjmOflHnzz/s9xgfdAfJK/c53hXlX4LtGPnubH7a8jOolRq98zmZeBYE27+WLs2aN7Ufld6mYk90/i7u4CqR+Fh2Kfht04SlUJCjnS5A9bTPwU9XGRHJ0BiOhzTuSMUJTRaPRM=,iv:L50K5zc1o99Ix9nP0pb9PRH+VIN2yvq7JqKeVHxVXmc=,tag:XFLkSCsdbTPxbasDYYxcFQ==,type:str]",
"unencrypted_suffix": "_unencrypted",
"version": "3.10.2"
}
}

View File

@@ -0,0 +1 @@
../../../users/admin

View File

@@ -0,0 +1,15 @@
{
"data": "ENC[AES256_GCM,data:qfLm6+g1vYnESCik9uyBeKsY6Ju2Gq3arnn2I8HHNO67Ri5BWbOQTvtz7WT8/q94RwVjv8SGeJ/fsJSpwLSrJSbqTZCPAnYwzzQ=,iv:PnA9Ao8RRELNhNQYbaorstc0KaIXRU7h3+lgDCXZFHk=,tag:VeLgYQYwqthYihIoQTwYiA==,type:str]",
"sops": {
"age": [
{
"recipient": "age1qm0p4vf9jvcnn43s6l4prk8zn6cx0ep9gzvevxecv729xz540v8qa742eg",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNWVVQaDJFd0N3WHptRC9Z\nZTgxTWh5bnU1SkpqRWRXZnhPaFhpSVJmVEhrCjFvdHFYenNWaFNrdXlha09iS2xj\nOTZDcUNkcHkvTDUwNjM4Z3gxUkxreUEKLS0tIE5oY3Q2bWhsb2FSQTVGTWVSclJw\nWllrelRwT3duYjJJbTV0d3FwU1VuNlkK2eN3fHFX/sVUWom8TeZC9fddqnSCsC1+\nJRCZsG46uHDxqLcKIfdFWh++2t16XupQYk3kn+NUR/aMc3fR32Uwjw==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-08-13T09:20:18Z",
"mac": "ENC[AES256_GCM,data:nUwsPcP1bsDjAHFjQ1NlVkTwyZY4B+BpzNkMx9gl0rE14j425HVLtlhlLndhRp+XMpnDldQppLAAtSdzMsrw8r5efNgTRl7cu4Fy/b9cHt84k7m0aou5lrGus9SV1bM7/fzC9Xm7CSXBcRzyDGVsKC6UBl1rx+ybh7HyAN05XSo=,iv:It57H+zUUNPkoN1D8sYwyZx5zIFIga7mydhGUHYBCGE=,tag:mBQdYqUpjPknbYa13qESyw==,type:str]",
"unencrypted_suffix": "_unencrypted",
"version": "3.10.2"
}
}

View File

@@ -0,0 +1 @@
../../../users/admin

View File

@@ -0,0 +1 @@
../../../../../../sops/machines/controller1

View File

@@ -0,0 +1,19 @@
{
"data": "ENC[AES256_GCM,data:noe913+28JWkoDkGGMu++cc1+j5NPDoyIhWixdsowoiVO3cTWGkZ88SUGO5D,iv:ynYMljwqMcBdk8RpVcw/2Jflg2RCF28r4fKUgIAF8B4=,tag:+TsXDJgfUhKgg4iQVXKKlQ==,type:str]",
"sops": {
"age": [
{
"recipient": "age1qm0p4vf9jvcnn43s6l4prk8zn6cx0ep9gzvevxecv729xz540v8qa742eg",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhYVRReTZBQ05GYmVBVjhS\nNXM5aFlhVzZRaVl6UHl6S3JnMC9Sb1dwZ1ZjCmVuS2dEVExYZWROVklUZWFCSnM2\nZnlxbVNseTM2c0Q0TjhsT3NzYmtqREUKLS0tIHBRTFpvVGt6d1cxZ2lFclRsUVhZ\nZDlWaG9PcXVrNUZKaEgxWndjUDVpYjgKt0eOhAgcYdkg9JSEakx4FjChLTn3pis+\njOkuGd4JfXMKcwC7vJV5ygQBxzVJSBw+RucP7sYCBPK0m8Voj94ntw==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1rnkc2vmrupy9234clyu7fpur5kephuqs3v7qauaw5zeg00jqjdasefn3cc",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6MFJqNHNraG9DSnJZMFdz\ndU8zVXNTamxROFd1dWtuK2RiekhPdHhleVhFCi8zNWJDNXJMRUlDdjc4Q0UycTIz\nSGFGSmdnNU0wZWlDaTEwTzBqWjh6SFkKLS0tIEJOdjhOMDY2TUFLb3RPczNvMERx\nYkpSeW5VOXZvMlEvdm53MDE3aUFTNjgKyelSTjrTIR9I3rJd3krvzpsrKF1uGs4J\n4MtmQj0/3G+zPYZVBx7b3HF6B3f1Z7LYh05+z7nCnN/duXyPnDjNcg==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-08-13T09:19:37Z",
"mac": "ENC[AES256_GCM,data:+DmIkPG/H6tCtf8CvB98E1QFXv08QfTcCB3CRsi+XWnIRBkryRd/Au9JahViHMdK7MED8WNf84NWTjY2yH4y824/DjI8XXNMF1iVMo0CqY42xbVHtUuhXrYeT+c8CyEw+M6zfy1jC0+Bm3WQWgagz1G6A9SZk3D2ycu0N08+axA=,iv:kwBjTYebIy5i2hagAajSwwuKnSkrM9GyrnbeQXB2e/w=,tag:EgKJ5gVGYj1NGFUduxLGfg==,type:str]",
"unencrypted_suffix": "_unencrypted",
"version": "3.10.2"
}
}

View File

@@ -0,0 +1 @@
../../../../../../sops/users/admin

View File

@@ -0,0 +1 @@
lQfR7GhivN87XoXruTGOPjVPhNu1Brt//wyc3pdwE20=

View File

@@ -0,0 +1 @@
7470bb5c79df224a9b7f5a2259acd2e46db763c27e24cb3416c8b591cb328077

View File

@@ -0,0 +1 @@
fd51:19c1:3b:f700

View File

@@ -0,0 +1 @@
../../../../../../sops/machines/controller2

View File

@@ -0,0 +1,19 @@
{
"data": "ENC[AES256_GCM,data:2kehACgvNgoYGPwnW7p86BR0yUu689Chth6qZf9zoJtuTY9ATS68dxDyBc5S,iv:qb2iDUtExegTeN3jt6SA8RnU61W5GDDhn56QXiQT4gw=,tag:pSGPICX5p6qlZ1WMVoIEYQ==,type:str]",
"sops": {
"age": [
{
"recipient": "age1qm0p4vf9jvcnn43s6l4prk8zn6cx0ep9gzvevxecv729xz540v8qa742eg",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSTTR5TDY4RE9VYmlCK1dL\nWkVRcVZqVDlsbmQvUlJmdzF2b1Z1S0k3NngwCkFWNzRVaERtSmFsd0o2aFJOb0ZX\nSU9yUnVaNi9IUjJWeGRFcEpDUXo5WkEKLS0tIEczNkxiYnJsTWRoLzFhQVF1M21n\nWnZEdGV1N2N5d1FZQkJUQ1IrdGFLblkKPTpha2bxS8CCAMXWTDKX/WOcdvggaP3Y\nqewyahDNzb4ggP+LNKp55BtwFjdvoPoq4BpYOOgMRbQMMk+H1o9WFw==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1t2hhg99d4p2yymuhngcy5ccutp8mvu7qwvg5cdhck303h9e7ha9qnlt635",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYcEZ6Tzk3M0pkV0tOdTBj\nenF2a0tHNnhBa0NrazMwV1VBbXBZR3pzSHpvCnBZOEU0VlFHS1FHcVpTTDdPczVV\nV0RFSlZ0VmIzWGoydEdKVXlIUE9OOEkKLS0tIFZ0cWVBR1loeVlWa2c4U3oweXE2\ncm1ja0JCS3U5Nk41dlAzV2NabDc2bDQKdgCDNnpRZlFPnEGlX6fo0SQX4yOB+E6r\ntnSwofR3xxZvkyme/6JJU5qBZXyCXEAhKMRkFyvJANXzMJAUo/Osow==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-08-13T09:19:48Z",
"mac": "ENC[AES256_GCM,data:e3EkL8vwRhLsec83Zi9DE3PKT+4RwgiffpN4QHcJKTgmDW6hzizWc5kAxbNWGJ9Qqe6sso2KY7tc+hg1lHEsmzjCbg153p8h+7lVI2XT6adi/CS8WZ2VpeL+0X9zDQCjqHmrESZAYFBdkLqO4jucdf0Pc3CKKD+N3BDDTwSUvHM=,iv:xvR7dJL8sdYen00ovrYT8PNxhB9XxSWDSRz1IK23I/o=,tag:OyhAvllBgfAp3eGeNpR/Nw==,type:str]",
"unencrypted_suffix": "_unencrypted",
"version": "3.10.2"
}
}

View File

@@ -0,0 +1 @@
../../../../../../sops/users/admin

View File

@@ -0,0 +1 @@
5Z7gbLFbXpEFfomW2pKyZBpZN5xvUtiqrIL0GVfNtQ8=

View File

@@ -0,0 +1 @@
c3672fdb9fb31ddaf6572fc813cf7a8fe50488ef4e9d534c62d4f29da60a1a99

View File

@@ -0,0 +1 @@
fd51:19c1:c1:aa00

View File

@@ -0,0 +1 @@
../../../../../../sops/machines/peer1

View File

@@ -0,0 +1,19 @@
{
"data": "ENC[AES256_GCM,data:b+akw85T3D9xc75CPLHucR//k7inpxKDvgpR8tCNKwNDRVjVHjcABhfZNLXW,iv:g11fZE8UI0MVh9GKdjR6leBlxa4wN7ZubozXG/VlBbw=,tag:0YkzWCW3zJ3Mt3br/jmTYw==,type:str]",
"sops": {
"age": [
{
"recipient": "age1jts52rzlqcwjc36jkp56a7fmjn3czr7kl9ta2spkfzhvfama33sqacrzzd",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXWkJUR0pIa2xOSEw2dThm\nYlNuOHZCVW93Wkc5LzE4YmpUTHRkZlk3ckc4CnN4M3ZRMWNFVitCT3FyWkxaR0di\nb0NmSXFhRHJmTWg0d05OcWx1LytscEEKLS0tIEtleTFqU3JrRjVsdHpJeTNuVUhF\nWEtnOVlXVXRFamFSak5ia2F2b0JiTzAKlhOBZvZ4AN+QqAYQXvd6YNmgVS4gtkWT\nbV3bLNTgwtrDtet9NDHM8vdF+cn5RZxwFfgmTbDEow6Zm8EXfpxj/g==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1qm0p4vf9jvcnn43s6l4prk8zn6cx0ep9gzvevxecv729xz540v8qa742eg",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6YVYyQkZqMTJYQTlyRG5Y\nbnJ2UkE1TS9FZkpSa2tQbk1hQjViMi9OcGk0CjFaZUdjU3JtNzh0bDFXdTdUVW4x\nanFqZHZjZjdzKzA2MC8vTWh3Uy82UGcKLS0tIDhyOFl3UGs3czdoMlpza3UvMlB1\nSE90MnpGc05sSCtmVWg0UVNVdmRvN2MKHlCr4U+7bsoYb+2fgT4mEseZCEjxrtLu\n55sR/4YH0vqMnIBnLTSA0e+WMrs3tQfseeJM5jY/ZNnpec1LbxkGTg==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-08-13T09:19:58Z",
"mac": "ENC[AES256_GCM,data:gEoEC9D2Z7k5F8egaY1qPXT5/96FFVsyofSBivQ28Ir/9xHX2j40PAQrYRJUWsk/GAUMOyi52Wm7kPuacw+bBcdtQ0+MCDEmjkEnh1V83eZ/baey7iMmg05uO92MYY5o4e7ZkwzXoAeMCMcfO0GqjNvsYJHF1pSNa+UNDj+eflw=,iv:dnIYpvhAdvUDe9md53ll42krb0sxcHy/toqGc7JFxNA=,tag:0WkZU7GeKMD1DQTYaI+1dg==,type:str]",
"unencrypted_suffix": "_unencrypted",
"version": "3.10.2"
}
}

View File

@@ -0,0 +1 @@
../../../../../../sops/users/admin

View File

@@ -0,0 +1 @@
juK7P/92N2t2t680aLIRobHc3ts49CsZBvfZOyIKpUc=

View File

@@ -0,0 +1 @@
b36142569a74a0de0f9b229f2a040ae33a22d53bef5e62aa6939912d0cda05ba

View File

@@ -0,0 +1 @@
6987:50a0:9b93:4337

View File

@@ -0,0 +1 @@
../../../../../../sops/machines/peer2

View File

@@ -0,0 +1,19 @@
{
"data": "ENC[AES256_GCM,data:apX2sLwtq6iQgLJslFwiRMNBUe0XLzLQbhKfmb2pKiJG7jGNHUgHJz3Ls4Ca,iv:HTDatm3iD5wACTkkd3LdRNvJfnfg75RMtn9G6Q7Fqd4=,tag:Mfehlljnes5CFD1NJdk27A==,type:str]",
"sops": {
"age": [
{
"recipient": "age12nqnp0zd435ckp5p0v2fv4p2x4cvur2mnxe8use2sx3fgy883vaq4ae75e",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVZzFyMUZsd2V2VWxOUmhP\nZE8yZTc4Q0RkZisxR25NemR1TzVDWmJZVjBVClA1MWhsU0xzSG16aUx3cWFWKzlG\nSkxrT09OTkVqLzlWejVESE1QWHVJaFkKLS0tIGxlaGVuWU43RXErNTB3c3FaUnM3\nT0N5M253anZkbnFkZWw2VHA0eWhxQW8Kd1PMtEX1h0Hd3fDLMi++gKJkzPi9FXUm\n+uYhx+pb+pJM+iLkPwP/q6AWC7T0T4bHfekkdzxrbsKMi73x/GrOiw==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1qm0p4vf9jvcnn43s6l4prk8zn6cx0ep9gzvevxecv729xz540v8qa742eg",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqVzRIMWdlNjVwTURyMFkv\nSUhiajZkZVNuWklRYit6cno4UzNDa2szOFN3CkQ2TWhHb25pbmR1MlBsRXNLL2lx\ncVZ3c3BsWXN2aS9UUVYvN3I4S0xUSmMKLS0tIE5FV0U5aXVUZk9XL0U0Z2ZSNGd5\nbU9zY3IvMlpSNVFLYkRNQUpUYVZOWFUK7j4Otzb8CJTcT7aAj9/irxHEDXh1HkTg\nzz7Ho8/ZncNtaCVHlHxjTgVW9d5aIx8fSsV9LRCFwHMtNzvwj1Nshg==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-08-13T09:20:08Z",
"mac": "ENC[AES256_GCM,data:e7WNVEz78noHBiz6S3A6qNfop+yBXB3rYN0k4GvaQKz3b99naEHuqIF8Smzzt4XrbbiPKu2iLa5ddLBlqqsi32UQUB8JS9TY7hvW8ol+jpn0VxusGCXW9ThdDEsM/hXiPyr331C73zTvbOYI1hmcGMlJL9cunVRO9rkMtEqhEfo=,iv:6zt7wjIs1y5xDHNK+yLOwoOuUpY7/dOGJGT6UWAFeOg=,tag:gzFTgoxhoLzUV0lvzOhhfg==,type:str]",
"unencrypted_suffix": "_unencrypted",
"version": "3.10.2"
}
}

View File

@@ -0,0 +1 @@
../../../../../../sops/users/admin

View File

@@ -0,0 +1 @@
XI9uSaQRDBCb82cMnGzGJcbqRfDG/IXZobyeL+kV03k=

View File

@@ -0,0 +1 @@
360f9fce4a984eb87ce2a673eb5341ecb89c0f62126548d45ef25ff5243dd646

View File

@@ -0,0 +1 @@
3b21:3ced:003e:89b3

View File

@@ -0,0 +1 @@
../../../../../../sops/machines/peer3

View File

@@ -0,0 +1,19 @@
{
"data": "ENC[AES256_GCM,data:Gluvjes/3oH5YsDq00JDJyJgoEFcj56smioMArPSt309MDGExYX2QsCzeO1q,iv:oBBJRDdTj/1dWEvzhdFKQ2WfeCKyavKMLmnMbqnU5PM=,tag:2WNFxKz2dWyVcybpm5N4iw==,type:str]",
"sops": {
"age": [
{
"recipient": "age1qm0p4vf9jvcnn43s6l4prk8zn6cx0ep9gzvevxecv729xz540v8qa742eg",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtQWpjRmhZTFdPa2VSZkFN\nbUczMlY5bDBmMTdoMy8xcWxMaXpWVitMZGdjCnRWb2Y3eGpHU1hmNHRJVFBqbU5w\nVEZGdUIrQXk0U0dUUEZ6bE5EMFpTRHMKLS0tIGpYSmZmQThJUTlvTHpjc05ZVlM4\nQWhTOWxnUHZnYlJ3czE3ZUJ0L3ozWTQK3a7N0Zpzo4sUezYveqvKR49RUdJL23eD\n+cK5lk2xbtj+YHkeG+dg7UlHfDaicj0wnFH1KLuWmNd1ONa6eQp3BQ==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1sglr4zp34drjfydzeweq43fz3uwpul3hkh53lsfa9drhuzwmkqyqn5jegp",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3a2FOWlVsSkdnendrYmUz\ndEpuL1hZSWNFTUtDYm14S3V1aW9KS3hsazJRCkp2SkFFbi9hbGJpNks1MlNTL0s5\nTk5pcUMxaEJobkcvWmRGeU9jMkdNdzAKLS0tIDR6M0Y5eE1ETHJJejAzVW1EYy9v\nZCtPWHJPUkhuWnRzSGhMUUtTa280UmMKXvtnxyop7PmRvTOFkV80LziDjhGh93Pf\nYwhD/ByD/vMmr21Fd6PVHOX70FFT30BdnMc1/wt7c/0iAw4w4GoQsA==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-08-13T09:20:18Z",
"mac": "ENC[AES256_GCM,data:3nXMTma0UYXCco+EM8UW45cth7DVMboFBKyesL86GmaG6OlTkA2/25AeDrtSVO13a5c2jC6yNFK5dE6pSe5R9f0BoDF7d41mgc85zyn+LGECNWKC6hy6gADNSDD6RRuV1S3FisFQl1F1LD8LiSWmg/XNMZzChNlHYsCS8M+I84g=,iv:pu5VVXAVPmVoXy0BJ+hq5Ar8R0pZttKSYa4YS+dhDNc=,tag:xp1S/4qExnxMTGwhfLJrkA==,type:str]",
"unencrypted_suffix": "_unencrypted",
"version": "3.10.2"
}
}

View File

@@ -0,0 +1 @@
../../../../../../sops/users/admin

View File

@@ -0,0 +1 @@
t6qN4VGLR+VMhrBDNKQEXZVyRsEXs1/nGFRs5DI82F8=

View File

@@ -0,0 +1 @@
e3facc99b73fe029d4c295f71829a83f421f38d82361cf412326398175da162a

View File

@@ -0,0 +1 @@
e42b:bf85:33f4:f0b1

View File

@@ -1,24 +0,0 @@
(
{ pkgs, ... }:
{
name = "zt-tcp-relay";
nodes.machine =
{ self, ... }:
{
imports = [
self.nixosModules.clanCore
self.clanModules.zt-tcp-relay
{
clan.core.settings.directory = ./.;
}
];
};
testScript = ''
start_all()
machine.wait_for_unit("zt-tcp-relay.service")
out = machine.succeed("${pkgs.netcat}/bin/nc -z -v localhost 4443")
print(out)
'';
}
)

View File

@@ -1,5 +0,0 @@
---
description = "Convenient Administration for the Clan App"
categories = ["Utility"]
features = [ "inventory", "deprecated" ]
---

View File

@@ -1,3 +0,0 @@
{
imports = [ ./roles/default.nix ];
}

View File

@@ -1,30 +0,0 @@
{ lib, config, ... }:
{
options.clan.admin = {
allowedKeys = lib.mkOption {
default = { };
type = lib.types.attrsOf lib.types.str;
description = "The allowed public keys for ssh access to the admin user";
example = {
"key_1" = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD...";
};
};
};
# Bad practice.
# Should we add 'clanModules' to specialArgs?
imports = [
../../sshd
../../root-password
];
config = {
warnings = [
"The clan.admin module is deprecated and will be removed on 2025-07-15.
Please migrate to user-maintained configuration or the new equivalent clan services
(https://docs.clan.lol/reference/clanServices)."
];
users.users.root.openssh.authorizedKeys.keys = builtins.attrValues config.clan.admin.allowedKeys;
};
}

View File

@@ -1,8 +0,0 @@
---
description = "Set up automatic upgrades"
categories = ["System"]
features = [ "inventory", "deprecated" ]
---
Whether to periodically upgrade NixOS to the latest version. If enabled, a
systemd timer will run `nixos-rebuild switch --upgrade` once a day.

View File

@@ -1,32 +0,0 @@
{
config,
lib,
...
}:
let
cfg = config.clan.auto-upgrade;
in
{
options.clan.auto-upgrade = {
flake = lib.mkOption {
type = lib.types.str;
description = "Flake reference";
};
};
config = {
warnings = [
"The clan.auto-upgrade module is deprecated and will be removed on 2025-07-15.
Please migrate to user-maintained configuration or the new equivalent clan services
(https://docs.clan.lol/reference/clanServices)."
];
system.autoUpgrade = {
inherit (cfg) flake;
enable = true;
dates = "02:00";
randomizedDelaySec = "45min";
};
};
}

View File

@@ -1,16 +0,0 @@
---
description = "Statically configure borgbackup with sane defaults."
---
!!! Danger "Deprecated"
Use [borgbackup](borgbackup.md) instead.
Don't use borgbackup-static through [inventory](../../concepts/inventory.md).
This module implements the `borgbackup` backend and implements sane defaults
for backup management through `borgbackup` for members of the clan.
Configure target machines where the backups should be sent to through `targets`.
Configure machines that should be backuped either through `includeMachines`
which will exclusively add the included machines to be backuped, or through
`excludeMachines`, which will add every machine except the excluded machine to the backup.

View File

@@ -1,104 +0,0 @@
{ lib, config, ... }:
let
dir = config.clan.core.settings.directory;
machineDir = dir + "/machines/";
in
{
imports = [ ../borgbackup ];
options.clan.borgbackup-static = {
excludeMachines = lib.mkOption {
type = lib.types.listOf lib.types.str;
example = lib.literalExpression "[ config.clan.core.settings.machine.name ]";
default = [ ];
description = ''
Machines that should not be backuped.
Mutually exclusive with includeMachines.
If this is not empty, every other machine except the targets in the clan will be backuped by this module.
If includeMachines is set, only the included machines will be backuped.
'';
};
includeMachines = lib.mkOption {
type = lib.types.listOf lib.types.str;
example = lib.literalExpression "[ config.clan.core.settings.machine.name ]";
default = [ ];
description = ''
Machines that should be backuped.
Mutually exclusive with excludeMachines.
'';
};
targets = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ ];
description = ''
Machines that should act as target machines for backups.
'';
};
};
config.services.borgbackup.repos =
let
machines = builtins.readDir machineDir;
borgbackupIpMachinePath = machines: machineDir + machines + "/facts/borgbackup.ssh.pub";
filteredMachines =
if ((builtins.length config.clan.borgbackup-static.includeMachines) != 0) then
lib.filterAttrs (name: _: (lib.elem name config.clan.borgbackup-static.includeMachines)) machines
else
lib.filterAttrs (name: _: !(lib.elem name config.clan.borgbackup-static.excludeMachines)) machines;
machinesMaybeKey = lib.mapAttrsToList (
machine: _:
let
fullPath = borgbackupIpMachinePath machine;
in
if builtins.pathExists fullPath then machine else null
) filteredMachines;
machinesWithKey = lib.filter (x: x != null) machinesMaybeKey;
hosts = builtins.map (machine: {
name = machine;
value = {
path = "/var/lib/borgbackup/${machine}";
authorizedKeys = [ (builtins.readFile (borgbackupIpMachinePath machine)) ];
};
}) machinesWithKey;
in
lib.mkIf
(builtins.any (
target: target == config.clan.core.settings.machine.name
) config.clan.borgbackup-static.targets)
(if (builtins.listToAttrs hosts) != null then builtins.listToAttrs hosts else { });
config.clan.borgbackup.destinations =
let
destinations = builtins.map (d: {
name = d;
value = {
repo = "borg@${d}:/var/lib/borgbackup/${config.clan.core.settings.machine.name}";
};
}) config.clan.borgbackup-static.targets;
in
lib.mkIf (builtins.any (
target: target == config.clan.core.settings.machine.name
) config.clan.borgbackup-static.includeMachines) (builtins.listToAttrs destinations);
config.assertions = [
{
assertion =
!(
((builtins.length config.clan.borgbackup-static.excludeMachines) != 0)
&& ((builtins.length config.clan.borgbackup-static.includeMachines) != 0)
);
message = ''
The options:
config.clan.borgbackup-static.excludeMachines = [${builtins.toString config.clan.borgbackup-static.excludeMachines}]
and
config.clan.borgbackup-static.includeMachines = [${builtins.toString config.clan.borgbackup-static.includeMachines}]
are mutually exclusive.
Use excludeMachines to exclude certain machines and backup the other clan machines.
Use include machines to only backup certain machines.
'';
}
];
config.warnings = lib.optional (
builtins.length config.clan.borgbackup-static.targets > 0
) "The borgbackup-static module is deprecated use the service via the inventory interface instead.";
}

View File

@@ -1,14 +0,0 @@
---
description = "Efficient, deduplicating backup program with optional compression and secure encryption."
categories = ["System"]
features = [ "inventory", "deprecated" ]
---
BorgBackup (short: Borg) gives you:
- Space efficient storage of backups.
- Secure, authenticated encryption.
- Compression: lz4, zstd, zlib, lzma or none.
- Mountable backups with FUSE.
- Easy installation on multiple platforms: Linux, macOS, BSD, …
- Free software (BSD license).
- Backed by a large and active open-source community.

View File

@@ -1,6 +0,0 @@
# Dont import this file
# It is only here for backwards compatibility.
# Dont author new modules with this file.
{
imports = [ ./roles/client.nix ];
}

View File

@@ -1,210 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
# Instances might be empty, if the module is not used via the inventory
instances = config.clan.inventory.services.borgbackup or { };
# roles = { ${role_name} :: { machines :: [string] } }
allServers = lib.foldlAttrs (
acc: _instanceName: instanceConfig:
acc
++ (
if builtins.elem machineName instanceConfig.roles.client.machines then
instanceConfig.roles.server.machines
else
[ ]
)
) [ ] instances;
machineName = config.clan.core.settings.machine.name;
cfg = config.clan.borgbackup;
preBackupScript = ''
declare -A preCommandErrors
${lib.concatMapStringsSep "\n" (
state:
lib.optionalString (state.preBackupCommand != null) ''
echo "Running pre-backup command for ${state.name}"
if ! /run/current-system/sw/bin/${state.preBackupCommand}; then
preCommandErrors["${state.name}"]=1
fi
''
) (lib.attrValues config.clan.core.state)}
if [[ ''${#preCommandErrors[@]} -gt 0 ]]; then
echo "pre-backup commands failed for the following services:"
for state in "''${!preCommandErrors[@]}"; do
echo " $state"
done
exit 1
fi
'';
in
{
options.clan.borgbackup.destinations = lib.mkOption {
type = lib.types.attrsOf (
lib.types.submodule (
{ name, ... }:
{
options = {
name = lib.mkOption {
type = lib.types.strMatching "^[a-zA-Z0-9._-]+$";
default = name;
description = "the name of the backup job";
};
repo = lib.mkOption {
type = lib.types.str;
description = "the borgbackup repository to backup to";
};
rsh = lib.mkOption {
type = lib.types.str;
default = "ssh -i ${
config.clan.core.vars.generators.borgbackup.files."borgbackup.ssh".path
} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o IdentitiesOnly=Yes";
defaultText = "ssh -i \${config.clan.core.vars.generators.borgbackup.files.\"borgbackup.ssh\".path} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null";
description = "the rsh to use for the backup";
};
};
}
)
);
default = { };
description = ''
destinations where the machine should be backuped to
'';
};
options.clan.borgbackup.exclude = lib.mkOption {
type = lib.types.listOf lib.types.str;
example = [ "*.pyc" ];
default = [ ];
description = ''
Directories/Files to exclude from the backup.
Use * as a wildcard.
'';
};
config = {
warnings = [
"The clan.borgbackup module is deprecated and will be removed on 2025-07-15.
Please migrate to user-maintained configuration or the new equivalent clan services
(https://docs.clan.lol/reference/clanServices)."
];
# Destinations
clan.borgbackup.destinations =
let
destinations = builtins.map (serverName: {
name = serverName;
value = {
repo = "borg@${serverName}:/var/lib/borgbackup/${machineName}";
};
}) allServers;
in
(builtins.listToAttrs destinations);
# Derived from the destinations
systemd.services = lib.mapAttrs' (
_: dest:
lib.nameValuePair "borgbackup-job-${dest.name}" {
# since borgbackup mounts the system read-only, we need to run in a
# ExecStartPre script, so we can generate additional files.
serviceConfig.ExecStartPre = [
''+${pkgs.writeShellScript "borgbackup-job-${dest.name}-pre-backup-commands" preBackupScript}''
];
}
) cfg.destinations;
services.borgbackup.jobs = lib.mapAttrs (_: dest: {
paths = lib.unique (
lib.flatten (map (state: state.folders) (lib.attrValues config.clan.core.state))
);
exclude = cfg.exclude;
repo = dest.repo;
environment.BORG_RSH = dest.rsh;
compression = "auto,zstd";
startAt = "*-*-* 01:00:00";
persistentTimer = true;
encryption = {
mode = "repokey";
passCommand = "cat ${config.clan.core.vars.generators.borgbackup.files."borgbackup.repokey".path}";
};
prune.keep = {
within = "1d"; # Keep all archives from the last day
daily = 7;
weekly = 4;
monthly = 0;
};
}) cfg.destinations;
environment.systemPackages = [
(pkgs.writeShellApplication {
name = "borgbackup-create";
runtimeInputs = [ config.systemd.package ];
text = ''
${lib.concatMapStringsSep "\n" (dest: ''
systemctl start borgbackup-job-${dest.name}
'') (lib.attrValues cfg.destinations)}
'';
})
(pkgs.writeShellApplication {
name = "borgbackup-list";
runtimeInputs = [ pkgs.jq ];
text = ''
(${
lib.concatMapStringsSep "\n" (
dest:
# we need yes here to skip the changed url verification
''echo y | /run/current-system/sw/bin/borg-job-${dest.name} list --json | jq '[.archives[] | {"name": ("${dest.name}::${dest.repo}::" + .name)}]' ''
) (lib.attrValues cfg.destinations)
}) | jq -s 'add // []'
'';
})
(pkgs.writeShellApplication {
name = "borgbackup-restore";
runtimeInputs = [ pkgs.gawk ];
text = ''
cd /
IFS=':' read -ra FOLDER <<< "''${FOLDERS-}"
job_name=$(echo "$NAME" | awk -F'::' '{print $1}')
backup_name=''${NAME#"$job_name"::}
if [[ ! -x /run/current-system/sw/bin/borg-job-"$job_name" ]]; then
echo "borg-job-$job_name not found: Backup name is invalid" >&2
exit 1
fi
echo y | /run/current-system/sw/bin/borg-job-"$job_name" extract "$backup_name" "''${FOLDER[@]}"
'';
})
];
clan.core.vars.generators.borgbackup = {
files."borgbackup.ssh.pub".secret = false;
files."borgbackup.ssh" = { };
files."borgbackup.repokey" = { };
migrateFact = "borgbackup";
runtimeInputs = [
pkgs.coreutils
pkgs.openssh
pkgs.xkcdpass
];
script = ''
ssh-keygen -t ed25519 -N "" -C "" -f "$out"/borgbackup.ssh
xkcdpass -n 4 -d - > "$out"/borgbackup.repokey
'';
};
clan.core.backups.providers.borgbackup = {
list = "borgbackup-list";
create = "borgbackup-create";
restore = "borgbackup-restore";
};
};
}

View File

@@ -1,63 +0,0 @@
{ config, lib, ... }:
let
dir = config.clan.core.settings.directory;
machineDir = dir + "/vars/per-machine/";
machineName = config.clan.core.settings.machine.name;
# Instances might be empty, if the module is not used via the inventory
#
# Type: { ${instanceName} :: { roles :: Roles } }
# Roles :: { ${role_name} :: { machines :: [string] } }
instances = config.clan.inventory.services.borgbackup or { };
allClients = lib.foldlAttrs (
acc: _instanceName: instanceConfig:
acc
++ (
if (builtins.elem machineName instanceConfig.roles.server.machines) then
instanceConfig.roles.client.machines
else
[ ]
)
) [ ] instances;
in
{
options = {
clan.borgbackup.directory = lib.mkOption {
type = lib.types.str;
default = "/var/lib/borgbackup";
description = ''
The directory where the borgbackup repositories are stored.
'';
};
};
config.services.borgbackup.repos =
let
borgbackupIpMachinePath = machine: machineDir + machine + "/borgbackup/borgbackup.ssh.pub/value";
machinesMaybeKey = builtins.map (
machine:
let
fullPath = borgbackupIpMachinePath machine;
in
if builtins.pathExists fullPath then
machine
else
lib.warn ''
Machine ${machine} does not have a borgbackup key at ${fullPath},
run `clan vars generate ${machine}` to generate it.
'' null
) allClients;
machinesWithKey = lib.filter (x: x != null) machinesMaybeKey;
hosts = builtins.map (machine: {
name = machine;
value = {
path = "${config.clan.borgbackup.directory}/${machine}";
authorizedKeys = [ (builtins.readFile (borgbackupIpMachinePath machine)) ];
};
}) machinesWithKey;
in
if (builtins.listToAttrs hosts) != [ ] then builtins.listToAttrs hosts else { };
}

View File

@@ -1,10 +0,0 @@
---
description = "Set up data-mesher"
categories = ["System"]
features = [ "inventory" ]
[constraints]
roles.admin.min = 1
roles.admin.max = 1
---

View File

@@ -1,19 +0,0 @@
lib: {
machines =
config:
let
instanceNames = builtins.attrNames config.clan.inventory.services.data-mesher;
instanceName = builtins.head instanceNames;
dataMesherInstances = config.clan.inventory.services.data-mesher.${instanceName};
uniqueStrings = list: builtins.attrNames (builtins.groupBy lib.id list);
in
rec {
admins = dataMesherInstances.roles.admin.machines or [ ];
signers = dataMesherInstances.roles.signer.machines or [ ];
peers = dataMesherInstances.roles.peer.machines or [ ];
bootstrap = uniqueStrings (admins ++ signers);
};
}

View File

@@ -1,58 +0,0 @@
{ lib, config, ... }:
let
cfg = config.clan.data-mesher;
dmLib = import ../lib.nix lib;
in
{
imports = [
../shared.nix
];
options.clan.data-mesher = {
network = {
tld = lib.mkOption {
type = lib.types.str;
default = (config.networking.domain or "clan");
description = "Top level domain to use for the network";
};
hostTTL = lib.mkOption {
type = lib.types.str;
default = "672h"; # 28 days
example = "24h";
description = "The TTL for hosts in the network, in the form of a Go time.Duration";
};
};
};
config = {
warnings = [
"The clan.admin module is deprecated and will be removed on 2025-07-15.
Please migrate to user-maintained configuration or the new equivalent clan services
(https://docs.clan.lol/reference/clanServices)."
];
services.data-mesher.initNetwork =
let
# for a given machine, read it's public key and remove any new lines
readHostKey =
machine:
let
path = "${config.clan.core.settings.directory}/vars/per-machine/${machine}/data-mesher-host-key/public_key/value";
in
builtins.elemAt (lib.splitString "\n" (builtins.readFile path)) 1;
in
{
enable = true;
keyPath = config.clan.core.vars.generators.data-mesher-network-key.files.private_key.path;
tld = cfg.network.tld;
hostTTL = cfg.network.hostTTL;
# admin and signer host public keys
signingKeys = builtins.map readHostKey (dmLib.machines config).bootstrap;
};
};
}

View File

@@ -1,5 +0,0 @@
{
imports = [
../shared.nix
];
}

View File

@@ -1,5 +0,0 @@
{
imports = [
../shared.nix
];
}

View File

@@ -1,152 +0,0 @@
{
config,
lib,
...
}:
let
cfg = config.clan.data-mesher;
dmLib = import ./lib.nix lib;
# the default bootstrap nodes are any machines with the admin or signers role
# we iterate through those machines, determining an IP address for them based on their VPN
# currently only supports zerotier
defaultBootstrapNodes = builtins.foldl' (
urls: name:
let
ipPath = "${config.clan.core.settings.directory}/vars/per-machine/${name}/zerotier/zerotier-ip/value";
in
if builtins.pathExists ipPath then
let
ip = builtins.readFile ipPath;
in
urls ++ [ "[${ip}]:${builtins.toString cfg.network.port}" ]
else
urls
) [ ] (dmLib.machines config).bootstrap;
in
{
options.clan.data-mesher = {
bootstrapNodes = lib.mkOption {
type = lib.types.nullOr (lib.types.listOf lib.types.str);
default = null;
description = ''
A list of bootstrap nodes that act as an initial gateway when joining
the cluster.
'';
example = [
"192.168.1.1:7946"
"192.168.1.2:7946"
];
};
network = {
interface = lib.mkOption {
type = lib.types.str;
description = ''
The interface over which cluster communication should be performed.
All the ip addresses associate with this interface will be part of
our host claim, including both ipv4 and ipv6.
This should be set to an internal/VPN interface.
'';
example = "tailscale0";
};
port = lib.mkOption {
type = lib.types.port;
default = 7946;
description = ''
Port to listen on for cluster communication.
'';
};
};
};
config = {
services.data-mesher = {
enable = true;
openFirewall = true;
settings = {
log_level = "warn";
state_dir = "/var/lib/data-mesher";
# read network id from vars
network.id = config.clan.core.vars.generators.data-mesher-network-key.files.public_key.value;
host = {
names = [ config.networking.hostName ];
key_path = config.clan.core.vars.generators.data-mesher-host-key.files.private_key.path;
};
cluster = {
port = cfg.network.port;
join_interval = "30s";
push_pull_interval = "30s";
interface = cfg.network.interface;
bootstrap_nodes = if cfg.bootstrapNodes == null then defaultBootstrapNodes else cfg.bootstrapNodes;
};
http.port = 7331;
http.interface = "lo";
};
};
# Generate host key.
clan.core.vars.generators.data-mesher-host-key = {
files =
let
owner = config.users.users.data-mesher.name;
in
{
private_key = {
inherit owner;
};
public_key.secret = false;
};
runtimeInputs = [
config.services.data-mesher.package
];
script = ''
data-mesher generate keypair \
--public-key-path "$out"/public_key \
--private-key-path "$out"/private_key
'';
};
clan.core.vars.generators.data-mesher-network-key = {
# generated once per clan
share = true;
files =
let
owner = config.users.users.data-mesher.name;
in
{
private_key = {
inherit owner;
};
public_key.secret = false;
};
runtimeInputs = [
config.services.data-mesher.package
];
script = ''
data-mesher generate keypair \
--public-key-path "$out"/public_key \
--private-key-path "$out"/private_key
'';
};
};
}

View File

@@ -1,17 +0,0 @@
---
description = "Email-based instant messaging for Desktop."
categories = ["Social"]
features = [ "inventory", "deprecated" ]
---
!!! info
This module will automatically configure an email server on the machine for handling the e-mail messaging seamlessly.
## Features
- [x] **Email-based**: Uses any email account as its backend.
- [x] **End-to-End Encryption**: Supports Autocrypt to automatically encrypt messages.
- [x] **No Phone Number Required**: Uses your email address instead of a phone number.
- [x] **Cross-Platform**: Available on desktop and mobile platforms.
- [x] **Automatic Server Setup**: Includes your own DeltaChat server for enhanced control and privacy.
- [ ] **Bake a cake**: This module cannot cake a bake.

View File

@@ -1,3 +0,0 @@
{
imports = [ ./roles/default.nix ];
}

View File

@@ -1,153 +0,0 @@
{
config,
pkgs,
...
}:
{
warnings = [
"The clan.deltachat module is deprecated and will be removed on 2025-07-15.
Please migrate to user-maintained configuration or the new equivalent clan services
(https://docs.clan.lol/reference/clanServices)."
];
networking.firewall.interfaces."zt+".allowedTCPPorts = [ 25 ]; # smtp with other hosts
environment.systemPackages = [ pkgs.deltachat-desktop ];
services.maddy =
let
domain = "${config.clan.core.settings.machine.name}.local";
in
{
enable = true;
primaryDomain = domain;
config = ''
# Minimal configuration with TLS disabled, adapted from upstream example
# configuration here https://github.com/foxcpp/maddy/blob/master/maddy.conf
# Do not use this in unencrypted networks!
auth.pass_table local_authdb {
table sql_table {
driver sqlite3
dsn credentials.db
table_name passwords
}
}
storage.imapsql local_mailboxes {
driver sqlite3
dsn imapsql.db
}
table.chain local_rewrites {
optional_step regexp "(.+)\+(.+)@(.+)" "$1@$3"
optional_step static {
entry postmaster postmaster@$(primary_domain)
}
optional_step file /etc/maddy/aliases
}
msgpipeline local_routing {
destination postmaster $(local_domains) {
modify {
replace_rcpt &local_rewrites
}
deliver_to &local_mailboxes
}
default_destination {
reject 550 5.1.1 "User doesn't exist"
}
}
smtp tcp://[::]:25 {
limits {
all rate 20 1s
all concurrency 10
}
dmarc yes
check {
require_mx_record
dkim
spf
}
source $(local_domains) {
reject 501 5.1.8 "Use Submission for outgoing SMTP"
}
default_source {
destination postmaster $(local_domains) {
deliver_to &local_routing
}
default_destination {
reject 550 5.1.1 "User doesn't exist"
}
}
}
submission tcp://[::1]:587 {
limits {
all rate 50 1s
}
auth &local_authdb
source $(local_domains) {
check {
authorize_sender {
prepare_email &local_rewrites
user_to_email identity
}
}
destination postmaster $(local_domains) {
deliver_to &local_routing
}
default_destination {
modify {
dkim $(primary_domain) $(local_domains) default
}
deliver_to &remote_queue
}
}
default_source {
reject 501 5.1.8 "Non-local sender domain"
}
}
target.remote outbound_delivery {
limits {
destination rate 20 1s
destination concurrency 10
}
mx_auth {
dane
mtasts {
cache fs
fs_dir mtasts_cache/
}
local_policy {
min_tls_level encrypted
min_mx_level none
}
}
}
target.queue remote_queue {
target &outbound_delivery
autogenerated_msg_domain $(primary_domain)
bounce {
destination postmaster $(local_domains) {
deliver_to &local_routing
}
default_destination {
reject 550 5.0.0 "Refusing to send DSNs to non-local addresses"
}
}
}
imap tcp://[::1]:143 {
auth &local_authdb
storage &local_mailboxes
}
'';
ensureAccounts = [ "user@${domain}" ];
ensureCredentials = {
"user@${domain}".passwordFile = pkgs.writeText "dummy" "foobar";
};
};
}

View File

@@ -1,5 +0,0 @@
---
description = "Generates a uuid for use in disk device naming"
features = [ "inventory" ]
categories = [ "System" ]
---

View File

@@ -1,6 +0,0 @@
# Dont import this file
# It is only here for backwards compatibility.
# Dont author new modules with this file.
{
imports = [ ./roles/default.nix ];
}

View File

@@ -1,36 +0,0 @@
{
pkgs,
...
}:
{
config = {
warnings = [
''
The clan.disk-id module is deprecated and will be removed on 2025-07-15.
For migration see: https://docs.clan.lol/guides/migrations/disk-id/
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!! Please migrate. Otherwise you may not be able to boot your system after that date. !!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
''
];
clan.core.vars.generators.disk-id = {
files.diskId.secret = false;
runtimeInputs = [
pkgs.coreutils
pkgs.bash
];
script = ''
uuid=$(bash ${./uuid4.sh})
# Remove the hyphens from the UUID
uuid_no_hyphens=$(echo -n "$uuid" | tr -d '-')
echo -n "$uuid_no_hyphens" > "$out/diskId"
'';
};
};
}

View File

@@ -1,20 +0,0 @@
#!/usr/bin/env bash
# Read 16 bytes from /dev/urandom
uuid=$(dd if=/dev/urandom bs=1 count=16 2>/dev/null | od -An -tx1 | tr -d ' \n')
# Break the UUID into pieces and apply the required modifications
byte6=${uuid:12:2}
byte8=${uuid:16:2}
# Construct the correct version and variant
hex_byte6=$(printf "%x" $((0x$byte6 & 0x0F | 0x40)))
hex_byte8=$(printf "%x" $((0x$byte8 & 0x3F | 0x80)))
# Rebuild the UUID with the correct fields
uuid_v4="${uuid:0:12}${hex_byte6}${uuid:14:2}${hex_byte8}${uuid:18:14}"
# Format the UUID correctly 8-4-4-4-12
uuid_formatted="${uuid_v4:0:8}-${uuid_v4:8:4}-${uuid_v4:12:4}-${uuid_v4:16:4}-${uuid_v4:20:12}"
echo -n "$uuid_formatted"

Some files were not shown because too many files have changed in this diff Show More