airsonic: provide additional jvm configuration

This allows the user, among other things, to configure jukebox output
to go to non-default alsa devices.
This commit is contained in:
Michael Alan Dorman 2018-09-13 20:03:31 -04:00
parent 2ff2b89fdf
commit c76312aea5

View file

@ -73,6 +73,24 @@ in {
${cfg.home}/transcoders. ${cfg.home}/transcoders.
''; '';
}; };
jvmOptions = mkOption {
description = ''
Extra command line options for the JVM running AirSonic.
Useful for sending jukebox output to non-default alsa
devices.
'';
default = [
];
type = types.listOf types.str;
example = [
"-Djavax.sound.sampled.Clip='#CODEC [plughw:1,0]'"
"-Djavax.sound.sampled.Port='#Port CODEC [hw:1]'"
"-Djavax.sound.sampled.SourceDataLine='#CODEC [plughw:1,0]'"
"-Djavax.sound.sampled.TargetDataLine='#CODEC [plughw:1,0]'"
];
};
}; };
}; };
@ -98,6 +116,7 @@ in {
-Dserver.port=${toString cfg.port} \ -Dserver.port=${toString cfg.port} \
-Dairsonic.contextPath=${cfg.contextPath} \ -Dairsonic.contextPath=${cfg.contextPath} \
-Djava.awt.headless=true \ -Djava.awt.headless=true \
${toString cfg.jvmOptions} \
-verbose:gc \ -verbose:gc \
-jar ${pkgs.airsonic}/webapps/airsonic.war -jar ${pkgs.airsonic}/webapps/airsonic.war
''; '';