{ fysilib, lib, ... }: { description = "cgit"; endOfLife = null; options = { domain = lib.mkOption { description = "Domain of cgit instance"; type = fysilib.types.fqdn; }; repositories = lib.mkOption { type = fysilib.types.attrsOf (fysilib.types.submodule { options = { name = lib.mkOption { default = null; type = fysilib.types.pathComponent; }; description = lib.mkOption { default = null; type = fysilib.types.nullOr fysilib.types.str; }; }; }); }; settings = lib.mkOption { type = lib.types.attrsOf (lib.types.oneOf [ lib.types.bool lib.types.int lib.types.str ]); default = { }; }; users = lib.mkOption { type = lib.types.attrsOf (lib.types.submodule { options.publicKeyFile = lib.mkOption { type = lib.types.nullOr lib.types.str; }; }); default = { }; }; }; }