guix-devel
[Top][All Lists]
Advanced

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

Re: Installing some packages results in "incomplete deployment"


From: Ludovic Courtès
Subject: Re: Installing some packages results in "incomplete deployment"
Date: Mon, 04 Dec 2017 10:18:41 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)

Hi Chris,

Chris Marusich <address@hidden> skribis:

> Some Guix packages exist which are not intended to be installed into a
> user's profile.  For example, android-udev-rules's description says:
>
>     _Simply installing this package will not have any effect._ It is
>     meant to be passed to the `udev' service.
>
> Still other packages do not work if they are installed by themselves.
> For example, xscreensaver (and other screen lockers [1]) does not work
> if you just install it into your profile; you need to add an instance of
> the screen-locker-service-type to your operating system declaration to
> ensure that xscreensaver gets installed as a setuid-root program.  Even
> after you do this, to be able to configure xscreensaver using the
> xscreensaver-demo program, you ALSO need to remember to install
> xscreensaver either into the system profile or into your user profile.
>
> Is there anything we can do about this situation?

[...]

> * Document packages like these - like android-udev-rules already does.
>
> * Don't display these packages by default in tools like "guix package
>   --search" (but maybe provide an option for displaying them if needed).
>
> * Don't export packages like these as public variables - hide them in
>   appropriate services.  For example, instead of requiring a user to
>   install both a service of the screen-locker-service-type configured to
>   use xscreensaver and also the xscreensaver package, modify the
>   screen-locker-service-type so that it automatically installs the
>   package into the system profile by extending the profile-service-type.
>   In short, make it impossible to install an xscreensaver screen locker
>   service incorrectly.
>
> What do you think?

I think adding a line in descriptions is often not very helpful—few
people are going to read that line.

Hiding those packages from the UI would be trivial: see ‘hidden-package’
in (guix packages).

We could do that, but it might be confusing: people will have a hard
time finding which screensavers are available, which is problematic.

Perhaps we could offer an option for packages to display hints at
installation time.  Like

  (package
    (name "xscreensaver")
    ;; …
    (properties
      `((installation-notice
         . ,(G_ "Please see the documentation of
@code{screen-locker-service-type} in the manual on how to use this
screen saver.")))))

Or maybe something higher level, like:

  '((use-with-service . screen-locker-service-type))

Thoughts?

Ludo’.



reply via email to

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