Split top-level entrypoint into per-directory entrypoints #1182

Merged
kiara merged 9 commits from kiara/fediversity:separate-entrypoints into main 2026-07-07 14:18:50 +02:00
Owner

Splits the monolithic root flake.nix+default.nix into per-directory entrypoints so CI and consumers address each component directly rather than routing everything through the root.

What moves where

  • src/ gets the orchestration surface: nixosConfigurations, the <group>-<effect>-<machine> deployment packages/apps/devShells, legacyPackages, core-docs, the src-scoped formatter, and the nix/infra default dev shell. Addressed as ./src#....
  • api/, panel/, nix-module-form/ each own their packages, checks, formatter and devShells, including that leaf's own treefmt check. Addressed as ./api#..., etc.
  • The root stays thin, retaining only what is inherently root-anchored.

Why the root cannot be removed

Two concerns force a repo-root flake to survive (documented in README.md and inline in default.nix):

  1. The #972 deploying-vs-deployed boundary. Its deploymentPlan resolves caller via import (repoRoot + "/${caller}") args, and caller strings span both the src/ tree and the checks/ tree, so ./. must remain the repo root.
  2. The infra / cross-cutting checks (test-*-service, contracts-*, deployment-*, apps-*, integrations-*, resources-*, nix-unit-*), which cross src/, checks/, nix/contracts and multiple leaves. They resist a clean per-leaf split for now, so the root retains them as its checks output.

The root also owns the one repo-wide concern that must scan the whole tree: the pre-commit hook. Per-leaf treefmt checks cover each leaf's own languages; the repo-wide hook is the backstop.

Flake-mode / npins caveat

Each entrypoint reads its deps via sources ? import ../npins, reaching the single npins/ at the repo root. In flake mode Nix copies only each flake's own subtree, so ../npins resolves only because npins/ is git-tracked at the root. New leaf flake.nix/flake.lock must be git-added before a flake-mode eval sees them. The CI generator enumerates subdir flakes via explicit git+file://<repo>?dir=<sub> URLs, since a bare subdir path would copy only that subtree and lose ../npins.

Deviations from the plan

  • The authoritative whole-repo #213 self-pin stays sourced from the root flake.nix (a subdir flake reports the subdir's narHash, wrong for whole-repo fetchTree verification). The split deploy path reads it as .#selfModuleSource and threads it via the SELF_MODULE_SOURCE env var.
  • ty stays repo-wide in the root pre-commit hook (its ty.toml overrides are inherently cross-tree); per-leaf treefmt configs scope the other formatters to each leaf's languages.

Verification

  • drvPath parity (path vs flake mode) confirmed byte-identical for the moved src, panel and nix-module-form outputs; api-http-stack's only divergence is the inherent deployment_root source-root path, self-consistent within CI's flake mode.
  • Root boundary and core-docs evaluate correctly.
  • The CI generator check idempotency gate passes (write and check both exit 0); all workflow YAMLs parse.

Heavy check closures (apps-*, full core-docs render, flake-show) are left for a real CI run on this branch.

Disclaimer: I used a coding agent in the creation of this patch.

Splits the monolithic root `flake.nix`+`default.nix` into per-directory entrypoints so CI and consumers address each component directly rather than routing everything through the root. ## What moves where - `src/` gets the orchestration surface: `nixosConfigurations`, the `<group>-<effect>-<machine>` deployment packages/apps/devShells, `legacyPackages`, `core-docs`, the `src`-scoped `formatter`, and the nix/infra `default` dev shell. Addressed as `./src#...`. - `api/`, `panel/`, `nix-module-form/` each own their `packages`, `checks`, `formatter` and `devShells`, including that leaf's own `treefmt` check. Addressed as `./api#...`, etc. - The root stays thin, retaining only what is inherently root-anchored. ## Why the root cannot be removed Two concerns force a repo-root flake to survive (documented in `README.md` and inline in `default.nix`): 1. The #972 deploying-vs-deployed `boundary`. Its `deploymentPlan` resolves `caller` via `import (repoRoot + "/${caller}") args`, and `caller` strings span both the `src/` tree and the `checks/` tree, so `./.` must remain the repo root. 2. The infra / cross-cutting checks (`test-*-service`, `contracts-*`, `deployment-*`, `apps-*`, `integrations-*`, `resources-*`, `nix-unit-*`), which cross `src/`, `checks/`, `nix/contracts` and multiple leaves. They resist a clean per-leaf split for now, so the root retains them as its `checks` output. The root also owns the one repo-wide concern that must scan the whole tree: the pre-commit hook. Per-leaf `treefmt` checks cover each leaf's own languages; the repo-wide hook is the backstop. ## Flake-mode / npins caveat Each entrypoint reads its deps via `sources ? import ../npins`, reaching the single `npins/` at the repo root. In flake mode Nix copies only each flake's own subtree, so `../npins` resolves only because `npins/` is git-tracked at the root. New leaf `flake.nix`/`flake.lock` must be git-added before a flake-mode eval sees them. The CI generator enumerates subdir flakes via explicit `git+file://<repo>?dir=<sub>` URLs, since a bare subdir path would copy only that subtree and lose `../npins`. ## Deviations from the plan - The authoritative whole-repo #213 self-pin stays sourced from the root `flake.nix` (a subdir flake reports the subdir's `narHash`, wrong for whole-repo `fetchTree` verification). The split deploy path reads it as `.#selfModuleSource` and threads it via the `SELF_MODULE_SOURCE` env var. - `ty` stays repo-wide in the root pre-commit hook (its `ty.toml` overrides are inherently cross-tree); per-leaf `treefmt` configs scope the other formatters to each leaf's languages. ## Verification - drvPath parity (path vs flake mode) confirmed byte-identical for the moved `src`, `panel` and `nix-module-form` outputs; `api-http-stack`'s only divergence is the inherent `deployment_root` source-root path, self-consistent within CI's flake mode. - Root `boundary` and `core-docs` evaluate correctly. - The CI generator `check` idempotency gate passes (`write` and `check` both exit 0); all workflow YAMLs parse. Heavy check closures (`apps-*`, full `core-docs` render, `flake-show`) are left for a real CI run on this branch. Disclaimer: I used a coding agent in the creation of this patch.
Split top-level entrypoint into per-directory entrypoints
Some checks failed
checks-api-python-tests / api-python-tests (pull_request) Successful in 6s
checks-api-asyncapi-validate / api-asyncapi-validate (pull_request) Successful in 6s
checks-core-docs / core-docs (pull_request) Failing after 5s
flake-show / flake-show-api (pull_request) Successful in 6s
flake-show / flake-show-panel (pull_request) Successful in 5s
flake-show / flake-show-root (pull_request) Successful in 8s
devShells-default / src-default (pull_request) Successful in 9s
checks-panel-migrations / panel-migrations (pull_request) Successful in 12s
nixosConfigurations-hosting-provider-api / hosting-provider-api (pull_request) Successful in 14s
flake-show / flake-show-nix-module-form (pull_request) Successful in 10s
devShells-default / root-default (pull_request) Successful in 15s
checks-api-docs / api-docs (pull_request) Successful in 14s
Nix flake completeness check / _complete (pull_request) Successful in 23s
nixosConfigurations-hosting-provider-authelia / hosting-provider-authelia (pull_request) Successful in 18s
nixosConfigurations-hosting-provider-bind / hosting-provider-bind (pull_request) Successful in 18s
checks-api-openapi-validate / api-openapi-validate (pull_request) Successful in 8s
checks-api-treefmt / api-treefmt (pull_request) Successful in 9s
checks-deployment-nixos-hosts / deployment-nixos-hosts (pull_request) Successful in 32s
nixosConfigurations-hosting-provider-monitoring / hosting-provider-monitoring (pull_request) Successful in 15s
nixosConfigurations-hosting-provider-lldap / hosting-provider-lldap (pull_request) Successful in 21s
checks-asyncapi-docs / asyncapi-docs (pull_request) Successful in 8s
nixosConfigurations-hosting-provider-otel-collector / hosting-provider-otel-collector (pull_request) Successful in 16s
nixosConfigurations-hosting-provider-panel / hosting-provider-panel (pull_request) Successful in 17s
checks-contracts-chaining / contracts-chaining (pull_request) Successful in 11s
nix-unit-contracts-lib / contracts-lib (pull_request) Successful in 40s
nix-unit-effects-common-lib / effects-common-lib (pull_request) Successful in 37s
checks-api-http / api-http (pull_request) Successful in 51s
nixosConfigurations-hosting-provider-smtp / hosting-provider-smtp (pull_request) Successful in 14s
checks-contracts-cross-node / contracts-cross-node (pull_request) Successful in 12s
nixosConfigurations-hosting-provider-postgresql / hosting-provider-postgresql (pull_request) Successful in 18s
nixosConfigurations-hosting-provider-valkey / hosting-provider-valkey (pull_request) Successful in 14s
nix-unit-lib-data-model / lib-data-model (pull_request) Successful in 10s
nixosConfigurations-hosting-provider-windmill / hosting-provider-windmill (pull_request) Successful in 14s
checks-contracts-filebackup-hardcoded-file-backup / contracts-filebackup-hardcoded-file-backup (pull_request) Successful in 14s
nix-unit-lib-function / lib-function (pull_request) Successful in 10s
nix-unit-effects-tf-common-conversion / effects-tf-common-conversion (pull_request) Successful in 40s
nix-unit-lib-lib / lib-lib (pull_request) Successful in 6s
checks-contracts-filesecrets-hardcoded-secret / contracts-filesecrets-hardcoded-secret (pull_request) Successful in 12s
nix-unit-lib-renames-for-source / lib-renames-for-source (pull_request) Successful in 5s
nixosConfigurations-operator-lldap / operator-lldap (pull_request) Successful in 15s
nix-unit-resources-garage-forward-compat / resources-garage-forward-compat (pull_request) Successful in 4s
nixosConfigurations-operator-smtp / operator-smtp (pull_request) Successful in 14s
nixosConfigurations-operator-valkey / operator-valkey (pull_request) Successful in 14s
checks-contracts-generatefiles-vars-openbao / contracts-generatefiles-vars-openbao (pull_request) Successful in 10s
nix-unit-resources-redis-port / resources-redis-port (pull_request) Successful in 4s
checks-contracts-generatefiles-vars / contracts-generatefiles-vars (pull_request) Successful in 10s
checks-contracts-ldap-lldap / contracts-ldap-lldap (pull_request) Successful in 9s
nix-unit-resources-generateFiles / resources-generateFiles (pull_request) Successful in 19s
checks-contracts-ldap-openldap / contracts-ldap-openldap (pull_request) Successful in 9s
nix-unit-resources-secrets / resources-secrets (pull_request) Successful in 12s
nix-unit-resources-otel / resources-otel (pull_request) Successful in 19s
checks-contracts-oidc-dex / contracts-oidc-dex (pull_request) Successful in 9s
checks-contracts-redis-valkey / contracts-redis-valkey (pull_request) Successful in 9s
checks-contracts-s3-minio / contracts-s3-minio (pull_request) Successful in 9s
checks-panel-basic / panel-basic (pull_request) Successful in 1m37s
checks-contracts-smtp-maddy / contracts-smtp-maddy (pull_request) Successful in 9s
checks-contracts-smtp-opensmtpd / contracts-smtp-opensmtpd (pull_request) Successful in 9s
checks-contracts-ssl-self-signed / contracts-ssl-self-signed (pull_request) Successful in 9s
checks-contracts-streamingbackup-hardcoded / contracts-streamingbackup-hardcoded (pull_request) Successful in 9s
checks-contracts-systemd-openbaod / contracts-systemd-openbaod (pull_request) Successful in 9s
checks-override / override (pull_request) Failing after 3s
checks-nix-module-form-treefmt / nix-module-form-treefmt (pull_request) Successful in 7s
checks-overrideDerivation / overrideDerivation (pull_request) Failing after 3s
checks-panel-docs / panel-docs (pull_request) Successful in 6s
checks-panel-treefmt / panel-treefmt (pull_request) Successful in 8s
checks-deployment-ssh-hosts / deployment-ssh-hosts (pull_request) Failing after 2m29s
checks-resources-secrets-agenix / resources-secrets-agenix (pull_request) Successful in 14s
checks-pre-commit / pre-commit (pull_request) Failing after 18s
checks-test-monitoring-storage / test-monitoring-storage (pull_request) Successful in 9s
checks-test-otel-wiring / test-otel-wiring (pull_request) Successful in 10s
checks-deployment-tf-hosts / deployment-tf-hosts (pull_request) Failing after 2m45s
checks-treefmt / treefmt (pull_request) Failing after 3s
checks-test-valkey-service / test-valkey-service (pull_request) Successful in 9s
checks-deployment-tf-incus-hosts / deployment-tf-incus-hosts (pull_request) Failing after 3m58s
flake-show / flake-show-src (pull_request) Successful in 4m22s
checks-deployment-tf-hosts-bootstrap / deployment-tf-hosts-bootstrap (pull_request) Failing after 5m1s
checks-apps-api / apps-api (pull_request) Failing after 20m42s
checks-apps-panel / apps-panel (pull_request) Failing after 21m43s
checks-apps-tf-incus / apps-tf-incus (pull_request) Failing after 24m58s
checks-apps-tf / apps-tf (pull_request) Failing after 36m4s
9009e8d03b
Give `src/`, `api/`, `panel/` and `nix-module-form/` their own
`flake.nix`+`default.nix`(+`shell.nix`/`treefmt.nix`), following the root's
transparent-wrapper pattern, and move each root output to the leaf that owns it:

- `src/` gets the orchestration surface: `nixosConfigurations`, the
  `<group>-<effect>-<machine>` deployment packages/apps/devShells,
  `legacyPackages`, `core-docs`, the `src`-scoped `formatter`, and the nix/infra
  `default` dev shell.
- `api/`, `panel/`, `nix-module-form/` each own their `packages`, `checks`,
  `formatter` and `devShells`, including that leaf's own `treefmt` check.

