From 12e3af575860ca4cdbcef6fd2267ebd6befe0f49 Mon Sep 17 00:00:00 2001 From: Ryan Schanzenbacher Date: Sat, 13 Jan 2024 23:55:15 -0500 Subject: Added spotify-player and spotifyd service --- modules/ryan-services/spotify.scm | 43 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 modules/ryan-services/spotify.scm (limited to 'modules/ryan-services') diff --git a/modules/ryan-services/spotify.scm b/modules/ryan-services/spotify.scm new file mode 100644 index 0000000..1ddb9cf --- /dev/null +++ b/modules/ryan-services/spotify.scm @@ -0,0 +1,43 @@ +(define-module (ryan-services spotify) + #:use-module (gnu packages) + #:use-module (gnu packages rust-apps) + #:use-module (gnu services) + #:use-module (gnu services configuration) + #:use-module (gnu home services) + #:use-module (gnu home services shepherd) + #:use-module (guix gexp)) + +(define (home-spotifyd-profile-service config) + (map specification->package + (list "spotifyd"))) + +(define (home-spotifyd-shepherd-service config) + ;; spotifyd daemon + (list (shepherd-service + (requirement '(pipewire)) + (provision '(spotifyd)) + (stop #~(make-kill-destructor)) + (start #~(make-forkexec-constructor + (list #$(file-append spotifyd "/bin/spotifyd") + "--volume-normalisation" + "-B320" + (format #f "--device-name=~a" (gethostname)) + "--device-type=computer" + "--no-daemon") + #:log-file (string-append + (or (getenv "XDG_LOG_HOME") + (format #f "~a/.local/var/log" + (getenv "HOME"))) + "/spotifyd.log")))))) + +(define-public home-spotifyd-service-type + (service-type (name 'home-spotifyd) + (extensions + (list (service-extension + home-profile-service-type + home-spotifyd-profile-service) + (service-extension + home-shepherd-service-type + home-spotifyd-shepherd-service))) + (default-value #f) + (description "Provides spotifyd daemon in the background"))) -- cgit v1.2.3