GNU Guix System: A Linux distribution made entirely of free software

Ivon Huang
·
·
IPFS
·
GNU Guix System focuses on everything from software to system settings, and you can write a declaration file for installation.

1. Introduction to GNU Guix System

Inspired by Nix, GNU Guix is a Linux package administrator with declarative (delcartion) installation and strong version management capabilities, and Guix emphasizes that the official software library only includes free software.


The official website has a complete reference manual detailing the detailed usage of each command, and Guix is also part of the Free Software Foundation's GNU project.

GNU Guix can be installed on other Linux distributions, coexisting with other package managers. For Guix, this is called installing on a foreign distro.

On the other hand, GNU Guix can also be installed as an independent system, which is GNU Guix System (formerly known as GNU GuixSD). Guix is a distribution similar to rolling updates. The default kernel is "Linux-libre" without closed firmware, and the init program is GNU Shepherd.

GNU Guix System focuses on everything from software to system settings. You can write a declaration file for installation, and you can roll back (downgrade) at any time. Even the Guix system itself can be viewed as a Git repository, where legacy configuration files are kept every time a change is made to the system.

In summary, the reasons for using GNU Guix System:

  1. All are composed of free and open source software, respecting the user's computer freedom.
  2. System settings and software installation can be easily reproduced (reproduce), as long as the configuration can be completed through a declaration file.
  3. The official has a detailed reference manual and teaching videos.

Before using it, you should consider:

  1. Free software means that there are many Wifi network cards, Nvidia graphics cards will not work
  2. Using this system requires a certain understanding of the underlying operation of the Linux system.
  3. Writing a declaration file requires familiarity with the Scheme (Lisp) programming language.


2. Install GNU Guix System

GNU Guix System is installed with a text interface for guided installation, the process is detailed in: Installing GNU Guix System

The recommended desktop environment is GNOME or XFCE.


3. Software management of GNU Guix System

The package manager of the GNU Guix System is, of course, Guix.

The command to update the system is guix pull . This command is equivalent to apt update & apt upgrade . It is best to execute it once before each system change.

The Guix command to install the software is guix install , which will install the software to the current user's home directory, so root privileges are not required for installation. Guix can compile software packages from the local machine, but guix install will download the "substitute" installation by default, that is, the pre-compiled packages on the software library.

Guix's official software repository only provides free software, but there is still an unofficial Guix Nonfree software repository, which contains closed-source Nvidia drivers.


4. GNU Guix System to adjust system settings

The desktop environment and system service settings of GNU Guix System are different from those of general GNU/Linux. If you want to modify system settings, or install all user-available system packages, you need to use the command guix system + declaration file. The declaration file can use the file generated after installing the system, located in /etc/config.scm , directly take this to modify.

The process of modifying the system with guix system --reconfigure is called instantiation. The modified system will become a new version (generation) and become the default option in the boot GRUB menu. Instead, use guix system --roll-back to roll back the system to the previous version. Therefore, modifying the system settings through the guix system can ensure that the system can be rolled back to the old version.

In the future, Guix will also introduce the guix home command, which is mainly used to modify the hidden configuration files in the home directory.

CC BY-NC-ND 2.0

Like my work? Don't forget to support and clap, let me know that you are with me on the road of creation. Keep this enthusiasm together!

Ivon Huang自由軟體、航空、20世紀歷史愛好者。 這裡記載的東西究竟會成為未來的碎片,在那最果之處,反射出匯集各處思念的光芒。 My Blog: https://ivonblog.com
  • Author
  • More

將suckless.org極簡網頁設計哲學付諸實現

Linux電腦好用的必裝軟體,從文書處理到玩遊戲一次滿足

半回憶錄形式的2022年Matters回顧問卷