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:
parent
ec63bbb30b
commit
1e494aa605
4 changed files with 57 additions and 1 deletions
|
@ -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
13
hosts/bebop/navidrome.nix
Normal file
|
@ -0,0 +1,13 @@
|
|||
{ config, ... }:
|
||||
let
|
||||
payas = "payas";
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
../../modules/common-navidrome.nix
|
||||
];
|
||||
|
||||
services.navidrome.settings = {
|
||||
Address = "0.0.0.0";
|
||||
};
|
||||
}
|
13
hosts/hermes/navidrome.nix
Normal file
13
hosts/hermes/navidrome.nix
Normal file
|
@ -0,0 +1,13 @@
|
|||
{ config, ... }:
|
||||
let
|
||||
payas = "payas";
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
../../modules/common-navidrome.nix
|
||||
];
|
||||
|
||||
services.navidrome.settings = {
|
||||
Address = "127.0.0.1";
|
||||
};
|
||||
}
|
28
modules/common-navidrome.nix
Normal file
28
modules/common-navidrome.nix
Normal 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";
|
||||
};
|
||||
};
|
||||
}
|
Reference in a new issue