{
  config,
  lib,
  pkgs,
  ...
}:

{
  imports = [ ];

  options.me = {
    hydra.enable = lib.mkOption {
      type = lib.types.bool;
      default = false;
      example = true;
      description = "Whether we want to install hydra.";
    };
  };

  config = lib.mkIf config.me.hydra.enable (
    lib.mkMerge [
      {
        services.hydra = {
          enable = true;
          hydraURL = "http://localhost:3000"; # Externally visible URL
          notificationSender = "hydra@localhost"; # "From" address for hydra emails.
          # a standalone Hydra will require you to unset the buildMachinesFiles list to avoid using a nonexistant /etc/nix/machines
          buildMachinesFiles = [ ];
          useSubstitutes = true;
        };

        # nix.buildMachines = [
        #   {
        #     hostName = "localhost";
        #     protocol = null;
        #     system = "x86_64-linux";
        #     supportedFeatures = [
        #       "kvm"
        #       "nixos-test"
        #       "big-parallel"
        #       "benchmark"
        #     ];
        #     maxJobs = 8;
        #   }
        # ];
      }
    ]
  );
}