The Guix package manager is a higly reproducable and stable package manager based on the Nix package manager. It wan made by the FSF, meaning that it allows ou to install a variety of 100% free software. The reproducability and saftey that comes with the Gnu Guix package manager is unrivaled. You may be tempted to install the “Gnu Guix System”, however you can instal the Gnu Guix package manager on any existing Gnu/Linux system. I am going to show you how you can install and use the Guix package manager.

What’s the benefit of using the guix package manager over nix? So you know everything is FOSS?


Sorry I don’t know much about this. Why would it be beneficial to install this in addition the package manager that’s already on my system?


The simplest answer is that it lets you get packages not available in your distribution, or newer versions of packages. However, Guix offers interesting features that typical GNU/Linux package managers do not:

  • package management on a per-user basis, each user has their own set of packages independent of the system packages (a “profile”), user can add/remove packages to their profile without needing root

  • operations on profiles are atomic, they can be rolled back if necessary. This is especially helpful when using Guix System, as it keeps track of previous generations of the system so in case you do break something you can just boot into the previous generation

  • Reproducible builds are a big focus of the Guix project, and the Guix builder does its best to ensure builds are reproducible (e.g. zeroing all timestamps, cutting off network access and so on)

  • package transformations - i.e. build from git commit X, with patch Y, etc.

  • Functional package management: a package is defined in Guile Scheme and takes an “origin” (source git repository or tarball) and set of “input” packages, and produces one or more files in the “store.” Each package knows only about the set of inputs given to it; the build process cannot make network connections or pollute the system outside the build environment.

  • Channels (i.e. package repositories) are simply git repos containing Guile modules. Once you know how to define packages in Scheme it’s fairly simple to just put them up in a git repo online. Guix is a source-based distribution so you don’t even have to build any packages, the package manager will do that

  • An environment is a temporary profile containing the set of dependencies for a given package, meant to more easily get started in hacking on a single package.


Thanks for the info!


Unrelated question: I am tired of what I consider bloat on Xfce. Trying to remove packages such as Adwaita theme or Xburn removes many, many (over 30 sometimes) seemingly unrelated packages that I wanted to keep. I’d like to pick and choose apps (many from Xfce). Will LxQt be a good choice? I’m too cowardly to try WM i3 just yet. I hated KDE. Is there a difference testing out LxQt in a VM or live usb - I am able to do either or both. I use Debian.


Iirc, Adwaita is the default theme for Gnome and thus most GTK apps. That’s why a lot of packages pull it in as a dependency.

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

  • 0 users online
  • 20 users / day
  • 57 users / week
  • 165 users / month
  • 443 users / 6 months
  • 4.81K subscribers
  • 1.76K Posts
  • Modlog