diff options
Diffstat (limited to 'modules/services')
| -rw-r--r-- | modules/services/nixos/default.nix | 1 | ||||
| -rw-r--r-- | modules/services/nixos/selfhost/default.nix | 5 | ||||
| -rw-r--r-- | modules/services/nixos/selfhost/navidrome.nix | 19 | ||||
| -rw-r--r-- | modules/services/options.nix | 17 |
4 files changed, 36 insertions, 6 deletions
diff --git a/modules/services/nixos/default.nix b/modules/services/nixos/default.nix index b9ae4c7..d177b88 100644 --- a/modules/services/nixos/default.nix +++ b/modules/services/nixos/default.nix @@ -4,5 +4,6 @@ ./audio.nix ./bluetooth.nix ./tailscale.nix + ./selfhost ]; } diff --git a/modules/services/nixos/selfhost/default.nix b/modules/services/nixos/selfhost/default.nix new file mode 100644 index 0000000..03dbe4f --- /dev/null +++ b/modules/services/nixos/selfhost/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./navidrome.nix + ]; +} diff --git a/modules/services/nixos/selfhost/navidrome.nix b/modules/services/nixos/selfhost/navidrome.nix new file mode 100644 index 0000000..5250b85 --- /dev/null +++ b/modules/services/nixos/selfhost/navidrome.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + cfg = config.collinux.services.selfhost.navidrome; +in + lib.mkIf cfg.enable { + services.navidrome = { + enable = true; + inherit (cfg) user; + settings = { + Port = 4533; + Address = "0.0.0.0"; + EnableInsightsCollector = false; + MusicFolder = "/home/${cfg.user}/Music"; + }; + }; + } diff --git a/modules/services/options.nix b/modules/services/options.nix index ddf6f58..b887395 100644 --- a/modules/services/options.nix +++ b/modules/services/options.nix @@ -11,12 +11,7 @@ in { enable = mkEnableOption "wifi"; iwd.enable = mkEnableOption "lightweight wifi daemon"; networkmanager.enable = mkEnableOption "heavier wifi daemon"; - tailscale = { - enable = mkEnableOption "tailscale"; - authKeyFile = mkOption { - type = "path"; - }; - }; + tailscale.enable = mkEnableOption "tailscale"; }; audio = { enable = mkEnableOption "pipewire + wireplumber"; @@ -28,6 +23,16 @@ in { blueman.enable = mkEnableOption "graphical bluetooth manager"; bluetuith.enable = mkEnableOption "terminal bluetooth manager"; }; + + selfhost = { + navidrome = { + enable = mkEnableOption "navidrome music server"; + user = mkOption { + description = "user to run the service as"; + default = config.collinux.user.name; + }; + }; + }; }; }; |
