Subject: [bug#58317] Subsequent patches for greetd-{wlgreet, ddlm}

From: Declan Tsien <[email-masked]>
Date: Thu, 06 Oct 2022 09:09:09 +0800

From 1a5b4f011fe95194b3556f1d7395ff8c95f6c35a Mon Sep 17 00:00:00 2001
From: Declan Tsien <[email-masked]>
Date: Thu, 6 Oct 2022 08:38:16 +0800
Subject: [PATCH 02/13] gnu: Add rust-byteorder-0.3.

* gnu/packages/crates-io.scm (rust-byteorder-0.3): New variable.
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9a64b356b5..9639a2ae9f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9229,6 +9229,27 @@ (define-public rust-byteorder-0.5
        (("rust-quickcheck" ,rust-quickcheck-0.2)
         ("rust-rand" ,rust-rand-0.3))))))
 
+(define-public rust-byteorder-0.3
+  (package
+    (name "rust-byteorder")
+    (version "0.3.13")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "byteorder" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0xd1vzp1yzw9f9qpm7w3mp9kqxdxwrwzqs4d620n6m4g194smci9"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t))
+    (home-page "https://github.com/BurntSushi/byteorder")
+    (synopsis
+     "Library for reading/writing numbers in big-endian and little-endian.")
+    (description
+     "Library for reading/writing numbers in big-endian and little-endian.")
+    (license (list license:unlicense license:expat))))
+
 (define-public rust-bytes-1
   (package
     (name "rust-bytes")
-- 
2.37.3

From f3020a65817d492ce3a525263a798cf9c5f2edb1 Mon Sep 17 00:00:00 2001
From: Declan Tsien <[email-masked]>
Date: Thu, 6 Oct 2022 08:09:51 +0800
Subject: [PATCH 03/13] gnu: Add rust-bmp-0.1.

* gnu/packages/crates-io.scm (rust-bmp-0.1): New variable.
---
 gnu/packages/crates-io.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9639a2ae9f..d88c3faa56 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8196,6 +8196,25 @@ (define-public rust-blocking-0.4
         ("rust-parking" ,rust-parking-1)
         ("rust-waker-fn" ,rust-waker-fn-1))))))
 
