From patchwork Sun Sep 11 08:02:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "\\(" X-Patchwork-Id: 42461 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id A346A27BBEA; Sun, 11 Sep 2022 09:04:52 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 5A53927BBE9 for ; Sun, 11 Sep 2022 09:04:52 +0100 (BST) Received: from localhost ([::1]:48310 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oXHxT-0004QO-H4 for patchwork@mira.cbaines.net; Sun, 11 Sep 2022 04:04:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52156) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oXHvi-0004KE-Ou for guix-patches@gnu.org; Sun, 11 Sep 2022 04:03:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51980) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oXHvi-00083a-9V for guix-patches@gnu.org; Sun, 11 Sep 2022 04:03:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oXHvh-0004I5-RL for guix-patches@gnu.org; Sun, 11 Sep 2022 04:03:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#57721] [PATCH v2 1/4] gnu: Add rust-greetd-ipc-0.8. References: <20220910202903.17482-1-paren@disroot.org> In-Reply-To: <20220910202903.17482-1-paren@disroot.org> Resent-From: "(" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 11 Sep 2022 08:03:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57721 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57721@debbugs.gnu.org Cc: "\(" Received: via spool by 57721-submit@debbugs.gnu.org id=B57721.166288333916416 (code B ref 57721); Sun, 11 Sep 2022 08:03:01 +0000 Received: (at 57721) by debbugs.gnu.org; 11 Sep 2022 08:02:19 +0000 Received: from localhost ([127.0.0.1]:40673 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oXHv0-0004Gf-FN for submit@debbugs.gnu.org; Sun, 11 Sep 2022 04:02:18 -0400 Received: from knopi.disroot.org ([178.21.23.139]:53152) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oXHuw-0004GF-6w for 57721@debbugs.gnu.org; Sun, 11 Sep 2022 04:02:16 -0400 Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id AD70A4A04E; Sun, 11 Sep 2022 10:02:12 +0200 (CEST) X-Virus-Scanned: SPAM Filter at disroot.org Received: from knopi.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dJRTc2P19v1P; Sun, 11 Sep 2022 10:02:11 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1662883331; bh=9gxHPnsZJa+LdDcaMvNMK3N5+11B9TfHh+uZvFGg5zI=; h=From:To:Cc:Subject:Date; b=IBTCW35u1i4uVaPDFaRcpRmQ4S/T805fUySCTBhJmUwBf4o1oRqRazkZMDUc3JnPy cVS0Qdvtls++0ZuuJXwNxNr/hKCfX7EPmKG8znyrm+YQn2aNET0iLGGgIntDtBICyt FZc3bkVChgyOl5yQzyYPwsoDFqUabs2t9g6a3gyR5O+4wFbzGxVpgBUCpgqu/4y8GG wodIl9XkzZWgwrllLucK+UPcgFt94uGGG/IfB1X3zNGcqzmMcunxep2IMeNgu/8dZE CQiDRhHV+OU3mPqRw+SEDzOaaFArvYmAN9NChZ1HS1KhgS8LIlGzn9aA3wlUl0FDnS 6mdZ2hhoxo89g== Date: Sun, 11 Sep 2022 09:02:03 +0100 Message-Id: <20220911080206.31115-1-paren@disroot.org> Mime-Version: 1.0 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+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" Reply-to: "\(" X-ACL-Warn: , "\( via Guix-patches" X-Patchwork-Original-From: "\( via Guix-patches" via From: "\\(" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/crates-io.scm (rust-greetd-ipc-0.8): New variable. --- gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 02f7bc7d4d..c7b971ffc2 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -28,6 +28,7 @@ ;;; Copyright © 2022 Marius Bakke ;;; Copyright © 2022 Evgenii Lepikhin ;;; Copyright © 2022 Gabriel Arazas +;;; Copyright © 2022 ( ;;; ;;; This file is part of GNU Guix. ;;; @@ -26136,6 +26137,32 @@ (define-public rust-goblin-0.0 loading crate.") (license license:expat))) +(define-public rust-greetd-ipc-0.8 + (package + (name "rust-greetd-ipc") + (version "0.8.0") + (source (origin + (method url-fetch) + (uri (crate-uri "greetd-ipc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dscriv3adjyaxfaax3cmqrzx6q2vwwchbh86dhll783wjc4ivw0")))) + (build-system cargo-build-system) + (arguments + (list #:cargo-inputs + `(("rust-async-trait" ,rust-async-trait-0.1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-1)))) + (home-page "https://kl.wtf/projects/greetd") + (synopsis "@command{greetd} IPC protocol library for Rust") + (description + "This package provides library that helps you use the +@command{greetd} JSON-based IPC protocol from Rust.") + (license license:gpl3))) + (define-public rust-grep-0.2 (package (name "rust-grep") From patchwork Sun Sep 11 08:02:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "\\(" X-Patchwork-Id: 42460 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 5281E27BBEA; Sun, 11 Sep 2022 09:04:46 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 115CB27BBE9 for ; Sun, 11 Sep 2022 09:04:46 +0100 (BST) Received: from localhost ([::1]:41080 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oXHxL-0004Kk-A6 for patchwork@mira.cbaines.net; Sun, 11 Sep 2022 04:04:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52158) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oXHvj-0004KF-8G for guix-patches@gnu.org; Sun, 11 Sep 2022 04:03:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51982) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oXHvi-00083n-U1 for guix-patches@gnu.org; Sun, 11 Sep 2022 04:03:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oXHvi-0004IK-Oh for guix-patches@gnu.org; Sun, 11 Sep 2022 04:03:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#57721] [PATCH v2 2/4] gnu: Add rust-os-pipe-0.8. Resent-From: "(" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 11 Sep 2022 08:03:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57721 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57721@debbugs.gnu.org Cc: "\(" Received: via spool by 57721-submit@debbugs.gnu.org id=B57721.166288334316438 (code B ref 57721); Sun, 11 Sep 2022 08:03:02 +0000 Received: (at 57721) by debbugs.gnu.org; 11 Sep 2022 08:02:23 +0000 Received: from localhost ([127.0.0.1]:40677 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oXHv4-0004H3-RS for submit@debbugs.gnu.org; Sun, 11 Sep 2022 04:02:23 -0400 Received: from knopi.disroot.org ([178.21.23.139]:53278) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oXHuw-0004GH-9J for 57721@debbugs.gnu.org; Sun, 11 Sep 2022 04:02:17 -0400 Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id A135D4010E; Sun, 11 Sep 2022 10:02:13 +0200 (CEST) X-Virus-Scanned: SPAM Filter at disroot.org Received: from knopi.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EBzEtoEH_Mmu; Sun, 11 Sep 2022 10:02:12 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1662883331; bh=juCQwbElWbmqmXiQivx3Yv4h73YCvzlTPdcpC5PJReg=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=ighQO6fq/Ie70RyCR42Rc+Qq26edd6Cx5izRYscDUSxW9wAZsKwZfRJgidD7MTebQ 9DHHevfW/I30Xyi08vYxzpEbZTYbXJ748PgXdibYEjSKVfC8cylKU9mkeI8/0eB/CG Hnr1yeK+uzVb1+pjRwso9zSAq6hpXjulJKVNnH6zwQ1R5Dd48zefZintyZE7ljyZc6 YZGK9sb6qV8wwnsoCpIXzFKeDAvDhi1ovLl55d3usd/8GsydF80YHwmHrjjQK+UuYb U5lb6DdiChkwRVI5oUwVRpuO7Ajq1H8n36E/RQZi9fxgaX4KwYOwSXQWgt8XsBAkLz 14DvFoLQNHK9A== Date: Sun, 11 Sep 2022 09:02:04 +0100 Message-Id: <20220911080206.31115-2-paren@disroot.org> In-Reply-To: <20220911080206.31115-1-paren@disroot.org> References: <20220911080206.31115-1-paren@disroot.org> Mime-Version: 1.0 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+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" Reply-to: "\(" X-ACL-Warn: , "\( via Guix-patches" X-Patchwork-Original-From: "\( via Guix-patches" via From: "\\(" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/crates-io.scm (rust-os-pipe-0.8): New variable. --- gnu/packages/crates-io.scm | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index c7b971ffc2..f1a84e9d22 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -40800,10 +40800,27 @@ (define-public rust-os-pipe-0.9 "04yjs1hf88jjm17g8a2lr7ibxyyg460rzbgcw9f1yzihq833y8zv")))) (native-inputs (list)))) -(define-public rust-os-pipe-0.5 +(define-public rust-os-pipe-0.8 (package (inherit rust-os-pipe-0.9) (name "rust-os-pipe") + (version "0.8.2") + (source (origin + (method url-fetch) + (uri (crate-uri "os-pipe" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "049ax8shxik7mm68r2nf7xnrcq3z3p7hz54sbrcxwywxqsjdzs41")))) + (arguments + (list #:cargo-inputs + `(("rust-nix" ,rust-nix-0.15) + ("rust-winapi" ,rust-winapi-0.3)))))) + +(define-public rust-os-pipe-0.5 + (package + (inherit rust-os-pipe-0.8) + (name "rust-os-pipe") (version "0.5.1") (source (origin From patchwork Sun Sep 11 08:02:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "\\(" X-Patchwork-Id: 42462 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id E829627BBEA; Sun, 11 Sep 2022 09:05:30 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 310D427BBE9 for ; Sun, 11 Sep 2022 09:05:30 +0100 (BST) Received: from localhost ([::1]:47650 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oXHy5-0004tE-Bj for patchwork@mira.cbaines.net; Sun, 11 Sep 2022 04:05:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52154) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oXHvi-0004KD-TO for guix-patches@gnu.org; Sun, 11 Sep 2022 04:03:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51981) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oXHvi-00083c-FF for guix-patches@gnu.org; Sun, 11 Sep 2022 04:03:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oXHvi-0004ID-9z for guix-patches@gnu.org; Sun, 11 Sep 2022 04:03:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#57721] [PATCH v2 3/4] gnu: Add wlgreet. Resent-From: "(" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 11 Sep 2022 08:03:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57721 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57721@debbugs.gnu.org Cc: "\(" Received: via spool by 57721-submit@debbugs.gnu.org id=B57721.166288333916422 (code B ref 57721); Sun, 11 Sep 2022 08:03:02 +0000 Received: (at 57721) by debbugs.gnu.org; 11 Sep 2022 08:02:19 +0000 Received: from localhost ([127.0.0.1]:40675 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oXHv0-0004Gj-UU for submit@debbugs.gnu.org; Sun, 11 Sep 2022 04:02:19 -0400 Received: from knopi.disroot.org ([178.21.23.139]:53426) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oXHux-0004GJ-BS for 57721@debbugs.gnu.org; Sun, 11 Sep 2022 04:02:17 -0400 Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id D4B7449FF9; Sun, 11 Sep 2022 10:02:14 +0200 (CEST) X-Virus-Scanned: SPAM Filter at disroot.org Received: from knopi.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id q9vvUCzkoeJ1; Sun, 11 Sep 2022 10:02:13 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1662883331; bh=b6IqmkhbmAX9/nNvFD/UbuMvQ9XAH9T0qh8+vFKL2ME=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=fjQ2QdNJK8uIGeSKur8W9oSbY4Os7hADGwquyvFEgK8KdudrHhAsMBjjtNw8+rbYq muz9tX5t04g59htjjRCd3DvQWvken9ev7VEN3uBPXhasa5Ik1BulzovpNdIG/YvENH ydNa1LohmFjCXHVgbOPVk78zFQ4TE/4LqzrGvwy6QJlYa4FPqBtrWJdM7KsEXGXlvU rBsKX9HtLnfU+jV8DCIe0aWigQtcR4BfcveUz124LIdIyOmSp58/frEHT90VgvpMog ou2VUPucUVHgWu9xrvqW7s8N3YnruXD1T/mU7VQhLjiqMjZC/ICAtPtFgrSbyitEWL 85jPUBJerlh6w== Date: Sun, 11 Sep 2022 09:02:05 +0100 Message-Id: <20220911080206.31115-3-paren@disroot.org> In-Reply-To: <20220911080206.31115-1-paren@disroot.org> References: <20220911080206.31115-1-paren@disroot.org> Mime-Version: 1.0 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+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" Reply-to: "\(" X-ACL-Warn: , "\( via Guix-patches" X-Patchwork-Original-From: "\( via Guix-patches" via From: "\\(" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/admin.scm (wlgreet): New variable. --- gnu/packages/admin.scm | 71 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 21f9176bfa..bf76d3bd30 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -51,6 +51,7 @@ ;;; Copyright © 2021 Artyom V. Poptsov ;;; Copyright © 2022 Wamm K. D. ;;; Copyright © 2022 Roman Riabenko +;;; Copyright © 2022 ( ;;; ;;; This file is part of GNU Guix. ;;; @@ -97,6 +98,7 @@ (define-module (gnu packages admin) #:use-module (gnu packages c) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages crates-graphics) #:use-module (gnu packages crates-io) #:use-module (gnu packages cross-base) #:use-module (gnu packages crypto) @@ -107,6 +109,7 @@ (define-module (gnu packages admin) #:use-module (gnu packages elf) #:use-module (gnu packages file) #:use-module (gnu packages flex) + #:use-module (gnu packages fonts) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gawk) #:use-module (gnu packages gettext) @@ -5192,6 +5195,74 @@ (define-public greetd-pam-mount auto-(mounting/unmounting) of XDG_RUNTIME_DIR in the way that it will not interfere with default pam-mount configuration."))) +(define-public wlgreet + (package + (name "wlgreet") + (version "0.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~kennylevinsen/wlgreet") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "00grp63n9nrgqls3knxfv9wjbc7p0jwr7i2vzxy750dz85gi2kzn")))) + (build-system cargo-build-system) + (arguments + (list #:cargo-inputs + `(("rust-chrono" ,rust-chrono-0.4) + ("rust-getopts" ,rust-getopts-0.2) + ("rust-greetd-ipc" ,rust-greetd-ipc-0.8) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-memmap2" ,rust-memmap2-0.3) + ("rust-nix" ,rust-nix-0.15) + ("rust-os-pipe" ,rust-os-pipe-0.8) + ("rust-rusttype" ,rust-rusttype-0.7) + ("rust-serde" ,rust-serde-1) + ("rust-smithay-client-toolkit" + ,rust-smithay-client-toolkit-0.15) + ("rust-toml" ,rust-toml-0.5) + ("rust-wayland-client" ,rust-wayland-client-0.29) + ("rust-wayland-protocols" ,rust-wayland-protocols-0.29) + ("rust-xml-rs" ,rust-xml-rs-0.8)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-bundled-fonts + (lambda _ + (delete-file-recursively "fonts"))) + (add-after 'remove-bundled-fonts 'fix-font-references + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/draw.rs" + (("\\.\\./fonts/dejavu/DejaVuSansMono\\.ttf" _) + (search-input-file + inputs + "share/fonts/truetype/DejaVuSansMono.ttf")) + (("\\.\\./fonts/Roboto-Regular\\.ttf" _) + (search-input-file + inputs + "share/fonts/truetype/Roboto-Regular.ttf"))))) + (add-after 'configure 'fix-library-references + (lambda* (#:key inputs vendor-dir #:allow-other-keys) + (substitute* (find-files vendor-dir "\\.rs$") + (("lib(wayland-.*|xkbcommon)\\.so" so-file) + (search-input-file + inputs + (string-append "lib/" so-file))))))))) + (inputs + (list font-dejavu + font-google-roboto + libxkbcommon + wayland)) + (home-page "https://git.sr.ht/~kennylevinsen/wlgreet") + (synopsis "Bare-bones Wayland-based greeter for @command{greetd}") + (description + "@command{wlgreet} provides a @command{greetd} greeter +that runs on a Wayland compositor such as @command{sway}. It +is implemented with pure Wayland APIs, so it does not depend +on a GUI toolkit.") + (license license:gpl3))) + (define-public libseat (package (name "libseat") From patchwork Sun Sep 11 08:02:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "\\(" X-Patchwork-Id: 42463 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 0F0F527BBEA; Sun, 11 Sep 2022 09:07:07 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 307AE27BBE9 for ; Sun, 11 Sep 2022 09:07:06 +0100 (BST) Received: from localhost ([::1]:54340 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oXHzd-00053s-8v for patchwork@mira.cbaines.net; Sun, 11 Sep 2022 04:07:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52160) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oXHvj-0004KJ-MC for guix-patches@gnu.org; Sun, 11 Sep 2022 04:03:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51983) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oXHvj-00083u-DH for guix-patches@gnu.org; Sun, 11 Sep 2022 04:03:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oXHvj-0004IR-82 for guix-patches@gnu.org; Sun, 11 Sep 2022 04:03:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#57721] [PATCH v2 4/4] gnu: base: Add greetd-wlgreet-sway-session. Resent-From: "(" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 11 Sep 2022 08:03:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57721 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57721@debbugs.gnu.org Cc: "\(" Received: via spool by 57721-submit@debbugs.gnu.org id=B57721.166288334416449 (code B ref 57721); Sun, 11 Sep 2022 08:03:03 +0000 Received: (at 57721) by debbugs.gnu.org; 11 Sep 2022 08:02:24 +0000 Received: from localhost ([127.0.0.1]:40679 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oXHv5-0004HA-D7 for submit@debbugs.gnu.org; Sun, 11 Sep 2022 04:02:24 -0400 Received: from knopi.disroot.org ([178.21.23.139]:53472) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oXHux-0004GK-L2 for 57721@debbugs.gnu.org; Sun, 11 Sep 2022 04:02:20 -0400 Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 163024A004; Sun, 11 Sep 2022 10:02:15 +0200 (CEST) X-Virus-Scanned: SPAM Filter at disroot.org Received: from knopi.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id y-9mau7aMzLW; Sun, 11 Sep 2022 10:02:13 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1662883332; bh=ujev8tYA/ex+1ZxXUspO0EDxNE3nBpfOMWp62AwIydg=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=iR5emTysgmc+UrgbvWkjURoYEgvZoPhCOXkRJgy75KiwvLFsk+aoHyeX8bGETo9zn yHHeQgKHvliJxw6+ZbpJK5nUH57f4OUHtpOxODty3kOFJQvJIPN23KsecRLAyngjFE HCx+eMQJq5toPQNeBU+2DvcuXmvfQ1oSF3JmAV1Lob8HG95dmewfikyMFEtoED5u83 RR1y5DlcUax977J122lPWHkXRK8th4irD5xiAbdFbuefL19ph4PmulTu7n/qQQsTKB fXnMmW6QaqnQuyqF2rfgVKhsSnPym/8rwy3gRZBWMtMLYaD3E7eMwqK7/1amD1I4fC N0sKv2CRnhzBw== Date: Sun, 11 Sep 2022 09:02:06 +0100 Message-Id: <20220911080206.31115-4-paren@disroot.org> In-Reply-To: <20220911080206.31115-1-paren@disroot.org> References: <20220911080206.31115-1-paren@disroot.org> Mime-Version: 1.0 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+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" Reply-to: "\(" X-ACL-Warn: , "\( via Guix-patches" X-Patchwork-Original-From: "\( via Guix-patches" via From: "\\(" X-getmail-retrieved-from-mailbox: Patches * gnu/services/base.scm (greetd-wlgreet-session): New data type. (greetd-wlgreet-sway-session): Likewise. * doc/guix.texi ("Base Services")[greetd-service-type]: Document them. --- doc/guix.texi | 76 +++++++++++++++++++++++++++ gnu/services/base.scm | 117 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 193 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index c21235f28d..0203685f82 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -106,6 +106,7 @@ Copyright @copyright{} 2022 Philip M@sup{c}Grath@* Copyright @copyright{} 2022 Karl Hallsby@* Copyright @copyright{} 2022 Justin Veilleux@* Copyright @copyright{} 2022 Reily Siegel@* +Copyright @copyright{} 2022 (@* Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -18633,6 +18634,81 @@ are set right after mentioned variables, so that they can be overriden. @end table @end deftp +@deftp {Data Type} greetd-wlgreet-session +Generic configuration record for the wlgreet greetd greeter. + +@table @asis +@item @code{wlgreet} (default: @code{wlgreet}) +The package with the @command{/bin/wlgreet} command. + +@item @code{command} (default: @code{(file-append sway "/bin/sway")}) +Command to be started by @command{/bin/wlgreet} on successful login. + +@item @code{command-args} (default: @code{'()}) +Command arguments to pass to command. + +@item @code{output-mode} (default: @code{"all"}) +Option to use for @code{outputMode} in the TOML configuration file. + +@item @code{scale} (default: @code{1}) +Option to use for @code{scale} in the TOML configuration file. + +@item @code{background} (default: @code{'(0 0 0 0.9)}) +RGBA list to use as the background colour of the login prompt. + +@item @code{headline} (default: @code{'(1 1 1 1)}) +RGBA list to use as the headline colour of the UI popup. + +@item @code{prompt} (default: @code{'(1 1 1 1)}) +RGBA list to use as the prompt colour of the UI popup. + +@item @code{prompt-error} (default: @code{'(1 1 1 1)}) +RGBA list to use as the error colour of the UI popup. + +@item @code{border} (default: @code{'(1 1 1 1)}) +RGBA list to use as the border colour of the UI popup. + +@item @code{extra-env} (default: @code{'()}) +Extra environment variables to set on login. + +@end table +@end deftp + +@deftp {Data Type} greetd-wlgreet-sway-session +Sway-specific configuration record for the wlgreet greetd greeter. + +@table @asis +@item @code{wlgreet-session} (default: @code{(greetd-wlgreet-session)}) +A @code{greetd-wlgreet-session} record for generic wlgreet configuration, +on top of the Sway-specific @code{greetd-wlgreet-sway-session}. + +@item @code{sway} (default: @code{sway}) +The package providing the @command{/bin/sway} command. + +@item @code{sway-configuration} (default: #f) +File-like object providing an additional Sway configuration file to be +prepended to the mandatory part of the configuration. + +@end table + +Here is an example of a greetd configuration that uses wlgreet and Sway: + +@lisp + (greetd-configuration + ;; We need to give the greeter user these permissions, otherwise + ;; Sway will crash on launch. + (greeter-supplementary-groups (list "video" "input" "seat")) + (terminals + (list (greetd-terminal-configuration + (terminal-vt "1") + (terminal-switch #t) + (default-session-command + (greetd-wlgreet-sway-session + (sway-configuration + (local-file "sway-greetd.conf")))))))) +@end lisp +@end deftp + @node Scheduled Job Execution @subsection Scheduled Job Execution diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 616bc42e69..16c4b1f533 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -19,6 +19,7 @@ ;;; Copyright © 2021 muradm ;;; Copyright © 2022 Guillaume Le Vaillant ;;; Copyright © 2022 Justin Veilleux +;;; Copyright © 2022 ( ;;; ;;; This file is part of GNU Guix. ;;; @@ -66,6 +67,7 @@ (define-module (gnu services base) #:use-module ((gnu packages gnupg) #:select (guile-gcrypt)) #:use-module (gnu packages linux) #:use-module (gnu packages terminals) + #:use-module ((gnu packages wm) #:select (sway)) #:use-module ((gnu build file-systems) #:select (mount-flags->bit-mask swap-space->flags-bit-mask)) @@ -231,6 +233,8 @@ (define-module (gnu services base) greetd-configuration greetd-terminal-configuration greetd-agreety-session + greetd-wlgreet-session + greetd-wlgreet-sway-session %base-services)) @@ -2869,6 +2873,117 @@ (define (make-greetd-agreety-session-command config command) "agreety-command" #~(execl #$agreety #$agreety "-c" #$command)))) +(define-record-type* + greetd-wlgreet-session make-greetd-wlgreet-session + greetd-wlgreet-session? + (wlgreet greetd-wlgreet (default wlgreet)) + (command greetd-wlgreet-command + (default (file-append sway "/bin/sway"))) + (command-args greetd-wlgreet-command-args (default '())) + (output-mode greetd-wlgreet-output-mode (default "all")) + (scale greetd-wlgreet-scale (default 1)) + (background greetd-wlgreet-background (default '(0 0 0 0.9))) + (headline greetd-wlgreet-headline (default '(1 1 1 1))) + (prompt greetd-wlgreet-prompt (default '(1 1 1 1))) + (prompt-error greetd-wlgreet-prompt-error (default '(1 1 1 1))) + (border greetd-wlgreet-border (default '(1 1 1 1))) + (extra-env greetd-wlgreet-extra-env (default '()))) + +(define (greetd-wlgreet-wayland-session-command session) + (program-file "wlgreet-session-command" + #~(let* ((username (getenv "USER")) + (useruid (number->string + (passwd:uid (getpwuid username)))) + (command #$(greetd-wlgreet-command session))) + (use-modules (ice-9 match)) + (setenv "XDG_SESSION_TYPE" "wayland") + (setenv "XDG_RUNTIME_DIR" (string-append "/run/user/" useruid)) + (for-each (lambda (env) (setenv (car env) (cdr env))) + '(#$@(greetd-wlgreet-extra-env session))) + (apply execl command command + (list #$@(greetd-wlgreet-command-args session)))))) + +(define (make-wlgreet-config-color section-name color) + (match color + ((red green blue opacity) + (string-append + "[" section-name "]\n" + "red = " (number->string red) "\n" + "green = " (number->string green) "\n" + "blue = " (number->string blue) "\n" + "opacity = " (number->string opacity) "\n")))) + +(define (make-wlgreet-configuration-file session) + (let ((command (greetd-wlgreet-wayland-session-command session)) + (output-mode (greetd-wlgreet-output-mode session)) + (scale (greetd-wlgreet-scale session)) + (background (greetd-wlgreet-background session)) + (headline (greetd-wlgreet-headline session)) + (prompt (greetd-wlgreet-prompt session)) + (prompt-error (greetd-wlgreet-prompt-error session)) + (border (greetd-wlgreet-border session))) + (mixed-text-file "wlgreet.toml" + "command = \"" command "\"\n" + "outputMode = \"" output-mode "\"\n" + "scale = " (number->string scale) "\n" + (apply string-append + (map (match-lambda + ((section-name . color) + (make-wlgreet-config-color section-name color))) + `(("background" . ,background) + ("headline" . ,headline) + ("prompt" . ,prompt) + ("prompt-error" . ,prompt-error) + ("border" . ,border))))))) + +(define-record-type* + greetd-wlgreet-sway-session make-greetd-wlgreet-sway-session + greetd-wlgreet-sway-session? + (wlgreet-session greetd-wlgreet-sway-session-wlgreet-session ; + (sway-configuration greetd-wlgreet-sway-session-sway-configuration ;file-like + (default #f))) + +(define (make-wlgreet-sway-configuration-file session) + (let* ((wlgreet-session (greetd-wlgreet-sway-session-wlgreet-session session)) + (wlgreet-config (make-wlgreet-configuration-file wlgreet-session)) + (wlgreet (file-append (greetd-wlgreet wlgreet-session) "/bin/wlgreet")) + (sway-config (greetd-wlgreet-sway-session-sway-configuration session)) + (swaymsg (file-append (greetd-wlgreet-sway-session-sway session) + "/bin/swaymsg"))) + (mixed-text-file "wlgreet-sway.conf" + (if sway-config + #~(string-append "include " #$sway-config "\n") + "") + "xwayland disable\n" + "exec \"" wlgreet " --config " wlgreet-config "; " + swaymsg " exit\"\n"))) + +(define (greetd-wlgreet-sway-session-command session) + (program-file "wlgreet-sway-session-command" + #~(let* ((sway #$(file-append (greetd-wlgreet-sway-session-sway session) + "/bin/sway")) + (config #$(make-wlgreet-sway-configuration-file session)) + (log-file (open-output-file + (string-append "/tmp/sway-greeter." + (number->string (getpid)) + ".log"))) + (username (getenv "USER")) + (useruid (number->string (passwd:uid (getpwuid username))))) + + ;; redirect stdout/err to log-file + (dup2 (fileno log-file) 1) + (dup2 1 2) + + ;; XXX: If we start sway immediately, it won't find seatd for some + ;; reason... + (sleep 1) + + (setenv "XDG_RUNTIME_DIR" (string-append "/run/user/" useruid)) + (execl sway sway "-d" "-c" config)))) + + (define (make-greetd-default-session-command config-or-command) (cond ((greetd-agreety-session? config-or-command) (cond ((greetd-agreety-xdg-env? config-or-command) @@ -2879,6 +2994,8 @@ (define (make-greetd-default-session-command config-or-command) (make-greetd-agreety-session-command config-or-command (greetd-agreety-tty-session-command config-or-command))))) + ((greetd-wlgreet-sway-session? config-or-command) + (greetd-wlgreet-sway-session-command config-or-command)) (#t config-or-command))) (define-record-type*