{ pkgs, ... }@args:

let
  version = "2022.4.1";
  src = pkgs.fetchFromGitHub {
    owner = "goauthentik";
    repo = "authentik";
    rev = "version/${version}";
    hash = "sha256:1lyxmb3q9v6xlq3mq4rrfcaj8xii0dckdpkazqi59pgz4nwf5a06";
  };
  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;
  });
}