[PATCH 0/4] lxqt-desktop-service-type

  • Done
  • quality assurance status badge
Details
2 participants
  • Oleg Pykhalov
  • Reza Alizadeh Majd
Owner
unassigned
Submitted by
Reza Alizadeh Majd
Severity
normal

Debbugs page

Reza Alizadeh Majd wrote 4 years ago
(address . guix-patches@gnu.org)
20201016144000.04a245db@pantherx.org
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:
- 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
Reza Alizadeh Majd wrote 4 years ago
[PATCH 1/4] gnu: lxqt-session: fix xsession entry's exec path
(address . 44029@debbugs.gnu.org)(name . Reza Alizadeh Majd)(address . r.majd@pantherx.org)
20201016111623.26585-1-r.majd@pantherx.org
* 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(-)

Toggle diff (25 lines)
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
Reza Alizadeh Majd wrote 4 years ago
[PATCH 2/4] gnu: lxqt-session: wrap startlxqt executable
(address . 44029@debbugs.gnu.org)(name . Reza Alizadeh Majd)(address . r.majd@pantherx.org)
20201016111719.26766-1-r.majd@pantherx.org
* 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(-)

Toggle diff (22 lines)
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
Reza Alizadeh Majd wrote 4 years ago
[PATCH 3/4] gnu: pcmanfm-qt: fix default wallpaper load path
(address . 44029@debbugs.gnu.org)(name . Reza Alizadeh Majd)(address . r.majd@pantherx.org)
20201016111823.26956-1-r.majd@pantherx.org
* 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(+)

Toggle diff (16 lines)
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
Reza Alizadeh Majd wrote 4 years ago
[PATCH 4/4] services: Add LXQt desktop service.
(address . 44029@debbugs.gnu.org)(name . Reza Alizadeh Majd)(address . r.majd@pantherx.org)
20201016111924.27139-1-r.majd@pantherx.org
* 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(+)

Toggle diff (70 lines)
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))
+
+;;;
+;;; 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))
+
;;;
;;; X11 socket directory service
--
2.28.0
Oleg Pykhalov wrote 4 years ago
Re: [bug#44029] [PATCH 0/4] lxqt-desktop-service-type
(name . Reza Alizadeh Majd)(address . r.majd@pantherx.org)(address . 44029-done@debbugs.gnu.org)
87blgxgb7j.fsf@gmail.com
-----BEGIN PGP SIGNATURE-----

iQJIBAEBCgAyFiEEcjhxI46s62NFSFhXFn+OpQAa+pwFAl+OBEAUHGdvLndpZ3Vz
dEBnbWFpbC5jb20ACgkQFn+OpQAa+pwDRRAAwvU4cqh3bHrcV7grrnC7KVbqgRqY
mNCgST2PLoMpMGty1SVhJZK1xmBA//wdMJH0yMQ93oy2krgOVzFgMT+9lkYrUIVA
2WkyGJbCO5cx9Bo5YJvZHufdUtmQrpSMBIJbmRsG32PdVhNC7wEili7kOc/pyJ1n
Il6vhZy9qsWGe3B7IO6S6pk2BGLrCsKJe5y6KyYag57s5EJf+loWpL7OrFfp60aM
AS4h7P3ukKX8c4b5zS0kDaPs3Q5aE7VV+HpG2iNG1CQgmcU9GCMiCXEFXpvtwtSx
9hn4qkY95t27W2F7sK8oRRZ1iJ6lp8gaJDDB/a0IPNi7iunWOLIlyKUH/iVt8ozC
LYByQ+Mj3NC5oMrmZWdPefinfyI+CDC7NxaB8x+yCiFb0eg3a7WuvVEcnvR3Ks8V
ZxgO3O8gv8Jv477sGSoqVg0PPlS1xGhlEY63jxpJL2FcXB9akhsZhNrspNMXHWx3
3vyQPAnHkERRgI1SlVogxbCj3LDNmAJ+PHzA2XCBNKg5dWFqLPj1vZcqwO8fRVfA
NJp5TMZo5N74Pd+U//e5Ygf9BH0aB11gd8cZW5osNxKKpVsOTCKyPkIyCpTli3ds
5IqDhymxB7OzF0JaD15Ke7PwyYBygHxdCuUnJJViMjb25dVFaW38dr/CQ1xmSB3M
NPmK5dlzf+l1I+M=
=++Pq
-----END PGP SIGNATURE-----

Closed
Reza Alizadeh Majd wrote 4 years ago
(name . Oleg Pykhalov)(address . go.wigust@gmail.com)(address . 44029-done@debbugs.gnu.org)
20201020110132.2db0d25d@pantherx.org
On Tue, 20 Oct 2020 00:25:20 +0300
Oleg Pykhalov <go.wigust@gmail.com> wrote:

Toggle quote (18 lines)
> 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
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 44029@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 44029
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help