GUIX(1)

πŸ¦‹ GUIX(1) πŸ¦‹

okay so bestie, welcome to the GUIX(1) manual page β€” specifically the one for guix system, and the manual name right up top is guix system (GNU Guix) 1.5.0rc1.47-fc2f5a. It lives in the User Commands section and it is giving very β€œlet’s build an OS together” energy. πŸ’–


πŸ’– NAME πŸ’–

guix β€” manual page for guix system (GNU Guix) 1.5.0rc1.47-fc2f5a.


✨ SYNOPSIS ✨

guix system [OPTION ...] ACTION [ARG ...] [FILE]

🌸 DESCRIPTION 🌸

Build the operating system declared in FILE according to ACTION. Some ACTIONS support additional ARGS. 🫢

The valid values for ACTION are:

  • search β€” search for existing service types
  • edit β€” edit the definition of an existing service type
  • reconfigure β€” switch to a new operating system configuration
  • roll-back β€” switch to the previous operating system configuration
  • describe β€” describe the current system
  • list-generations β€” list the system generations
  • switch-generation β€” switch to an existing operating system configuration
  • delete-generations β€” delete old system generations
  • build β€” build the operating system without installing anything
  • container β€” build a container that shares the host’s store
  • vm β€” build a virtual machine image that shares the host’s store
  • image β€” build a Guix System image
  • docker-image β€” build a Docker image
  • init β€” initialize a root file system to run GNU
  • installer β€” run the graphical installer
  • extension-graph β€” emit the service extension graph in Dot format
  • shepherd-graph β€” emit the graph of shepherd services in Dot format

πŸ’… the options, and yes, every single one is here πŸ’…

  • -L, --load-path=DIR β€” prepend DIR to the package module search path
  • -K, --keep-failed β€” keep build tree of failed builds
  • -k, --keep-going β€” keep going when some of the derivations fail
  • -n, --dry-run β€” do not build the derivations
  • --fallback β€” fall back to building when the substituter fails
  • --no-substitutes β€” build instead of resorting to pre-built substitutes
  • --substitute-urls=URLS β€” fetch substitute from URLS if they are authorized
  • --no-grafts β€” do not graft packages
  • --no-offload β€” do not attempt to offload builds
  • --max-silent-time=SECONDS β€” mark the build as failed after SECONDS of silence
  • --timeout=SECONDS β€” mark the build as failed after SECONDS of activity
  • --rounds=N β€” build N times in a row to detect non-determinism
  • -c, --cores=N β€” allow the use of up to N CPU cores for the build
  • -M, --max-jobs=N β€” allow at most N build jobs
  • --debug=LEVEL β€” produce debugging output at LEVEL
  • -d, --derivation β€” return the derivation of the given system
  • -e, --expression=EXPR β€” consider the operating-system EXPR evaluates to instead of reading FILE, when applicable
  • --allow-downgrades β€” for 'reconfigure', allow downgrades to earlier channel revisions
  • --on-error=STRATEGY β€” apply STRATEGY (one of nothing-special, backtrace, or debug) when an error occurs while reading FILE
  • --list-image-types β€” list available image types
  • -t, --image-type=TYPE β€” for 'image', produce an image of TYPE
  • --image-size=SIZE β€” for 'image', produce an image of SIZE
  • --no-bootloader β€” for 'init', do not install a bootloader
  • --no-kexec β€” for 'reconfigure', do not load system for kexec reboot
  • --volatile β€” for 'image', make the root file system volatile
  • --persistent β€” for 'vm', make the root file system persistent
  • --label=LABEL β€” for 'image', label disk image with LABEL
  • --save-provenance β€” save provenance information
  • --share=SPEC β€” for 'vm' and 'container', share host file system with read/write access according to SPEC
  • --expose=SPEC β€” for 'vm' and 'container', expose host file system directory as read-only according to SPEC
  • -N, --network β€” for 'container', allow containers to access the network
  • -r, --root=FILE β€” for 'vm', 'image', 'container' and 'build', make FILE a symlink to the result, and register it as a garbage collector root
  • --full-boot β€” for 'vm', make a full boot sequence
  • --no-graphic β€” for 'vm', use the tty that we are started in for IO
  • --skip-checks β€” skip file system and initrd module safety checks
  • -v, --verbosity=LEVEL β€” use the given verbosity LEVEL
  • --graph-backend=BACKEND β€” use BACKEND for 'extension-graph' and 'shepherd-graph'
  • -I, --list-installed[=REGEXP] β€” for 'describe' and 'list-generations', list installed packages matching REGEXP
  • --list-targets β€” list available targets
  • --target=TRIPLET β€” cross-build for TRIPLET--e.g., "aarch64-linux-gnu"
  • --list-systems β€” list available systems
  • -s, --system=SYSTEM β€” attempt to build for SYSTEM--e.g., "i686-linux"
  • --help-docker-format β€” list options specific to the docker image type.
  • -h, --help β€” display this help and exit
  • -V, --version β€” display version information and exit

🫢 REPORTING BUGS 🫢


Copyright Β© 2025 the Guix authors License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.


🌈 SEE ALSO 🌈

The full documentation for guix is maintained as a Texinfo manual. If the info and guix programs are properly installed at your site, the command

info guix

should give you access to the complete manual.


signed, sealed, delivered from the GNU corner: source/version GNU, date January 2026, page tag GUIX(1). bye bestie πŸ’…βœ¨

πŸ“¦ where this page comes from