{ pkgs, ... }@args:

let
  version = "2022.12.2-lukegb";
  src = pkgs.fetchFromGitHub {
    owner = "lukegb";
    repo = "authentik";
    rev = "895a2c2ccf47f6466dc0c5e6dcee57664a2a352e";
    hash = "sha256:1xxz6a6h4axfchapgx35wvippm4y0jwmalsn62lbdhnqs0mzinaa";
  };
  subargs = args // { inherit src version; };
in rec {
  inherit src;
  docs = import ./docs subargs;
  webui = import ./webui subargs;
  pythonapp = import ./pythonapp subargs;
  goserver = import ./goserver subargs;
  server = import ./server (subargs // {
    inherit docs webui pythonapp goserver;
  });
}