From 4129847e6a972b0a33c733fd3ff1a38584de1a6c Mon Sep 17 00:00:00 2001 From: Tim Van Baak Date: Sat, 31 Aug 2024 15:27:36 +0000 Subject: [PATCH] catacomb: move mopidy configs from centroid --- machine/catacomb/default.nix | 24 +++++++++++++++- machine/catacomb/mopidy.nix | 39 +++++++++++++++++++++++++ machine/centroid/default.nix | 55 ------------------------------------ 3 files changed, 62 insertions(+), 56 deletions(-) create mode 100644 machine/catacomb/mopidy.nix diff --git a/machine/catacomb/default.nix b/machine/catacomb/default.nix index e747198..9efc574 100644 --- a/machine/catacomb/default.nix +++ b/machine/catacomb/default.nix @@ -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 = [ diff --git a/machine/catacomb/mopidy.nix b/machine/catacomb/mopidy.nix new file mode 100644 index 0000000..104149f --- /dev/null +++ b/machine/catacomb/mopidy.nix @@ -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 + ''; + }; +} diff --git a/machine/centroid/default.nix b/machine/centroid/default.nix index 7d919bc..081d128 100644 --- a/machine/centroid/default.nix +++ b/machine/centroid/default.nix @@ -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"; }