mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-14 06:00:33 +03:00
nixos/minidlna: Allow more configuration options
This commits allows the user to configure: - more minidlna options - the ones not yet disclosed in nix (extending the existing minimal subset)
This commit is contained in:
parent
446dd2543d
commit
35fe50352f
3 changed files with 105 additions and 2 deletions
|
@ -36,6 +36,37 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
services.minidlna.friendlyName = mkOption {
|
||||
type = types.str;
|
||||
default = "${config.networking.hostName} MiniDLNA";
|
||||
defaultText = "$HOSTNAME MiniDLNA";
|
||||
example = "rpi3";
|
||||
description =
|
||||
''
|
||||
Name that the DLNA server presents to clients.
|
||||
'';
|
||||
};
|
||||
|
||||
services.minidlna.rootContainer = mkOption {
|
||||
type = types.str;
|
||||
default = ".";
|
||||
example = "B";
|
||||
description =
|
||||
''
|
||||
Use a different container as the root of the directory tree presented
|
||||
to clients. The possible values are:
|
||||
- "." - standard container
|
||||
- "B" - "Browse Directory"
|
||||
- "M" - "Music"
|
||||
- "P" - "Pictures"
|
||||
- "V" - "Video"
|
||||
- Or, you can specify the ObjectID of your desired root container
|
||||
(eg. 1$F for Music/Playlists)
|
||||
If you specify "B" and the client device is audio-only then
|
||||
"Music/Folders" will be used as root.
|
||||
'';
|
||||
};
|
||||
|
||||
services.minidlna.loglevel = mkOption {
|
||||
type = types.str;
|
||||
default = "warn";
|
||||
|
@ -66,7 +97,37 @@ in
|
|||
|
||||
services.minidlna.config = mkOption {
|
||||
type = types.lines;
|
||||
description = "The contents of MiniDLNA's configuration file.";
|
||||
description =
|
||||
''
|
||||
The contents of MiniDLNA's configuration file.
|
||||
When the service is activated, a basic template is generated
|
||||
from the current options opened here.
|
||||
'';
|
||||
};
|
||||
|
||||
services.minidlna.extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
example = ''
|
||||
# Not exhaustive example
|
||||
# Support for streaming .jpg and .mp3 files to a TiVo supporting HMO.
|
||||
enable_tivo=no
|
||||
# SSDP notify interval, in seconds.
|
||||
notify_interval=10
|
||||
# maximum number of simultaneous connections
|
||||
# note: many clients open several simultaneous connections while
|
||||
# streaming
|
||||
max_connections=50
|
||||
# set this to yes to allow symlinks that point outside user-defined
|
||||
# media_dirs.
|
||||
wide_links=yes
|
||||
'';
|
||||
description =
|
||||
''
|
||||
Extra minidlna options not yet opened for configuration here
|
||||
(strict_dlna, model_number, model_name, etc...). This is appended
|
||||
to the current service already provided.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -75,13 +136,15 @@ in
|
|||
services.minidlna.config =
|
||||
''
|
||||
port=${toString port}
|
||||
friendly_name=${config.networking.hostName} MiniDLNA
|
||||
friendly_name=${cfg.friendlyName}
|
||||
db_dir=/var/cache/minidlna
|
||||
log_level=${cfg.loglevel}
|
||||
inotify=yes
|
||||
root_container=${cfg.rootContainer}
|
||||
${concatMapStrings (dir: ''
|
||||
media_dir=${dir}
|
||||
'') cfg.mediaDirs}
|
||||
${cfg.extraConfig}
|
||||
'';
|
||||
|
||||
users.users.minidlna = {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue