From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id SLEBBcR/EWHYCAAAgWs5BA (envelope-from ) for ; Mon, 09 Aug 2021 21:19:32 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id iFqGAMR/EWEURQAAB5/wlQ (envelope-from ) for ; Mon, 09 Aug 2021 19:19:32 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 6CD722F2A0 for ; Mon, 9 Aug 2021 21:19:31 +0200 (CEST) Received: from localhost ([::1]:33270 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mDAo6-0003Du-Ha for larch@yhetil.org; Mon, 09 Aug 2021 15:19:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33792) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mDAng-0002Lk-NZ for guix-patches@gnu.org; Mon, 09 Aug 2021 15:19:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:46306) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mDAng-0000Sz-Go for guix-patches@gnu.org; Mon, 09 Aug 2021 15:19:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mDAng-0004XU-CW for guix-patches@gnu.org; Mon, 09 Aug 2021 15:19:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#49969] [PATCH 7/7] doc: Add desktop seatd-service-type and greetd-service-type. Resent-From: muradm Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 09 Aug 2021 19:19:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49969 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 49969@debbugs.gnu.org Cc: muradm Received: via spool by 49969-submit@debbugs.gnu.org id=B49969.162853671417368 (code B ref 49969); Mon, 09 Aug 2021 19:19:04 +0000 Received: (at 49969) by debbugs.gnu.org; 9 Aug 2021 19:18:34 +0000 Received: from localhost ([127.0.0.1]:57846 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mDAnB-0004Vz-Jw for submit@debbugs.gnu.org; Mon, 09 Aug 2021 15:18:33 -0400 Received: from mail-ej1-f47.google.com ([209.85.218.47]:40847) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mDAn7-0004Uz-0n for 49969@debbugs.gnu.org; Mon, 09 Aug 2021 15:18:30 -0400 Received: by mail-ej1-f47.google.com with SMTP id oz16so14667029ejc.7 for <49969@debbugs.gnu.org>; Mon, 09 Aug 2021 12:18:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=muradm-net.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=P389w8sqi/IJM0LcqkDRNvmfTHtCJM4fe+XamJNyyoo=; b=ASohN/wPhNLOLgADbvbjsDKZzKNN3oJNJka9N/Xdqy2NeasEBtAEfmkpyYgl5lZPKB mdWQF7Md0wLZLHehIjeaA6DY6iIxRGY6iUROLV+x0OKFjq3mbIvvVDc/ojIqV/Kqfh7N 0/fNfSqI+ZMBa9o+ZEvCxS9qOCP/hkuWJz2z2/6y9Sftmcn8dfmfzEOsDPcIvnZlgLAO 25HN26ihu1cwAMC5Tr5YOeMWeBCeJ1jD9e8ejgHdj5J8wGDK2/8EfoLWoK7vcKrH6Ksx zRcE+hQkLKCJCNCxLzWzEK8ZLc3J2Aa1P7hWw63rUnWNQGc6oHAP/nS8gaqkvDynI1Z9 IGAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=P389w8sqi/IJM0LcqkDRNvmfTHtCJM4fe+XamJNyyoo=; b=WW1LZATOT0dvPHGiKE+aeXtbHkpkBGxV+XmHC2/AYAo1ba8qWym996Ec9XvX0211WD PaQ4b37pJDkHc+gHLNfeCqiF5RM2e01Q4noYDFshBlClIC7FiH7d+V7dNdeLEFd3lg8K h1ufSRVneV8MAWqURROKTowTnd15xA4HcVMTyZLGU8lQdElwtZkUbzJuXUTYSsKsSiRN HLQ+uUfiARo4YLmoEKoZKlUT0fYg9LeHyW7SybYouIO1HUjWV3CB0iTksmTUR8ee5b93 K6Vj8LRtqEulKOFmwwRAQNXMM8RF2dMhRIiKeALHcOAnl8TodkX5A3K5IK42Xrve0GiB E62Q== X-Gm-Message-State: AOAM531A6baqESCp6fJXnjVYBj1WBQb/3Kg/PeChBC+rPtMt4YC1Hv+M dsGlf4A/PXT8Oi0SMzGeLfX8Qpt68vPGKg== X-Google-Smtp-Source: ABdhPJwq693XUsbjm3qv85DPs/Cg2PksKEPMEGZ6Hdibq/LSdqYyAFzvNdZfpctLN/WBRZzApfP0dg== X-Received: by 2002:a17:907:20c8:: with SMTP id qq8mr24250396ejb.213.1628536703102; Mon, 09 Aug 2021 12:18:23 -0700 (PDT) Received: from localhost.localdomain ([31.142.122.131]) by smtp.gmail.com with ESMTPSA id gv7sm6167100ejc.5.2021.08.09.12.18.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Aug 2021 12:18:22 -0700 (PDT) From: muradm Date: Mon, 9 Aug 2021 22:18:03 +0300 Message-Id: <20210809191803.7833-7-mail@muradm.net> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210809190257.7280-1-mail@muradm.net> References: <20210809190257.7280-1-mail@muradm.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1628536771; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=P389w8sqi/IJM0LcqkDRNvmfTHtCJM4fe+XamJNyyoo=; b=EviDIst6HF748VMcf0+EtvMPPuwsYmRxj3I5aB+Mfs9d3gGKl9F/BePBRIpDlk+ok4ojrm WYau2p2DB/WsOtVu+ymxdl6Dqic4toJlua16K6dMxshSud2wd38e2Yc6y9/me/oqhAAlCF osy6fogRJVvE/UUYDC1N7ZSiImYu7kzJG7wYDKiQEXm9Z7MqwepkkXYh4jOsACjCq5mhsR xtkUNSXsUkm4A3neBZYBBpXLZo9zCnKURcb8vDEmEnJJm1Xcdd4OOTwZ2DFHgT72txwaCJ n/3oHddQLaqQVsiGZc4btfjz5QqSwdLO6AGT4MQ63nCLEiLEhB9ZuqGU3GDc8Q== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1628536771; a=rsa-sha256; cv=none; b=up8jMPyMBpa27fmIX9Q3qbpu6Zo+qQp47EfAqTDqO7kU3l67IqNstXkV7Mx7uaH0VAFGf+ tcpt5i3tvje7niT7H3wscEjmLAznietLkBfdl7TAAPAjlStnc3AO1YQ68IcSLnFqtFJDrD /F55VmhGmwUoZezHC6bkvbhVOEnHIH08MZMDUk05/XcDpWgWbZ68mNYSBIbOSjgQJgNW+B hoPRGOuFmE2WL/frzol/Cs9CAEFMXxYOLoQoblbwWm6jfH7V2Pi9Q2cY28JNQLGpqDLTee fpOKsr32QmmEPZ+aj9dSWBwQgj/Xa9FayIw9HrNH6OaT/GCc3iW/on/IVVxLDg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=muradm-net.20150623.gappssmtp.com header.s=20150623 header.b="ASohN/wP"; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Spam-Score: 3.59 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=muradm-net.20150623.gappssmtp.com header.s=20150623 header.b="ASohN/wP"; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: 6CD722F2A0 X-Spam-Score: 3.59 X-Migadu-Scanner: scn0.migadu.com X-TUID: OnyRpNOmYtlR * doc/guix.texi (Desktop Services): Provide documentation for seatd-service-type and greetd-service-type including configuration and sample usage. --- doc/guix.texi | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 4eb5324b51..6c76a8d68a 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -94,6 +94,7 @@ Copyright @copyright{} 2021 Xinglu Chen@* Copyright @copyright{} 2021 Raghav Gururajan@* Copyright @copyright{} 2021 Domagoj Stolfa@* Copyright @copyright{} 2021 Hui Lu@* +Copyright @copyright{} 2021 muradm@* Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -19694,6 +19695,156 @@ and ``passwd'' is with the value @code{passwd}. @end table @end deftp +@defvr {Scheme Variable} seatd-service-type +A minimal seat management daemon, and a universal seat management library. + +Seat management takes care of mediating access to shared devices (graphics, +input), without requiring the applications needing access to be root. + +In general should be used as replacement to @code{elogind-service-type}. +And currently should be used with @code{greetd-service-type}. + +@lisp + +(append + (list + ;; make sure seatd is running + (service seatd-service-type) + + ;; let's make terminals 1, 2 and 3 be an XDG terminal + ;; with XDG variables set on login. + (service greetd-service-type + (greetd-configuration + (terminal-vt "1") + (default-session-command greetd-agreety-tty-xdg-session))) + (service greetd-service-type + (greetd-configuration + (terminal-vt "2") + (default-session-command greetd-agreety-tty-xdg-session))) + (service greetd-service-type + (greetd-configuration + (terminal-vt "3") + (default-session-command greetd-agreety-tty-xdg-session))) + + ;; let's make terminals 4, 5 and 6 be a plain bash terminal session + (service greetd-service-type + (greetd-configuration (terminal-vt "4"))) + (service greetd-service-type + (greetd-configuration (terminal-vt "5"))) + (service greetd-service-type + (greetd-configuration (terminal-vt "6")))) + + (modify-services %desktop-services + ;; seatd/greetd combination can replace these + (delete elogind-service-type) + (delete agetty-service-type) + (delete mingetty-service-type))) + +@end lisp + +@end defvr + +@deftp {Data Type} seatd-configuration +Configuration record for the seatd daemon service. + +@table @asis +@item @code{seatd} (default: @code{seatd}) +The seatd package to use. + +@item @code{user} (default: @samp{"root"}) +User to own the seatd socket. + +@item @code{group} (default: @samp{"users"}) +Group to own the seatd socket. + +@item @code{socket} (default: @samp{"/run/seatd/socket"}) +Where to create the seatd socket. + +@end table +@end deftp + +@defvr {Scheme Variable} greetd-service-type +greetd is a minimal and flexible login manager daemon that makes no +assumptions about what you want to launch. + +If you can run it from your shell in a TTY, greetd can start it. If it +can be taught to speak a simple JSON-based IPC protocol, then it can +be a greeter. +@end defvr + +@deftp {Data Type} greetd-configuration +Configuration record for the greetd daemon service. + +@table @asis +@item @code{greetd} (default: @code{greetd}) +The greetd package to use. + +@item @code{config-file-name} +Configuration file name to use for greetd daemon. Generally, autogenerated +derivation based on @code{terminal-vt} value. + +@item @code{terminal-vt} (default: @samp{"7"}) +The VT to run on. Use of a specific VT with appropriate conflict avoidance +is recommended. + +@item @code{default-session-user} (default: @samp{"greeter"}) +The user to use for running the greeter. + +@item @code{default-session-command} (default: @code{greetd-agreety-tty-session}) +The command-line to run to start the default session. + +Possible values are: + +@itemize @bullet +@item +@code{greetd-agreety-tty-session} - bash terminal session + +@item +@code{greetd-agreety-tty-xdg-session} - bash terminal session with XDG environment + +@item +@code{greetd-agreety-session} - custom instance of terminal session +@end itemize + +@end table +@end deftp + +@deftp {Data Type} greetd-agreety-session +Configuration record for the agreety greetd greeter. + +@table @asis +@item @code{package} (default: @code{bash}) +The package of command. + +@item @code{command-bin} (default: @samp{"/bin/bash"}) +Path to binary relative to @code{package}. + +@item @code{command-args} (default: @code{'("-l")}) +Command arguments to pass to command. + +@item @code{extra-env} (default: @code{'()}) +Extra environment variables to set on login. + +@item @code{command-generator} +Function that receives instance of this configuration as an argument and +returns @code{program-file} that can be used with @code{agreety} greeter. + +Both @code{greetd-agreety-tty-session} and @code{greetd-agreety-tty-xdg-session} +uses @code{greetd-agreety-session} under the hood. + +@end table +@end deftp + +@defvr {Scheme Variable} greetd-agreety-tty-session +Provides instance of @code{greetd-agreety-session} which starts @samp{"bash -l"} +on login. +@end defvr + +@defvr {Scheme Variable} greetd-agreety-tty-xdg-session +Provides instance of @code{greetd-agreety-session} which starts @samp{"bash -l"} +on login. Additionally, will set @code{XDG_SESSION_ID}, @code{XDG_SESSION_TYPE} and +@code{XDG_RUNTIME_DIR} environment variables for session. +@end defvr @node Sound Services @subsection Sound Services -- 2.32.0