diff --git a/modules/home/desktop/default.nix b/modules/home/desktop/default.nix index 2f81b61..db8ac31 100644 --- a/modules/home/desktop/default.nix +++ b/modules/home/desktop/default.nix @@ -13,5 +13,13 @@ ".local/share/stable-diffusion-webui" ]; }) + (lib.mkIf osConfig.desktop.enableSpotifyd { + services.spotifyd.enable = true; + services.spotifyd.settings.global = { + device_name = "${osConfig.system.hostname}"; + device_type = "computer"; + zeroconf_port = 5353; + }; + }) ]; } diff --git a/modules/nixos/desktop/default.nix b/modules/nixos/desktop/default.nix index 2f77231..ff13644 100644 --- a/modules/nixos/desktop/default.nix +++ b/modules/nixos/desktop/default.nix @@ -16,5 +16,6 @@ browser = lib.pantheon.mkStrOption; terminal = lib.pantheon.mkStrOption; notification-daemon = lib.pantheon.mkStrOption; + enableSpotifyd = lib.mkEnableOption ""; }; } diff --git a/modules/nixos/hardware/networking.nix b/modules/nixos/hardware/networking.nix index ed32d10..a3c8a60 100644 --- a/modules/nixos/hardware/networking.nix +++ b/modules/nixos/hardware/networking.nix @@ -19,5 +19,9 @@ }; environment.persistence."/persist".files = [ "/var/lib/tailscale/tailscaled.state" ]; } + (lib.mkIf config.desktop.enableSpotifyd { + networking.firewall.allowedTCPPorts = [ 5353 ]; + networking.firewall.allowedUDPPorts = [ 5353 ]; + }) ]; } diff --git a/systems/x86_64-linux/nemesis/default.nix b/systems/x86_64-linux/nemesis/default.nix index dfa70f0..b4b2da4 100644 --- a/systems/x86_64-linux/nemesis/default.nix +++ b/systems/x86_64-linux/nemesis/default.nix @@ -26,6 +26,7 @@ resolution = "3840x2160"; refresh-rate = "60"; }; + desktop.enableSpotifyd = true; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; }