Would you be so kind to give me info where I can get the variables, its elements and possible values? As you've offered this: (modify-services %desktop-services              (elogind-service-type                c => (elogind-configuration                       (handle-lid-switch 'ignore)))) I can find elogind configuration here https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/services/desktop.scm#n566 As I look at `guix package -s elogind` I've discovered that _elogind_ is a port of systemd _logind_ service. Manual describes here  http://man7.org/linux/man-pages/man5/logind.conf.5.html "HandleLidSwitch=, HandleLidSwitchDocked=            Controls how logind shall handle the system power and sleep keys            and the lid switch to trigger actions such as system power-off or            suspend. Can be one of "ignore", "poweroff", "reboot", "halt",            "kexec", "suspend", "hibernate", "hybrid-sleep", and "lock". If            "ignore", logind will never handle these keys." Ok,  I've got variable 'HandleLidSwitch' and it's value 'ignore' that I need to use. It is so hard to get from all these sources the lines that you've wrote. But sorry, config contains 'handle-lid-switch'. And may be I will need any other configurations in other services that were not mentioned in Guix cgit. So how to get their exact names? I started to learn guile at free time. But other Linux distributions had answers in the web how to configure. Using GuixSD I need to know exactly every package configurations and to now exactly how to translate it into Scheme. I there any specific manual how to do that?