The root stays thin, retaining only what is inherently root-anchored: the #972
deploying-vs-deployed `boundary` (its `deploymentPlan` resolves `caller` via
`import (repoRoot + "/${caller}")`, and callers span both `src/` and `checks/`),
the repo-wide pre-commit hook, and the infra/cross-cutting checks aggregator.
`README.md` and inline comments document why the root cannot be removed and the
out-of-tree `npins` / flake-mode caveat (flake mode only sees git-tracked files,
so a leaf's `../npins` resolves only because `npins/` is tracked at the root).

CI (`nix-flake-check.sh` + hand-maintained YAMLs) is rewired to address each
entrypoint directly: leaf checks build through `./<leaf>#`, `nixosConfigurations`
through `nix-build ./src -A`, and the split deploy path threads the authoritative
whole-repo #213 self-pin via `SELF_MODULE_SOURCE`. The generator enumerates
subdir flakes via explicit `git+file://<repo>?dir=<sub>` URLs (a bare subdir path
would copy only that subtree and lose `../npins`).

Parity verified by drvPath equality (path vs flake mode) for the moved leaf and
`src` outputs; the generator `check` idempotency gate passes.

Assisted-by: Claude:claude-opus-4-8
Fix CI: restore operatorPin/override contract, guard leaf currentSystem
Some checks failed
checks-api-python-tests / api-python-tests (pull_request) Successful in 6s
checks-panel-migrations / panel-migrations (pull_request) Successful in 7s
flake-show / flake-show-panel (pull_request) Successful in 5s
flake-show / flake-show-api (pull_request) Successful in 6s
devShells-default / src-default (pull_request) Successful in 9s
flake-show / flake-show-root (pull_request) Successful in 8s
nix-unit-contracts-lib / contracts-lib (pull_request) Successful in 10s
flake-show / flake-show-nix-module-form (pull_request) Successful in 8s
devShells-default / root-default (pull_request) Successful in 14s
nixosConfigurations-hosting-provider-api / hosting-provider-api (pull_request) Successful in 16s
nix-unit-effects-common-lib / effects-common-lib (pull_request) Successful in 8s
nixosConfigurations-hosting-provider-authelia / hosting-provider-authelia (pull_request) Successful in 18s
nixosConfigurations-hosting-provider-bind / hosting-provider-bind (pull_request) Successful in 18s
nix-unit-effects-tf-common-conversion / effects-tf-common-conversion (pull_request) Successful in 12s
nixosConfigurations-hosting-provider-lldap / hosting-provider-lldap (pull_request) Successful in 20s
nix-unit-lib-data-model / lib-data-model (pull_request) Successful in 10s
nix-unit-lib-function / lib-function (pull_request) Successful in 9s
checks-deployment-nixos-hosts / deployment-nixos-hosts (pull_request) Successful in 30s
nix-unit-lib-lib / lib-lib (pull_request) Successful in 5s
nix-unit-lib-renames-for-source / lib-renames-for-source (pull_request) Successful in 5s
nixosConfigurations-hosting-provider-monitoring / hosting-provider-monitoring (pull_request) Successful in 17s
nixosConfigurations-hosting-provider-otel-collector / hosting-provider-otel-collector (pull_request) Successful in 17s
nixosConfigurations-hosting-provider-panel / hosting-provider-panel (pull_request) Successful in 19s
nix-unit-resources-garage-forward-compat / resources-garage-forward-compat (pull_request) Successful in 12s
checks-api-http / api-http (pull_request) Successful in 49s
nixosConfigurations-hosting-provider-postgresql / hosting-provider-postgresql (pull_request) Successful in 21s
nix-unit-resources-redis-port / resources-redis-port (pull_request) Successful in 5s
nixosConfigurations-hosting-provider-smtp / hosting-provider-smtp (pull_request) Successful in 16s
nix-unit-resources-generateFiles / resources-generateFiles (pull_request) Successful in 20s
nixosConfigurations-hosting-provider-valkey / hosting-provider-valkey (pull_request) Successful in 15s
nixosConfigurations-hosting-provider-windmill / hosting-provider-windmill (pull_request) Successful in 18s
nix-unit-resources-otel / resources-otel (pull_request) Successful in 27s
nixosConfigurations-operator-lldap / operator-lldap (pull_request) Successful in 16s
nixosConfigurations-operator-smtp / operator-smtp (pull_request) Successful in 15s
nix-unit-resources-secrets / resources-secrets (pull_request) Successful in 16s
nixosConfigurations-operator-valkey / operator-valkey (pull_request) Successful in 12s
checks-api-asyncapi-validate / api-asyncapi-validate (pull_request) Successful in 6s
Nix flake completeness check / _complete (pull_request) Successful in 19s
checks-api-openapi-validate / api-openapi-validate (pull_request) Successful in 6s
checks-api-docs / api-docs (pull_request) Successful in 8s
checks-asyncapi-docs / asyncapi-docs (pull_request) Successful in 6s
checks-api-treefmt / api-treefmt (pull_request) Successful in 8s
checks-contracts-chaining / contracts-chaining (pull_request) Successful in 10s
checks-contracts-cross-node / contracts-cross-node (pull_request) Successful in 12s
checks-contracts-filebackup-hardcoded-file-backup / contracts-filebackup-hardcoded-file-backup (pull_request) Successful in 12s
checks-contracts-filesecrets-hardcoded-secret / contracts-filesecrets-hardcoded-secret (pull_request) Successful in 10s
checks-contracts-generatefiles-vars-openbao / contracts-generatefiles-vars-openbao (pull_request) Successful in 10s
checks-contracts-generatefiles-vars / contracts-generatefiles-vars (pull_request) Successful in 10s
checks-contracts-ldap-lldap / contracts-ldap-lldap (pull_request) Successful in 9s
checks-contracts-ldap-openldap / contracts-ldap-openldap (pull_request) Successful in 9s
checks-contracts-oidc-dex / contracts-oidc-dex (pull_request) Successful in 11s
checks-contracts-redis-valkey / contracts-redis-valkey (pull_request) Successful in 10s
checks-contracts-s3-minio / contracts-s3-minio (pull_request) Successful in 10s
checks-contracts-smtp-maddy / contracts-smtp-maddy (pull_request) Successful in 10s
checks-contracts-smtp-opensmtpd / contracts-smtp-opensmtpd (pull_request) Successful in 10s
checks-contracts-ssl-self-signed / contracts-ssl-self-signed (pull_request) Successful in 10s
checks-contracts-streamingbackup-hardcoded / contracts-streamingbackup-hardcoded (pull_request) Successful in 9s
checks-contracts-systemd-openbaod / contracts-systemd-openbaod (pull_request) Successful in 9s
checks-nix-module-form-treefmt / nix-module-form-treefmt (pull_request) Successful in 7s
checks-panel-docs / panel-docs (pull_request) Successful in 7s
checks-panel-treefmt / panel-treefmt (pull_request) Successful in 8s
checks-resources-secrets-agenix / resources-secrets-agenix (pull_request) Successful in 14s
checks-pre-commit / pre-commit (pull_request) Failing after 21s
checks-test-monitoring-storage / test-monitoring-storage (pull_request) Successful in 10s
checks-test-otel-wiring / test-otel-wiring (pull_request) Successful in 10s
checks-test-valkey-service / test-valkey-service (pull_request) Successful in 10s
flake-show / flake-show-src (pull_request) Successful in 4m41s
checks-deployment-tf-incus-hosts / deployment-tf-incus-hosts (pull_request) Successful in 6m3s
checks-panel-basic / panel-basic (pull_request) Successful in 1m42s
checks-core-docs / core-docs (pull_request) Successful in 9m10s
checks-deployment-ssh-hosts / deployment-ssh-hosts (pull_request) Successful in 16m43s
checks-deployment-tf-hosts / deployment-tf-hosts (pull_request) Successful in 9m56s
checks-apps-api / apps-api (pull_request) Failing after 24m10s
checks-apps-panel / apps-panel (pull_request) Failing after 25m8s
checks-deployment-tf-hosts-bootstrap / deployment-tf-hosts-bootstrap (pull_request) Successful in 27m53s
checks-apps-tf-incus / apps-tf-incus (pull_request) Has been cancelled
checks-apps-tf / apps-tf (pull_request) Has been cancelled
ee69ee936f
Five CI failures on the entrypoint split:

- `deployment-{ssh,tf,tf-incus}-hosts` (runtime): the deployment's generated
  `configuration.nix` re-imports the operator root as
  `(import operatorRoot { operatorPin = null; }).boundary.<system>`
  (`src/effects/common/write-config.nix:146`, unchanged per the split plan).
  The root reshape dropped the `operatorPin` parameter along with the
  now-unused `versionSide`/`chosenLayers` machinery, so that runtime import
  failed with `function 'entrypoint' called with unexpected argument
  'operatorPin'`. Eval-only parity checks never exercised this path, so it
  surfaced only when the deployer actually built the target config. Re-accept
  `operatorPin ? null` (ignored -- the thin root only ever exposes the
  provider-side `operatorPin == null` layers) to honor the call shape, with a
  `# deadnix: skip` so the intentionally-unused formal survives the hook.

- `override`/`overrideDerivation`: the root `checks` output is built with
  `callPackage ./checks`, which attaches `override`/`overrideDerivation`
  passthru functions to the returned attrset. Those leaked into
  `checks.<system>` `attrNames`, so the generator emitted bogus
  `checks-override`/`checks-overrideDerivation` workflows that failed with
  `expected ... to be a derivation ... but found a function`. Restore the
  `deOverride` helper (dropped in the reshape) and apply it to the
  `callPackage ./checks` result. Delete the three orphaned workflow YAMLs
  (`checks-override`, `checks-overrideDerivation`, `checks-treefmt`); the
  generator no longer emits them and the idempotency gate confirms it.

- `core-docs`: the flake-attributes enumeration imported the leaf entrypoints
  as `import ../../api { }` (etc.) with no `system`, so in pure flake eval they
  hit `builtins.currentSystem` and failed with `attribute 'currentSystem'
  missing`. Thread `system`/`sources` through explicitly (the leaves, unlike
  `src`/root, do not guard `currentSystem` with `or null`).

- `pre-commit`: the committed tree was not treefmt/deadnix-clean (the repo-wide
  hook also runs deadnix, which the earlier per-file `nixfmt` pass skipped).
  deadnix removed the now-unused `self` param from the root `default.nix`
  entrypoint and the leaf flake `outputs` functions; `flake.nix` correspondingly
  stops passing `inherit self` (it only needs `self` locally to derive
  `selfModuleSource`). Reword the `README.md` list item whose code spans were
  split mid-phrase so treefmt's markdown reflow keeps them intact.

Verified on fediversity-ci in flake mode: `override`/`treefmt` absent from
check names; `core-docs`/`pre-commit` evaluate; `import root { operatorPin =
null; }` resolves the boundary; the deployment closure differs from `main` only
by source-hash rehashing (script logic byte-identical via nix-diff); the
generator `check` gate stays green.

Assisted-by: Claude:claude-opus-4-8
Fix pre-commit CI: run treefmt over the tree, drop workflow comment blocks
Some checks failed
checks-api-asyncapi-validate / api-asyncapi-validate (pull_request) Successful in 7s
checks-api-python-tests / api-python-tests (pull_request) Successful in 8s
flake-show / flake-show-api (pull_request) Successful in 7s
checks-panel-migrations / panel-migrations (pull_request) Successful in 7s
flake-show / flake-show-panel (pull_request) Successful in 6s
flake-show / flake-show-root (pull_request) Successful in 10s
devShells-default / src-default (pull_request) Successful in 11s
flake-show / flake-show-nix-module-form (pull_request) Successful in 7s
nix-unit-contracts-lib / contracts-lib (pull_request) Successful in 11s
devShells-default / root-default (pull_request) Successful in 17s
checks-api-docs / api-docs (pull_request) Successful in 14s
nixosConfigurations-hosting-provider-api / hosting-provider-api (pull_request) Successful in 20s
nixosConfigurations-hosting-provider-authelia / hosting-provider-authelia (pull_request) Successful in 20s
nix-unit-effects-common-lib / effects-common-lib (pull_request) Successful in 10s
nixosConfigurations-hosting-provider-bind / hosting-provider-bind (pull_request) Successful in 21s
Nix flake completeness check / _complete (pull_request) Successful in 29s
checks-api-openapi-validate / api-openapi-validate (pull_request) Successful in 9s
nix-unit-effects-tf-common-conversion / effects-tf-common-conversion (pull_request) Successful in 15s
nixosConfigurations-hosting-provider-lldap / hosting-provider-lldap (pull_request) Successful in 22s
checks-deployment-nixos-hosts / deployment-nixos-hosts (pull_request) Successful in 32s
nix-unit-lib-data-model / lib-data-model (pull_request) Successful in 13s
checks-api-treefmt / api-treefmt (pull_request) Successful in 7s
nix-unit-lib-function / lib-function (pull_request) Successful in 12s
nix-unit-lib-lib / lib-lib (pull_request) Successful in 6s
checks-asyncapi-docs / asyncapi-docs (pull_request) Successful in 8s
nixosConfigurations-hosting-provider-otel-collector / hosting-provider-otel-collector (pull_request) Successful in 18s
nixosConfigurations-hosting-provider-monitoring / hosting-provider-monitoring (pull_request) Successful in 19s
nix-unit-resources-garage-forward-compat / resources-garage-forward-compat (pull_request) Successful in 6s
nixosConfigurations-hosting-provider-panel / hosting-provider-panel (pull_request) Successful in 17s
nix-unit-lib-renames-for-source / lib-renames-for-source (pull_request) Successful in 11s
checks-contracts-chaining / contracts-chaining (pull_request) Successful in 13s
checks-api-http / api-http (pull_request) Successful in 53s
nixosConfigurations-hosting-provider-postgresql / hosting-provider-postgresql (pull_request) Successful in 19s
checks-contracts-cross-node / contracts-cross-node (pull_request) Successful in 15s
nix-unit-resources-redis-port / resources-redis-port (pull_request) Successful in 6s
nixosConfigurations-hosting-provider-smtp / hosting-provider-smtp (pull_request) Successful in 18s
nix-unit-resources-generateFiles / resources-generateFiles (pull_request) Successful in 22s
nixosConfigurations-hosting-provider-valkey / hosting-provider-valkey (pull_request) Successful in 18s
nixosConfigurations-hosting-provider-windmill / hosting-provider-windmill (pull_request) Successful in 18s
checks-contracts-filesecrets-hardcoded-secret / contracts-filesecrets-hardcoded-secret (pull_request) Successful in 13s
nixosConfigurations-operator-lldap / operator-lldap (pull_request) Successful in 17s
checks-contracts-filebackup-hardcoded-file-backup / contracts-filebackup-hardcoded-file-backup (pull_request) Successful in 19s
nixosConfigurations-operator-smtp / operator-smtp (pull_request) Successful in 17s
nix-unit-resources-otel / resources-otel (pull_request) Successful in 27s
nix-unit-resources-secrets / resources-secrets (pull_request) Successful in 17s
nixosConfigurations-operator-valkey / operator-valkey (pull_request) Successful in 15s
checks-contracts-generatefiles-vars-openbao / contracts-generatefiles-vars-openbao (pull_request) Successful in 10s
checks-contracts-generatefiles-vars / contracts-generatefiles-vars (pull_request) Successful in 10s
checks-contracts-ldap-openldap / contracts-ldap-openldap (pull_request) Successful in 9s
checks-contracts-ldap-lldap / contracts-ldap-lldap (pull_request) Successful in 9s
checks-contracts-redis-valkey / contracts-redis-valkey (pull_request) Successful in 9s
checks-contracts-oidc-dex / contracts-oidc-dex (pull_request) Successful in 10s
checks-contracts-s3-minio / contracts-s3-minio (pull_request) Successful in 9s
checks-contracts-smtp-maddy / contracts-smtp-maddy (pull_request) Successful in 10s
checks-contracts-smtp-opensmtpd / contracts-smtp-opensmtpd (pull_request) Successful in 9s
checks-contracts-ssl-self-signed / contracts-ssl-self-signed (pull_request) Successful in 9s
checks-contracts-streamingbackup-hardcoded / contracts-streamingbackup-hardcoded (pull_request) Successful in 9s
checks-contracts-systemd-openbaod / contracts-systemd-openbaod (pull_request) Successful in 9s
checks-nix-module-form-treefmt / nix-module-form-treefmt (pull_request) Successful in 5s
checks-panel-docs / panel-docs (pull_request) Successful in 6s
checks-panel-treefmt / panel-treefmt (pull_request) Successful in 6s
checks-resources-secrets-agenix / resources-secrets-agenix (pull_request) Successful in 9s
checks-pre-commit / pre-commit (pull_request) Successful in 14s
checks-test-monitoring-storage / test-monitoring-storage (pull_request) Successful in 10s
checks-test-otel-wiring / test-otel-wiring (pull_request) Successful in 10s
checks-test-valkey-service / test-valkey-service (pull_request) Successful in 10s
flake-show / flake-show-src (pull_request) Successful in 4m40s
checks-panel-basic / panel-basic (pull_request) Successful in 1m16s
checks-deployment-tf-incus-hosts / deployment-tf-incus-hosts (pull_request) Successful in 5m45s
checks-core-docs / core-docs (pull_request) Successful in 8m31s
checks-deployment-tf-hosts / deployment-tf-hosts (pull_request) Successful in 10m51s
checks-deployment-ssh-hosts / deployment-ssh-hosts (pull_request) Successful in 17m45s
checks-apps-api / apps-api (pull_request) Failing after 22m2s
checks-apps-panel / apps-panel (pull_request) Failing after 23m12s
checks-deployment-tf-hosts-bootstrap / deployment-tf-hosts-bootstrap (pull_request) Successful in 25m49s
checks-apps-tf / apps-tf (pull_request) Failing after 46m42s
checks-apps-tf-incus / apps-tf-incus (pull_request) Successful in 48m58s
e38cd71e2a
The root `pre-commit` check drives the git-hooks `treefmt` hook, which ran
with `pass_filenames = true` -- feeding files one at a time to treefmt. Per-file
invocation makes `oxlint` (over `*.json`) and `oxfmt` exit non-zero on bare JSON
and `package-lock.json`, which pass cleanly when treefmt batches each formatter's
inputs via its own walk (the same walk `treefmt.nix`'s own `treefmt` check uses,
which is why `main` is green). Set `pass_filenames = false` so the hook runs
treefmt over the whole tree, honoring its `includes`/`excludes` instead of
bypassing them. This drops the now-redundant `.forgejo/workflows/*.yaml`
exclude re-statement (treefmt's own `excludes` cover it) and the stale
`treefmt.nix` note about the hook passing explicit filenames.

Also strip the explanatory comment blocks the generator and hand-maintained
workflows injected into the emitted YAMLs.

Assisted-by: Claude:claude-opus-4-8
@ -37,2 +37,3 @@
- name: Deploy
run: nix-shell --run 'eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_ed25519 && SHELL=$(which bash) nix --extra-experimental-features "nix-command flakes" run ".#dev-ssh-forgejo-runner"'
run: |
export SELF_MODULE_SOURCE=$(nix --extra-experimental-features "nix-command flakes" eval --json ".#selfModuleSource")
Author
Owner

why do CD jobs need SELF_MODULE_SOURCE?

why do CD jobs need `SELF_MODULE_SOURCE`?
kiara marked this conversation as resolved
@ -0,0 +14,4 @@
# `git rev-parse --show-toplevel`, which is worktree-aware (a git worktree's
# `.git` is a file, not a directory, so the default `.git/config` anchor
# resolves to the wrong root). See the root `treefmt.nix` for the full story.
projectRootFile = null;
Author
Owner

leaves' treefmt seem to lack ty (then why did our root have it? some should need it then, right?), while multiple leaves also still lack nix stuff in treefmt (while all have nix)

leaves' treefmt seem to lack `ty` (then why did our root have it? some should need it then, right?), while multiple leaves also still lack nix stuff in treefmt (while all have nix)
kiara marked this conversation as resolved
@ -3,8 +3,7 @@
outputs =
{ self, ... }:
import ./default.nix {
inherit self;
Author
Owner

did we not need this to propagate the repo root's nar hash?

did we not need this to propagate the repo root's nar hash?
Author
Owner

this seems ditched in favor of the more granular selfModuleSource, which is quite possibly for the better

this seems ditched in favor of the more granular `selfModuleSource`, which is quite possibly for the better
kiara marked this conversation as resolved
@ -0,0 +20,4 @@
steps:
- uses: actions/checkout@v4
- run: |
nix --extra-experimental-features 'nix-command flakes' build ".#checks.x86_64-linux.pre-commit" -L
Author
Owner

why not leave formatting checks to the leaves' treefmt?

why not leave formatting checks to the leaves' `treefmt`?
kiara marked this conversation as resolved
@ -17,3 +17,2 @@
jobs:
flake-show:
runs-on: native-16g
flake-show-root:
Author
Owner

just split these into their own jobs rather than having one overarching yaml for them

just split these into their own jobs rather than having one overarching yaml for them
kiara marked this conversation as resolved
@ -60,0 +86,4 @@
# `operatorPin == null` path), so there is no pin to resolve here; the
# parameter exists solely to honor the call shape.
# deadnix: skip
operatorPin ? null,
Author
Owner

should that import now point at the other entrypoint then? or is the parameter just no longer relevant somehow?

should that import now point at the other entrypoint then? or is the parameter just no longer relevant somehow?
Author
Owner
looks like something we could further consider addressing if we were to split up our mono-repo:

then why still have it sometimes point at src/default.nix rather than just always at default.nix?

What that makes operatorPin (the actual subject of 16751)
Since the import stays at the root, the root must accept whatever args that call passes — including operatorPin = null. The reviewer's either/or resolves as:

  • "should the import point elsewhere?" → No. It points at the repo root because that's where .boundary lives, and boundary is root-anchored (#972).
  • "is the param no longer relevant?" → It's relevant as call-shape contract only. The thin split root never takes a non-null operatorPin (it only ever exposes the provider-side operatorPin == null layers), but it must still accept the arg or import operatorRoot { operatorPin = null; } fails with

unexpected argument 'operatorPin'. Hence the # deadnix: skip and the "exists solely to honor the call shape" note.
So: the imports don't switch entrypoints because .boundary is root-only and root-anchored — and that's exactly why operatorPin survives as an accepted-but-ignored param. Both halves of 16751 are answered by the inline comment block already; nothing to change in code.

then why still have it sometimes point at src/default.nix rather than just always at default.nix?

Let me actually enumerate the import sites and see which point where.

The imports point at two different entrypoints because they're asking for two different things, and each thing lives in exactly one place:
Root default.nix (.# / import ../..) — for what only the root has

  • .boundary — write-config.nix:151 (import ${operator-root-path} { operatorPin = null; }).boundary. Root-only, root-anchored (#972). Can't move to src.
  • infra checks — docs:353 rootFlake.checks; CI getFlake (toString ../..) for apps-/deployment-/nix-unit/pre-commit/core-docs. These live under checks/ and span both trees.

src/default.nix (./src# / import ./src / import ../.) — for what src owns

  • nixosConfigurations + deploy family — docs:357 srcFlake.nixosConfigurations, CI deploy nix run ".#${group}-ssh-${host}" run from inside nix-shell ./src (line 127), nixosConfigurations built nix-build ./src.
  • the package set — docs:348 srcFlake.packages.

So why not "always root"?

Because the root deliberately no longer owns those src things — that's the entire point of the split. If you made the deploy family and nixosConfigurations resolve through the root again, you'd have un-done the reshape and put the monolith back. The two-entrypoint split is intended:

  • import ./src (line 262) — root reaching down into src for the deploy graph. Fine: src is the lower layer, root sits above it. Correct dependency direction.
  • write-config's import operatorRoot → root — because it needs .boundary, which is the one thing the root kept.

The imports aren't switching arbitrarily — each import site names the entrypoint that owns the attribute it wants. Boundary/infra-checks → root; configs/deploys/packages → src.
The catch — and it ties back to 16767

There's one genuinely awkward case: src/docs/default.nix imports both — srcFlake = import ../. and rootFlake = import ../.. (lines 305-306) — to build a single "Flake attributes" page. That's the docs page reaching sideways to root for the infra checks while reaching into src for packages. And srcFlake.packages is only "complete" because src re-aggregates the leaves — the 16767 layer inversion.

So the honest answer to "why not always root": the split's goal shape is "each thing addressed at its owner." Root owns boundary + infra checks (blocked from moving by #972 + the not-yet-split infra checks); src owns configs/deploys/packages. The places that still touch both (docs enumeration) are exactly the residue 16767 flags — the incomplete trim. It's not that the import "should always be root"; it's that we're mid-way between one entrypoint and clean per-leaf entrypoints, and the root retains only what's provably stuck there.

Does that reconcile it? The operatorPin-bearing import (16751) is firmly root — it can never be src, because .boundary is there. The other imports point at src because root gave those outputs away on purpose.

<details> <summary> looks like something we could further consider addressing if we were to split up our mono-repo: </summary> > then why still have it sometimes point at `src/default.nix` rather than just always at `default.nix`? What that makes operatorPin (the actual subject of 16751) Since the import stays at the root, the root must accept whatever args that call passes — including operatorPin = null. The reviewer's either/or resolves as: - "should the import point elsewhere?" → No. It points at the repo root because that's where .boundary lives, and boundary is root-anchored (#972). - "is the param no longer relevant?" → It's relevant as call-shape contract only. The thin split root never takes a non-null operatorPin (it only ever exposes the provider-side operatorPin == null layers), but it must still accept the arg or import operatorRoot { operatorPin = null; } fails with unexpected argument 'operatorPin'. Hence the # deadnix: skip and the "exists solely to honor the call shape" note. So: the imports don't switch entrypoints because .boundary is root-only and root-anchored — and that's exactly why operatorPin survives as an accepted-but-ignored param. Both halves of 16751 are answered by the inline comment block already; nothing to change in code. > then why still have it sometimes point at `src/default.nix` rather than just always at `default.nix`? Let me actually enumerate the import sites and see which point where. The imports point at two different entrypoints because they're asking for two different things, and each thing lives in exactly one place: Root default.nix (.# / import ../..) — for what only the root has - .boundary — write-config.nix:151 (import ${operator-root-path} { operatorPin = null; }).boundary. Root-only, root-anchored (#972). Can't move to src. - infra checks — docs:353 rootFlake.checks; CI getFlake (toString ../..) for apps-*/deployment-*/nix-unit/pre-commit/core-docs. These live under checks/ and span both trees. src/default.nix (./src# / import ./src / import ../.) — for what src owns - nixosConfigurations + deploy family — docs:357 srcFlake.nixosConfigurations, CI deploy nix run ".#${group}-ssh-${host}" run from inside nix-shell ./src (line 127), nixosConfigurations built nix-build ./src. - the package set — docs:348 srcFlake.packages. So why not "always root"? Because the root deliberately no longer owns those src things — that's the entire point of the split. If you made the deploy family and nixosConfigurations resolve through the root again, you'd have un-done the reshape and put the monolith back. The two-entrypoint split is intended: - import ./src (line 262) — root reaching down into src for the deploy graph. Fine: src is the lower layer, root sits above it. Correct dependency direction. - write-config's import operatorRoot → root — because it needs .boundary, which is the one thing the root kept. The imports aren't switching arbitrarily — each import site names the entrypoint that owns the attribute it wants. Boundary/infra-checks → root; configs/deploys/packages → src. The catch — and it ties back to 16767 There's one genuinely awkward case: src/docs/default.nix imports both — srcFlake = import ../. and rootFlake = import ../.. (lines 305-306) — to build a single "Flake attributes" page. That's the docs page reaching sideways to root for the infra checks while reaching into src for packages. And srcFlake.packages is only "complete" because src re-aggregates the leaves — the 16767 layer inversion. So the honest answer to "why not always root": the split's goal shape is "each thing addressed at its owner." Root owns boundary + infra checks (blocked from moving by #972 + the not-yet-split infra checks); src owns configs/deploys/packages. The places that still touch both (docs enumeration) are exactly the residue 16767 flags — the incomplete trim. It's not that the import "should always be root"; it's that we're mid-way between one entrypoint and clean per-leaf entrypoints, and the root retains only what's provably stuck there. Does that reconcile it? The operatorPin-bearing import (16751) is firmly root — it can never be src, because .boundary is there. The other imports point at src because root gave those outputs away on purpose. </details>
@ -0,0 +10,4 @@
systems = [ "x86_64-linux" ];
# Each `leaf.<key>.<system>` is already keyed by that one system, so a
# plain attribute merge across systems suffices (distinct keys).
perSystem =
Author
Owner

do flakes like this one even need to be explicit about the flake attributes like packages if they can just do the import ./. { inherit system; }? (presumes default.nix otherwise follows a similar schema as the flake's system attributes)

do flakes like this one even need to be explicit about the flake attributes like `packages` if they can just do the `import ./. { inherit system; }`? (presumes `default.nix` otherwise follows a similar schema as the flake's system attributes)
kiara marked this conversation as resolved
@ -322,20 +350,22 @@ let
flakeGroups = [
Author
Owner

the flakes should probably be documented in their own (separate) docs, for in as far as we can meaningfully separate them

the flakes should probably be documented in their own (separate) docs, for in as far as we can meaningfully separate them
kiara marked this conversation as resolved
Review feedback on the entrypoint split (#1182):

- Each leaf `treefmt.nix` (`api`, `panel`, `nix-module-form`) now runs
  `nixfmt` + `deadnix` over its own `.nix`. Previously only `src/treefmt.nix`
  carried the nix formatters, so a leaf`s own `treefmt` check and
  `nix fmt <leaf>` left that leaf`s `.nix` unformatted, even though every leaf
  has `.nix` files. The root pre-commit hook still enforces the whole-tree
  format as the backstop.

- Correct the `ty` rationale in the leaf treefmt comments: `ty` is a type
  checker, not a treefmt formatter (it is wired as a custom git-hook via
  `nix/ty-check.nix`), and its `ty.toml` overrides are cross-tree, so it stays
  in the root pre-commit hook rather than any leaf treefmt.

- Note in each leaf `flake.nix` why the outputs are an explicit four-key
  allowlist rather than a blind merge of everything `default.nix` returns (the
  flat entrypoint mixes flake-schema keys with non-flake attrs like `module` /
  `package` / `pkgs` that would break `nix flake {show,check}`).

- Note in the root `flake.nix` that dropping the raw `self` argument does not
  drop nar-hash propagation: the repo-root nar hash is still threaded in as
  `selfModuleSource`.

Assisted-by: Claude:claude-opus-4-8
Fold four review threads on the split entrypoints:

- CI formatting (16746): mirror `main`'s model -- the whole-repo `ty` type
  check and non-leaf files stay in the root whole-tree `treefmt` CHECK; each
  leaf (`src`/`api`/`panel`/`nix-module-form`) gets its own `treefmt` check
  scoped to its languages. Drop `pre-commit` as a CI check (it stays a
  commit-time git-hook for trailing-whitespace, which has no treefmt program).
- flake-show (16747): split the single `flake-show.yaml` into one workflow
  file per leaf (`flake-show-{root,src,api,panel,nix-module-form}.yaml`).
- leaf output allowlists (16749): leaf `default.nix` group their flake-schema
  outputs under one `flake` attr; `flake.nix` splats it via `recursiveUpdate`,
  so there is no hand-kept output allowlist. `nix flake {show,check}` rejects
  unknown top-level outputs, so the flat compat attrs stay OUT of `.flake`.
- per-leaf docs (16750): each leaf renders its own flake-attributes page from
  its own attr names (shared `nix/docs.nix` machinery); `core-docs` documents
  only `src` + the root.

Also guard the leaf `flake.nix` `lib` bootstrap: `default.nix`'s
`system ? builtins.currentSystem` is unavailable in flake (pure) eval, so the
argless `import ./. { }` is replaced with an explicit first-supported-system.

Assisted-by: Claude:claude-opus-4-8
Address review (16740): re-export deploy attrs through the root, drop CD SELF_MODULE_SOURCE
Some checks failed
checks-api-asyncapi-validate / api-asyncapi-validate (pull_request) Successful in 6s
checks-api-python-tests / api-python-tests (pull_request) Successful in 6s
flake-show-api / flake-show-api (pull_request) Successful in 5s
flake-show-nix-module-form / flake-show-nix-module-form (pull_request) Successful in 4s
checks-panel-migrations / panel-migrations (pull_request) Successful in 7s
flake-show-panel / flake-show-panel (pull_request) Successful in 4s
devShells-default / src-default (pull_request) Successful in 10s
checks-api-docs / api-docs (pull_request) Successful in 14s
nixosConfigurations-hosting-provider-api / hosting-provider-api (pull_request) Successful in 18s
devShells-default / root-default (pull_request) Successful in 19s
checks-deployment-nixos-hosts / deployment-nixos-hosts (pull_request) Successful in 27s
Nix flake completeness check / _complete (pull_request) Successful in 29s
nixosConfigurations-hosting-provider-bind / hosting-provider-bind (pull_request) Successful in 20s
nix-unit-contracts-lib / contracts-lib (pull_request) Successful in 22s
nixosConfigurations-hosting-provider-authelia / hosting-provider-authelia (pull_request) Successful in 23s
checks-api-openapi-validate / api-openapi-validate (pull_request) Successful in 8s
nixosConfigurations-hosting-provider-lldap / hosting-provider-lldap (pull_request) Successful in 22s
nix-unit-effects-common-lib / effects-common-lib (pull_request) Successful in 19s
checks-api-treefmt / api-treefmt (pull_request) Successful in 9s
nix-unit-lib-data-model / lib-data-model (pull_request) Successful in 11s
checks-asyncapi-docs / asyncapi-docs (pull_request) Successful in 7s
nixosConfigurations-hosting-provider-monitoring / hosting-provider-monitoring (pull_request) Successful in 16s
nix-unit-lib-function / lib-function (pull_request) Successful in 11s
nixosConfigurations-hosting-provider-otel-collector / hosting-provider-otel-collector (pull_request) Successful in 16s
nix-unit-effects-tf-common-conversion / effects-tf-common-conversion (pull_request) Successful in 21s
nixosConfigurations-hosting-provider-panel / hosting-provider-panel (pull_request) Successful in 14s
nix-unit-lib-lib / lib-lib (pull_request) Successful in 6s
checks-api-http / api-http (pull_request) Successful in 51s
checks-contracts-chaining / contracts-chaining (pull_request) Successful in 12s
nix-unit-resources-garage-forward-compat / resources-garage-forward-compat (pull_request) Successful in 4s
nixosConfigurations-hosting-provider-postgresql / hosting-provider-postgresql (pull_request) Successful in 17s
checks-contracts-cross-node / contracts-cross-node (pull_request) Successful in 12s
nixosConfigurations-hosting-provider-smtp / hosting-provider-smtp (pull_request) Successful in 13s
nix-unit-lib-renames-for-source / lib-renames-for-source (pull_request) Successful in 10s
nixosConfigurations-hosting-provider-valkey / hosting-provider-valkey (pull_request) Successful in 17s
nix-unit-resources-redis-port / resources-redis-port (pull_request) Successful in 7s
nixosConfigurations-hosting-provider-windmill / hosting-provider-windmill (pull_request) Successful in 18s
checks-contracts-filebackup-hardcoded-file-backup / contracts-filebackup-hardcoded-file-backup (pull_request) Successful in 18s
checks-contracts-filesecrets-hardcoded-secret / contracts-filesecrets-hardcoded-secret (pull_request) Successful in 16s
nixosConfigurations-operator-lldap / operator-lldap (pull_request) Successful in 20s
nixosConfigurations-operator-smtp / operator-smtp (pull_request) Successful in 20s
nixosConfigurations-operator-valkey / operator-valkey (pull_request) Successful in 18s
nix-unit-resources-generateFiles / resources-generateFiles (pull_request) Successful in 22s
nix-unit-resources-otel / resources-otel (pull_request) Successful in 27s
nix-unit-resources-secrets / resources-secrets (pull_request) Successful in 14s
checks-contracts-generatefiles-vars-openbao / contracts-generatefiles-vars-openbao (pull_request) Successful in 10s
checks-contracts-generatefiles-vars / contracts-generatefiles-vars (pull_request) Successful in 9s
checks-contracts-ldap-lldap / contracts-ldap-lldap (pull_request) Successful in 9s
checks-contracts-ldap-openldap / contracts-ldap-openldap (pull_request) Successful in 8s
checks-panel-basic / panel-basic (pull_request) Successful in 1m32s
checks-contracts-redis-valkey / contracts-redis-valkey (pull_request) Successful in 9s
checks-contracts-oidc-dex / contracts-oidc-dex (pull_request) Successful in 9s
checks-contracts-s3-minio / contracts-s3-minio (pull_request) Successful in 9s
checks-contracts-smtp-maddy / contracts-smtp-maddy (pull_request) Successful in 9s
checks-contracts-smtp-opensmtpd / contracts-smtp-opensmtpd (pull_request) Successful in 9s
checks-contracts-ssl-self-signed / contracts-ssl-self-signed (pull_request) Successful in 9s
checks-contracts-streamingbackup-hardcoded / contracts-streamingbackup-hardcoded (pull_request) Successful in 9s
checks-contracts-systemd-openbaod / contracts-systemd-openbaod (pull_request) Successful in 9s
checks-nix-module-form-treefmt / nix-module-form-treefmt (pull_request) Successful in 8s
checks-panel-docs / panel-docs (pull_request) Successful in 9s
checks-panel-forms-island-docs / panel-forms-island-docs (pull_request) Successful in 6s
checks-panel-treefmt / panel-treefmt (pull_request) Successful in 9s
checks-resources-secrets-agenix / resources-secrets-agenix (pull_request) Successful in 9s
checks-src-treefmt / src-treefmt (pull_request) Successful in 8s
checks-test-monitoring-storage / test-monitoring-storage (pull_request) Successful in 9s
checks-test-otel-wiring / test-otel-wiring (pull_request) Successful in 9s
flake-show-root / flake-show-root (pull_request) Failing after 2m43s
checks-test-valkey-service / test-valkey-service (pull_request) Successful in 9s
checks-treefmt / treefmt (pull_request) Successful in 11s
flake-show-src / flake-show-src (pull_request) Successful in 4m28s
checks-deployment-tf-incus-hosts / deployment-tf-incus-hosts (pull_request) Successful in 5m36s
checks-core-docs / core-docs (pull_request) Successful in 8m4s
checks-deployment-tf-hosts / deployment-tf-hosts (pull_request) Successful in 11m3s
checks-deployment-ssh-hosts / deployment-ssh-hosts (pull_request) Successful in 16m15s
checks-deployment-tf-hosts-bootstrap / deployment-tf-hosts-bootstrap (pull_request) Successful in 27m48s
checks-apps-api / apps-api (pull_request) Successful in 44m22s
checks-apps-tf-incus / apps-tf-incus (pull_request) Successful in 47m5s
checks-apps-panel / apps-panel (pull_request) Successful in 50m3s
checks-apps-tf / apps-tf (pull_request) Successful in 1h4m34s
283afa11d7
Thread the whole-repo #213 self-pin through the root entrypoint instead of the
CD environment. The root imports `./src` with `selfModuleSource` from its locked
`self` (`srcFor`) and re-exports the full `<group>-<effect>-<machine>`
deployment family (every effect: ssh/tf/tf-incus/tf-incus-operator) as its own
`packages`/`apps`/`devShells` (`selectDeployAttrs`), with the pin already baked
in. CD then deploys `.#<group>-ssh-<host>` in a single eval with the correct
pin, so the `cd-*.yaml` no longer `export SELF_MODULE_SOURCE=$(nix eval
.#selfModuleSource)` onto a `./src#` eval -- which reported the wrong
*subdirectory* narHash for a whole-repo `fetchTree`.

`src/default.nix` factors the `<group>-<effect>-<machine>` enumeration into a
shared `deploymentRecords` (`api-deployments` now reuses it, so the two never
drift) and exposes `deploymentAttributeNames` for the root's select. The
`SELF_MODULE_SOURCE` env var stays as a fallback INSIDE `src`/`api` (direct
`./src#`/`./api#` import and the running api service, which bakes it into
`api-http-stack`); only the CD path drops it.

Verified on fediversity-ci (eval-only): root `.#<attr>` drvPath == `./src#<attr>`
across ssh/tf-incus/dev effects; pin threads through (root no-pin != root+pin)
and is transparent (root+pin == src+pin); the generator `check` gate is green.

Assisted-by: Claude:claude-opus-4-8
@ -310,1 +363,4 @@
# for introspection; it is baked directly into the re-exported deployment
# attributes above (via `srcFor`), so consumers deploy `.#<group>-...` and
# need not read it out-of-band. A flat compat attr, not a flake output.
inherit selfModuleSource;
Author
Owner

let's stick to the flakes schema to retain feature parity

let's stick to the flakes schema to retain feature parity
kiara marked this conversation as resolved
panel/flake.nix Outdated
@ -27,2 +25,2 @@
checks = perSystem "checks";
};
lib.foldl' (
acc: system: lib.recursiveUpdate acc (import ./. { inherit system; }).flake
Author
Owner

any feature parity for flake.nix / default.nix pairs like this would seem entirely coincidental (given the default.nix could just expose a bunch of other stuff not going to the flake) - consider instead an approach more like https://codeberg.org/kiara/poc-override-nix-deps/src/branch/main/flake.nix (sans inputs)

any feature parity for `flake.nix` / `default.nix` pairs like this would seem entirely coincidental (given the `default.nix` could just expose a bunch of other stuff not going to the flake) - consider instead an approach more like https://codeberg.org/kiara/poc-override-nix-deps/src/branch/main/flake.nix (sans `inputs`)
Author
Owner

i just realized our default.nixs re-export their params, which should not conform to the flakes schema - not sure that works (or doesn't) for our root-flake flake show right now

i just realized our `default.nix`s re-export their params, which should not conform to the flakes schema - not sure that works (or doesn't) for our root-flake `flake show` right now
kiara marked this conversation as resolved
Since 16740 the root re-exports the full `<group>-<effect>-<machine>` deploy
family, so `nix flake show` on the root forces the same deploy-graph eval as
`flake-show-src` (~136 attrs). On the `native-8g` tier that overshot the cap and
the runner cancelled the job (`signal: terminated` / `context canceled`) after
~163s. `flake-show-src` already runs on `native-16g` for the same eval; match it.

Assisted-by: Claude:claude-opus-4-8
kiara force-pushed separate-entrypoints from 9f3efed124
Some checks failed
Nix flake completeness check / _complete (pull_request) Failing after 3s
checks-apps-api / apps-api (pull_request) Failing after 3s
checks-apps-tf / apps-tf (pull_request) Failing after 3s
checks-apps-panel / apps-panel (pull_request) Failing after 3s
checks-apps-tf-incus / apps-tf-incus (pull_request) Failing after 2s
checks-core-docs / core-docs (pull_request) Failing after 3s
checks-deployment-nixos-hosts / deployment-nixos-hosts (pull_request) Failing after 3s
checks-integrations-spire-incus / integrations-spire-incus (pull_request) Failing after 2s
checks-deployment-ssh-hosts / deployment-ssh-hosts (pull_request) Failing after 3s
checks-deployment-tf-incus-hosts / deployment-tf-incus-hosts (pull_request) Failing after 3s
checks-deployment-tf-hosts-bootstrap / deployment-tf-hosts-bootstrap (pull_request) Failing after 3s
checks-deployment-tf-hosts / deployment-tf-hosts (pull_request) Failing after 3s
checks-api-python-tests / api-python-tests (pull_request) Successful in 5s
checks-integrations-octodns / integrations-octodns (pull_request) Failing after 3s
checks-api-asyncapi-validate / api-asyncapi-validate (pull_request) Successful in 6s
devShells-default / root-default (pull_request) Failing after 3s
devShells-default / src-default (pull_request) Failing after 4s
nix-unit-contracts-lib / contracts-lib (pull_request) Failing after 4s
flake-show-root / flake-show-root (pull_request) Failing after 4s
checks-panel-migrations / panel-migrations (pull_request) Successful in 7s
flake-show-api / flake-show-api (pull_request) Successful in 6s
flake-show-nix-module-form / flake-show-nix-module-form (pull_request) Successful in 5s
flake-show-src / flake-show-src (pull_request) Failing after 6s
nix-unit-effects-common-lib / effects-common-lib (pull_request) Failing after 4s
flake-show-panel / flake-show-panel (pull_request) Successful in 5s
checks-api-docs / api-docs (pull_request) Successful in 8s
nix-unit-effects-tf-common-conversion / effects-tf-common-conversion (pull_request) Failing after 3s
nix-unit-lib-data-model / lib-data-model (pull_request) Failing after 4s
checks-api-openapi-validate / api-openapi-validate (pull_request) Successful in 5s
nix-unit-lib-function / lib-function (pull_request) Failing after 4s
nixosConfigurations-dev-forgejo-runner / dev-forgejo-runner (pull_request) Successful in 10s
nix-unit-lib-renames-for-source / lib-renames-for-source (pull_request) Failing after 4s
nix-unit-lib-lib / lib-lib (pull_request) Failing after 4s
nixosConfigurations-dev-forgejo / dev-forgejo (pull_request) Successful in 11s
nix-unit-resources-garage-forward-compat / resources-garage-forward-compat (pull_request) Failing after 3s
nixosConfigurations-hosting-provider-api / hosting-provider-api (pull_request) Successful in 11s
checks-asyncapi-docs / asyncapi-docs (pull_request) Successful in 6s
checks-api-treefmt / api-treefmt (pull_request) Successful in 7s
nix-unit-resources-generateFiles / resources-generateFiles (pull_request) Failing after 4s
nixosConfigurations-hosting-provider-authelia / hosting-provider-authelia (pull_request) Successful in 12s
checks-contracts-chaining / contracts-chaining (pull_request) Failing after 2s
nix-unit-resources-otel / resources-otel (pull_request) Failing after 3s
nix-unit-resources-redis-port / resources-redis-port (pull_request) Failing after 3s
checks-contracts-cross-node / contracts-cross-node (pull_request) Failing after 3s
nix-unit-resources-secrets / resources-secrets (pull_request) Failing after 3s
checks-contracts-filebackup-hardcoded-file-backup / contracts-filebackup-hardcoded-file-backup (pull_request) Failing after 2s
checks-contracts-filesecrets-hardcoded-secret / contracts-filesecrets-hardcoded-secret (pull_request) Failing after 3s
nixosConfigurations-hosting-provider-bind / hosting-provider-bind (pull_request) Successful in 11s
nixosConfigurations-hosting-provider-garage / hosting-provider-garage (pull_request) Successful in 11s
checks-contracts-generatefiles-vars-openbao / contracts-generatefiles-vars-openbao (pull_request) Failing after 2s
checks-contracts-generatefiles-vars / contracts-generatefiles-vars (pull_request) Failing after 2s
nixosConfigurations-hosting-provider-monitoring / hosting-provider-monitoring (pull_request) Successful in 11s
nixosConfigurations-hosting-provider-lldap / hosting-provider-lldap (pull_request) Successful in 13s
checks-contracts-ldap-lldap / contracts-ldap-lldap (pull_request) Failing after 2s
checks-contracts-ldap-openldap / contracts-ldap-openldap (pull_request) Failing after 2s
checks-contracts-oidc-dex / contracts-oidc-dex (pull_request) Failing after 3s
checks-contracts-redis-valkey / contracts-redis-valkey (pull_request) Failing after 2s
nixosConfigurations-hosting-provider-netbox / hosting-provider-netbox (pull_request) Successful in 11s
nixosConfigurations-hosting-provider-openbao / hosting-provider-openbao (pull_request) Successful in 10s
checks-api-http / api-http (pull_request) Successful in 43s
checks-contracts-s3-minio / contracts-s3-minio (pull_request) Failing after 2s
checks-contracts-smtp-maddy / contracts-smtp-maddy (pull_request) Failing after 2s
nixosConfigurations-hosting-provider-otel-collector / hosting-provider-otel-collector (pull_request) Successful in 11s
nixosConfigurations-hosting-provider-panel / hosting-provider-panel (pull_request) Successful in 11s
checks-contracts-smtp-opensmtpd / contracts-smtp-opensmtpd (pull_request) Failing after 2s
checks-contracts-ssl-self-signed / contracts-ssl-self-signed (pull_request) Failing after 2s
checks-contracts-streamingbackup-hardcoded / contracts-streamingbackup-hardcoded (pull_request) Failing after 2s
checks-contracts-systemd-openbaod / contracts-systemd-openbaod (pull_request) Failing after 3s
nixosConfigurations-hosting-provider-smtp / hosting-provider-smtp (pull_request) Successful in 11s
nixosConfigurations-hosting-provider-spire / hosting-provider-spire (pull_request) Successful in 11s
nixosConfigurations-hosting-provider-postgresql / hosting-provider-postgresql (pull_request) Successful in 16s
nixosConfigurations-hosting-provider-terraform-backend / hosting-provider-terraform-backend (pull_request) Successful in 13s
nixosConfigurations-hosting-provider-valkey / hosting-provider-valkey (pull_request) Successful in 12s
checks-nix-module-form-treefmt / nix-module-form-treefmt (pull_request) Successful in 7s
checks-panel-docs / panel-docs (pull_request) Successful in 8s
nixosConfigurations-hosting-provider-windmill / hosting-provider-windmill (pull_request) Successful in 11s
checks-panel-forms-island-docs / panel-forms-island-docs (pull_request) Successful in 5s
nixosConfigurations-hypervisor-incus / hypervisor-incus (pull_request) Successful in 11s
checks-resources-secrets-agenix / resources-secrets-agenix (pull_request) Failing after 3s
nixosConfigurations-operator-authelia / operator-authelia (pull_request) Successful in 12s
checks-panel-treefmt / panel-treefmt (pull_request) Successful in 10s
nixosConfigurations-operator-lldap / operator-lldap (pull_request) Successful in 13s
checks-test-monitoring-storage / test-monitoring-storage (pull_request) Failing after 2s
nixosConfigurations-operator-combined / operator-combined (pull_request) Successful in 18s
nixosConfigurations-operator-mastodon / operator-mastodon (pull_request) Successful in 12s
checks-src-treefmt / src-treefmt (pull_request) Successful in 9s
nixosConfigurations-operator-peertube / operator-peertube (pull_request) Successful in 12s
checks-test-otel-wiring / test-otel-wiring (pull_request) Failing after 3s
checks-panel-basic / panel-basic (pull_request) Successful in 1m18s
checks-test-valkey-service / test-valkey-service (pull_request) Failing after 2s
checks-treefmt / treefmt (pull_request) Failing after 2s
nixosConfigurations-operator-pixelfed / operator-pixelfed (pull_request) Successful in 12s
nixosConfigurations-operator-smtp / operator-smtp (pull_request) Successful in 11s
nixosConfigurations-operator-valkey / operator-valkey (pull_request) Successful in 11s
to dc79236262
Some checks failed
Nix flake completeness check / _complete (pull_request) Failing after 4s
checks-api-python-tests / api-python-tests (pull_request) Successful in 6s
checks-api-asyncapi-validate / api-asyncapi-validate (pull_request) Successful in 6s
checks-core-docs / core-docs (pull_request) Failing after 6s
devShells-default / src-default (pull_request) Failing after 4s
devShells-default / root-default (pull_request) Failing after 4s
nix-unit-contracts-lib / contracts-lib (pull_request) Failing after 4s
checks-panel-migrations / panel-migrations (pull_request) Successful in 7s
flake-show-api / flake-show-api (pull_request) Successful in 5s
flake-show-root / flake-show-root (pull_request) Failing after 4s
flake-show-nix-module-form / flake-show-nix-module-form (pull_request) Successful in 4s
flake-show-src / flake-show-src (pull_request) Failing after 5s
flake-show-panel / flake-show-panel (pull_request) Successful in 5s
checks-api-docs / api-docs (pull_request) Successful in 9s
nix-unit-effects-common-lib / effects-common-lib (pull_request) Failing after 5s
nix-unit-lib-data-model / lib-data-model (pull_request) Failing after 4s
nix-unit-effects-tf-common-conversion / effects-tf-common-conversion (pull_request) Failing after 4s
checks-api-openapi-validate / api-openapi-validate (pull_request) Successful in 10s
nix-unit-lib-function / lib-function (pull_request) Failing after 7s
nix-unit-lib-lib / lib-lib (pull_request) Failing after 8s
nix-unit-lib-renames-for-source / lib-renames-for-source (pull_request) Failing after 8s
checks-api-treefmt / api-treefmt (pull_request) Successful in 12s
nixosConfigurations-dev-forgejo-runner / dev-forgejo-runner (pull_request) Successful in 19s
nix-unit-resources-garage-forward-compat / resources-garage-forward-compat (pull_request) Failing after 5s
nixosConfigurations-dev-forgejo / dev-forgejo (pull_request) Successful in 20s
nixosConfigurations-hosting-provider-api / hosting-provider-api (pull_request) Successful in 19s
checks-asyncapi-docs / asyncapi-docs (pull_request) Successful in 8s
nixosConfigurations-hosting-provider-authelia / hosting-provider-authelia (pull_request) Successful in 19s
nix-unit-resources-generateFiles / resources-generateFiles (pull_request) Failing after 4s
nix-unit-resources-otel / resources-otel (pull_request) Failing after 4s
checks-deployment-nixos-hosts / deployment-nixos-hosts (pull_request) Successful in 29s
nix-unit-resources-redis-port / resources-redis-port (pull_request) Failing after 4s
nix-unit-resources-secrets / resources-secrets (pull_request) Failing after 4s
checks-contracts-chaining / contracts-chaining (pull_request) Successful in 14s
nixosConfigurations-hosting-provider-bind / hosting-provider-bind (pull_request) Successful in 15s
checks-integrations-octodns / integrations-octodns (pull_request) Successful in 39s
nixosConfigurations-hosting-provider-garage / hosting-provider-garage (pull_request) Successful in 15s
checks-contracts-cross-node / contracts-cross-node (pull_request) Successful in 15s
nixosConfigurations-hosting-provider-monitoring / hosting-provider-monitoring (pull_request) Successful in 16s
nixosConfigurations-hosting-provider-lldap / hosting-provider-lldap (pull_request) Successful in 17s
checks-api-http / api-http (pull_request) Successful in 47s
nixosConfigurations-hosting-provider-netbox / hosting-provider-netbox (pull_request) Successful in 12s
nixosConfigurations-hosting-provider-openbao / hosting-provider-openbao (pull_request) Successful in 11s
checks-contracts-filebackup-hardcoded-file-backup / contracts-filebackup-hardcoded-file-backup (pull_request) Successful in 14s
checks-contracts-filesecrets-hardcoded-secret / contracts-filesecrets-hardcoded-secret (pull_request) Successful in 10s
nixosConfigurations-hosting-provider-otel-collector / hosting-provider-otel-collector (pull_request) Successful in 13s
nixosConfigurations-hosting-provider-panel / hosting-provider-panel (pull_request) Successful in 13s
nixosConfigurations-hosting-provider-postgresql / hosting-provider-postgresql (pull_request) Successful in 17s
checks-contracts-generatefiles-vars-openbao / contracts-generatefiles-vars-openbao (pull_request) Successful in 10s
checks-contracts-generatefiles-vars / contracts-generatefiles-vars (pull_request) Successful in 10s
nixosConfigurations-hosting-provider-smtp / hosting-provider-smtp (pull_request) Successful in 14s
nixosConfigurations-hosting-provider-spire / hosting-provider-spire (pull_request) Successful in 13s
nixosConfigurations-hosting-provider-terraform-backend / hosting-provider-terraform-backend (pull_request) Successful in 14s
nixosConfigurations-hosting-provider-valkey / hosting-provider-valkey (pull_request) Successful in 14s
nixosConfigurations-hosting-provider-windmill / hosting-provider-windmill (pull_request) Successful in 12s
checks-contracts-ldap-lldap / contracts-ldap-lldap (pull_request) Successful in 10s
checks-contracts-ldap-openldap / contracts-ldap-openldap (pull_request) Successful in 9s
nixosConfigurations-hypervisor-incus / hypervisor-incus (pull_request) Successful in 11s
nixosConfigurations-operator-authelia / operator-authelia (pull_request) Successful in 13s
nixosConfigurations-operator-lldap / operator-lldap (pull_request) Successful in 13s
checks-contracts-oidc-dex / contracts-oidc-dex (pull_request) Successful in 11s
checks-contracts-redis-valkey / contracts-redis-valkey (pull_request) Successful in 10s
nixosConfigurations-operator-mastodon / operator-mastodon (pull_request) Successful in 13s
nixosConfigurations-operator-combined / operator-combined (pull_request) Successful in 19s
nixosConfigurations-operator-peertube / operator-peertube (pull_request) Successful in 12s
nixosConfigurations-operator-pixelfed / operator-pixelfed (pull_request) Successful in 11s
checks-contracts-s3-minio / contracts-s3-minio (pull_request) Successful in 10s
nixosConfigurations-operator-smtp / operator-smtp (pull_request) Successful in 12s
checks-contracts-smtp-maddy / contracts-smtp-maddy (pull_request) Successful in 10s
nixosConfigurations-operator-valkey / operator-valkey (pull_request) Successful in 12s
checks-contracts-smtp-opensmtpd / contracts-smtp-opensmtpd (pull_request) Successful in 9s
checks-contracts-ssl-self-signed / contracts-ssl-self-signed (pull_request) Successful in 9s
checks-panel-basic / panel-basic (pull_request) Successful in 1m25s
checks-contracts-streamingbackup-hardcoded / contracts-streamingbackup-hardcoded (pull_request) Successful in 8s
checks-contracts-systemd-openbaod / contracts-systemd-openbaod (pull_request) Successful in 8s
checks-nix-module-form-treefmt / nix-module-form-treefmt (pull_request) Successful in 5s
checks-panel-docs / panel-docs (pull_request) Successful in 6s
checks-panel-forms-island-docs / panel-forms-island-docs (pull_request) Successful in 4s
checks-panel-treefmt / panel-treefmt (pull_request) Successful in 6s
checks-resources-secrets-agenix / resources-secrets-agenix (pull_request) Successful in 8s
checks-src-treefmt / src-treefmt (pull_request) Successful in 6s
checks-test-monitoring-storage / test-monitoring-storage (pull_request) Successful in 9s
checks-test-otel-wiring / test-otel-wiring (pull_request) Successful in 9s
checks-test-valkey-service / test-valkey-service (pull_request) Successful in 9s
checks-treefmt / treefmt (pull_request) Successful in 10s
checks-integrations-spire-incus / integrations-spire-incus (pull_request) Successful in 5m24s
checks-deployment-tf-incus-hosts / deployment-tf-incus-hosts (pull_request) Successful in 5m46s
checks-deployment-tf-hosts / deployment-tf-hosts (pull_request) Successful in 11m0s
checks-deployment-ssh-hosts / deployment-ssh-hosts (pull_request) Successful in 17m40s
checks-deployment-tf-hosts-bootstrap / deployment-tf-hosts-bootstrap (pull_request) Successful in 27m54s
checks-apps-tf-incus / apps-tf-incus (pull_request) Has been cancelled
checks-apps-api / apps-api (pull_request) Has been cancelled
checks-apps-panel / apps-panel (pull_request) Has been cancelled
checks-apps-tf / apps-tf (pull_request) Has been cancelled
2026-07-07 09:15:12 +02:00
Compare
kiara force-pushed separate-entrypoints from dc79236262
Some checks failed
Nix flake completeness check / _complete (pull_request) Failing after 4s
checks-api-python-tests / api-python-tests (pull_request) Successful in 6s
checks-api-asyncapi-validate / api-asyncapi-validate (pull_request) Successful in 6s
checks-core-docs / core-docs (pull_request) Failing after 6s
devShells-default / src-default (pull_request) Failing after 4s
devShells-default / root-default (pull_request) Failing after 4s
nix-unit-contracts-lib / contracts-lib (pull_request) Failing after 4s
checks-panel-migrations / panel-migrations (pull_request) Successful in 7s
flake-show-api / flake-show-api (pull_request) Successful in 5s
flake-show-root / flake-show-root (pull_request) Failing after 4s
flake-show-nix-module-form / flake-show-nix-module-form (pull_request) Successful in 4s
flake-show-src / flake-show-src (pull_request) Failing after 5s
flake-show-panel / flake-show-panel (pull_request) Successful in 5s
checks-api-docs / api-docs (pull_request) Successful in 9s
nix-unit-effects-common-lib / effects-common-lib (pull_request) Failing after 5s
nix-unit-lib-data-model / lib-data-model (pull_request) Failing after 4s
nix-unit-effects-tf-common-conversion / effects-tf-common-conversion (pull_request) Failing after 4s
checks-api-openapi-validate / api-openapi-validate (pull_request) Successful in 10s
nix-unit-lib-function / lib-function (pull_request) Failing after 7s
nix-unit-lib-lib / lib-lib (pull_request) Failing after 8s
nix-unit-lib-renames-for-source / lib-renames-for-source (pull_request) Failing after 8s
checks-api-treefmt / api-treefmt (pull_request) Successful in 12s
nixosConfigurations-dev-forgejo-runner / dev-forgejo-runner (pull_request) Successful in 19s
nix-unit-resources-garage-forward-compat / resources-garage-forward-compat (pull_request) Failing after 5s
nixosConfigurations-dev-forgejo / dev-forgejo (pull_request) Successful in 20s
nixosConfigurations-hosting-provider-api / hosting-provider-api (pull_request) Successful in 19s
checks-asyncapi-docs / asyncapi-docs (pull_request) Successful in 8s
nixosConfigurations-hosting-provider-authelia / hosting-provider-authelia (pull_request) Successful in 19s
nix-unit-resources-generateFiles / resources-generateFiles (pull_request) Failing after 4s
nix-unit-resources-otel / resources-otel (pull_request) Failing after 4s
checks-deployment-nixos-hosts / deployment-nixos-hosts (pull_request) Successful in 29s
nix-unit-resources-redis-port / resources-redis-port (pull_request) Failing after 4s
nix-unit-resources-secrets / resources-secrets (pull_request) Failing after 4s
checks-contracts-chaining / contracts-chaining (pull_request) Successful in 14s
nixosConfigurations-hosting-provider-bind / hosting-provider-bind (pull_request) Successful in 15s
checks-integrations-octodns / integrations-octodns (pull_request) Successful in 39s
nixosConfigurations-hosting-provider-garage / hosting-provider-garage (pull_request) Successful in 15s
checks-contracts-cross-node / contracts-cross-node (pull_request) Successful in 15s
nixosConfigurations-hosting-provider-monitoring / hosting-provider-monitoring (pull_request) Successful in 16s
nixosConfigurations-hosting-provider-lldap / hosting-provider-lldap (pull_request) Successful in 17s
checks-api-http / api-http (pull_request) Successful in 47s
nixosConfigurations-hosting-provider-netbox / hosting-provider-netbox (pull_request) Successful in 12s
nixosConfigurations-hosting-provider-openbao / hosting-provider-openbao (pull_request) Successful in 11s
checks-contracts-filebackup-hardcoded-file-backup / contracts-filebackup-hardcoded-file-backup (pull_request) Successful in 14s
checks-contracts-filesecrets-hardcoded-secret / contracts-filesecrets-hardcoded-secret (pull_request) Successful in 10s
nixosConfigurations-hosting-provider-otel-collector / hosting-provider-otel-collector (pull_request) Successful in 13s
nixosConfigurations-hosting-provider-panel / hosting-provider-panel (pull_request) Successful in 13s
nixosConfigurations-hosting-provider-postgresql / hosting-provider-postgresql (pull_request) Successful in 17s
checks-contracts-generatefiles-vars-openbao / contracts-generatefiles-vars-openbao (pull_request) Successful in 10s
checks-contracts-generatefiles-vars / contracts-generatefiles-vars (pull_request) Successful in 10s
nixosConfigurations-hosting-provider-smtp / hosting-provider-smtp (pull_request) Successful in 14s
nixosConfigurations-hosting-provider-spire / hosting-provider-spire (pull_request) Successful in 13s
nixosConfigurations-hosting-provider-terraform-backend / hosting-provider-terraform-backend (pull_request) Successful in 14s
nixosConfigurations-hosting-provider-valkey / hosting-provider-valkey (pull_request) Successful in 14s
nixosConfigurations-hosting-provider-windmill / hosting-provider-windmill (pull_request) Successful in 12s
checks-contracts-ldap-lldap / contracts-ldap-lldap (pull_request) Successful in 10s
checks-contracts-ldap-openldap / contracts-ldap-openldap (pull_request) Successful in 9s
nixosConfigurations-hypervisor-incus / hypervisor-incus (pull_request) Successful in 11s
nixosConfigurations-operator-authelia / operator-authelia (pull_request) Successful in 13s
nixosConfigurations-operator-lldap / operator-lldap (pull_request) Successful in 13s
checks-contracts-oidc-dex / contracts-oidc-dex (pull_request) Successful in 11s
checks-contracts-redis-valkey / contracts-redis-valkey (pull_request) Successful in 10s
nixosConfigurations-operator-mastodon / operator-mastodon (pull_request) Successful in 13s
nixosConfigurations-operator-combined / operator-combined (pull_request) Successful in 19s
nixosConfigurations-operator-peertube / operator-peertube (pull_request) Successful in 12s
nixosConfigurations-operator-pixelfed / operator-pixelfed (pull_request) Successful in 11s
checks-contracts-s3-minio / contracts-s3-minio (pull_request) Successful in 10s
nixosConfigurations-operator-smtp / operator-smtp (pull_request) Successful in 12s
checks-contracts-smtp-maddy / contracts-smtp-maddy (pull_request) Successful in 10s
nixosConfigurations-operator-valkey / operator-valkey (pull_request) Successful in 12s
checks-contracts-smtp-opensmtpd / contracts-smtp-opensmtpd (pull_request) Successful in 9s
checks-contracts-ssl-self-signed / contracts-ssl-self-signed (pull_request) Successful in 9s
checks-panel-basic / panel-basic (pull_request) Successful in 1m25s
checks-contracts-streamingbackup-hardcoded / contracts-streamingbackup-hardcoded (pull_request) Successful in 8s
checks-contracts-systemd-openbaod / contracts-systemd-openbaod (pull_request) Successful in 8s
checks-nix-module-form-treefmt / nix-module-form-treefmt (pull_request) Successful in 5s
checks-panel-docs / panel-docs (pull_request) Successful in 6s
checks-panel-forms-island-docs / panel-forms-island-docs (pull_request) Successful in 4s
checks-panel-treefmt / panel-treefmt (pull_request) Successful in 6s
checks-resources-secrets-agenix / resources-secrets-agenix (pull_request) Successful in 8s
checks-src-treefmt / src-treefmt (pull_request) Successful in 6s
checks-test-monitoring-storage / test-monitoring-storage (pull_request) Successful in 9s
checks-test-otel-wiring / test-otel-wiring (pull_request) Successful in 9s
checks-test-valkey-service / test-valkey-service (pull_request) Successful in 9s
checks-treefmt / treefmt (pull_request) Successful in 10s
checks-integrations-spire-incus / integrations-spire-incus (pull_request) Successful in 5m24s
checks-deployment-tf-incus-hosts / deployment-tf-incus-hosts (pull_request) Successful in 5m46s
checks-deployment-tf-hosts / deployment-tf-hosts (pull_request) Successful in 11m0s
checks-deployment-ssh-hosts / deployment-ssh-hosts (pull_request) Successful in 17m40s
checks-deployment-tf-hosts-bootstrap / deployment-tf-hosts-bootstrap (pull_request) Successful in 27m54s
checks-apps-tf-incus / apps-tf-incus (pull_request) Has been cancelled
checks-apps-api / apps-api (pull_request) Has been cancelled
checks-apps-panel / apps-panel (pull_request) Has been cancelled
checks-apps-tf / apps-tf (pull_request) Has been cancelled
to a2dd588389
Some checks failed
Nix flake completeness check / _complete (pull_request) Failing after 6s
checks-api-python-tests / api-python-tests (pull_request) Successful in 7s
checks-api-asyncapi-validate / api-asyncapi-validate (pull_request) Successful in 8s
flake-show-nix-module-form / flake-show-nix-module-form (pull_request) Successful in 7s
flake-show-api / flake-show-api (pull_request) Successful in 7s
flake-show-panel / flake-show-panel (pull_request) Successful in 5s
checks-panel-migrations / panel-migrations (pull_request) Successful in 8s
devShells-default / src-default (pull_request) Successful in 10s
devShells-default / root-default (pull_request) Successful in 16s
checks-api-docs / api-docs (pull_request) Successful in 12s
checks-api-openapi-validate / api-openapi-validate (pull_request) Successful in 10s
nix-unit-contracts-lib / contracts-lib (pull_request) Successful in 21s
nixosConfigurations-dev-forgejo-runner / dev-forgejo-runner (pull_request) Successful in 20s
nixosConfigurations-hosting-provider-api / hosting-provider-api (pull_request) Successful in 21s
nixosConfigurations-dev-forgejo / dev-forgejo (pull_request) Successful in 23s
checks-deployment-nixos-hosts / deployment-nixos-hosts (pull_request) Successful in 31s
checks-asyncapi-docs / asyncapi-docs (pull_request) Successful in 9s
checks-api-treefmt / api-treefmt (pull_request) Successful in 10s
nix-unit-effects-common-lib / effects-common-lib (pull_request) Successful in 18s
nixosConfigurations-hosting-provider-authelia / hosting-provider-authelia (pull_request) Successful in 22s
nix-unit-lib-data-model / lib-data-model (pull_request) Successful in 11s
nix-unit-lib-function / lib-function (pull_request) Successful in 10s
nixosConfigurations-hosting-provider-bind / hosting-provider-bind (pull_request) Successful in 16s
nix-unit-effects-tf-common-conversion / effects-tf-common-conversion (pull_request) Successful in 25s
nix-unit-lib-lib / lib-lib (pull_request) Successful in 7s
checks-integrations-octodns / integrations-octodns (pull_request) Successful in 43s
checks-contracts-chaining / contracts-chaining (pull_request) Successful in 13s
nixosConfigurations-hosting-provider-garage / hosting-provider-garage (pull_request) Successful in 17s
checks-contracts-cross-node / contracts-cross-node (pull_request) Successful in 15s
nixosConfigurations-hosting-provider-lldap / hosting-provider-lldap (pull_request) Successful in 17s
nix-unit-lib-renames-for-source / lib-renames-for-source (pull_request) Successful in 4s
nixosConfigurations-hosting-provider-monitoring / hosting-provider-monitoring (pull_request) Successful in 16s
nix-unit-resources-garage-forward-compat / resources-garage-forward-compat (pull_request) Successful in 9s
checks-api-http / api-http (pull_request) Successful in 56s
nix-unit-resources-redis-port / resources-redis-port (pull_request) Successful in 5s
nixosConfigurations-hosting-provider-netbox / hosting-provider-netbox (pull_request) Successful in 15s
checks-contracts-filesecrets-hardcoded-secret / contracts-filesecrets-hardcoded-secret (pull_request) Successful in 12s
checks-contracts-filebackup-hardcoded-file-backup / contracts-filebackup-hardcoded-file-backup (pull_request) Successful in 18s
nixosConfigurations-hosting-provider-openbao / hosting-provider-openbao (pull_request) Successful in 16s
nix-unit-resources-generateFiles / resources-generateFiles (pull_request) Successful in 20s
nixosConfigurations-hosting-provider-otel-collector / hosting-provider-otel-collector (pull_request) Successful in 18s
nixosConfigurations-hosting-provider-panel / hosting-provider-panel (pull_request) Successful in 20s
checks-contracts-generatefiles-vars-openbao / contracts-generatefiles-vars-openbao (pull_request) Successful in 14s
checks-contracts-generatefiles-vars / contracts-generatefiles-vars (pull_request) Successful in 11s
nixosConfigurations-hosting-provider-postgresql / hosting-provider-postgresql (pull_request) Successful in 21s
nix-unit-resources-secrets / resources-secrets (pull_request) Successful in 19s
nix-unit-resources-otel / resources-otel (pull_request) Successful in 29s
nixosConfigurations-hosting-provider-smtp / hosting-provider-smtp (pull_request) Successful in 16s
nixosConfigurations-hosting-provider-spire / hosting-provider-spire (pull_request) Successful in 15s
nixosConfigurations-hosting-provider-terraform-backend / hosting-provider-terraform-backend (pull_request) Successful in 13s
nixosConfigurations-hosting-provider-valkey / hosting-provider-valkey (pull_request) Successful in 12s
checks-contracts-ldap-lldap / contracts-ldap-lldap (pull_request) Successful in 10s
checks-contracts-ldap-openldap / contracts-ldap-openldap (pull_request) Successful in 9s
nixosConfigurations-hosting-provider-windmill / hosting-provider-windmill (pull_request) Successful in 13s
nixosConfigurations-hypervisor-incus / hypervisor-incus (pull_request) Successful in 11s
nixosConfigurations-operator-authelia / operator-authelia (pull_request) Successful in 12s
checks-contracts-redis-valkey / contracts-redis-valkey (pull_request) Successful in 10s
checks-contracts-oidc-dex / contracts-oidc-dex (pull_request) Successful in 11s
nixosConfigurations-operator-lldap / operator-lldap (pull_request) Successful in 13s
nixosConfigurations-operator-mastodon / operator-mastodon (pull_request) Successful in 11s
nixosConfigurations-operator-combined / operator-combined (pull_request) Successful in 19s
nixosConfigurations-operator-peertube / operator-peertube (pull_request) Successful in 12s
checks-contracts-s3-minio / contracts-s3-minio (pull_request) Successful in 10s
nixosConfigurations-operator-pixelfed / operator-pixelfed (pull_request) Successful in 12s
checks-contracts-smtp-maddy / contracts-smtp-maddy (pull_request) Successful in 10s
nixosConfigurations-operator-smtp / operator-smtp (pull_request) Successful in 13s
nixosConfigurations-operator-valkey / operator-valkey (pull_request) Successful in 12s
checks-contracts-smtp-opensmtpd / contracts-smtp-opensmtpd (pull_request) Successful in 10s
checks-contracts-ssl-self-signed / contracts-ssl-self-signed (pull_request) Successful in 10s
checks-panel-basic / panel-basic (pull_request) Successful in 1m36s
checks-contracts-streamingbackup-hardcoded / contracts-streamingbackup-hardcoded (pull_request) Successful in 9s
checks-contracts-systemd-openbaod / contracts-systemd-openbaod (pull_request) Successful in 9s
checks-nix-module-form-treefmt / nix-module-form-treefmt (pull_request) Successful in 5s
checks-panel-docs / panel-docs (pull_request) Successful in 6s
checks-panel-forms-island-docs / panel-forms-island-docs (pull_request) Successful in 5s
checks-panel-treefmt / panel-treefmt (pull_request) Successful in 6s
checks-resources-secrets-agenix / resources-secrets-agenix (pull_request) Successful in 10s
checks-src-treefmt / src-treefmt (pull_request) Successful in 8s
checks-test-monitoring-storage / test-monitoring-storage (pull_request) Successful in 9s
checks-test-otel-wiring / test-otel-wiring (pull_request) Successful in 9s
checks-test-valkey-service / test-valkey-service (pull_request) Successful in 9s
checks-treefmt / treefmt (pull_request) Successful in 10s
flake-show-src / flake-show-src (pull_request) Failing after 5m2s
flake-show-root / flake-show-root (pull_request) Failing after 5m6s
checks-integrations-spire-incus / integrations-spire-incus (pull_request) Successful in 5m30s
checks-deployment-tf-incus-hosts / deployment-tf-incus-hosts (pull_request) Successful in 5m59s
checks-core-docs / core-docs (pull_request) Successful in 8m22s
checks-deployment-tf-hosts / deployment-tf-hosts (pull_request) Successful in 11m11s
checks-deployment-ssh-hosts / deployment-ssh-hosts (pull_request) Successful in 19m37s
checks-deployment-tf-hosts-bootstrap / deployment-tf-hosts-bootstrap (pull_request) Successful in 30m49s
checks-apps-tf / apps-tf (pull_request) Has been cancelled
checks-apps-panel / apps-panel (pull_request) Has been cancelled
checks-apps-tf-incus / apps-tf-incus (pull_request) Has been cancelled
checks-apps-api / apps-api (pull_request) Has been cancelled
2026-07-07 09:45:32 +02:00
Compare
kiara force-pushed separate-entrypoints from 2ffb7ec284
Some checks failed
Nix flake completeness check / _complete (pull_request) Failing after 7s
checks-api-python-tests / api-python-tests (pull_request) Successful in 9s
flake-show-api / flake-show-api (pull_request) Successful in 8s
checks-api-asyncapi-validate / api-asyncapi-validate (pull_request) Successful in 9s
flake-show-nix-module-form / flake-show-nix-module-form (pull_request) Successful in 8s
flake-show-panel / flake-show-panel (pull_request) Successful in 6s
checks-panel-migrations / panel-migrations (pull_request) Successful in 9s
devShells-default / src-default (pull_request) Successful in 11s
nix-unit-contracts-lib / contracts-lib (pull_request) Successful in 12s
checks-api-docs / api-docs (pull_request) Successful in 13s
devShells-default / root-default (pull_request) Successful in 19s
checks-api-openapi-validate / api-openapi-validate (pull_request) Successful in 10s
nix-unit-effects-common-lib / effects-common-lib (pull_request) Successful in 10s
nixosConfigurations-dev-forgejo-runner / dev-forgejo-runner (pull_request) Successful in 20s
nixosConfigurations-dev-forgejo / dev-forgejo (pull_request) Successful in 23s
nix-unit-effects-tf-common-conversion / effects-tf-common-conversion (pull_request) Successful in 16s
nixosConfigurations-hosting-provider-api / hosting-provider-api (pull_request) Successful in 23s
checks-asyncapi-docs / asyncapi-docs (pull_request) Successful in 11s
checks-api-treefmt / api-treefmt (pull_request) Successful in 12s
nixosConfigurations-hosting-provider-authelia / hosting-provider-authelia (pull_request) Successful in 23s
nix-unit-lib-data-model / lib-data-model (pull_request) Successful in 14s
checks-deployment-nixos-hosts / deployment-nixos-hosts (pull_request) Successful in 35s
nix-unit-lib-function / lib-function (pull_request) Successful in 11s
nix-unit-lib-lib / lib-lib (pull_request) Successful in 6s
nix-unit-lib-renames-for-source / lib-renames-for-source (pull_request) Successful in 5s
nixosConfigurations-hosting-provider-bind / hosting-provider-bind (pull_request) Successful in 14s
checks-contracts-chaining / contracts-chaining (pull_request) Successful in 13s
checks-integrations-octodns / integrations-octodns (pull_request) Successful in 44s
nix-unit-resources-garage-forward-compat / resources-garage-forward-compat (pull_request) Successful in 11s
nixosConfigurations-hosting-provider-garage / hosting-provider-garage (pull_request) Successful in 15s
checks-contracts-cross-node / contracts-cross-node (pull_request) Successful in 16s
nixosConfigurations-hosting-provider-monitoring / hosting-provider-monitoring (pull_request) Successful in 16s
nixosConfigurations-hosting-provider-lldap / hosting-provider-lldap (pull_request) Successful in 17s
nix-unit-resources-redis-port / resources-redis-port (pull_request) Successful in 4s
checks-api-http / api-http (pull_request) Successful in 56s
nixosConfigurations-hosting-provider-netbox / hosting-provider-netbox (pull_request) Successful in 17s
nix-unit-resources-generateFiles / resources-generateFiles (pull_request) Successful in 21s
checks-contracts-filebackup-hardcoded-file-backup / contracts-filebackup-hardcoded-file-backup (pull_request) Successful in 18s
nixosConfigurations-hosting-provider-openbao / hosting-provider-openbao (pull_request) Successful in 17s
checks-contracts-filesecrets-hardcoded-secret / contracts-filesecrets-hardcoded-secret (pull_request) Successful in 14s
nixosConfigurations-hosting-provider-otel-collector / hosting-provider-otel-collector (pull_request) Successful in 17s
nix-unit-resources-otel / resources-otel (pull_request) Successful in 27s
nixosConfigurations-hosting-provider-panel / hosting-provider-panel (pull_request) Successful in 17s
nix-unit-resources-secrets / resources-secrets (pull_request) Successful in 19s
nixosConfigurations-hosting-provider-smtp / hosting-provider-smtp (pull_request) Successful in 16s
nixosConfigurations-hosting-provider-postgresql / hosting-provider-postgresql (pull_request) Successful in 21s
checks-contracts-generatefiles-vars / contracts-generatefiles-vars (pull_request) Successful in 11s
checks-contracts-generatefiles-vars-openbao / contracts-generatefiles-vars-openbao (pull_request) Successful in 13s
nixosConfigurations-hosting-provider-spire / hosting-provider-spire (pull_request) Successful in 15s
nixosConfigurations-hosting-provider-terraform-backend / hosting-provider-terraform-backend (pull_request) Successful in 13s
nixosConfigurations-hosting-provider-valkey / hosting-provider-valkey (pull_request) Successful in 13s
checks-contracts-ldap-lldap / contracts-ldap-lldap (pull_request) Successful in 9s
checks-contracts-ldap-openldap / contracts-ldap-openldap (pull_request) Successful in 9s
nixosConfigurations-hosting-provider-windmill / hosting-provider-windmill (pull_request) Successful in 12s
nixosConfigurations-hypervisor-incus / hypervisor-incus (pull_request) Successful in 12s
nixosConfigurations-operator-authelia / operator-authelia (pull_request) Successful in 12s
nixosConfigurations-operator-lldap / operator-lldap (pull_request) Successful in 12s
checks-contracts-oidc-dex / contracts-oidc-dex (pull_request) Successful in 10s
checks-contracts-redis-valkey / contracts-redis-valkey (pull_request) Successful in 11s
nixosConfigurations-operator-combined / operator-combined (pull_request) Successful in 18s
nixosConfigurations-operator-mastodon / operator-mastodon (pull_request) Successful in 13s
nixosConfigurations-operator-peertube / operator-peertube (pull_request) Successful in 12s
nixosConfigurations-operator-pixelfed / operator-pixelfed (pull_request) Successful in 13s
nixosConfigurations-operator-smtp / operator-smtp (pull_request) Successful in 12s
checks-contracts-s3-minio / contracts-s3-minio (pull_request) Successful in 11s
checks-contracts-smtp-maddy / contracts-smtp-maddy (pull_request) Successful in 11s
nixosConfigurations-operator-valkey / operator-valkey (pull_request) Successful in 11s
checks-contracts-smtp-opensmtpd / contracts-smtp-opensmtpd (pull_request) Successful in 9s
checks-contracts-ssl-self-signed / contracts-ssl-self-signed (pull_request) Successful in 9s
checks-panel-basic / panel-basic (pull_request) Successful in 1m35s
checks-contracts-streamingbackup-hardcoded / contracts-streamingbackup-hardcoded (pull_request) Successful in 8s
checks-contracts-systemd-openbaod / contracts-systemd-openbaod (pull_request) Successful in 9s
checks-nix-module-form-treefmt / nix-module-form-treefmt (pull_request) Successful in 5s
checks-panel-docs / panel-docs (pull_request) Successful in 6s
checks-panel-forms-island-docs / panel-forms-island-docs (pull_request) Successful in 4s
checks-panel-treefmt / panel-treefmt (pull_request) Successful in 6s
checks-resources-secrets-agenix / resources-secrets-agenix (pull_request) Successful in 9s
checks-src-treefmt / src-treefmt (pull_request) Successful in 6s
checks-test-monitoring-storage / test-monitoring-storage (pull_request) Successful in 9s
checks-test-otel-wiring / test-otel-wiring (pull_request) Successful in 10s
checks-test-valkey-service / test-valkey-service (pull_request) Successful in 9s
checks-treefmt / treefmt (pull_request) Successful in 11s
checks-integrations-spire-incus / integrations-spire-incus (pull_request) Successful in 5m27s
checks-deployment-tf-incus-hosts / deployment-tf-incus-hosts (pull_request) Successful in 5m51s
flake-show-root / flake-show-root (pull_request) Successful in 8m4s
checks-core-docs / core-docs (pull_request) Successful in 8m15s
checks-deployment-tf-hosts / deployment-tf-hosts (pull_request) Successful in 11m7s
flake-show-src / flake-show-src (pull_request) Successful in 7m6s
checks-deployment-ssh-hosts / deployment-ssh-hosts (pull_request) Successful in 16m33s
checks-deployment-tf-hosts-bootstrap / deployment-tf-hosts-bootstrap (pull_request) Successful in 27m18s
checks-apps-api / apps-api (pull_request) Successful in 44m16s
checks-apps-tf / apps-tf (pull_request) Failing after 45m11s
checks-apps-tf-incus / apps-tf-incus (pull_request) Successful in 47m27s
checks-apps-panel / apps-panel (pull_request) Has been cancelled
to 03c7b68d71
Some checks failed
checks-api-python-tests / api-python-tests (pull_request) Successful in 6s
checks-api-asyncapi-validate / api-asyncapi-validate (pull_request) Successful in 6s
flake-show-api / flake-show-api (pull_request) Successful in 5s
flake-show-nix-module-form / flake-show-nix-module-form (pull_request) Successful in 4s
checks-panel-migrations / panel-migrations (pull_request) Successful in 6s
flake-show-panel / flake-show-panel (pull_request) Successful in 4s
devShells-default / src-default (pull_request) Successful in 12s
devShells-default / root-default (pull_request) Successful in 20s
checks-api-docs / api-docs (pull_request) Successful in 16s
Nix flake completeness check / _complete (pull_request) Successful in 28s
nix-unit-contracts-lib / contracts-lib (pull_request) Successful in 22s
nixosConfigurations-dev-forgejo-runner / dev-forgejo-runner (pull_request) Successful in 23s
nixosConfigurations-dev-forgejo / dev-forgejo (pull_request) Successful in 23s
nixosConfigurations-hosting-provider-api / hosting-provider-api (pull_request) Successful in 23s
checks-deployment-nixos-hosts / deployment-nixos-hosts (pull_request) Successful in 32s
checks-api-openapi-validate / api-openapi-validate (pull_request) Successful in 7s
nixosConfigurations-hosting-provider-authelia / hosting-provider-authelia (pull_request) Successful in 25s
nix-unit-effects-common-lib / effects-common-lib (pull_request) Successful in 19s
checks-api-treefmt / api-treefmt (pull_request) Successful in 8s
nix-unit-lib-data-model / lib-data-model (pull_request) Successful in 11s
checks-asyncapi-docs / asyncapi-docs (pull_request) Successful in 9s
checks-integrations-octodns / integrations-octodns (pull_request) Successful in 44s
nixosConfigurations-hosting-provider-bind / hosting-provider-bind (pull_request) Successful in 16s
nix-unit-effects-tf-common-conversion / effects-tf-common-conversion (pull_request) Successful in 23s
nixosConfigurations-hosting-provider-garage / hosting-provider-garage (pull_request) Successful in 16s
nix-unit-lib-lib / lib-lib (pull_request) Successful in 6s
nix-unit-lib-function / lib-function (pull_request) Successful in 11s
nixosConfigurations-hosting-provider-lldap / hosting-provider-lldap (pull_request) Successful in 17s
nixosConfigurations-hosting-provider-monitoring / hosting-provider-monitoring (pull_request) Successful in 16s
checks-api-http / api-http (pull_request) Successful in 52s
checks-contracts-chaining / contracts-chaining (pull_request) Successful in 13s
nix-unit-resources-garage-forward-compat / resources-garage-forward-compat (pull_request) Successful in 5s
nix-unit-lib-renames-for-source / lib-renames-for-source (pull_request) Successful in 10s
checks-contracts-cross-node / contracts-cross-node (pull_request) Successful in 15s
nix-unit-resources-redis-port / resources-redis-port (pull_request) Successful in 6s
nixosConfigurations-hosting-provider-netbox / hosting-provider-netbox (pull_request) Successful in 18s
nixosConfigurations-hosting-provider-openbao / hosting-provider-openbao (pull_request) Successful in 18s
nixosConfigurations-hosting-provider-otel-collector / hosting-provider-otel-collector (pull_request) Successful in 19s
nixosConfigurations-hosting-provider-panel / hosting-provider-panel (pull_request) Successful in 19s
nix-unit-resources-generateFiles / resources-generateFiles (pull_request) Successful in 22s
checks-contracts-filebackup-hardcoded-file-backup / contracts-filebackup-hardcoded-file-backup (pull_request) Successful in 20s
checks-contracts-filesecrets-hardcoded-secret / contracts-filesecrets-hardcoded-secret (pull_request) Successful in 14s
nixosConfigurations-hosting-provider-postgresql / hosting-provider-postgresql (pull_request) Successful in 21s
nix-unit-resources-otel / resources-otel (pull_request) Successful in 26s
nixosConfigurations-hosting-provider-spire / hosting-provider-spire (pull_request) Successful in 13s
nixosConfigurations-hosting-provider-smtp / hosting-provider-smtp (pull_request) Successful in 14s
nix-unit-resources-secrets / resources-secrets (pull_request) Successful in 17s
nixosConfigurations-hosting-provider-terraform-backend / hosting-provider-terraform-backend (pull_request) Successful in 13s
checks-contracts-generatefiles-vars-openbao / contracts-generatefiles-vars-openbao (pull_request) Successful in 11s
nixosConfigurations-hosting-provider-valkey / hosting-provider-valkey (pull_request) Successful in 12s
checks-contracts-generatefiles-vars / contracts-generatefiles-vars (pull_request) Successful in 11s
nixosConfigurations-hosting-provider-windmill / hosting-provider-windmill (pull_request) Successful in 13s
nixosConfigurations-hypervisor-incus / hypervisor-incus (pull_request) Successful in 11s
checks-contracts-ldap-lldap / contracts-ldap-lldap (pull_request) Successful in 9s
nixosConfigurations-operator-authelia / operator-authelia (pull_request) Successful in 11s
checks-contracts-ldap-openldap / contracts-ldap-openldap (pull_request) Successful in 9s
nixosConfigurations-operator-lldap / operator-lldap (pull_request) Successful in 12s
nixosConfigurations-operator-mastodon / operator-mastodon (pull_request) Successful in 12s
nixosConfigurations-operator-combined / operator-combined (pull_request) Successful in 17s
checks-contracts-oidc-dex / contracts-oidc-dex (pull_request) Successful in 11s
nixosConfigurations-operator-peertube / operator-peertube (pull_request) Successful in 12s
nixosConfigurations-operator-pixelfed / operator-pixelfed (pull_request) Successful in 12s
checks-contracts-redis-valkey / contracts-redis-valkey (pull_request) Successful in 10s
nixosConfigurations-operator-smtp / operator-smtp (pull_request) Successful in 11s
nixosConfigurations-operator-valkey / operator-valkey (pull_request) Successful in 11s
checks-contracts-s3-minio / contracts-s3-minio (pull_request) Successful in 9s
checks-contracts-smtp-maddy / contracts-smtp-maddy (pull_request) Successful in 10s
checks-panel-basic / panel-basic (pull_request) Successful in 1m32s
checks-contracts-smtp-opensmtpd / contracts-smtp-opensmtpd (pull_request) Successful in 9s
checks-contracts-ssl-self-signed / contracts-ssl-self-signed (pull_request) Successful in 9s
checks-contracts-streamingbackup-hardcoded / contracts-streamingbackup-hardcoded (pull_request) Successful in 9s
checks-contracts-systemd-openbaod / contracts-systemd-openbaod (pull_request) Successful in 9s
checks-nix-module-form-treefmt / nix-module-form-treefmt (pull_request) Successful in 5s
checks-panel-docs / panel-docs (pull_request) Successful in 6s
checks-panel-forms-island-docs / panel-forms-island-docs (pull_request) Successful in 5s
checks-panel-treefmt / panel-treefmt (pull_request) Successful in 6s
checks-resources-secrets-agenix / resources-secrets-agenix (pull_request) Successful in 9s
checks-src-treefmt / src-treefmt (pull_request) Successful in 8s
checks-test-monitoring-storage / test-monitoring-storage (pull_request) Successful in 9s
checks-test-otel-wiring / test-otel-wiring (pull_request) Successful in 10s
checks-test-valkey-service / test-valkey-service (pull_request) Successful in 9s
checks-treefmt / treefmt (pull_request) Successful in 10s
checks-integrations-spire-incus / integrations-spire-incus (pull_request) Successful in 5m32s
checks-deployment-tf-incus-hosts / deployment-tf-incus-hosts (pull_request) Successful in 5m46s
flake-show-root / flake-show-root (pull_request) Successful in 8m15s
checks-core-docs / core-docs (pull_request) Successful in 8m33s
checks-deployment-tf-hosts / deployment-tf-hosts (pull_request) Successful in 11m10s
flake-show-src / flake-show-src (pull_request) Successful in 7m12s
checks-deployment-ssh-hosts / deployment-ssh-hosts (pull_request) Successful in 18m19s
checks-deployment-tf-hosts-bootstrap / deployment-tf-hosts-bootstrap (pull_request) Successful in 27m57s
checks-apps-api / apps-api (pull_request) Successful in 43m58s
checks-apps-tf / apps-tf (pull_request) Failing after 45m8s
checks-apps-tf-incus / apps-tf-incus (pull_request) Successful in 47m24s
checks-apps-panel / apps-panel (pull_request) Successful in 50m12s
2026-07-07 11:10:36 +02:00
Compare
kiara force-pushed separate-entrypoints from 03c7b68d71
Some checks failed
checks-api-python-tests / api-python-tests (pull_request) Successful in 6s
checks-api-asyncapi-validate / api-asyncapi-validate (pull_request) Successful in 6s
flake-show-api / flake-show-api (pull_request) Successful in 5s
flake-show-nix-module-form / flake-show-nix-module-form (pull_request) Successful in 4s
checks-panel-migrations / panel-migrations (pull_request) Successful in 6s
flake-show-panel / flake-show-panel (pull_request) Successful in 4s
devShells-default / src-default (pull_request) Successful in 12s
devShells-default / root-default (pull_request) Successful in 20s
checks-api-docs / api-docs (pull_request) Successful in 16s
Nix flake completeness check / _complete (pull_request) Successful in 28s
nix-unit-contracts-lib / contracts-lib (pull_request) Successful in 22s
nixosConfigurations-dev-forgejo-runner / dev-forgejo-runner (pull_request) Successful in 23s
nixosConfigurations-dev-forgejo / dev-forgejo (pull_request) Successful in 23s
nixosConfigurations-hosting-provider-api / hosting-provider-api (pull_request) Successful in 23s
checks-deployment-nixos-hosts / deployment-nixos-hosts (pull_request) Successful in 32s
checks-api-openapi-validate / api-openapi-validate (pull_request) Successful in 7s
nixosConfigurations-hosting-provider-authelia / hosting-provider-authelia (pull_request) Successful in 25s
nix-unit-effects-common-lib / effects-common-lib (pull_request) Successful in 19s
checks-api-treefmt / api-treefmt (pull_request) Successful in 8s
nix-unit-lib-data-model / lib-data-model (pull_request) Successful in 11s
checks-asyncapi-docs / asyncapi-docs (pull_request) Successful in 9s
checks-integrations-octodns / integrations-octodns (pull_request) Successful in 44s
nixosConfigurations-hosting-provider-bind / hosting-provider-bind (pull_request) Successful in 16s
nix-unit-effects-tf-common-conversion / effects-tf-common-conversion (pull_request) Successful in 23s
nixosConfigurations-hosting-provider-garage / hosting-provider-garage (pull_request) Successful in 16s
nix-unit-lib-lib / lib-lib (pull_request) Successful in 6s
nix-unit-lib-function / lib-function (pull_request) Successful in 11s
nixosConfigurations-hosting-provider-lldap / hosting-provider-lldap (pull_request) Successful in 17s
nixosConfigurations-hosting-provider-monitoring / hosting-provider-monitoring (pull_request) Successful in 16s
checks-api-http / api-http (pull_request) Successful in 52s
checks-contracts-chaining / contracts-chaining (pull_request) Successful in 13s
nix-unit-resources-garage-forward-compat / resources-garage-forward-compat (pull_request) Successful in 5s
nix-unit-lib-renames-for-source / lib-renames-for-source (pull_request) Successful in 10s
checks-contracts-cross-node / contracts-cross-node (pull_request) Successful in 15s
nix-unit-resources-redis-port / resources-redis-port (pull_request) Successful in 6s
nixosConfigurations-hosting-provider-netbox / hosting-provider-netbox (pull_request) Successful in 18s
nixosConfigurations-hosting-provider-openbao / hosting-provider-openbao (pull_request) Successful in 18s
nixosConfigurations-hosting-provider-otel-collector / hosting-provider-otel-collector (pull_request) Successful in 19s
nixosConfigurations-hosting-provider-panel / hosting-provider-panel (pull_request) Successful in 19s
nix-unit-resources-generateFiles / resources-generateFiles (pull_request) Successful in 22s
checks-contracts-filebackup-hardcoded-file-backup / contracts-filebackup-hardcoded-file-backup (pull_request) Successful in 20s
checks-contracts-filesecrets-hardcoded-secret / contracts-filesecrets-hardcoded-secret (pull_request) Successful in 14s
nixosConfigurations-hosting-provider-postgresql / hosting-provider-postgresql (pull_request) Successful in 21s
nix-unit-resources-otel / resources-otel (pull_request) Successful in 26s
nixosConfigurations-hosting-provider-spire / hosting-provider-spire (pull_request) Successful in 13s
nixosConfigurations-hosting-provider-smtp / hosting-provider-smtp (pull_request) Successful in 14s
nix-unit-resources-secrets / resources-secrets (pull_request) Successful in 17s
nixosConfigurations-hosting-provider-terraform-backend / hosting-provider-terraform-backend (pull_request) Successful in 13s
checks-contracts-generatefiles-vars-openbao / contracts-generatefiles-vars-openbao (pull_request) Successful in 11s
nixosConfigurations-hosting-provider-valkey / hosting-provider-valkey (pull_request) Successful in 12s
checks-contracts-generatefiles-vars / contracts-generatefiles-vars (pull_request) Successful in 11s
nixosConfigurations-hosting-provider-windmill / hosting-provider-windmill (pull_request) Successful in 13s
nixosConfigurations-hypervisor-incus / hypervisor-incus (pull_request) Successful in 11s
checks-contracts-ldap-lldap / contracts-ldap-lldap (pull_request) Successful in 9s
nixosConfigurations-operator-authelia / operator-authelia (pull_request) Successful in 11s
checks-contracts-ldap-openldap / contracts-ldap-openldap (pull_request) Successful in 9s
nixosConfigurations-operator-lldap / operator-lldap (pull_request) Successful in 12s
nixosConfigurations-operator-mastodon / operator-mastodon (pull_request) Successful in 12s
nixosConfigurations-operator-combined / operator-combined (pull_request) Successful in 17s
checks-contracts-oidc-dex / contracts-oidc-dex (pull_request) Successful in 11s
nixosConfigurations-operator-peertube / operator-peertube (pull_request) Successful in 12s
nixosConfigurations-operator-pixelfed / operator-pixelfed (pull_request) Successful in 12s
checks-contracts-redis-valkey / contracts-redis-valkey (pull_request) Successful in 10s
nixosConfigurations-operator-smtp / operator-smtp (pull_request) Successful in 11s
nixosConfigurations-operator-valkey / operator-valkey (pull_request) Successful in 11s
checks-contracts-s3-minio / contracts-s3-minio (pull_request) Successful in 9s
checks-contracts-smtp-maddy / contracts-smtp-maddy (pull_request) Successful in 10s
checks-panel-basic / panel-basic (pull_request) Successful in 1m32s
checks-contracts-smtp-opensmtpd / contracts-smtp-opensmtpd (pull_request) Successful in 9s
checks-contracts-ssl-self-signed / contracts-ssl-self-signed (pull_request) Successful in 9s
checks-contracts-streamingbackup-hardcoded / contracts-streamingbackup-hardcoded (pull_request) Successful in 9s
checks-contracts-systemd-openbaod / contracts-systemd-openbaod (pull_request) Successful in 9s
checks-nix-module-form-treefmt / nix-module-form-treefmt (pull_request) Successful in 5s
checks-panel-docs / panel-docs (pull_request) Successful in 6s
checks-panel-forms-island-docs / panel-forms-island-docs (pull_request) Successful in 5s
checks-panel-treefmt / panel-treefmt (pull_request) Successful in 6s
checks-resources-secrets-agenix / resources-secrets-agenix (pull_request) Successful in 9s
checks-src-treefmt / src-treefmt (pull_request) Successful in 8s
checks-test-monitoring-storage / test-monitoring-storage (pull_request) Successful in 9s
checks-test-otel-wiring / test-otel-wiring (pull_request) Successful in 10s
checks-test-valkey-service / test-valkey-service (pull_request) Successful in 9s
checks-treefmt / treefmt (pull_request) Successful in 10s
checks-integrations-spire-incus / integrations-spire-incus (pull_request) Successful in 5m32s
checks-deployment-tf-incus-hosts / deployment-tf-incus-hosts (pull_request) Successful in 5m46s
flake-show-root / flake-show-root (pull_request) Successful in 8m15s
checks-core-docs / core-docs (pull_request) Successful in 8m33s
checks-deployment-tf-hosts / deployment-tf-hosts (pull_request) Successful in 11m10s
flake-show-src / flake-show-src (pull_request) Successful in 7m12s
checks-deployment-ssh-hosts / deployment-ssh-hosts (pull_request) Successful in 18m19s
checks-deployment-tf-hosts-bootstrap / deployment-tf-hosts-bootstrap (pull_request) Successful in 27m57s
checks-apps-api / apps-api (pull_request) Successful in 43m58s
checks-apps-tf / apps-tf (pull_request) Failing after 45m8s
checks-apps-tf-incus / apps-tf-incus (pull_request) Successful in 47m24s
checks-apps-panel / apps-panel (pull_request) Successful in 50m12s
to 6fe3bae382
All checks were successful
flake-show-api / flake-show-api (pull_request) Successful in 5s
flake-show-nix-module-form / flake-show-nix-module-form (pull_request) Successful in 5s
flake-show-panel / flake-show-panel (pull_request) Successful in 5s
devShells-default / src-default (pull_request) Successful in 11s
nix-unit-contracts-lib / contracts-lib (pull_request) Successful in 11s
checks-api-python-tests / api-python-tests (pull_request) Successful in 20s
nix-unit-effects-common-lib / effects-common-lib (pull_request) Successful in 7s
checks-api-asyncapi-validate / api-asyncapi-validate (pull_request) Successful in 23s
nixosConfigurations-dev-forgejo-runner / dev-forgejo-runner (pull_request) Successful in 18s
nixosConfigurations-dev-forgejo / dev-forgejo (pull_request) Successful in 19s
nix-unit-effects-tf-common-conversion / effects-tf-common-conversion (pull_request) Successful in 11s
checks-deployment-nixos-hosts / deployment-nixos-hosts (pull_request) Successful in 28s
checks-panel-migrations / panel-migrations (pull_request) Successful in 27s
nix-unit-lib-data-model / lib-data-model (pull_request) Successful in 11s
checks-api-docs / api-docs (pull_request) Successful in 10s
devShells-default / root-default (pull_request) Successful in 31s
nix-unit-lib-function / lib-function (pull_request) Successful in 7s
nixosConfigurations-hosting-provider-api / hosting-provider-api (pull_request) Successful in 15s
nix-unit-lib-lib / lib-lib (pull_request) Successful in 6s
Nix flake completeness check / _complete (pull_request) Successful in 43s
checks-integrations-octodns / integrations-octodns (pull_request) Successful in 40s
nix-unit-resources-garage-forward-compat / resources-garage-forward-compat (pull_request) Successful in 5s
nixosConfigurations-hosting-provider-bind / hosting-provider-bind (pull_request) Successful in 16s
nixosConfigurations-hosting-provider-authelia / hosting-provider-authelia (pull_request) Successful in 18s
checks-api-openapi-validate / api-openapi-validate (pull_request) Successful in 9s
nix-unit-lib-renames-for-source / lib-renames-for-source (pull_request) Successful in 11s
nixosConfigurations-hosting-provider-garage / hosting-provider-garage (pull_request) Successful in 15s
checks-api-treefmt / api-treefmt (pull_request) Successful in 9s
checks-api-http / api-http (pull_request) Successful in 57s
nixosConfigurations-hosting-provider-lldap / hosting-provider-lldap (pull_request) Successful in 19s
nix-unit-resources-redis-port / resources-redis-port (pull_request) Successful in 14s
nixosConfigurations-hosting-provider-monitoring / hosting-provider-monitoring (pull_request) Successful in 18s
nixosConfigurations-hosting-provider-netbox / hosting-provider-netbox (pull_request) Successful in 20s
nixosConfigurations-hosting-provider-openbao / hosting-provider-openbao (pull_request) Successful in 19s
nix-unit-resources-generateFiles / resources-generateFiles (pull_request) Successful in 23s
checks-contracts-chaining / contracts-chaining (pull_request) Successful in 16s
nix-unit-resources-otel / resources-otel (pull_request) Successful in 28s
checks-asyncapi-docs / asyncapi-docs (pull_request) Successful in 28s
nixosConfigurations-hosting-provider-otel-collector / hosting-provider-otel-collector (pull_request) Successful in 17s
nixosConfigurations-hosting-provider-panel / hosting-provider-panel (pull_request) Successful in 17s
nix-unit-resources-secrets / resources-secrets (pull_request) Successful in 17s
nixosConfigurations-hosting-provider-smtp / hosting-provider-smtp (pull_request) Successful in 15s
nixosConfigurations-hosting-provider-spire / hosting-provider-spire (pull_request) Successful in 14s
checks-contracts-cross-node / contracts-cross-node (pull_request) Successful in 14s
nixosConfigurations-hosting-provider-postgresql / hosting-provider-postgresql (pull_request) Successful in 19s
nixosConfigurations-hosting-provider-valkey / hosting-provider-valkey (pull_request) Successful in 12s
nixosConfigurations-hosting-provider-terraform-backend / hosting-provider-terraform-backend (pull_request) Successful in 13s
checks-contracts-filebackup-hardcoded-file-backup / contracts-filebackup-hardcoded-file-backup (pull_request) Successful in 14s
checks-contracts-filesecrets-hardcoded-secret / contracts-filesecrets-hardcoded-secret (pull_request) Successful in 10s
nixosConfigurations-hosting-provider-windmill / hosting-provider-windmill (pull_request) Successful in 12s
nixosConfigurations-hypervisor-incus / hypervisor-incus (pull_request) Successful in 12s
nixosConfigurations-operator-authelia / operator-authelia (pull_request) Successful in 14s
nixosConfigurations-operator-lldap / operator-lldap (pull_request) Successful in 12s
checks-contracts-generatefiles-vars-openbao / contracts-generatefiles-vars-openbao (pull_request) Successful in 11s
checks-contracts-generatefiles-vars / contracts-generatefiles-vars (pull_request) Successful in 10s
nixosConfigurations-operator-combined / operator-combined (pull_request) Successful in 19s
nixosConfigurations-operator-mastodon / operator-mastodon (pull_request) Successful in 12s
nixosConfigurations-operator-peertube / operator-peertube (pull_request) Successful in 13s
nixosConfigurations-operator-pixelfed / operator-pixelfed (pull_request) Successful in 13s
checks-contracts-ldap-lldap / contracts-ldap-lldap (pull_request) Successful in 10s
nixosConfigurations-operator-smtp / operator-smtp (pull_request) Successful in 13s
checks-contracts-ldap-openldap / contracts-ldap-openldap (pull_request) Successful in 11s
nixosConfigurations-operator-valkey / operator-valkey (pull_request) Successful in 12s
checks-contracts-oidc-dex / contracts-oidc-dex (pull_request) Successful in 10s
checks-contracts-redis-valkey / contracts-redis-valkey (pull_request) Successful in 9s
checks-panel-basic / panel-basic (pull_request) Successful in 1m43s
checks-contracts-s3-minio / contracts-s3-minio (pull_request) Successful in 9s
checks-contracts-smtp-maddy / contracts-smtp-maddy (pull_request) Successful in 9s
checks-contracts-smtp-opensmtpd / contracts-smtp-opensmtpd (pull_request) Successful in 8s
checks-contracts-ssl-self-signed / contracts-ssl-self-signed (pull_request) Successful in 9s
checks-contracts-streamingbackup-hardcoded / contracts-streamingbackup-hardcoded (pull_request) Successful in 8s
checks-contracts-systemd-openbaod / contracts-systemd-openbaod (pull_request) Successful in 9s
checks-nix-module-form-treefmt / nix-module-form-treefmt (pull_request) Successful in 5s
checks-panel-docs / panel-docs (pull_request) Successful in 6s
checks-panel-forms-island-docs / panel-forms-island-docs (pull_request) Successful in 5s
checks-panel-treefmt / panel-treefmt (pull_request) Successful in 6s
checks-resources-secrets-agenix / resources-secrets-agenix (pull_request) Successful in 8s
checks-src-treefmt / src-treefmt (pull_request) Successful in 8s
checks-test-monitoring-storage / test-monitoring-storage (pull_request) Successful in 9s
checks-test-valkey-service / test-valkey-service (pull_request) Successful in 9s
checks-treefmt / treefmt (pull_request) Successful in 10s
checks-integrations-spire-incus / integrations-spire-incus (pull_request) Successful in 5m30s
checks-deployment-tf-incus-hosts / deployment-tf-incus-hosts (pull_request) Successful in 5m45s
checks-test-otel-wiring / test-otel-wiring (pull_request) Successful in 4m28s
flake-show-root / flake-show-root (pull_request) Successful in 8m6s
checks-core-docs / core-docs (pull_request) Successful in 8m25s
checks-deployment-tf-hosts / deployment-tf-hosts (pull_request) Successful in 11m13s
flake-show-src / flake-show-src (pull_request) Successful in 9m6s
checks-deployment-ssh-hosts / deployment-ssh-hosts (pull_request) Successful in 19m5s
checks-deployment-tf-hosts-bootstrap / deployment-tf-hosts-bootstrap (pull_request) Successful in 25m48s
checks-apps-api / apps-api (pull_request) Successful in 47m15s
checks-apps-tf-incus / apps-tf-incus (pull_request) Successful in 49m31s
checks-apps-panel / apps-panel (pull_request) Successful in 52m38s
checks-apps-tf / apps-tf (pull_request) Successful in 1h8m38s
2026-07-07 12:07:07 +02:00
Compare
@ -0,0 +464,4 @@
openapi-client
;
api = (callPackage ../api { inherit sources selfModuleSource; }).packages;
nix-module-form = (callPackage ../nix-module-form { inherit sources; }).packages;
Author
Owner

src/ importing/exposing the other leaves feels like a layer violation, given those are built on top of this one - could those not just expose their stuff by themselves, rather than us still essentially failing to trim down from having some single over-arching entry-point?

`src/` importing/exposing the other leaves feels like a layer violation, given those are built on top of this one - could those not just expose their stuff by themselves, rather than us still essentially failing to trim down from having some single over-arching entry-point?
Author
Owner

this seems to be because they're actually in the setup on behalf of group hosting-provider, which we can address later by splitting src/ further up, see #527

this seems to be because they're actually in the setup on behalf of group `hosting-provider`, which we can address later by splitting `src/` further up, see #527
kiara marked this conversation as resolved
kiara changed title from WIP: Split top-level entrypoint into per-directory entrypoints to Split top-level entrypoint into per-directory entrypoints 2026-07-07 14:18:30 +02:00
kiara merged commit c846cd236c into main 2026-07-07 14:18:50 +02:00
kiara deleted branch separate-entrypoints 2026-07-07 14:18:51 +02:00
Sign in to join this conversation.
No reviewers
fediversity/developers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
fediversity/fediversity!1182
No description provided.