diff --git a/home/hosts/peach/default.nix b/home/hosts/peach/default.nix index 9820702..4f09801 100644 --- a/home/hosts/peach/default.nix +++ b/home/hosts/peach/default.nix @@ -5,7 +5,7 @@ }: { colors = { - scheme = "material-dark"; + scheme = "catppuccin-frappe"; accent = "base09"; }; diff --git a/home/services/default.nix b/home/services/default.nix index d3e47b8..e7cc603 100644 --- a/home/services/default.nix +++ b/home/services/default.nix @@ -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 = {