diff --git a/modules/navidrome/default.nix b/modules/navidrome/default.nix index 6963c6f..06f7b49 100644 --- a/modules/navidrome/default.nix +++ b/modules/navidrome/default.nix @@ -24,28 +24,6 @@ in }; - settings = mkOption rec { - type = settingsFormat.type; - apply = recursiveUpdate default; - default = { - Address = "127.0.0.1"; - Port = port; - MusicFolder = "/home/mediaserver/music"; - EnableGravatar = true; - ListenBrainz.Enabled = false; - LastFM.Language = "fr"; - Spotify.ID = "34b7b2f28ac0490bb320073ac3123cd0"; - Spotify.Secret = "4a5ee0a0f4524f25b8645018f8aee48e"; - DefaultTheme = "Spotify-ish"; - }; - example = { - MusicFolder = "/mnt/music"; - }; - description = '' - Configuration for Navidrome, see for supported values. - ''; - }; - nginx.enable = mkEnableOption "activate nginx"; nginx.subdomain = mkOption { type = types.str; @@ -55,20 +33,27 @@ in config = mkIf cfg.enable ( mkMerge [{ + sops.secrets."navidrome.json" = { + owner = cfg.user; + format = "binary"; + sopsFile = ../../secrets/navidrome-config; + }; + + + systemd.services.navidrome = { + description = "Navidrome Media Server"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { -# User = cfg.user; -# Group = cfg.group; + User = cfg.user; + Group = cfg.group; ExecStart = '' - ${pkgs.navidrome}/bin/navidrome --configfile ${settingsFormat.generate "navidrome.json" cfg.settings} + ${pkgs.navidrome}/bin/navidrome --configfile /run/secrets/navidrome.json ''; StateDirectory = "navidrome"; WorkingDirectory = "/var/lib/navidrome"; - #RuntimeDirectory = "navidrome"; - #RootDirectory = "/run/navidrome"; }; };