guix search
With the recutils package installed, the search results can be filtered to only show certain fields per package like so:
guix search| recsel -p name,synopsis
You can request information for a specific package by name like so:
guix show
NOTE: The location field of a package definition tells you where its source code can be found. You can use this information to import that package into another package definition (e.g., in a guix.scm file) by translating the location field into a Scheme module name.
Example:
$ guix show clojure-tools name: clojure-tools version: 1.11.1.1413 outputs: + out: everything systems: x86_64-linux dependencies: clojure-tools-deps@0.18.1354 clojure@1.11.1 java-commons-logging-minimal@1.2 rlwrap@0.46.1 location: gnu/packages/clojure.scm:204:2 homepage: https://clojure.org/releases/tools license: EPL 1.0 synopsis: CLI tools for the Clojure programming language description: The Clojure command line tools can be used to start a Clojure repl, use Clojure and Java libraries, and + start Clojure programs.
From here, you can convert the location field value of gnu/packages/clojure.scm to the Scheme module named (gnu packages clojure). From it, you would import the clojure-tools symbol in order to add its package definition to your own (e.g., in the inputs, native-inputs, or propagated-inputs fields).
guix install
Example:
guix install gdal
The guix weather command will check the substitute servers to see if a pre-built binary exists currently for the requested package(s). If so, it reports which substitute servers currently have those binaries. It doesn't actually install anything. This is a good command to run before trying to install or upgrade a potentially expensive-to-build package (e.g., ungoogled-chromium, qgis, texlive, wine). If guix weather reports that no pre-built binaries are currently hosted on the substitute servers, you might want to skip installing/upgrading that package now and try again later.
guix weather
guix pull # pull the latest revision of Guix guix upgrade # upgrade packages to their latest version
guix package --list-installed
guix describe
To run a Development Shell inside of a container, and with the container able to access the host's networking, run:
guix shell --container --network
# Example guix shell --container --network gdal # Shortened flags guix shell -CN gdal
guix shell -CN bash coreutils nss-certs openssh git which less htop curl
guix shell -CN openjdk clojure-tools
guix shell -CN python python-numpy python-scipy -- python3
guix shell -CN r