initial commit
Some checks failed
Nix CI / build (push) Failing after 31s

This commit is contained in:
Rustam Efimov 2026-04-01 08:50:01 +03:00
commit 30ce0dafc2
No known key found for this signature in database
195 changed files with 8902 additions and 0 deletions

View file

@ -0,0 +1,6 @@
{
imports = [
./options.nix
./service.nix
];
}

View file

@ -0,0 +1,22 @@
{ lib, ... }:
with lib;
{
options.machine.navidrome = {
enable = mkEnableOption "Navidrome";
domain = mkOption {
type = types.nullOr types.str;
default = null;
description = "Domain name. If not set, will be disabled, and use the localhost.";
};
port = mkOption {
type = types.port;
default = 4533;
description = "Listen port.";
};
folder = mkOption {
type = types.str;
default = "/mnt/music";
description = "Navidrome music folder.";
};
};
}

View file

@ -0,0 +1,36 @@
{
config,
lib,
...
}:
let
inherit (config.machine.navidrome)
enable
domain
port
folder
;
in
with lib; mkIf enable {
services.nginx.virtualHosts = with lib; mkIf (domain != null) {
"${domain}" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://[::1]:${toString port}";
proxyWebsockets = true;
};
};
};
services.navidrome = {
inherit enable;
settings = {
Address = "0.0.0.0";
Port = port;
MusicFolder = folder;
DefaultTheme = "AMusic";
EnableSharing = true;
};
};
}