On Thu, 3 Sep 2020 11:11:42 +0430 Reza Alizadeh Majd <r.m...@pantherx.org> wrote:
> Hi Guix, > > working on a service definition for LXQt desktop, I need to perform a > series of default configurations. for example to set the window > manager, prepare default panel, set the default theme, etc. > > these configurations should be located $XDG_CONFIG_DIRS so the default > paths are: > > /run/current-system/profile/etc/xdg > /home/$USER/.guix-profile/etc/xdg > /home/$USER/.config/ > > I wanted to use `activation-service-type` to prepare default > configurations in users home directory, but don't know how to access > each user's home directory. > > the other option is to provide default configurations in store and > symlink them in system profile. could anyone help me to do this using > activation snippet? > > this is the service implementation that I'm working on: > > --8<---------------cut here---------------start------------->8--- > (define-record-type* <lxqt-desktop-configuration> > lxqt-desktop-configuration make-lxqt-desktop-configuration > lxqt-desktop-configuration? > (package lxqt-package (default lxqt-modified-dev))) > > > (define %lxqt-activation > #~(begin > (let* ((conf-dir "DON'T KNOW HOW TO SET PATH FOR PROFILE") > (session-conf (string-append conf-dir "/session.conf"))) > (use-modules (guix build utils)) > (mkdir-p conf-dir) > (unless (file-exists? session-conf) > (call-with-output-file session-conf > (lambda (port) > (format port "# Auto Generated by Lxqt Service > [General] > window_manager=openbox"))))))) > > > (define lxqt-desktop-service-type > (service-type > (name 'lxqt-desktop) > (extensions > (list (service-extension profile-service-type > (compose list lxqt)))) > (service-extension activation-service-type > (const %lxqt-activation)) > (default-value (lxqt-desktop-configuration)) > (description "Run the LXQt desktop environment."))) > > --8<---------------cut here---------------end--------------->8--- > > Kind regards, > Reza > does anyone have any suggestion about this initial configurations for a new desktop service (LXQt)? check the other desktop services, I didn't find any reference about this type of initial configurations in service definitions, is this type of modifications need to be applied on package definition instead? Regards, Reza -- Reza Alizadeh Majd PantherX Team https://www.pantherx.org/