summary refs log tree commit diff
path: root/gnu/packages/display-managers.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/display-managers.scm')
-rw-r--r--gnu/packages/display-managers.scm175
1 files changed, 117 insertions, 58 deletions
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index 8a0342d7c5..80aad1af5d 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -10,6 +10,8 @@
 ;;; Copyright © 2020 Fredrik Salomonsson <plattfot@gmail.com>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 ;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -37,8 +39,10 @@
   #:use-module (guix build-system trivial)
   #:use-module (guix packages)
   #:use-module (guix utils)
+  #:use-module (guix gexp)
   #:use-module (gnu packages)
   #:use-module (gnu packages admin)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gl)
@@ -71,47 +75,43 @@
                 "0hcdysw8ibr66vk8i7v56l0v5ijvhlq67v4460mc2xf2910g2m72"))))
     (build-system qt-build-system)
     (native-inputs
-     `(("extra-cmake-modules" ,extra-cmake-modules)
-       ("pkg-config" ,pkg-config)
-       ("qttools" ,qttools)))
+     (list extra-cmake-modules pkg-config qttools))
     (inputs
-     `(("elogind" ,elogind)
-       ("glib" ,glib)
-       ("libxcb" ,libxcb)
-       ("libxkbcommon" ,libxkbcommon)
-       ("linux-pam" ,linux-pam)
-       ("qtbase" ,qtbase-5)
-       ("qtdeclarative" ,qtdeclarative)
-
-       ;; Some user-defined themes use QtQuick components internally.  Adding
-       ;; QtQuick & co. here; they end up in QML2_IMPORT_PATH thanks to
-       ;; 'wrap-qt-program'.
-       ("qtgraphicaleffects" ,qtgraphicaleffects)
-       ("qtquickcontrols" ,qtquickcontrols)
-       ("qtquickcontrols2" ,qtquickcontrols2)
-       ("qtsvg" ,qtsvg)
-
-       ("shadow" ,shadow)
-       ("wayland" ,wayland)))
+     (list elogind
+           glib
+           libxcb
+           libxkbcommon
+           linux-pam
+           qtbase-5
+           qtdeclarative
+           ;; Some user-defined themes use QtQuick components internally.  Adding
+           ;; QtQuick & co. here; they end up in QML2_IMPORT_PATH thanks to
+           ;; 'wrap-qt-program'.
+           qtgraphicaleffects
+           qtquickcontrols
+           qtquickcontrols2
+           qtsvg
+           shadow
+           wayland))
     (arguments
      `(#:configure-flags
-       (list
-        ;; This option currently does nothing, but will presumably be enabled
-        ;; if/when <https://github.com/sddm/sddm/pull/616> is merged.
-        "-DENABLE_WAYLAND=ON"
-        "-DENABLE_PAM=ON"
-        ;; Both flags are required for elogind support.
-        "-DNO_SYSTEMD=ON" "-DUSE_ELOGIND=ON"
-        "-DCONFIG_FILE=/etc/sddm.conf"
-        ;; Set path to /etc/login.defs.
-        ;; An alternative would be to use -DUID_MIN and -DUID_MAX.
-        (string-append "-DLOGIN_DEFS_PATH="
-                       (assoc-ref %build-inputs "shadow")
-                       "/etc/login.defs")
-        (string-append "-DQT_IMPORTS_DIR="
-                       (assoc-ref %outputs "out") "/lib/qt5/qml")
-        (string-append "-DCMAKE_INSTALL_SYSCONFDIR="
-                       (assoc-ref %outputs "out") "/etc"))
+       ,#~(list
+            ;; This option currently does nothing, but will presumably be enabled
+            ;; if/when <https://github.com/sddm/sddm/pull/616> is merged.
+            "-DENABLE_WAYLAND=ON"
+            "-DENABLE_PAM=ON"
+            ;; Both flags are required for elogind support.
+            "-DNO_SYSTEMD=ON" "-DUSE_ELOGIND=ON"
+            "-DCONFIG_FILE=/etc/sddm.conf"
+            ;; Set path to /etc/login.defs.
+            ;; An alternative would be to use -DUID_MIN and -DUID_MAX.
+            (string-append "-DLOGIN_DEFS_PATH="
+                           #$(this-package-input "shadow")
+                           "/etc/login.defs")
+            (string-append "-DQT_IMPORTS_DIR="
+                           #$output "/lib/qt5/qml")
+            (string-append "-DCMAKE_INSTALL_SYSCONFDIR="
+                           #$output "/etc"))
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'embed-loginctl-reference
@@ -189,6 +189,68 @@ Guix's logo.  Based on Arch linux's archlinux-simplyblack theme.")
 easy to use, login interface with a modern yet classy touch.")
     (license license:gpl3+)))
 
+(define-public sugar-dark-sddm-theme
+  (package
+    (name "sugar-dark-sddm-theme")
+    (version "1.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/MarianArlt/sddm-sugar-dark")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0gx0am7vq1ywaw2rm1p015x90b75ccqxnb1sz3wy8yjl27v82yhb"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let* ((out (assoc-ref %outputs "out"))
+                (sddm-themes (string-append out "/share/sddm/themes")))
+           (mkdir-p sddm-themes)
+           (copy-recursively (assoc-ref %build-inputs "source")
+                             (string-append sddm-themes "/chili"))))))
+    (home-page "https://github.com/MarianArlt/sddm-sugar-dark")
+    (synopsis "Sugar dark theme for SDDM")
+    (description "Sugar is extremely customizable and so sweet it will
+probably cause you diabetes just from looking at it.  Sweeten the login
+experience for your users, your family and yourself")
+    (license license:gpl3+)))
+
+(define-public sugar-light-sddm-theme
+  (package
+    (name "sugar-light-sddm-theme")
+    (version "1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/MarianArlt/sddm-sugar-light")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1sfd5bi5jcfz3hmvvr3smalywixa70g5j96qgx1220mp6rqf886k"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let* ((out (assoc-ref %outputs "out"))
+                (sddm-themes (string-append out "/share/sddm/themes")))
+           (mkdir-p sddm-themes)
+           (copy-recursively (assoc-ref %build-inputs "source")
+                             (string-append sddm-themes "/chili"))))))
+    (home-page "https://github.com/MarianArlt/sddm-sugar-light")
+    (synopsis "Sugar light theme for SDDM")
+    (description "Sugar is extremely customizable and so sweet it will
+probably cause you diabetes just from looking at it.  Sweeten the login
+experience for your users, your family and yourself")
+    (license license:gpl3+)))
+
 (define-public lightdm
   (package
     (name "lightdm")
@@ -223,7 +285,7 @@ easy to use, login interface with a modern yet classy touch.")
            ;; Run test-suite under a dbus session.
            (lambda* (#:key inputs #:allow-other-keys)
              (wrap-program "tests/src/test-python-greeter"
-               `("PYTHONPATH"      ":" prefix (,(getenv "PYTHONPATH")))
+               `("GUIX_PYTHONPATH"      ":" prefix (,(getenv "GUIX_PYTHONPATH")))
                `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH"))))
 
              ;; Avoid printing locale warnings, which trip up the text
@@ -231,11 +293,11 @@ easy to use, login interface with a modern yet classy touch.")
              (unsetenv "LC_ALL")
              #t)))))
     (inputs
-     `(("audit" ,audit)
-       ("linux-pam" ,linux-pam)
-       ("shadow" ,shadow)                         ;for sbin/nologin
-       ("libgcrypt" ,libgcrypt)
-       ("libxcb" ,libxcb)))
+     (list audit
+           linux-pam
+           shadow ;for sbin/nologin
+           libgcrypt
+           libxcb))
     (native-inputs
      `(("gobject-introspection" ,gobject-introspection)
        ("pkg-config" ,pkg-config)
@@ -248,9 +310,7 @@ easy to use, login interface with a modern yet classy touch.")
        ("python-pygobject" ,python2-pygobject)))
     ;; Required by liblightdm-gobject-1.pc.
     (propagated-inputs
-     `(("glib" ,glib)
-       ("libx11" ,libx11)
-       ("libxklavier" ,libxklavier)))
+     (list glib libx11 libxklavier))
     (home-page "https://www.freedesktop.org/wiki/Software/LightDM/")
     (synopsis "Lightweight display manager")
     (description "The Light Display Manager (LightDM) is a cross-desktop
@@ -260,16 +320,16 @@ display manager which supports different greeters.")
 (define-public lightdm-gtk-greeter
   (package
     (name "lightdm-gtk-greeter")
-    (version "2.0.7")
+    (version "2.0.8")
     (source (origin
               (method url-fetch)
               (uri (string-append
-                    "https://launchpad.net/lightdm-gtk-greeter/"
-                    (version-major+minor version) "/" version
-                    "/+download/lightdm-gtk-greeter-" version ".tar.gz"))
+                    "https://github.com/xubuntu/lightdm-gtk-greeter"
+                    "/releases/download/lightdm-gtk-greeter-" version "/"
+                    "lightdm-gtk-greeter-" version ".tar.gz"))
               (sha256
                (base32
-                "1g7wc3d3vqfa7mrdhx1w9ywydgjbffla6rbrxq9k3sc62br97qms"))))
+                "04q62mvr97l9gv8h37hfarygqc7p0498ig7xclcg4kxkqw0b7yxy"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
@@ -302,16 +362,15 @@ display manager which supports different greeters.")
                  `("GIO_EXTRA_MODULES" ":" prefix (,gtk))))
              #t)))))
     (native-inputs
-     `(("exo" ,exo)
-       ("intltool" ,intltool)
-       ("pkg-config" ,pkg-config)))
+     (list exo intltool pkg-config xfce4-dev-tools))
     (inputs
-     `(("lightdm" ,lightdm)
+     `(("bash" ,bash-minimal) ; for wrap-program
+       ("lightdm" ,lightdm)
        ("shared-mime-info" ,shared-mime-info)
        ("at-spi2-core" ,at-spi2-core)
        ("gtk+" ,gtk+)))
     (synopsis "GTK+ greeter for LightDM")
-    (home-page "https://launchpad.net/lightdm-gtk-greeter")
+    (home-page "https://github.com/xubuntu/lightdm-gtk-greeter")
     (description "This package provides a LightDM greeter implementation using
 GTK+, lets you select a desktop session and log in to it.")
     (license license:gpl3+)))
@@ -348,7 +407,7 @@ GTK+, lets you select a desktop session and log in to it.")
 	      ("libxmu" ,libxmu)
 	      ("xauth" ,xauth)))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (arguments
      '(#:phases
        (modify-phases %standard-phases