help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Missing QT platform plugin for Wayland, GRUB menu-entry, and service


From: Timo Wilken
Subject: Re: Missing QT platform plugin for Wayland, GRUB menu-entry, and service/package definitions
Date: Fri, 3 Feb 2023 09:42:58 +0100

Hi Genevieve,

On Sun, Jan 22, 2023 at 10:28:30PM -0600, Genevieve Mendoza wrote:
> 1) I've noticed that there are service definitions which automatically
> pull in the packages they require, with the main example being
> desktop-services. I set up some of my own home services, e.g. for
> Pipewire, and they work fine if I also have Pipewire installed
> (via my profile or home environment). If I don't, then they can't find
> the binary and fail. Is there a way to have them specify required
> packages that I missed in the docs?

How do you refer to these packages in your own home services? The
standard way, as far as I know, is to use G-expressions. Here's an
example of a shepherd service I use that runs "nm-applet":

    (shepherd-service
     (documentation "Applet that provides a GUI for network connections.")
     (provision '(nm-applet))
     (start #~(make-forkexec-constructor
               (list #$(file-append network-manager-applet "/bin/nm-applet"))))
     (stop #~(make-kill-destructor)))

The #$(file-append package "/bin/exe") inside the G-expression will
resolve to the full /gnu/store/...-pipewire-0.3.36/bin/pipewire path,
and it ought to stop that path from being garbage-collected as long as
the home environment generation it belongs to exists.

See "info guix -n 'Shepherd Services'" for more specific examples, and
see "info guix -n G-Expressions" for more general information on
G-expressions.

I hope that helps, and I'm sorry I don't have any experience with the
other things you mentioned.

Cheers,
Timo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]