{ pkgs, ... }@args:

let
  version = "2024.2.1-lukegb";
  src = pkgs.fetchFromGitHub {
    owner = "lukegb";
    repo = "authentik";
    rev = "7bc32aa0e466824b7b21514c4e855b963268cde8";
    hash = "sha256:0q4yq0x320x0gfiyjs7kcnh83vq1c50xjsh56l9z7yaxqvc9z1qp";
  };
  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;
  });
}