From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: [PATCHES] Add elogind service Date: Wed, 02 Sep 2015 21:10:19 +0200 Message-ID: <87si6w7i3o.fsf@gnu.org> References: <874mjetlfy.fsf@igalia.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46443) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZXDQQ-000460-Ee for guix-devel@gnu.org; Wed, 02 Sep 2015 15:10:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZXDQM-0005Ar-Db for guix-devel@gnu.org; Wed, 02 Sep 2015 15:10:26 -0400 In-Reply-To: <874mjetlfy.fsf@igalia.com> (Andy Wingo's message of "Tue, 01 Sep 2015 13:42:41 +0200") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Andy Wingo Cc: guix-devel@gnu.org Andy Wingo skribis: > From fdd8893f287696fb016e9e78fbcba04d03840ee6 Mon Sep 17 00:00:00 2001 > From: Andy Wingo > Date: Tue, 18 Aug 2015 10:05:24 +0200 > Subject: [PATCH 1/7] gnu: elogind: Update to version 219.12. > > * gnu/packages/freedesktop.scm (elogind): Update to 219.12. Use a tarball > instead of a git checkout. OK! Thanks for making the tarball. > From 4f32d646cf14133a98899c448d588088c80d680d Mon Sep 17 00:00:00 2001 > From: Andy Wingo > Date: Tue, 18 Aug 2015 11:56:17 +0200 > Subject: [PATCH 2/7] gnu: Add elogind service. > > * gnu/services/desktop.scm (elogind-configuration-file, elogind-service):= New > functions. > (%desktop-services): Add elogind-service. [...] > +(define-with-required-kwargs elogind-configuration-file > + (kill-user-processes? kill-only-users kill-exclude-users > + inhibit-delay-max-seconds > + handle-power-key handle-suspend-key handle-hibernate-key > + handle-lid-switch handle-lid-switch-docked > + power-key-ignore-inhibited? suspend-key-ignore-inhibited? > + hibernate-key-ignore-inhibited? lid-switch-ignore-inhibited? > + holdoff-timeout-seconds > + idle-action idle-action-seconds > + runtime-directory-size-percent runtime-directory-size > + remove-ipc? > + suspend-state suspend-mode > + hibernate-state hibernate-mode > + hybrid-sleep-state hybrid-sleep-mode) [...] > +(define* (elogind-service #:key (elogind elogind) > + (kill-user-processes? #f) > + (kill-only-users '()) (kill-exclude-users '("r= oot")) > + (inhibit-delay-max-seconds 5) > + (handle-power-key 'poweroff) > + (handle-suspend-key 'suspend) > + (handle-hibernate-key 'hibernate) > + (handle-lid-switch 'suspend) > + (handle-lid-switch-docked 'ignore) > + (power-key-ignore-inhibited? #f) > + (suspend-key-ignore-inhibited? #f) Nice. My inclination would be to either let people provide the raw configuration file via =E2=80=98local-file=E2=80=99 or =E2=80=98plain-file= =E2=80=99 (and provide a default one), but obviously that=E2=80=99s not as nice, or to use =E2=80=98define-record-type*=E2=80=99 to create an = record with sensible default values (similar to , for instance.) I have a preference for the latter. WDYT? (It=E2=80=99s OK to add a macro to generate the record=E2=80=99s getter ide= ntifiers since there are so many of them.) Thank you! Ludo=E2=80=99.