From mboxrd@z Thu Jan 1 00:00:00 1970 From: Meiyo Peng Subject: Re: Problem on LXQt service definition Date: Wed, 15 May 2019 11:28:20 +0800 Message-ID: <87d0kk5rcb.fsf@riseup.net> References: Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([209.51.188.92]:47918) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hQkao-0006vK-53 for help-guix@gnu.org; Tue, 14 May 2019 23:28:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hQkan-0000SB-2a for help-guix@gnu.org; Tue, 14 May 2019 23:28:34 -0400 Received: from mx1.riseup.net ([198.252.153.129]:40902) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hQkam-0000OK-LG for help-guix@gnu.org; Tue, 14 May 2019 23:28:33 -0400 In-reply-to: List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Reza Alizadeh Majd Cc: help-guix@gnu.org Hi, Reza Alizadeh Majd writes: > I'll try to create a service for `lxqt-desktop` based on same definition on [nixos](https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/x11/desktop-managers/lxqt.nix). > but my service definition won't start and here is my proposed definition for this service: Thank you for your work on LXQt. > ;;; > ;;; LXQt desktop service. > ;;; > > (define-record-type* lxqt-desktop-configuration > make-lxqt-desktop-configuration > lxqt-desktop-configuration > (lxqt-package lxqt-package (default lxqt))) > > (define (lxqt-shepherd-service config) > "Return a shepherd service for @command{lxqt-session}" > (let ((lxqt-session ((package-direct-input-selector "lxqt-session") > (lxqt-package config)))) > (list (shepherd-service > (provision '(lxqt)) > ; (requirement '()) > (documentation "Run the lxqt session") > (start #~(make-forkexec-constructor > (list(string-append #$lxqt-session "/bin/startlxqt")) > #:environment-variables > (list (string-append "XDG_CONFIG_DIRS=" > "$XDG_CONFIG_DIRS;/run/current-system/profile/etc/xdg") > (string-append "XDG_DATA_DIRS=" > "$XDG_DATA_DIRS;/run/current-system/profile/share")) > (stop #~(make-kill-destructor)))))) I don't think we should start the LXQt session from a shepherd service. A desktop session should be started by a display manager like GDM or SDDM. A display manager can find these desktop sessions and provides choices on login screen if a desktop package provides correct session files in prefix/share/xsessions (or prefix/share/wayland-sessions for wayland sessions). I am not a nix expert but I think the nix file you referred to tries to define a desktop session file for LXQt rather than automatically start it upon system startup. > (define lxqt-desktop-service-type > (service-type > (name 'lxqt-desktop) > (extensions > (list > (service-extension shepherd-root-service-type > lxqt-shepherd-service) > (service-extension profile-service-type > (compose list > lxqt-package)))) > (default-value (lxqt-desktop-configuration)) > (description "Run the 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-policykit}." > (service lxqt-desktop-service-type config)) Apparently we should not use (define-deprecated ...) to define new variables. > could anyone help on this matter ? What are you trying to achieve by adding the lxqt-desktop-service-type? -- Meiyo Peng https://www.pengmeiyu.com/