Skip to main content

Misadventure in GUIX #2

Last time I tried GuixSD, I was unable to install it on Virtual Box, but with the latest build I was able to install it as any other distro...

This is already a big success and then I tried to explore a bit how it works... The main goal for now is to install the "guest addition" in order to have better performance on the VM.

The first limit I found is the documentation, actually I always have been finding the Linux man pages uneasy to understand, somehow cryptic, with improbably examples. Anyway, First thing I tried to understand if there were collections that can help to get all the packages I needed for the build from source but I didn't find any. I found some packages that download with them a lot of others packages, so basically I had should be ready.

Then I inserted the virtual cd but there wasn't any virtual cd. I checked the setting of the DE, I installed XFCE4, and everything was already properly set up then I thought maybe was a matter of permits and groups. Actually I wasn't in cdrom group so I tried to add my user but there wasn't the package, then I... show more
# #linux #guix #guixsd #fsf #freesoftware #opensource #foss #floss #noob #LinuxDesktop #linuxdistros free software (x) guix (x) linux (x)
This entry was edited (6 months ago)

The configuration file can be located anywhere. You then call
guix system reconfigure file-name

to instantiate your system.

You can check if a package if installed with :
guix package -I package-name

Also, mousepad was added to the Guix packages recently. I submitted geany package for inclusion, too.

Eventually, I remember a discussion about switch from GDM to something else on the mailing list recently. You may want to check its archives. IIRC, it is not about switching packages, but services.

I admit my limitation however the things aren't dumb-proof at all...

List the currently installed packages in the specified profile,
with the most recently installed packages shown last. When REGEXP
is specified, list only installed packages whose name matches

For each installed package, print the following items, separated by
tabs: the package name, its version string, the part of the package
that is installed (for instance, ‘out’ for the default output,
‘include’ for its headers, etc.), and the path of this package in
the store.

And when I try your suggestion doesn't happen anything...

guix@guix ~$ guix package -I gdm
guix@guix ~$ sudo guix package -I gdm
guix@guix ~$ guix search 'gdm'
name: gdm
version: 3.28.2
outputs: out
systems: x86_64-linux i686-linux armhf-linux aarch64-linux mips64el-linux
dependencies: accountsservice@
... show more

Thanks, that was unexpected... 😁

By the way, GuixSD is awesome, but it has is learning curve...

I understand this can be confusing.
guix package -I

lists packages explicitely installed, or packages propagated when installing another package (see propagated inputs in the manual). However, it doesn't list (non-propagated) dependencies of a package, or a service, which do not appear anywhere in your path anyway. GDM is one of these. Another example would be Python, which is possibly a dependency for a package you installed, but doesn't appear with the command above if you didn't install it interactively.

As a side note, if that matters, GuixSD code name was dropped prior to 1.0 release. Nowadays, the name is Guix System, or simply Guix.

Well, as a matter of fact, I couldn't even uninstall it because for the package manager it does not exist... 😩

"Installing" software in Guix has a different meaning than, for example, in Debian. It could mean dispatching some files somewhere (in a location called the store, actually), but, more importantly, it means linking the stored files to your profile. Likewise, "uninstalling" doesn't remove files from the hard drive (this is another operation, called garbage collection); it merely removes the links between your profile and the files.

In the current case, you never "installed" gdm, i.e., you never actually linked GDM files to your profile, so you cannot uninstall something you never installed in the first place.

Again, GDM is there because you probably used %desktop-services in your system declaration. This set of services includes a GDM service. In order to get rid of it, you don't need to "uninstall" it, as this means something different, but you need to remove it from the list of services and replace it with an equivalent. If you look into the manual, at "slim-service-type", you'll see an example illustrating how to achieve this.

Thank you very much for mentoring me, actually I was unable to find or create the configuration system file.

So until I don't understand how where it is or how to create it, I'll be likely unable to achieve anything.

Just another question but if gdm is not installed but just "linked" to my profile how can I remove it? Manually?

Thanks... 🍺

If you used the graphical installer, the system declaration file is probably /mnt/etc/config.scm.

I'm not sure to understand your question, however. "installed" really means "associated to your profile" so GDM cannot be "associated" but not "installed".