mirror of
https://github.com/SqrtMinusOne/dotfiles.git
synced 2025-12-10 19:23:03 +03:00
feat(guix): shepherd, mpd
This commit is contained in:
parent
a3f937cd44
commit
738595780f
2 changed files with 69 additions and 7 deletions
20
.config/shepherd/init.scm
Normal file
20
.config/shepherd/init.scm
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
(define mpd
|
||||
(make <service>
|
||||
#:provides '(mpd)
|
||||
#:respawn? #t
|
||||
#:start (make-system-constructor "mpd")
|
||||
#:stop (make-kill-destructor)))
|
||||
|
||||
(define mpd-watcher
|
||||
(make <service>
|
||||
#:provides '(mpd-watcher)
|
||||
#:respawn? #t
|
||||
#:start (make-forkexec-constructor '("mpd_watcher"))
|
||||
#:stop (make-kill-destructor)
|
||||
#:requires '(mpd)))
|
||||
|
||||
(register-services mpd mpd-watcher)
|
||||
|
||||
(action 'shepherd 'daemonize)
|
||||
|
||||
(for-each start '(mpd mpd-watcher))
|
||||
56
Desktop.org
56
Desktop.org
|
|
@ -2028,13 +2028,6 @@ This section generates manifests for various desktop software that I'm using.
|
|||
|----------+-----------------|
|
||||
| office | libreoffice |
|
||||
| office | gimp |
|
||||
** Music
|
||||
| Category | Guix dependency |
|
||||
|----------+-----------------|
|
||||
| music | mpd |
|
||||
| music | ncmpcpp |
|
||||
| music | picard |
|
||||
| music | mpd-watcher |
|
||||
** LaTeX
|
||||
| Category | Guix dependency |
|
||||
|----------+-----------------|
|
||||
|
|
@ -2120,7 +2113,56 @@ flatpak install --user flathub com.discordapp.Discord
|
|||
flatpak install --user flathub us.zoom.Zoom
|
||||
flatpak install --user flathub com.slack.Slack
|
||||
#+end_example
|
||||
* Services
|
||||
:PROPERTIES:
|
||||
:header-args+: :tangle ~/.config/shepherd/init.scm
|
||||
:END:
|
||||
[[https://www.gnu.org/software/shepherd/manual/html_node/index.html][GNU Shepherd]] is a service management system for GNU Guix.
|
||||
|
||||
I previously used supervisor, but shepherd also seems pretty capable.
|
||||
** Music
|
||||
| Category | Guix dependency |
|
||||
|----------+-----------------|
|
||||
| music | mpd |
|
||||
| music | ncmpcpp |
|
||||
| music | picard |
|
||||
| music | mpd-watcher |
|
||||
|
||||
Music player daemon
|
||||
#+begin_src scheme
|
||||
(define mpd
|
||||
(make <service>
|
||||
#:provides '(mpd)
|
||||
#:respawn? #t
|
||||
#:start (make-system-constructor "mpd")
|
||||
#:stop (make-kill-destructor)))
|
||||
#+end_src
|
||||
|
||||
MPD watcher
|
||||
#+begin_src scheme
|
||||
(define mpd-watcher
|
||||
(make <service>
|
||||
#:provides '(mpd-watcher)
|
||||
#:respawn? #t
|
||||
#:start (make-forkexec-constructor '("mpd_watcher"))
|
||||
#:stop (make-kill-destructor)
|
||||
#:requires '(mpd)))
|
||||
#+end_src
|
||||
** Shepherd config
|
||||
Register services
|
||||
#+begin_src scheme
|
||||
(register-services mpd mpd-watcher)
|
||||
#+end_src
|
||||
|
||||
Daemonize shepherd
|
||||
#+begin_src scheme
|
||||
(action 'shepherd 'daemonize)
|
||||
#+end_src
|
||||
|
||||
Run services
|
||||
#+begin_src scheme
|
||||
(for-each start '(mpd mpd-watcher))
|
||||
#+end_src
|
||||
* Guix settings
|
||||
Other desktop programs I use are listed below.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue