[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to remove extension from service definition?

From: Joshua Branson
Subject: Re: How to remove extension from service definition?
Date: Fri, 19 Mar 2021 09:07:00 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)

znavko--- via <> writes:

> Hello! I wish to remove network-manager-applet extension from
> profile-service-type
> which is in the list of extensions of
> xfce-desktop-service-type [1] and [2]
> And also I want to see the result.
> I try it unsuccessfully like this:
> $ guile
>> (use-modules (gnu) (gnu services) (gnu services desktop) (srfi srfi-1))
>> xfce-desktop-service-type
> $1 = #<service-type xfce-desktop 7f6c0a4b1000>
>> (remove (lambda (service) (eq? (service-kind service) profile-service-type)) 
>> xfce-desktop-service-type)
> ice-9/boot-9.scm:1669:16: In procedure raise-exception:
> In procedure remove: Wrong type argument in position 2: #<service-type 
> xfce-desktop 7f6c0a4b1000>

 (remove (lambda (service) (eq? (service-kind service) profile-service-type)) 

"works for me."  Though you get a HUGE output.  I didn't check the
output to make sure it was removed.  Also just removing all
profile-service-type(s) might be a REALLY BAD idea.  I wouldn't know
exactly why it would be bad, but it might remove lots of system services.

> Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue.
> Also I cannot remove service from %desktop-services asI usually do in 
> config.scm:
>> (remove (lambda (service) (member (service-kind service) (list 
>> network-manager-service-type bluetooth-service))) %desktop-services)
> ;;; <stdin>:19:57: warning: possibly unbound variable 
> `network-manager-service-type'
> ice-9/boot-9.scm:1669:16: In procedure raise-exception:
> error: network-manager-service-type: unbound variable
> Can you show me how ot interact with guile ? And how to remove service 
> extensionsand also
> how to look at xfce-desktop-service-type contents?

So the problem with it not knowing that 'network-manager-service-type'
is a variable is because you have not included the file that specifies
that network-manager-service-type is a variable.  So how do we discover
what file has network-manager-service-type defined as a variable?

$ guix system search network-manager
name: network-manager
location: gnu/services/networking.scm:1120:4
extends: shepherd-root dbus polkit account activate session-environment profile
shepherdnames: networking
description: Run NetworkManager 
(, a network management daemon 
that aims to
+ simplify wired and wireless networking.
relevance: 15

You can see that it's located in gnu/services/networking.scm.  Where is
bluetooth defined?

$ guix system search bluetooth
name: bluetooth
location: gnu/services/desktop.scm:467:2
extends: dbus udev etc shepherd-root
shepherdnames: bluetooth
description: Run the `bluetoothd' daemon, which manages all the Bluetooth 
devices and provides a number of D-Bus interfaces.
relevance: 19

Ahh.  gnu/services/desktop.scm.


$ guile
scheme@(guile-user) > ,use(gnu services networking)
scheme@(guile-user) > ,use(gnu services desktop)
scheme@(guile-user) > (remove (lambda (service) (member (service-kind service) 
(list network-manager-service-type bluetooth-service))) %desktop-services)

Best of luck!

Joshua Branson (joshuaBPMan in #guix)
Sent from Emacs and Gnus
  "You can have whatever you want, as long as you help
enough other people get what they want." - Zig Ziglar

reply via email to

[Prev in Thread] Current Thread [Next in Thread]