guix
Guix is a command-line tool and package manager used in GNU Guix System, a functional package management system developed by the GNU Project.
It allows users to install, upgrade, and remove packages on their GNU/Linux systems. Guix focuses on providing reproducible builds, meaning that users can build software packages with the same inputs and get the same results every time.
Guix uses a functional programming language called Guile Scheme, which allows users to express package definitions and build processes in a declarative and concise manner.
It supports both binary and source-based package management, giving users the option to build packages from source code.
Guix provides atomic transactions, ensuring that package installations and upgrades are atomic and consistent, allowing for easy package management and rollback in case of errors.
The tool combines package management with a functional operating system deployment system, offering system configuration management and allowing users to define, customize, and deploy entire system configurations.
Guix is decentralized, meaning that users can operate their own package repositories, allowing for collaborative development and sharing of packages.
It has an extensive set of commands for managing packages, channels, profiles, and other system configurations.
Guix supports different packaging workflows, allowing users to easily create and share their own packages.
The package manager includes advanced features like package isolation for reproducibility, dependency graph analysis, and revision control for package definitions.
List of commands for guix:
-
guix-package:tldr:1e0c1 guix-package: List generations.$ guix package -ltry on your machineexplain this command
-
guix-package:tldr:2b1d7 guix-package: Roll back to the previous generation.$ guix package --roll-backtry on your machineexplain this command
-
guix-package:tldr:2ffc6 guix-package: Remove a package.$ guix package -r ${package_name}try on your machineexplain this command
-
guix-package:tldr:4870c guix-package: Install a new package.$ guix package -i ${package_name}try on your machineexplain this command
-
guix-package:tldr:6eaa0 guix-package: List installed packages.$ guix package -Itry on your machineexplain this command
-
guix-package:tldr:70b5f guix-package: Search the package database for a regular expression.$ guix package -s "${search_pattern}"try on your machineexplain this command