Package: guix;
Reported by: Yacine Cheikhrouhou <yacine.cheikhrouhou <at> yahoo.fr>
Date: Thu, 17 Apr 2025 15:11:02 UTC
Severity: normal
View this message in rfc822 format
From: Yacine Cheikhrouhou <yacine.cheikhrouhou <at> yahoo.fr> To: 77868 <at> debbugs.gnu.org Subject: bug#77868: bug report: XFCE cannot change the theme because of missing dconf package to satisfy the ca.desrt.dconf service in dbus Date: Thu, 17 Apr 2025 11:43:35 +0200
Hi all, I started using Guix with XFCE on Xorg (with the default desktop configuration), and couldn't change the theme. I fixed the issue by installing dconf, which is needed by xfce to edit its own configuration. I think the problem could be fixed by adding dconf as a dependency of the xfce package. What I did: Editing the ThemeName property directly in ~/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml or using the GTK_THEME="Greybird:dark" environment variable did not work (the xml edit was reverted after restarting the session, and the environment variable was only followed by my web browser, Librewolf, and not xfce utilities like Thunar or xfce4-terminal). By running xfsettingsd manually with `xfsettingsd --replace --no-daemon`, I got a Dbus warning about not being able to commit the configuration changes due to a missing `ca.desrt.dconf` .service file when I tried changeing the theme in the XFCE settings. After googling hard and configuring guix home to have a user dbus service, I learnt about the dconf-service and fixed the issue by simply installing the dconf package. After removing what I added, it turns out the guix home dbus service was not needed, but removing dconf and restarting makes the theme impossible to change again. My system is a VM installed from the iso following the manual installation, running on a baremetal LUKS-encrypted LVM logical volume. My system configuration (based on the desktop example): ``` ;; This is an operating system configuration template ;; for a "desktop" setup with GNOME and Xfce where the ;; root partition is encrypted with LUKS, and a swap file. (use-modules (gnu) (gnu system nss) (guix utils)) (use-service-modules desktop sddm xorg ssh spice) (use-modules (gnu home services desktop)) (use-package-modules certs gnome ssh password-utils emacs gnome-xyz librewolf libreoffice) ; sshfs -> (gnu packages linux) ??? (use-package-modules linux) (operating-system (host-name "geeksos") (timezone "Europe/Paris") (locale "fr_FR.utf8") ;; Choose US English keyboard layout. The "altgr-intl" ;; variant provides dead keys for accented characters. (keyboard-layout (keyboard-layout "fr" "bepo")) ;; Use the UEFI variant of GRUB with the EFI System ;; Partition mounted on /boot/efi. (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) (targets '("/boot/efi")) (keyboard-layout keyboard-layout))) ;; Specify a mapped device for the encrypted root partition. ;; The UUID is that returned by 'cryptsetup luksUUID'. ;(mapped-devices ; (list (mapped-device ; (source (uuid "12345678-1234-1234-1234-123456789abc")) ; (target "my-root") ; (type luks-device-mapping)))) (file-systems (append (list (file-system (device (file-system-label "root")) (mount-point "/") (type "btrfs")) (file-system (device (uuid "04AB-4473" 'fat)) (mount-point "/boot/efi") (type "vfat"))) %base-file-systems)) ;; Specify a swap file for the system, which resides on the ;; root file system. (swap-devices (list (swap-space (target "/swapfile")))) ;; Create user `bob' with `alice' as its initial password. (users (cons (user-account (name "yacine") ;(comment "Alice's brother") ;(password #f) (group "yacine") (supplementary-groups '("wheel" "netdev" "audio" "video"))) %base-user-accounts)) ;; Add the `students' group (groups (cons* (user-group (name "yacine")) %base-groups)) ;; This is where we specify system-wide packages. (packages (append (list ;; for HTTPS access ;nss-certs ;; for user mounts gvfs ; does not work greybird-gtk-theme ; core openssh emacs librewolf libreoffice ; user utils sshfs password-store) %base-packages)) ;; Add GNOME and Xfce---we can choose at the log-in screen ;; by clicking the gear. Use the "desktop" services, which ;; include the X11 log-in service, networking with ;; NetworkManager, and more. (services (append (list ;(service home-dbus-service-type ; only works in guix home configurations ; (home-dbus-configuration)) (service spice-vdagent-service-type (spice-vdagent-configuration)) ; TODO: add authorized keys (service openssh-service-type (openssh-configuration (x11-forwarding? #t) (permit-root-login 'prohibit-password) (gateway-ports? #t)))) (if (target-x86-64?) (append (list ;(service gnome-desktop-service-type) (service xfce-desktop-service-type) (set-xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout)))) %desktop-services) ;; FIXME: Since GDM depends on Rust (gdm -> gnome-shell -> gjs ;; -> mozjs -> rust) and Rust is currently unavailable on ;; non-x86_64 platforms, we use SDDM and Mate here instead of ;; GNOME and GDM. (append (list ;(service mate-desktop-service-type) (service xfce-desktop-service-type) (set-xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout)) sddm-service-type)) %desktop-services)))) ;; Allow resolution of '.local' host names with mDNS. (name-service-switch %mdns-host-lookup-nss)) ``` My home configuration: ``` (use-modules (gnu) (gnu home) (gnu home services shells)) (use-modules (gnu home services desktop)) (use-modules (gnu home services dotfiles)) (home-environment ; (packages ; (specifications->packages ; (list ; "xfce4-settings"))) (services (list (service home-dotfiles-service-type (home-dotfiles-configuration (layout 'stow) (packages '("ssh")) (directories '(".")))) ; excluding .git does not work, and keeping it breaks project management in doom emacs ; hack solution: using stow to whitelist directories to deploy ;(excluded '("./\\.git" "config\\.scm")))) ; (service home-dbus-service-type ; (home-dbus-configuration)) (service home-bash-service-type (home-bash-configuration (environment-variables '(("PS1" . "\\[\\e[1;32m\\]\\u \\[\\e[1;34m\\]\\w \\[\\e[0m\\]λ ") ("EDITOR" . "emacsclient")))))))) ;(aliases '(("gs" . "git status")))))))) ;(packages (specifications->packages ; (list "git" ; "emacs-no-x-toolkit"))) ;(services (list (service home-bash-service-type ; (home-bash-configuration ; (environment-variables '(("PS1" . "\\[\\e[1;32m\\]\\u \\[\\e[1;34m\\]\\w \\[\\e[0m\\]λ ") ; ("EDITOR" . "emacsclient"))) ; (aliases '(("gs" . "git status")))))))) ``` Thank you
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.