{ config, lib, pkgs, options, ... }: let cfg = config.services.verwaltungstracker; in { options = { services.verwaltungstracker = { enable = lib.mkEnableOption "Verwaltungstracker web app"; } // options.services.froide-govplan.settings; }; config = lib.mkIf cfg.enable { nixpkgs.overlays = [ (self: super: { froide-govplan = super.froide-govplan.overridePythonAttrs (oldAttrs: { src = pkgs.fetchFromGitea { domain = "git.project-insanity.org"; owner = "onny"; repo = "verwaltungstracker"; rev = "e5acfdf19d5af71bc5223c72713c128f3948f39f"; hash = "sha256-SRxPKherMz9xv/1XZjmwYg74r7Qln+vfLWgHyG5RbxQ="; }; dependencies = oldAttrs.dependencies ++ [ oldAttrs.passthru.python.pkgs.mastodon-py ]; passthru = oldAttrs.passthru // { pythonPath = "${pkgs.python3.pkgs.makePythonPath [pkgs.python3.pkgs.mastodon-py]}:${oldAttrs.passthru.pythonPath}"; }; }); }) ]; services.froide-govplan = { enable = true; settings = cfg.settings; }; }; meta = { maintainers = with lib.maintainers; [ onny ]; }; }