Hermes,Bebop: Add and enable Navidrome audio server

Because WSL is ridden with bugs, I'm going to try running my Music over a
server.

This also provides opportunity to finally unify and start making proper
playlists that will stick.
This commit is contained in:
Payas Relekar 2022-06-11 22:08:35 +05:30
parent ec63bbb30b
commit 1e494aa605
4 changed files with 57 additions and 1 deletions

View file

@ -55,15 +55,16 @@
{ nixpkgs.overlays = [ emacs-overlay.overlay ]; }
# Modules and module config
nixos-wsl.nixosModules.wsl
./modules/fish.nix
./modules/users.nix
./modules/fonts.nix
nixos-wsl.nixosModules.wsl
# Host-specific config
./hosts/hermes/configuration.nix
./hosts/hermes/syncthing.nix
./hosts/hermes/backup.nix
./hosts/hermes/navidrome.nix
agenix.nixosModules.age
./hosts/hermes/secrets/agenix.nix
@ -94,6 +95,7 @@
nixos-hardware.nixosModules.raspberry-pi-4
./hosts/bebop/configuration.nix
./hosts/bebop/syncthing.nix
./hosts/bebop/navidrome.nix
./hosts/bebop/pihole.nix
# User-specific config : Home-manager

13
hosts/bebop/navidrome.nix Normal file
View file

@ -0,0 +1,13 @@
{ config, ... }:
let
payas = "payas";
in
{
imports = [
../../modules/common-navidrome.nix
];
services.navidrome.settings = {
Address = "0.0.0.0";
};
}

View file

@ -0,0 +1,13 @@
{ config, ... }:
let
payas = "payas";
in
{
imports = [
../../modules/common-navidrome.nix
];
services.navidrome.settings = {
Address = "127.0.0.1";
};
}

View file

@ -0,0 +1,28 @@
{ config, pkgs, ... }:
let
payas = "payas";
in
{
# Open navidrome port, but only for local network
networking.firewall.extraCommands = ''
iptables -A nixos-fw -p tcp --source 192.168.0.0/24 --dport 4533:4533 -j nixos-fw-accept
iptables -A nixos-fw -p udp --source 192.168.0.0/24 --dport 4533:4533 -j nixos-fw-accept
'';
services.navidrome = {
enable = true;
settings = {
# Address is set by individual host
Port = 4533;
MusicFolder = "/home/payas/Music/";
};
};
systemd.services.navidrome = {
serviceConfig = {
User = payas;
ProtectHome = pkgs.lib.mkForce "tmpfs";
};
};
}