anchor.diff:          '';
         };
       };
  +
  +    package = mkOption {
  +      default = pkgs.docker;
  +      type = types.package;
  +      example = pkgs.docker-edge;
  +      description = ''
  +        Docker package to be used in the module.
  +      '';
  +    };
     };
   
     ###### implementation
   
     config = mkIf cfg.enable (mkMerge [{
  -      environment.systemPackages = [ pkgs.docker ];
  +      environment.systemPackages = [ cfg.package ];
         users.extraGroups.docker.gid = config.ids.gids.docker;
  -      systemd.packages = [ pkgs.docker ];
  +      systemd.packages = [ cfg.package ];
   
         systemd.services.docker = {
           wantedBy = optional cfg.enableOnBoot "multi-user.target";
  
positive.code:           ExecStart = [
              ""
              ''
                ${pkgs.docker}/bin/dockerd \
                  --group=docker \
                  --host=fd:// \
                  --log-driver=${cfg.logDriver} \
  
negative.code:         serviceConfig.Type = "oneshot";
  
          script = ''
            ${cfg.package}/bin/docker system prune -f ${toString cfg.autoPrune.flags}
          '';
  
          startAt = optional cfg.autoPrune.enable cfg.autoPrune.dates;
  