catacomb: move mopidy configs from centroid
This commit is contained in:
parent
accfdc159c
commit
4129847e6a
@ -3,6 +3,7 @@
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
./mopidy.nix
|
||||
];
|
||||
|
||||
beatific.hostName = "catacomb";
|
||||
@ -32,7 +33,7 @@
|
||||
hostId = "beeeeee5"; # this must be consistent for ZFS
|
||||
firewall = {
|
||||
enable = true;
|
||||
allowedTCPPorts = [ 139 445 ];
|
||||
allowedTCPPorts = [ 80 139 445 ];
|
||||
allowedUDPPorts = [ 137 138 ];
|
||||
};
|
||||
wireless = {
|
||||
@ -55,6 +56,27 @@
|
||||
|
||||
services.rsyncd.enable = true;
|
||||
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
recommendedProxySettings = true;
|
||||
virtualHosts = {
|
||||
default = {
|
||||
default = true;
|
||||
locations."/".return = "444";
|
||||
};
|
||||
"mopidy.home.ktvb.site" = {
|
||||
listen = [
|
||||
{ addr = "10.22.20.2"; }
|
||||
{ addr = "catacomb.lan"; }
|
||||
];
|
||||
locations."/" = {
|
||||
proxyWebsockets = true;
|
||||
proxyPass = "https://localhost:6680";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
users.users.tvb = {
|
||||
uid = 1001;
|
||||
extraGroups = [
|
||||
|
39
machine/catacomb/mopidy.nix
Normal file
39
machine/catacomb/mopidy.nix
Normal file
@ -0,0 +1,39 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
users.users.tvb.extraGroups = [
|
||||
"mopidy"
|
||||
];
|
||||
|
||||
users.groups.mopidy = {}; # rw group for media directory
|
||||
users.users.mopidy.extraGroups = [
|
||||
"mopidy"
|
||||
"pipewire" # necessary to allow the system service to play sound
|
||||
];
|
||||
services.mopidy = let
|
||||
mopidyPackages' = pkgs.mopidyPackages.overrideScope (prev: final: { extraPkgs = pkgs: [ pkgs.yt-dlp ]; });
|
||||
in {
|
||||
enable = true;
|
||||
extensionPackages = with mopidyPackages'; [
|
||||
mopidy-bandcamp
|
||||
mopidy-jellyfin
|
||||
mopidy-musicbox-webclient
|
||||
mopidy-youtube
|
||||
];
|
||||
configuration = ''
|
||||
[file]
|
||||
media_dirs =
|
||||
/media/music|Music
|
||||
|
||||
[jellyfin]
|
||||
hostname = jellyfin.home.ktvb.site
|
||||
username = mopidy
|
||||
password = mopidy
|
||||
libraries = Music,Weird Song Halftime
|
||||
album_format = {Name} ({ProductionYear})
|
||||
|
||||
[youtube]
|
||||
youtube_dl_package = yt_dlp
|
||||
'';
|
||||
};
|
||||
}
|
@ -32,64 +32,9 @@
|
||||
];
|
||||
|
||||
users.users.tvb.extraGroups = [
|
||||
"mopidy"
|
||||
"networkmanager"
|
||||
"pipewire"
|
||||
];
|
||||
|
||||
users.groups.mopidy = {}; # rw group for media directory
|
||||
users.users.mopidy.extraGroups = [
|
||||
"mopidy"
|
||||
"pipewire" # necessary to allow the system service to play sound
|
||||
];
|
||||
services.mopidy = let
|
||||
mopidyPackages' = pkgs.mopidyPackages.overrideScope (prev: final: { extraPkgs = pkgs: [ pkgs.yt-dlp ]; });
|
||||
in {
|
||||
enable = true;
|
||||
extensionPackages = with mopidyPackages'; [
|
||||
mopidy-bandcamp
|
||||
mopidy-jellyfin
|
||||
mopidy-musicbox-webclient
|
||||
mopidy-youtube
|
||||
];
|
||||
configuration = ''
|
||||
[file]
|
||||
media_dirs =
|
||||
/media/music|Music
|
||||
|
||||
[jellyfin]
|
||||
hostname = jellyfin.home.ktvb.site
|
||||
username = mopidy
|
||||
password = mopidy
|
||||
libraries = Music,Weird Song Halftime
|
||||
album_format = {Name} ({ProductionYear})
|
||||
|
||||
[youtube]
|
||||
youtube_dl_package = yt_dlp
|
||||
'';
|
||||
};
|
||||
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
recommendedProxySettings = true;
|
||||
virtualHosts = {
|
||||
default = {
|
||||
default = true;
|
||||
locations."/".return = "444";
|
||||
};
|
||||
"mopidy.home.ktvb.site" = {
|
||||
listen = [
|
||||
{ addr = "10.22.20.7"; }
|
||||
{ addr = "centroid.lan"; }
|
||||
];
|
||||
locations."/" = {
|
||||
proxyWebsockets = true;
|
||||
proxyPass = "http://localhost:6680";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||
|
||||
system.stateVersion = "23.11";
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user