anchor.diff:              <https://linux.die.net/man/8/logrotate> for details.
             '';
           };
  +      };
  +
  +      workhorse.config = mkOption {
  +        type = toml.type;
  +        default = {};
  +        example = literalExpression ''
  +          {
  +            object_storage.provider = "AWS";
  +            object_storage.s3 = {
  +              aws_access_key_id = "AKIAXXXXXXXXXXXXXXXX";
  +              aws_secret_access_key = { _secret = "/var/keys/aws_secret_access_key"; };
  +            };
  +          };
  +        '';
  +        description = lib.mdDoc ''
  +          Configuration options to add to Workhorse's configuration
  +          file.
  +
  +          See
  +          <https://gitlab.com/gitlab-org/gitlab/-/blob/master/workhorse/config.toml.example>
  +          and
  +          <https://docs.gitlab.com/ee/development/workhorse/configuration.html>
  +          for examples and option documentation.
  +
  +          Options containing secret data should be set to an attribute
  +          set containing the attribute `_secret` - a string pointing
  +          to a file containing the value the option should be set
  +          to. See the example to get a better picture of this: in the
  +          resulting configuration file, the
  +          `object_storage.s3.aws_secret_access_key` key will be set to
  +          the contents of the {file}`/var/keys/aws_secret_access_key`
  +          file.
  +        '';
         };
   
         extraConfig = mkOption {
  
positive.code:       wantedBy = [ "gitlab.target" ];
        partOf = [ "gitlab.target" ];
        path = with pkgs; [
          exiftool
          gitPackage
          gnutar
  
negative.code: let
    cfg = config.services.gitlab;
    opt = options.services.gitlab;
  
    toml = pkgs.formats.toml {};
  
    ruby = cfg.packages.gitlab.ruby;
  
  