website/hosts/desktop/default.nix

60 lines
1.1 KiB
Nix
Raw Normal View History

2023-05-25 03:18:18 +00:00
{ config, lib, pkgs, ... }:
2023-05-26 05:49:11 +00:00
let
musicDir = "/srv/music";
playlistsDir = "${musicDir}/playlists";
2023-05-26 07:06:27 +00:00
beetsOverride = pkgs.writeScriptBin "beet" ''
${pkgs.beets}/bin/beet --config=${./config/beets/config.yml}
'';
2023-05-26 05:49:11 +00:00
in
2023-05-25 03:18:18 +00:00
{
2023-05-26 07:06:27 +00:00
environment.systemPackages = [ beetsOverride ];
2023-05-26 05:49:11 +00:00
services.mopidy = {
enable = true;
extensionPackages = with pkgs; [
mopidy-iris
mopidy-local
mopidy-mpd
mopidy-mpris
mopidy-youtube
];
configuration = ''
[http]
hostname = 172.23.0.1
port = 6669
[file]
enabled = true
media_dirs =
${musicDir}|Music
[m3u]
enabled = true
base_dir = ${musicDir}
playlists_dir = ${playlistsDir}
default_encoding = utf-8
default_extension = .m3u8
'';
};
2023-05-26 05:49:32 +00:00
services.gonic = {
enable = true;
settings = {
listen-addr = "172.23.0.1:4747";
cache-path = "/var/cache/gonic";
music-path = [ musicDir ];
podcast-path = "/var/cache/gonic/podcasts";
jukebox-enabled = true;
scan-interval = 1;
scan-at-start-enabled = true;
};
};
2023-05-25 03:18:18 +00:00
system.stateVersion = "23.05";
}