diff options
Diffstat (limited to 'gnu/packages/display-managers.scm')
-rw-r--r-- | gnu/packages/display-managers.scm | 175 |
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 |