From: Sergiu Ivanov <sivanov@colimite.fr>
To: help-guix <help-guix@gnu.org>
Subject: Defining custom services in /etc/config.scm
Date: Sun, 24 Jan 2021 20:09:07 +0100 [thread overview]
Message-ID: <874kj6duek.fsf@colimite.fr> (raw)
Hello,
I'm trying to start redshift [0] as a shepherd service, and this is how
I defined the redshift service in my /etc/config.scm:
(define evry-geolocation "48.63681:2.42777")
(define redshift-service
(shepherd-service
(provision '(redshift))
(requirement '(xorg-server))
(documentation "Start Redshift as a service")
(start #~(make-forkexec-constructor
`("redshift" "-l" ,evry-geolocation)))
(stop #~(make-kill-destructor))))
However, I can't find a way to add this to the services field of the
operating-system declaration.
When I try:
(services (append
(list redshift-service
(service xfce-desktop-service-type)
(set-xorg-configuration
(xorg-configuration (keyboard-layout keyboard-layout))))
%desktop-services))
I get the message "Wrong type argument #<<shepherd-service> ...".
I understand that I should somehow construct a <service> (?) from my
<shepherd-service>, but I don't see a way to do it.
I've also seen a couple mailing list discussions [1,2] and a blog post
[3] about doing what I want in "pure shepherd", i.e. independently of
Guix, but these solutions seem to be doing more than what I need.
How can I add a custom shepherd service to the operating-system
definition in /etc/config.scm?
-
Sergiu
[0] http://jonls.dk/redshift/
[1] https://lists.gnu.org/archive/html/guix-devel/2018-02/msg00047.html
[2] https://www.mail-archive.com/guix-devel@gnu.org/msg46278.html
[3] https://guix.gnu.org/blog/2020/gnu-shepherd-user-services/
next reply other threads:[~2021-01-24 19:10 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-24 19:09 Sergiu Ivanov [this message]
2021-01-24 19:19 ` Defining custom services in /etc/config.scm Ekaitz Zarraga
2021-01-24 19:59 ` Sergiu Ivanov
2021-01-24 22:25 ` Carlo Zancanaro
2021-01-25 20:50 ` Sergiu Ivanov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=874kj6duek.fsf@colimite.fr \
--to=sivanov@colimite.fr \
--cc=help-guix@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).