add comments and more settings to spotifyd

This commit is contained in:
Sean Kovacs 2026-03-20 15:19:52 -04:00
commit d7074bec8f
Signed by: sckova
GPG key ID: 00F325187C68651A
2 changed files with 85 additions and 17 deletions

View file

@ -5,7 +5,7 @@
}:
{
colors = {
scheme = "material-dark";
scheme = "catppuccin-frappe";
accent = "base09";
};

View file

@ -1,4 +1,5 @@
{
osConfig,
config,
pkgs,
...
@ -27,22 +28,89 @@
};
};
services = {
spotifyd = {
enable = true;
settings = {
global = {
device_type = "computer";
dbus_type = "session";
disable_discovery = true;
use_mpris = true;
bitrate = 320;
initial_volume = 100;
volume_normalisation = true;
normalisation_pregain = 0;
};
};
};
services.spotifyd.enable = true;
# comments taken from https://docs.spotifyd.rs/configuration/index.html
services.spotifyd.settings.global = {
#---------#
# GENERAL #
#---------#
# The name that gets displayed under the connect tab on
# official clients.
device_name = "daemon@${osConfig.system.name}";
# The displayed device type in Spotify clients.
# Can be unknown, computer, tablet, smartphone, speaker, t_v,
# a_v_r (Audio/Video Receiver), s_t_b (Set-Top Box), and audio_dongle.
device_type = "computer";
# The bus to bind to with the MPRIS interface.
# Possible values: "session", "system"
# The system bus can be used if no graphical session is available
# (e.g. on headless systems) but you still want to be able to use MPRIS.
# NOTE: You might need to add appropriate policies to allow spotifyd to
# own the name.
dbus_type = "session";
# If set to true, `spotifyd` tries to bind to dbus (default is the session bus)
# and expose MPRIS controls. When running headless, without the session bus,
# you should set this to false, to avoid errors. If you still want to use MPRIS,
# have a look at the `dbus_type` option.
use_mpris = true;
# The directory used to store credentials and audio cache.
# Default: infers a sensible cache directory (e.g. on Linux: $XDG_CACHE_HOME)
# Note: The file path does not get expanded. Environment variables and
# shell placeholders like $HOME or ~ don't work!
# cache_path = "";
# If set to true, audio data does NOT get cached.
# In this case, the cache is only used for credentials.
no_audio_cache = false;
# The maximal size of the cache directory in bytes
# The value below corresponds to ~ 10GB
max_cache_size = 10000000000;
#-----------#
# DISCOVERY #
#-----------#
# If set to true, this disables zeroconf discovery.
# This can be useful, if one prefers to run a single-user instance.
disable_discovery = true;
#-------#
# AUDIO #
#-------#
# The audio backend used to play music. To get
# a list of possible backends, run `spotifyd --help`.
backend = "alsa"; # use portaudio for macOS [homebrew]
# The alsa audio device to stream audio. To get a
# list of valid devices, run `aplay -L`,
device = "default"; # omit for macOS
# If set to true, enables volume normalisation between songs.
volume_normalisation = true;
# The normalisation pregain that is applied for each song.
normalisation_pregain = 0;
# The audio bitrate. 96, 160 or 320 kbit/s
bitrate = 320;
# Volume on startup between 0 and 100
initial_volume = 100;
#-------ä
# OTHER #
#-------#
# After the music playback has ended, start playing similar songs based on the previous tracks.
# By default, `spotifyd` infers this setting from the user settings.
autoplay = false;
};
dconf.settings = {