Skip to content

house.media

Media library folders used by the tv controller. 12 options.

Media library configuration

Type: submodule

Default: { }

Declared in: options/media.nix

Directory containing audiobook folders. Each audiobook should be in its own subdirectory.

Type: absolute path

Default: "/Pool/Audiobooks"

Example: "/Media/Audiobooks"

Declared in: options/media.nix

File path where the playlist for starred media will be written. This is a Persistent playlist for the users favourite tracks. It must be writable by the user executing the tv command. Should be inside a directory exposed by the web server.

Type: absolute path

Default: "/Pool/favourites.m3u"

Example: "/Media/favourites.m3u"

Declared in: options/media.nix

Directory containing movie folders. Each movie should be in its own subdirectory, e.g.: Movies/Some Movie (2020)/movie.mkv

Type: absolute path

Default: "/Pool/Movies"

Example: "/Media/Movies"

Declared in: options/media.nix

Directory containing music. Can be flat or hierarchical.

For artist/album search (typ = “music”), each artist or album should be in its own subdirectory.

For song search (typ = “song”), files are searched recursively by filename with extensions: mp3, flac, m4a, wav.

For jukebox (typ = “jukebox”), all files under this directory are shuffled and played.

Type: absolute path

Default: "/Pool/Music"

Example: "/Media/Music"

Declared in: options/media.nix

Directory containing music video folders. Each music video should be in its own subdirectory.

Type: absolute path

Default: "/Pool/Music_Videos"

Example: "/Media/MusicVideos"

Declared in: options/media.nix

Directory containing miscellaneous video files. Videos are searched recursively by filename with extensions: mp4, mkv, avi, mov No folder structure requirement beyond being under this path.

Type: absolute path

Default: "/Pool/Other_Videos"

Example: "/Media/Videos"

Declared in: options/media.nix

File path where the generated playlist will be written. This file is overwritten each time the TV controller creates a new playlist. It must be writable by the user executing the tv command. Should be inside a directory exposed by the web server.

Type: absolute path

Default: "/Pool/playlist.m3u"

Example: "/Media/playlist.m3u"

Declared in: options/media.nix

Directory containing podcast folders. Each podcast should be in its own subdirectory. Episodes are files inside those folders.

Type: absolute path

Default: "/Pool/Podcasts"

Example: "/Media/Podcasts"

Declared in: options/media.nix

Absolute path to the root media directory. All other media directories should be subdirectories of this path. The URL configured at config.house.https.urlFile should point to this directory as the root of a file server.

Type: absolute path

Default: "/Media"

Example: "/Media"

Declared in: options/media.nix

Directory containing TV show folders. Each show should be in its own subdirectory. Inside each show folder, seasons are expected in folders like: “Season 1”, “Season 01”, “S01”, “s01” Episode files go inside those season folders.

Type: absolute path

Default: "/Pool/TV"

Example: "/Media/TV"

Declared in: options/media.nix

Path to a file containing a YouTube Data API v3 key. The file should contain only the API key string (no extra whitespace).

To obtain a key:

  1. Go to https://console.cloud.google.com/apis/credentials
  2. Create a new API key.
  3. Save the key to a file.

If set to null, YouTube playback is disabled.

Type: null or absolute path

Default: null

Example: "/run/secrets/youtube_api_key"

Declared in: options/media.nix