+(define-public rust-bmp-0.1
+  (package
+    (name "rust-bmp")
+    (version "0.1.4")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "bmp" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "02cm075qpl3bk1s6111f52agbwahr9pczbila9gwwj1jj9dbp9ik"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-byteorder" ,rust-byteorder-0.3))))
+    (home-page "https://github.com/sondrele/rust-bmp")
+    (synopsis "Small library for reading and writing BMP images in Rust")
+    (description "Small library for reading and writing BMP images in Rust.")
+    (license license:expat)))
+
 (define-public rust-boomphf-0.5
   (package
     (name "rust-boomphf")
-- 
2.37.3

From 9e4ded375b4332f324620ab1f54b212412fd4b00 Mon Sep 17 00:00:00 2001
From: Declan Tsien <[email-masked]>
Date: Thu, 6 Oct 2022 08:24:20 +0800
Subject: [PATCH 04/13] gnu: rust-errno-0.2: Update to 0.2.8.

* gnu/packages/crates-io.scm (rust-errno-0.2): Update to 0.2.8.
---
 gnu/packages/crates-io.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d88c3faa56..75379d59f8 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -21092,7 +21092,7 @@ (define-public rust-err-derive-0.2
 (define-public rust-errno-0.2
   (package
     (name "rust-errno")
-    (version "0.2.4")
+    (version "0.2.8")
     (source
      (origin
        (method url-fetch)
@@ -21101,7 +21101,7 @@ (define-public rust-errno-0.2
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0kn8mlygxxr02cm97401nppd2dbkwsalpcbai67rh6yh3rh73862"))))
+         "18cnqgk8r6lq1n5cfy3bryiyz9zkqr10dxj49sa3fkzfamih8fgn"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
-- 
2.37.3

From 0613ce434a4e809bc4920d6abeff1e3955778dcd Mon Sep 17 00:00:00 2001
From: Declan Tsien <[email-masked]>
Date: Thu, 6 Oct 2022 08:12:04 +0800
Subject: [PATCH 05/13] gnu: Add rust-framebuffer-0.2.

* gnu/packages/crates-io.scm (rust-framebuffer-0.2): New variable.
---
 gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 75379d59f8..10284331ee 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -23294,6 +23294,31 @@ (define-public rust-form-urlencoded-1
 syntax, as used by HTML forms.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-framebuffer-0.2
+  (package
+    (name "rust-framebuffer")
+    (version "0.2.2")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "framebuffer" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "12mbd74nivxs43z32lg1pm6nkyryhmbg2h27f96xj8h64yc21s6z"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-errno" ,rust-errno-0.2)
+                       ("rust-libc" ,rust-libc-0.2)
+                       ("rust-memmap" ,rust-memmap-0.7))
+       #:cargo-development-inputs (("rust-bmp" ,rust-bmp-0.1)
+                                   ("rust-rand" ,rust-rand-0.6))))
+    (home-page "https://github.com/roysten/rust-framebuffer")
+    (synopsis "Basic framebuffer abstraction")
+    (description
+     "Basic framebuffer abstraction.  Handles the necessary ioctls and mmaps the
+framebuffer device.")
+    (license license:wtfpl2)))
+
 (define-public rust-fragile-1
   (package
     (name "rust-fragile")
-- 
2.37.3

From a50d4f70caf3b738dc8315f1c9a47d818e562df4 Mon Sep 17 00:00:00 2001
From: Declan Tsien <[email-masked]>
Date: Thu, 6 Oct 2022 08:16:15 +0800
Subject: [PATCH 06/13] gnu: Add rust-greetd-ipc-0.8.

* gnu/packages/crates-io.scm (rust-greetd-ipc-0.8): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 10284331ee..f3350e6e37 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -26453,6 +26453,29 @@ (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
+     `(#: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://git.sr.ht/~kennylevinsen/greetd")
+    (synopsis "An implementation of the greetd IPC protocol")
+    (description "An implementation of the greetd IPC protocol.")
+    (license license:gpl3)))
+
 (define-public rust-grep-0.2
   (package
     (name "rust-grep")
-- 
2.37.3

From 6025ef419a106420f135c77889db532fdfc3b41a Mon Sep 17 00:00:00 2001
From: Declan Tsien <[email-masked]>
Date: Thu, 6 Oct 2022 08:32:13 +0800
Subject: [PATCH 07/13] gnu: Add rust-users-0.8.

* gnu/packages/crates-io.scm (rust-users-0.8): New variable.
---
 gnu/packages/crates-io.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f3350e6e37..0b7dad326e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -71109,6 +71109,26 @@ (define-public rust-users-0.9
     (arguments
      `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))))
 
+(define-public rust-users-0.8
+  (package
+    (name "rust-users")
+    (version "0.8.1")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "users" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1dss2l4x3zgjq26mwa97aa5xmsb5z2x3vhhhh3w3azan284pvvbz"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
+    (home-page "https://github.com/ogham/rust-users")
+    (synopsis "Library for accessing Unix users and groups")
+    (description "Library for accessing Unix users and groups")
+    (license license:expat)))
+
 (define-public rust-utf-8-0.7
   (package
     (name "rust-utf-8")
-- 
2.37.3

From 89d31947051c48770bcf9dd8acd551af2d7ff7af Mon Sep 17 00:00:00 2001
From: Declan Tsien <[email-masked]>
Date: Thu, 6 Oct 2022 08:28:51 +0800
Subject: [PATCH 08/13] gnu: Add rust-pam-0.7.

* gnu/packages/crates-io.scm (rust-pam-0.7): New variable.
---
 gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0b7dad326e..421bcea151 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -76145,6 +76145,28 @@ (define-public rust-enquote-1
     (description "A Rust library quotes, unquotes, and unescapes strings")
     (license license:unlicense)))
 
+(define-public rust-pam-0.7
+  (package
+    (name "rust-pam")
+    (version "0.7.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "pam" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "15rhp57pdb54lcx37vymcimimpd1ma90lhm10iq08710kjaxqazs"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
+                       ("rust-pam-sys" ,rust-pam-sys-0.5)
+                       ("rust-users" ,rust-users-0.8))
+       #:cargo-development-inputs (("rust-rpassword" ,rust-rpassword-2))))
+    (home-page "https://github.com/1wilkens/pam/")
+    (synopsis "Safe Rust wrappers for PAM authentification")
+    (description "Safe Rust wrappers for PAM authentification")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-pam-sys-0.5
   (package
     (name "rust-pam-sys")
-- 
2.37.3

From 521b8246e9b1cfdda7587cfc436c316cca811e31 Mon Sep 17 00:00:00 2001
From: Declan Tsien <[email-masked]>
Date: Thu, 6 Oct 2022 08:39:04 +0800
Subject: [PATCH 09/13] gnu: Add rust-os-pipe-0.8.

* gnu/packages/crates-io.scm (rust-os-pipe-0.8): New variable.
---
 gnu/packages/crates-io.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 421bcea151..8d72859894 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -41477,6 +41477,26 @@ (define-public rust-os-pipe-1
      "This package provides a cross-platform library for opening OS pipes.")
     (license license:expat)))
 
+(define-public rust-os-pipe-0.8
+  (package
+    (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"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-nix" ,rust-nix-0.15)
+                       ("rust-winapi" ,rust-winapi-0.3))))
+    (home-page "https://github.com/oconnor663/os_pipe.rs")
+    (synopsis "a cross-platform library for opening OS pipes")
+    (description "a cross-platform library for opening OS pipes")
+    (license license:expat)))
+
 (define-public rust-os-pipe-0.9
   (package
     (inherit rust-os-pipe-1)
-- 
2.37.3

From 5333e714050049a0bc3ebd65e1b7a0f807cd653f Mon Sep 17 00:00:00 2001
From: Declan Tsien <[email-masked]>
Date: Thu, 6 Oct 2022 08:42:09 +0800
Subject: [PATCH 10/13] gnu: Add rust-os-str-bytes-1.

* gnu/packages/crates-io.scm (rust-os-str-bytes-1): New variable.
---
 gnu/packages/crates-io.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8d72859894..4b06a17cba 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -41597,6 +41597,26 @@ (define-public rust-os-str-bytes-2
          "11agh8n3x2l4sr3sxvx6byc1j3ryb1g6flb1ywn0qhq7xv1y3cmg"))))
     (arguments `(#:skip-build? #t))))
 
+(define-public rust-os-str-bytes-1
+  (package
+    (name "rust-os-str-bytes")
+    (version "1.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "os_str_bytes" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1554vj5ia6p7h6ggxjmd3df743qg2fc8lx9bswxjks9a7ah0jgpi"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t))
+    (home-page "https://github.com/dylni/os_str_bytes")
+    (synopsis "Convert between byte sequences and platform-native strings
+")
+    (description "Convert between byte sequences and platform-native strings")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-ouroboros-macro-0.15
   (package
     (name "rust-ouroboros-macro")
-- 
2.37.3

From ea65720b05962d3f323ef4875f670f9a21360394 Mon Sep 17 00:00:00 2001
From: Declan Tsien <[email-masked]>
Date: Thu, 6 Oct 2022 08:42:53 +0800
Subject: [PATCH 11/13] gnu: Add rust-osstrtools-0.2.

* gnu/packages/crates-io.scm (rust-osstrtools-0.2): New variable.
---
 gnu/packages/crates-io.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4b06a17cba..61d08c72fa 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -41617,6 +41617,26 @@ (define-public rust-os-str-bytes-1
     (description "Convert between byte sequences and platform-native strings")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-osstrtools-0.2
+  (package
+    (name "rust-osstrtools")
+    (version "0.2.2")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "osstrtools" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1fna5n3b6237dsp6cm8wi07v44iw6azxhryks9wbhfpfkvddla7k"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-itertools" ,rust-itertools-0.8)
+                       ("rust-os-str-bytes" ,rust-os-str-bytes-1))))
+    (home-page "https://github.com/rabite0/osstrtools")
+    (synopsis "Additional helper methods for OsStr")
+    (description "Additional helper methods for OsStr")
+    (license license:wtfpl2)))
+
 (define-public rust-ouroboros-macro-0.15
   (package
     (name "rust-ouroboros-macro")
-- 
2.37.3

From 6d9e13264f058474ac10c29ca1b2cfe61c4cdba8 Mon Sep 17 00:00:00 2001
From: Declan Tsien <[email-masked]>
Date: Thu, 6 Oct 2022 08:52:48 +0800
Subject: [PATCH 12/13] gnu: Add greetd-wlgreet.

* gnu/packages/display-managers.scm (greetd-wlgreet): New variable.
---
 gnu/packages/display-managers.scm | 41 +++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index 5699d1f85c..6915115df5 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -34,6 +34,7 @@ (define-module (gnu packages display-managers)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
+  #:use-module (guix build-system cargo)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system qt)
   #:use-module (guix build-system gnu)
@@ -48,6 +49,8 @@ (define-module (gnu packages display-managers)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
+  #:use-module (gnu packages crates-graphics)
+  #:use-module (gnu packages crates-io)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gl)
@@ -137,6 +140,44 @@ (define-public sddm
     (license (list license:gpl2+ license:expat license:cc-by3.0))))

+(define-public greetd-wlgreet
+  (package
+    (name "greetd-wlgreet")
+    (version "0.4")
+    (home-page "https://git.sr.ht/~kennylevinsen/wlgreet")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url home-page)
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "00grp63n9nrgqls3knxfv9wjbc7p0jwr7i2vzxy750dz85gi2kzn"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("smithay-client-toolkit" ,rust-smithay-client-toolkit-0.15)
+                       ("rusttype" ,rust-rusttype-0.7)
+                       ("chrono" ,rust-chrono-0.4)
+                       ("nix" ,rust-nix-0.15)
+                       ("memmap2" ,rust-memmap2-0.3)
+                       ("os_pipe" ,rust-os-pipe-0.8)
+                       ("wayland-client" ,rust-wayland-client-0.29)
+                       ("wayland-protocols" ,rust-wayland-protocols-0.29)
+                       ("lazy_static" ,rust-lazy-static-1)
+                       ("serde" ,rust-serde-1)
+                       ("greetd_ipc" ,rust-greetd-ipc-0.8)
+                       ("getopts" ,rust-getopts-0.2)
+                       ("toml" ,rust-toml-0.5)
+                       ("xml-rs" ,rust-xml-rs-0.8))))
+    (synopsis
+     "Raw wayland greeter for greetd, to be run under sway or similar")
+    (description
+     "Raw wayland greeter for @command{greetd}, to be run under @command{sway}
+or similar.  Note that @command{cage} is currently not supported due to it
+lacking wlr-layer-shell-unstable support.")
+    (license license:gpl3+)))
+
 (define-public greetd-gtkgreet
   (let ((revision "0")
         (commit "c09696f6a27aa0e4769fd3f707f27be4407ec95d"))
-- 
2.37.3

From 03b4d1df53b17c72b08752b051e6d16a91392d4b Mon Sep 17 00:00:00 2001
From: Declan Tsien <[email-masked]>
Date: Thu, 6 Oct 2022 08:54:08 +0800
Subject: [PATCH 13/13] gnu: Add greetd-ddlm.

* gnu/packages/display-managers.scm (greetd-ddlm): New variable.
---
 gnu/packages/display-managers.scm | 44 +++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index 6915115df5..a4843a1137 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -139,6 +139,50 @@ (define-public sddm
     ;; QML files are MIT licensed and images are CC BY 3.0.
     (license (list license:gpl2+ license:expat license:cc-by3.0))))
 
+(define-public greetd-ddlm
+  (let ((revision "0")
+        (commit "1115a50a1ca42ba25296de29165637c5a10b0417"))
+    (package
+      (name "greetd-ddlm")
+      (version (git-version "0.1.0" revision commit))
+      (home-page "https://github.com/deathowl/ddlm")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url home-page)
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "00qklf8vr7id7mm9bvsyqcha23hc8pry0d9ggwlzg74mjkxkxm2w"))
+                (modules '((guix build utils)))
+                (snippet '(begin
+                            (substitute* "Cargo.toml"
+                              (("version = \"0.6.0\"")
+                               "version = \"0.8\""))))))
+      (build-system cargo-build-system)
+      (arguments
+       `(#:cargo-inputs (("framebuffer" ,rust-framebuffer-0.2)
+                         ("byteorder" ,rust-byteorder-1)
+                         ("rusttype" ,rust-rusttype-0.7)
+                         ("chrono" ,rust-chrono-0.4)
+                         ("nix" ,rust-nix-0.15)
+                         ("memmap" ,rust-memmap-0.7)
+                         ("lazy_static" ,rust-lazy-static-1)
+                         ("termion" ,rust-termion-1)
+                         ("pam" ,rust-pam-0.7)
+                         ("users" ,rust-users-0.9)
+                         ("greetd_ipc" ,rust-greetd-ipc-0.8)
+                         ("getopts" ,rust-getopts-0.2)
+                         ("hostname" ,rust-hostname-0.3)
+                         ("osstrtools" ,rust-osstrtools-0.2)
+                         ("structopt" ,rust-structopt-0.3))))
+      (synopsis
+       "GTK based greeter for greetd, to be run under cage or similar")
+      (description
+       "GTK based greeter for @command{greetd}, to be run under @command{cage}
+or similar.")
+      (license license:gpl3+))))
 
 (define-public greetd-wlgreet
   (package
-- 
2.37.3