anchor.diff:        '';
         serviceConfig = {
           ExecStart = ''
  -          ${pkgs.jre8}/bin/java -Xmx${toString cfg.maxMemory}m \
  +          ${cfg.jre}/bin/java -Xmx${toString cfg.maxMemory}m \
             -Dairsonic.home=${cfg.home} \
             -Dserver.address=${cfg.listenAddress} \
             -Dserver.port=${toString cfg.port} \
  
positive.code:             "-Dserver.use-forward-headers=true"} \
            ${toString cfg.jvmOptions} \
            -verbose:gc \
            -jar ${pkgs.airsonic}/webapps/airsonic.war
          '';
          Restart = "always";
          User = "airsonic";
  
negative.code:         '';
        };
  
        jre = mkOption {
          type = types.package;
          default = pkgs.jre8;
          defaultText = literalExample "pkgs.jre8";
          description = ''
            JRE package to use.
  
            Airsonic only supports Java 8, airsonic-advanced requires at least
            Java 11.
          '';
        };
  
        war = mkOption {
          type = types.path;
          default = "${pkgs.airsonic}/webapps/airsonic.war";
          defaultText = "\${pkgs.airsonic}/webapps/airsonic.war";
          description = "Airsonic war file to use.";
        };
  
        jvmOptions = mkOption {
          description = ''
            Extra command line options for the JVM running AirSonic.
  