diff options
Diffstat (limited to 'px/packages/desktop.scm')
-rw-r--r-- | px/packages/desktop.scm | 505 |
1 files changed, 258 insertions, 247 deletions
diff --git a/px/packages/desktop.scm b/px/packages/desktop.scm index 07f97f2..20223e4 100644 --- a/px/packages/desktop.scm +++ b/px/packages/desktop.scm @@ -1,11 +1,10 @@ ;;; Desktop related packages Module for PantherX -;;; ;;; Reza Alizadeh Majd <r.majd@pantherc.org> ;;; Franz Geffke <franz@pantherx.org> -;;; (define-module (px packages desktop) - #:use-module ((guix licenses) #:prefix license:) + #:use-module ((guix licenses) + #:prefix license:) #:use-module (guix download) #:use-module (guix gexp) #:use-module (guix packages) @@ -20,7 +19,8 @@ #:use-module (gnu packages aspell) #:use-module (gnu packages base) #:use-module (gnu packages bittorrent) - #:use-module ((gnu packages compression) #:prefix compression:) + #:use-module ((gnu packages compression) + #:prefix compression:) #:use-module (gnu packages compton) #:use-module (gnu packages curl) #:use-module (gnu packages fonts) @@ -51,15 +51,15 @@ #:use-module (gnu packages xorg) #:use-module (gnu packages pdf) #:use-module (gnu packages syncthing) - #:use-module (gnu packages xdisorg) ;; copyq + #:use-module (gnu packages xdisorg) ;copyq #:use-module (nongnu packages compression) #:use-module (nongnu packages mozilla) #:use-module (px packages accounts) #:use-module (px packages atril-thumbnailer) - #:use-module (px packages backup) ;; px-backup - #:use-module (px packages common) ;; capnproto - #:use-module (px packages contacts-calendar) ;; px-contacts - #:use-module (px packages desktop-tools) ;; px-about + #:use-module (px packages backup) ;px-backup + #:use-module (px packages common) ;capnproto + #:use-module (px packages contacts-calendar) ;px-contacts + #:use-module (px packages desktop-tools) ;px-about #:use-module (px packages document) #:use-module (px packages hub) #:use-module (px packages kde-frameworks) @@ -78,13 +78,13 @@ #:use-module (px packages backup) #:use-module (px packages user-services) #:use-module (px packages wiki) - #:use-module (px packages device) ;; px-remote-access + #:use-module (px packages device) ;px-remote-access #:use-module (px packages time-tracking) #:use-module (srfi srfi-1) - #:export (%common-desktop-applications + #:export (%common-desktop-applications %gtk-desktop-applications %qt-desktop-applications - + lxqt-modified ;; TODO: This should probably go into px/services/desktop px-desktop-defaults)) @@ -92,84 +92,88 @@ ;; Currently only lxqt-modified (define-public openbox-modified (package - (inherit openbox) - (name "openbox-modified") - (arguments - (list #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'force-reconfigure - ;; This is made necessary by the openbox-python3 patch. - (lambda _ - (delete-file "configure"))) - (add-after 'unpack 'patch-config-file - (lambda _ - (substitute* "data/rc.xml" - (("Clearlooks") "Arc-Dark"))))))))) + (inherit openbox) + (name "openbox-modified") + (arguments + (list + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'force-reconfigure + ;; This is made necessary by the openbox-python3 patch. + (lambda _ + (delete-file "configure"))) + (add-after 'unpack 'patch-config-file + (lambda _ + (substitute* "data/rc.xml" + (("Clearlooks") + "Arc-Dark"))))))))) ;; Currently only lxqt-modified (define-public px-file-manager (package - (inherit pcmanfm-qt) - (name "px-file-manager") - (source - (origin - (inherit (package-source pcmanfm-qt)) - (patches (search-patches "px-file-manager-0001-update-config.patch")))) - (arguments - (substitute-keyword-arguments (package-arguments pcmanfm-qt) - ((#:phases phases) - #~(modify-phases #$phases + (inherit pcmanfm-qt) + (name "px-file-manager") + (source + (origin + (inherit (package-source pcmanfm-qt)) + (patches (search-patches "px-file-manager-0001-update-config.patch")))) + (arguments + (substitute-keyword-arguments (package-arguments pcmanfm-qt) + ((#:phases phases) + #~(modify-phases #$phases (add-before 'configure 'patch-settings.conf.in (lambda* (#:key inputs #:allow-other-keys) (let ((wallpaper (search-input-file inputs "share/lxqt/wallpapers/pantherx.jpg"))) - (substitute* "config/pcmanfm-qt/lxqt/settings.conf.in" - (("Wallpaper=.*") - (string-append "Wallpaper=" wallpaper "\n"))) - (substitute* (find-files "pcmanfm/translations" "\\.desktop.yaml") - (("PCManFM-Qt File Manager") "File Manager")) - (substitute* '("config/pcmanfm-qt/lxqt/settings.conf.in") - (("WallpaperMode=stretch") "WallpaperMode=zoom") - ;; Patch FONT - (("Font=\"Sans Serif,10,-1,5,50,0,0,0,0,0\"") "Font=\"IBM Plex Sans,10,-1,5,50,0,0,0,0,0,Regular\"") - ;; Patch DEFAULT APPLICATIONS - (("TerminalDirCommand=xterm") "TerminalDirCommand=qterminal") - (("TerminalExecCommand=xterm") "TerminalExecCommand=qterminal") - ;; Patch TUMBNAILS - (("MaxThumbnailFileSize=4096") "MaxThumbnailFileSize=30720")) - (substitute* '("config/CMakeLists.txt") - (("\\$\\{CMAKE_INSTALL_DATADIR\\}") "etc/xdg")) - ))))))) - (inputs - (list libfm-qt qtbase-5 qtx11extras px-lxqt-themes)) - (propagated-inputs - `(("atril-thumbnailer" ,atril-thumbnailer) - ("ffmpegthumbnailer" ,ffmpegthumbnailer) - ("freetype" ,freetype) - ("libgsf" ,libgsf) - ("tumbler" ,tumbler))))) + (substitute* "config/pcmanfm-qt/lxqt/settings.conf.in" + (("Wallpaper=.*") + (string-append "Wallpaper=" wallpaper "\n"))) + (substitute* (find-files "pcmanfm/translations" + "\\.desktop.yaml") + (("PCManFM-Qt File Manager") + "File Manager")) + (substitute* '("config/pcmanfm-qt/lxqt/settings.conf.in") + (("WallpaperMode=stretch") + "WallpaperMode=zoom") + ;; Patch FONT + (("Font=\"Sans Serif,10,-1,5,50,0,0,0,0,0\"") + "Font=\"IBM Plex Sans,10,-1,5,50,0,0,0,0,0,Regular\"") + ;; Patch DEFAULT APPLICATIONS + (("TerminalDirCommand=xterm") + "TerminalDirCommand=qterminal") + (("TerminalExecCommand=xterm") + "TerminalExecCommand=qterminal") + ;; Patch TUMBNAILS + (("MaxThumbnailFileSize=4096") + "MaxThumbnailFileSize=30720")) + (substitute* '("config/CMakeLists.txt") + (("\\$\\{CMAKE_INSTALL_DATADIR\\}") + "etc/xdg"))))))))) + (inputs (list libfm-qt qtbase-5 qtx11extras px-lxqt-themes)) + (propagated-inputs `(("atril-thumbnailer" ,atril-thumbnailer) + ("ffmpegthumbnailer" ,ffmpegthumbnailer) + ("freetype" ,freetype) + ("libgsf" ,libgsf) + ("tumbler" ,tumbler))))) (define-public px-terminal-launcher (package (name "px-terminal-launcher") (version "v0.2.3") (source - (origin - (method url-fetch) - (uri (string-append "https://source.pantherx.org/" name "_" version ".tgz")) - (sha256 (base32 "0fqlzbipnddn9cd0amjn9py7qzwnk5ir674lshpf7rsnv7fasalw")))) + (origin + (method url-fetch) + (uri (string-append "https://source.pantherx.org/" name "_" version + ".tgz")) + (sha256 + (base32 "0fqlzbipnddn9cd0amjn9py7qzwnk5ir674lshpf7rsnv7fasalw")))) (build-system qt-build-system) - (native-inputs - (list qttools-5 - pkg-config - extra-cmake-modules)) - (inputs - (list capnproto-0.9 - qtbase-5 - qtsvg-5 - qtcharts - px-auth-library-cpp - networkmanager-qt)) + (native-inputs (list qttools-5 pkg-config extra-cmake-modules)) + (inputs (list capnproto-0.9 + qtbase-5 + qtsvg-5 + qtcharts + px-auth-library-cpp + networkmanager-qt)) (propagated-inputs (list px-icons)) (home-page "https://www.pantherx.dev") (synopsis "PantherX Terminal Launcher") @@ -178,27 +182,25 @@ (define-public lxqt-modified (package - (inherit lxqt) - (name "lxqt-modified") - (propagated-inputs - `( - ;; Apply Arc-Dark to openbox: - ("openbox-modified" ,openbox-modified) - ;; Apply modified menu and others to lxqt-panel: - ;; TODO: FIX and restore - ;; ("pantherx-panel" ,pantherx-panel) - ;; ("libqtxdg" ,libqtxdg) - ;; Apply default wallpaper and so on to pcmanfm-qt: - ("px-file-manager" ,px-file-manager) - ;; Rename QTerminal to Terminal: - ("px-terminal" ,px-terminal) - ("px-icons" ,px-icons) - ("px-lxqt-themes" ,px-lxqt-themes) - ;; "lxqt-panel" - ,@(fold alist-delete (package-propagated-inputs lxqt) - '("lximage-qt" "pcmanfm-qt" "qterminal" - "lxqt-themes" - "breeze-icons")))))) + (inherit lxqt) + (name "lxqt-modified") + (propagated-inputs `(;; Apply Arc-Dark to openbox: + ("openbox-modified" ,openbox-modified) + ;; Apply modified menu and others to lxqt-panel: + ;; TODO: FIX and restore + ;; ("pantherx-panel" ,pantherx-panel) + ;; ("libqtxdg" ,libqtxdg) + ;; Apply default wallpaper and so on to pcmanfm-qt: + ("px-file-manager" ,px-file-manager) + ;; Rename QTerminal to Terminal: + ("px-terminal" ,px-terminal) + ("px-icons" ,px-icons) + ("px-lxqt-themes" ,px-lxqt-themes) + ;; "lxqt-panel" + ,@(fold alist-delete + (package-propagated-inputs lxqt) + '("lximage-qt" "pcmanfm-qt" "qterminal" + "lxqt-themes" "breeze-icons")))))) ;; ;; Desktop Configuration @@ -207,75 +209,84 @@ ;; This goes straight into px/services/desktop (only LXQt) (define-public px-desktop-defaults (package - (name "px-desktop-defaults") - (version "0.0.47") - (source - (origin - (method url-fetch) - (uri (string-append - "https://source.pantherx.org/px-desktop-defaults_" - version ".tgz")) - (sha256 (base32 "1y9wp2d35nrf72bkiv39k17paa6arxp2hpz2102mymj61zb96fvk")))) - (build-system trivial-build-system) - (arguments `( - #:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (mkdir %output) - (setenv "PATH" (string-append - (assoc-ref %build-inputs "coreutils") "/bin" ":" - (assoc-ref %build-inputs "tar") "/bin" ":" - (assoc-ref %build-inputs "gzip") "/bin")) - (invoke "tar" "zxvf" (assoc-ref %build-inputs "source")) - ; (chdir (string-append (string-capitalize ,name) "-" ,version)) - ; (display (string-append ,name "_" ,version)) - ; (chdir (string-append ,name "_" ,version)) - (let ((source (assoc-ref %build-inputs "source")) - (albert (assoc-ref %build-inputs "albert-launcher")) - (copyq (assoc-ref %build-inputs "copyq")) - (px-first-login-welcome-screen - (assoc-ref %build-inputs "px-first-login-welcome-screen")) - (out (assoc-ref %outputs "out"))) - (chdir ,name) - (substitute* '("etc/xdg/autostart/lxqt-copyq-autostart.desktop") - (("Exec=copyq") (string-append "Exec=" copyq "/bin/copyq"))) - (substitute* '("etc/xdg/autostart/albert.desktop") - (("Exec=albert") (string-append "Exec=" albert "/bin/albert"))) - (substitute* '("etc/xdg/autostart/px-first-login-welcome-screen.desktop") - (("Exec=px-first-login-welcome-screen") - (string-append "Exec=" px-first-login-welcome-screen "/bin/px-first-login-welcome-screen"))) - (copy-recursively "." %output) - (chmod (string-append %output "/etc/px-desktop/scripts/lxqt-switch-desktop.sh" ) #o755) - #t)))) - (native-inputs - `(("coreutils" ,coreutils) - ("tar" ,tar) - ("gzip" ,compression:gzip))) - (propagated-inputs - `(("albert-launcher" ,albert-launcher) - ("px-widget-style" ,px-widget-style) - ("px-icons" ,px-icons) - ("px-first-login-welcome-screen" ,px-first-login-welcome-screen) - ("px-openbox-theme" ,px-openbox-theme) - ("copyq" ,copyq))) - (home-page "https://www.pantherx.org/") - (synopsis "PantherX Default Configuration Package") - (description "Default Configurations for PantherX Desktop") - (license license:expat))) + (name "px-desktop-defaults") + (version "0.0.47") + (source + (origin + (method url-fetch) + (uri (string-append "https://source.pantherx.org/px-desktop-defaults_" + version ".tgz")) + (sha256 + (base32 "1y9wp2d35nrf72bkiv39k17paa6arxp2hpz2102mymj61zb96fvk")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils)) + (mkdir %output) + (setenv "PATH" + (string-append (assoc-ref %build-inputs "coreutils") + "/bin" + ":" + (assoc-ref %build-inputs "tar") + "/bin" + ":" + (assoc-ref %build-inputs "gzip") + "/bin")) + (invoke "tar" "zxvf" + (assoc-ref %build-inputs "source")) + ;; (chdir (string-append (string-capitalize ,name) "-" ,version)) + ;; (display (string-append ,name "_" ,version)) + ;; (chdir (string-append ,name "_" ,version)) + (let ((source (assoc-ref %build-inputs "source")) + (albert (assoc-ref %build-inputs "albert-launcher")) + (copyq (assoc-ref %build-inputs "copyq")) + (px-first-login-welcome-screen (assoc-ref + %build-inputs + "px-first-login-welcome-screen")) + (out (assoc-ref %outputs "out"))) + (chdir ,name) + (substitute* '("etc/xdg/autostart/lxqt-copyq-autostart.desktop") + (("Exec=copyq") + (string-append "Exec=" copyq "/bin/copyq"))) + (substitute* '("etc/xdg/autostart/albert.desktop") + (("Exec=albert") + (string-append "Exec=" albert "/bin/albert"))) + (substitute* '("etc/xdg/autostart/px-first-login-welcome-screen.desktop") + (("Exec=px-first-login-welcome-screen") + (string-append "Exec=" px-first-login-welcome-screen + "/bin/px-first-login-welcome-screen"))) + (copy-recursively "." %output) + (chmod (string-append %output + "/etc/px-desktop/scripts/lxqt-switch-desktop.sh") + #o755) + #t)))) + (native-inputs `(("coreutils" ,coreutils) + ("tar" ,tar) + ("gzip" ,compression:gzip))) + (propagated-inputs `(("albert-launcher" ,albert-launcher) + ("px-widget-style" ,px-widget-style) + ("px-icons" ,px-icons) + ("px-first-login-welcome-screen" ,px-first-login-welcome-screen) + ("px-openbox-theme" ,px-openbox-theme) + ("copyq" ,copyq))) + (home-page "https://www.pantherx.org/") + (synopsis "PantherX Default Configuration Package") + (description "Default Configurations for PantherX Desktop") + (license license:expat))) ;; ;; PantherX OS Desktop default Applications and Services ;; (define %common-desktop-applications - (list ;; Default applications and so on... - ; px-contacts - ; px-backup - ; px-hub-gui + (list ;Default applications and so on... + ;; px-contacts + ;; px-backup + ;; px-hub-gui px-software px-software-assets-meta - + ;; Browser firefox @@ -286,7 +297,7 @@ libreoffice aspell aspell-dict-en - aspell-dict-de ;; :) + aspell-dict-de ;:) aspell-dict-uk ;; Look and Feel @@ -299,15 +310,15 @@ font-adobe-source-sans-pro font-adobe-source-code-pro breeze-gtk - font-cns11643-swjz ;; ? - font-wqy-zenhei ;; ? + font-cns11643-swjz ;? + font-wqy-zenhei ;? font-ibm-plex font-vazir font-openmoji - + ;; WIP ;; lxqt-arc-dark-theme - + ;; Utils albert-launcher ;; Userspace virtual file system for GIO @@ -323,7 +334,7 @@ compression:zip compression:unzip unrar - + ;; Command line utils curl neofetch @@ -335,98 +346,98 @@ gcr gnome-keyring ;; seahorse - + ;; Bluetooth blueman)) (define %gtk-desktop-applications - (list + (list - ;; Excludes syncthingtray - ;; Does not work on Gnome wayland - px-user-services-gtk - syncthing-gtk - - ;; PGP - seahorse)) + ;; Excludes syncthingtray + ;; Does not work on Gnome wayland + px-user-services-gtk + syncthing-gtk + + ;; PGP + seahorse)) (define %qt-desktop-applications (list - ;; Includes syncthingtray (QT) - px-user-services - - ;; Default applications and so on... - px-first-login-welcome-screen - px-desktop-wiki - px-about - px-file-archiver - px-settings-ui - - ;; Office - speedcrunch - - ;; Multimedia - px-image-viewer - px-music-player - px-video-player - - ;; Connectivity - ;; This package contains a systray applet for NetworkManager - ;; Does not work on Gnome wayland - network-manager-applet - featherpad - qpdfview - - ;; Utils - flameshot - pinentry-qt - lxmenu-data - - ;; PGP - kleopatra - - ;; Clipboard manager - copyq - - ;; Account Service Plugins - ;; px-accounts-service-plugin-etesync ;; TODO: uncomment whenever we had a working package for `px-contact-calendar` - ; px-accounts-service-plugin-activity-watch - ; px-accounts-service-plugin-claws-mail - ; px-accounts-service-plugin-github - ; px-accounts-service-plugin-gitlab - ; px-accounts-service-plugin-oauth2-github - ; px-accounts-service-plugin-oauth2-mastodon - ; px-accounts-service-plugin-oauth2-google - ; px-accounts-service-providers-mail - ; px-accounts-service-plugin-imap - ; px-accounts-service-plugin-maestral - ; px-accounts-service-plugin-smtp - ; px-accounts-service-plugin-carddav - ; px-accounts-service-plugin-s3 - ; px-accounts-service-plugin-backup-local - ; px-accounts-service-plugin-etherscan - ; px-accounts-service-plugin-blockio - ; px-accounts-service-plugin-cryptocurrency - ; px-accounts-service-plugin-discourse - - ;; Hub Service Plugins - ;; px-hub-service-plugin-claws-mail - ; px-hub-service-plugin-github - ; px-hub-service-plugin-gitlab - ; px-hub-service-plugin-discourse - ; px-hub-service-plugin-mastodon - - ;; Time Tracking Plugins - ; px-time-tracking-plugin-gitlab - - ;; Settings Service Plugins - ; px-settings-service-plugin-accounts - px-settings-service-plugin-backup - px-settings-service-plugin-desktop-search - px-settings-service-plugin-maintenance - px-settings-service-plugin-software - px-settings-service-plugin-theme - px-settings-service-plugin-theme-dark-bright)) + ;; Includes syncthingtray (QT) + px-user-services + + ;; Default applications and so on... + px-first-login-welcome-screen + px-desktop-wiki + px-about + px-file-archiver + px-settings-ui + + ;; Office + speedcrunch + + ;; Multimedia + px-image-viewer + px-music-player + px-video-player + + ;; Connectivity + ;; This package contains a systray applet for NetworkManager + ;; Does not work on Gnome wayland + network-manager-applet + featherpad + qpdfview + + ;; Utils + flameshot + pinentry-qt + lxmenu-data + + ;; PGP + kleopatra + + ;; Clipboard manager + copyq + + ;; Account Service Plugins + ;; px-accounts-service-plugin-etesync ;; TODO: uncomment whenever we had a working package for `px-contact-calendar` + ;; px-accounts-service-plugin-activity-watch + ;; px-accounts-service-plugin-claws-mail + ;; px-accounts-service-plugin-github + ;; px-accounts-service-plugin-gitlab + ;; px-accounts-service-plugin-oauth2-github + ;; px-accounts-service-plugin-oauth2-mastodon + ;; px-accounts-service-plugin-oauth2-google + ;; px-accounts-service-providers-mail + ;; px-accounts-service-plugin-imap + ;; px-accounts-service-plugin-maestral + ;; px-accounts-service-plugin-smtp + ;; px-accounts-service-plugin-carddav + ;; px-accounts-service-plugin-s3 + ;; px-accounts-service-plugin-backup-local + ;; px-accounts-service-plugin-etherscan + ;; px-accounts-service-plugin-blockio + ;; px-accounts-service-plugin-cryptocurrency + ;; px-accounts-service-plugin-discourse + + ;; Hub Service Plugins + ;; px-hub-service-plugin-claws-mail + ;; px-hub-service-plugin-github + ;; px-hub-service-plugin-gitlab + ;; px-hub-service-plugin-discourse + ;; px-hub-service-plugin-mastodon + + ;; Time Tracking Plugins + ;; px-time-tracking-plugin-gitlab + + ;; Settings Service Plugins + ;; px-settings-service-plugin-accounts + px-settings-service-plugin-backup + px-settings-service-plugin-desktop-search + px-settings-service-plugin-maintenance + px-settings-service-plugin-software + px-settings-service-plugin-theme + px-settings-service-plugin-theme-dark-bright)) ; (define %pantherx-desktop-i3 ; (list i3-wm i3lock i3lock-fancy i3status |