unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / Atom feed
* [bug#44029] [PATCH 0/4]  lxqt-desktop-service-type
@ 2020-10-16 11:10 Reza Alizadeh Majd
  2020-10-16 11:16 ` [bug#44029] [PATCH 1/4] gnu: lxqt-session: fix xsession entry's exec path Reza Alizadeh Majd
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Reza Alizadeh Majd @ 2020-10-16 11:10 UTC (permalink / raw)
  To: 44029

Hello Guix,

Just prepared a new service definition for LXQt desktop environment.

following changes had been applied:

- update xsession desktop entry and fix session start path to allow GDM
  load the LXQt session properly.
- wrap lxqt-session executable to load custom paths used by LXQt for
  it's default configurations, from system profile (inspired by a
  similar approach followed in NixOS:
  https://github.com/NixOS/nixpkgs/blob/580aede978ba53316a86c4f48990b047b0e67335/nixos/modules/services/x11/desktop-managers/lxqt.nix#L45)
- fix pcmanfm-qt's settings file to load default wallpaper from proper
  location.
- add definition for LXQt desktop environment in gnu/service/desktop.scm


-- 
Reza Alizadeh Majd
PantherX Team
https://www.pantherx.org/




^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#44029] [PATCH 1/4] gnu: lxqt-session: fix xsession entry's exec path
  2020-10-16 11:10 [bug#44029] [PATCH 0/4] lxqt-desktop-service-type Reza Alizadeh Majd
@ 2020-10-16 11:16 ` Reza Alizadeh Majd
  2020-10-16 11:17 ` [bug#44029] [PATCH 2/4] gnu: lxqt-session: wrap startlxqt executable Reza Alizadeh Majd
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Reza Alizadeh Majd @ 2020-10-16 11:16 UTC (permalink / raw)
  To: 44029; +Cc: Reza Alizadeh Majd

* gnu/packages/lxqt.scm (lxqt-session)[arguments]: update path for
startlxqt to be able to executed properly by gdm.
---
 gnu/packages/lxqt.scm | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm
index af452a9903..67b75ced1e 100644
--- a/gnu/packages/lxqt.scm
+++ b/gnu/packages/lxqt.scm
@@ -849,12 +849,16 @@ allows for launching applications or shutting down the system.")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-source
-           (lambda _
+           (lambda* (#:key outputs #:allow-other-keys)
              (substitute* '("autostart/CMakeLists.txt"
                             "config/CMakeLists.txt")
                (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
                 "DESTINATION \"etc/xdg"))
-             #t))
+             (let ((out (assoc-ref outputs "out")))
+               (substitute* '("xsession/lxqt.desktop.in")
+                 (("Exec=startlxqt") (string-append "Exec=" out "/bin/startlxqt"))
+                 (("TryExec=lxqt-session") (string-append "TryExec=" out "/bin/startlxqt")))
+               #t)))
          ;; add write permission to lxqt-rc.xml file which is stored as read-only in store
          (add-after 'unpack 'patch-openbox-permission
            (lambda _
-- 
2.28.0





^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#44029] [PATCH 2/4] gnu: lxqt-session: wrap startlxqt executable
  2020-10-16 11:10 [bug#44029] [PATCH 0/4] lxqt-desktop-service-type Reza Alizadeh Majd
  2020-10-16 11:16 ` [bug#44029] [PATCH 1/4] gnu: lxqt-session: fix xsession entry's exec path Reza Alizadeh Majd
@ 2020-10-16 11:17 ` Reza Alizadeh Majd
  2020-10-16 11:18 ` [bug#44029] [PATCH 3/4] gnu: pcmanfm-qt: fix default wallpaper load path Reza Alizadeh Majd
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Reza Alizadeh Majd @ 2020-10-16 11:17 UTC (permalink / raw)
  To: 44029; +Cc: Reza Alizadeh Majd

* gnu/packages/lxqt.scm (lxqt-session)[arguments]: add new phase to wrap
lxqt-session and add base paths for lxqt and pcmanfm-qt config folders
in system profile to to XDG_CONFIG_DIRS.
---
 gnu/packages/lxqt.scm | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm
index 67b75ced1e..3c4b2d4c50 100644
--- a/gnu/packages/lxqt.scm
+++ b/gnu/packages/lxqt.scm
@@ -876,7 +876,14 @@ allows for launching applications or shutting down the system.")
                (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
                 (string-append (assoc-ref outputs "out")
                                "/share/lxqt/translations")))
-             #t)))))
+             #t))
+         (add-after 'install 'wrap-program
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (wrap-program (string-append out "/bin/startlxqt")
+                 `("XDG_CONFIG_DIRS" ":" suffix ("/run/current-system/profile/share"
+                                                 "/run/current-system/profile/share/pcmanfm-qt")))
+               #t))))))
     (home-page "https://lxqt.github.io")
     (synopsis "Session manager for LXQt")
     (description "lxqt-session provides the standard session manager
-- 
2.28.0





^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#44029] [PATCH 3/4] gnu: pcmanfm-qt: fix default wallpaper load path
  2020-10-16 11:10 [bug#44029] [PATCH 0/4] lxqt-desktop-service-type Reza Alizadeh Majd
  2020-10-16 11:16 ` [bug#44029] [PATCH 1/4] gnu: lxqt-session: fix xsession entry's exec path Reza Alizadeh Majd
  2020-10-16 11:17 ` [bug#44029] [PATCH 2/4] gnu: lxqt-session: wrap startlxqt executable Reza Alizadeh Majd
@ 2020-10-16 11:18 ` Reza Alizadeh Majd
  2020-10-16 11:19 ` [bug#44029] [PATCH 4/4] services: Add LXQt desktop service Reza Alizadeh Majd
  2020-10-19 21:25 ` bug#44029: [PATCH 0/4] lxqt-desktop-service-type Oleg Pykhalov
  4 siblings, 0 replies; 7+ messages in thread
From: Reza Alizadeh Majd @ 2020-10-16 11:18 UTC (permalink / raw)
  To: 44029; +Cc: Reza Alizadeh Majd

* gnu/packages/lxqt.scm (pcmanfm-qt)[patch-source]: patch settings.ini
and update LXQT_SHARE_DIR to point to system profile, instead of an
invalid path pointing to lxqt-build-tools package.
---
 gnu/packages/lxqt.scm | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm
index 3c4b2d4c50..17421a9835 100644
--- a/gnu/packages/lxqt.scm
+++ b/gnu/packages/lxqt.scm
@@ -1032,6 +1032,9 @@ components to build desktop file managers which belongs to LXDE.")
              (substitute* '("autostart/CMakeLists.txt")
                (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
                 "DESTINATION \"etc/xdg"))
+             (substitute* '("config/pcmanfm-qt/lxqt/settings.conf.in")
+               (("@LXQT_SHARE_DIR@")
+                "/run/current-system/profile/share/lxqt" ))
              #t)))))
     (home-page "https://lxqt.github.io")
     (synopsis "File manager and desktop icon manager")
-- 
2.28.0





^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#44029] [PATCH 4/4] services: Add LXQt desktop service.
  2020-10-16 11:10 [bug#44029] [PATCH 0/4] lxqt-desktop-service-type Reza Alizadeh Majd
                   ` (2 preceding siblings ...)
  2020-10-16 11:18 ` [bug#44029] [PATCH 3/4] gnu: pcmanfm-qt: fix default wallpaper load path Reza Alizadeh Majd
@ 2020-10-16 11:19 ` Reza Alizadeh Majd
  2020-10-19 21:25 ` bug#44029: [PATCH 0/4] lxqt-desktop-service-type Oleg Pykhalov
  4 siblings, 0 replies; 7+ messages in thread
From: Reza Alizadeh Majd @ 2020-10-16 11:19 UTC (permalink / raw)
  To: 44029; +Cc: Reza Alizadeh Majd

* gnu/services/desktop.scm (<lxqt-desktop-configuration>,
lxqt-desktop-configuration?, lxqt-desktop-service-type,
lxqt-desktop-service): New variables.
---
 gnu/services/desktop.scm | 43 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index bdbea5dddf..416f50e417 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -53,6 +53,7 @@
   #:use-module (gnu packages suckless)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages libusb)
+  #:use-module (gnu packages lxqt)
   #:use-module (gnu packages mate)
   #:use-module (gnu packages enlightenment)
   #:use-module (guix deprecation)
@@ -131,6 +132,11 @@
             xfce-desktop-service
             xfce-desktop-service-type
 
+            lxqt-desktop-configuration
+            lxqt-desktop-configuration?
+            lxqt-desktop-service
+            lxqt-desktop-service-type
+
             x11-socket-directory-service
 
             enlightenment-desktop-configuration
@@ -1004,6 +1010,43 @@ system as root from within a user session, after the user has authenticated
 with the administrator's password."
   (service xfce-desktop-service-type config))
 
+\f
+;;;
+;;; Lxqt desktop service.
+;;;
+
+(define-record-type* <lxqt-desktop-configuration> lxqt-desktop-configuration
+  make-lxqt-desktop-configuration
+  lxqt-desktop-configuration?
+  (lxqt lxqt-package
+        (default lxqt)))
+
+(define (lxqt-polkit-settings config)
+  "Return the list of LXQt dependencies that provide polkit actions and
+rules."
+  (let ((lxqt (lxqt-package config)))
+    (map (lambda (name)
+           ((package-direct-input-selector name) lxqt))
+         '("lxqt-admin"))))
+
+(define lxqt-desktop-service-type
+  (service-type
+   (name 'lxqt-desktop)
+   (extensions
+    (list (service-extension polkit-service-type
+                             lxqt-polkit-settings)
+          (service-extension profile-service-type
+                             (compose list lxqt-package))))
+   (default-value (lxqt-desktop-configuration))
+   (description "Run LXQt desktop environment.")))
+
+(define-deprecated (lxqt-desktop-service #:key (config
+                                                (lxqt-desktop-configuration)))
+  lxqt-desktop-service-type
+  "Return a service that adds the @code{lxqt} package to the system profile,
+and extends polkit with the actions from @code{lxqt-admin}."
+  (service lxqt-desktop-service-type config))
+
 \f
 ;;;
 ;;; X11 socket directory service
-- 
2.28.0





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#44029: [PATCH 0/4]  lxqt-desktop-service-type
  2020-10-16 11:10 [bug#44029] [PATCH 0/4] lxqt-desktop-service-type Reza Alizadeh Majd
                   ` (3 preceding siblings ...)
  2020-10-16 11:19 ` [bug#44029] [PATCH 4/4] services: Add LXQt desktop service Reza Alizadeh Majd
@ 2020-10-19 21:25 ` Oleg Pykhalov
  2020-10-20  7:33   ` [bug#44029] " Reza Alizadeh Majd
  4 siblings, 1 reply; 7+ messages in thread
From: Oleg Pykhalov @ 2020-10-19 21:25 UTC (permalink / raw)
  To: Reza Alizadeh Majd; +Cc: 44029-done

[-- Attachment #1: Type: text/plain, Size: 626 bytes --]

Hello,

Thank you!


I pushed your patches with minor fixes in Git messages according to
ChangeLog format [1] and added a paragraph to the Guix documentation.

[1] https://www.gnu.org/prep/standards/html_node/Change-Logs.html
[2] https://git.savannah.gnu.org/cgit/guix.git/commit?id=764d896668aa0f69514ef22de005fbf851949969
    https://git.savannah.gnu.org/cgit/guix.git/commit?id=807353fe143a6fdb6d6fc96885f6467bc81c24c3
    https://git.savannah.gnu.org/cgit/guix.git/commit?id=bdb030a7dc5bf84365d7f77935e838f848e02786
    https://git.savannah.gnu.org/cgit/guix.git/commit?id=9aa35795d3379de2ee2f0a6fffae61331a4da344


Oleg.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#44029] [PATCH 0/4]  lxqt-desktop-service-type
  2020-10-19 21:25 ` bug#44029: [PATCH 0/4] lxqt-desktop-service-type Oleg Pykhalov
@ 2020-10-20  7:33   ` Reza Alizadeh Majd
  0 siblings, 0 replies; 7+ messages in thread
From: Reza Alizadeh Majd @ 2020-10-20  7:33 UTC (permalink / raw)
  To: Oleg Pykhalov; +Cc: 44029-done

On Tue, 20 Oct 2020 00:25:20 +0300
Oleg Pykhalov <go.wigust@gmail.com> wrote:

> Hello,
> 
> Thank you!
> 
> 
> I pushed your patches with minor fixes in Git messages according to
> ChangeLog format [1] and added a paragraph to the Guix documentation.
> 
> [1] https://www.gnu.org/prep/standards/html_node/Change-Logs.html
> [2]
> https://git.savannah.gnu.org/cgit/guix.git/commit?id=764d896668aa0f69514ef22de005fbf851949969
> https://git.savannah.gnu.org/cgit/guix.git/commit?id=807353fe143a6fdb6d6fc96885f6467bc81c24c3
> https://git.savannah.gnu.org/cgit/guix.git/commit?id=bdb030a7dc5bf84365d7f77935e838f848e02786
> https://git.savannah.gnu.org/cgit/guix.git/commit?id=9aa35795d3379de2ee2f0a6fffae61331a4da344
> 
> 
> Oleg.

Thank you!

and sorry about commit messages issue, maybe because of my bad English
writing skills. I'll try to be more accurate according to ChangeLog
format from now on.

Regards,
Reza

-- 
Reza Alizadeh Majd
PantherX Team
https://www.pantherx.org/




^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-10-20  7:34 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-16 11:10 [bug#44029] [PATCH 0/4] lxqt-desktop-service-type Reza Alizadeh Majd
2020-10-16 11:16 ` [bug#44029] [PATCH 1/4] gnu: lxqt-session: fix xsession entry's exec path Reza Alizadeh Majd
2020-10-16 11:17 ` [bug#44029] [PATCH 2/4] gnu: lxqt-session: wrap startlxqt executable Reza Alizadeh Majd
2020-10-16 11:18 ` [bug#44029] [PATCH 3/4] gnu: pcmanfm-qt: fix default wallpaper load path Reza Alizadeh Majd
2020-10-16 11:19 ` [bug#44029] [PATCH 4/4] services: Add LXQt desktop service Reza Alizadeh Majd
2020-10-19 21:25 ` bug#44029: [PATCH 0/4] lxqt-desktop-service-type Oleg Pykhalov
2020-10-20  7:33   ` [bug#44029] " Reza Alizadeh Majd

unofficial mirror of guix-patches@gnu.org 

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://yhetil.org/guix-patches/1 guix-patches/git/1.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 guix-patches guix-patches/ https://yhetil.org/guix-patches \
		guix-patches@gnu.org
	public-inbox-index guix-patches

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://news.yhetil.org/yhetil.gnu.guix.patches


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git