summaryrefslogtreecommitdiff
path: root/doc/guix.texi
AgeCommit message (Expand)Author
2014-11-08vm: Fix 'vm --full-boot' to produce a sufficient disk image.•••* gnu/system/vm.scm (system-qemu-image/shared-store): Add #:disk-image-size and #:full-boot? parameters and honor them. Pass '#:copy-inputs? full-boot?', and change #:inputs argument. * guix/scripts/system.scm (system-derivation-for-action): Pass #:disk-image-size to 'system-qemu-image/shared-store'. * doc/guix.texi (Invoking guix system): Mention use of '--image-size' in conjunction with '--full-boot'. Ludovic Courtès
2014-11-08vm: Support 'guix system vm --full-boot'.•••* gnu/system/vm.scm (system-qemu-image/shared-store-script): Add #:full-boot? parameter and honor it. * guix/scripts/system.scm (system-derivation-for-action): Likewise. (perform-action): Likewise. (show-help): Document '--full-boot'. (%options): Add '--full-boot'. (guix-system): Add #:full-boot? argument in call to 'perform-action'. * doc/guix.texi (Invoking guix system): Document it. Ludovic Courtès
2014-11-08doc: Emphasize the availability of two user interfaces.•••* doc/guix.texi (Package Management): Add a word about the two user interfaces. Ludovic Courtès
2014-11-07emacs: Add 'guix-prettify'.•••* emacs/guix-prettify.el: New file. * emacs.am (ELFILES): Add it. * doc/emacs.texi (Emacs Prettify): New node. * doc/guix.texi (Features): Mention it. Alex Kost
2014-11-07services: xorg: Allow users to specify a list of resolutions.•••* gnu/services/xorg.scm (xorg-start-command): Add #:resolutions parameter and 'screen-section' procedure. Use it. * doc/guix.texi (X Window): Adjust accordingly. Ludovic Courtès
2014-11-07services: xorg: Allow users to specify the drivers to use.•••* gnu/services/xorg.scm (xorg-start-command): Add #:drivers parameter. Add 'device-section' procedure, and use it in 'xserver.conf'. * doc/guix.texi (X Window): Document it. Ludovic Courtès
2014-11-05services: Add NTP service.•••* gnu/services/networking.scm (ntp-service): New procedure. * doc/guix.texi (Networking Services): Document it. Ludovic Courtès
2014-11-02packages: Implement grafts.•••Thanks to Mark H. Weaver <mhw@netris.org> for insightful discussions and suggestions. * guix/packages.scm (<package>)[graft]: New field. (patch-and-repack): Invoke 'package-derivation' with #:graft? #f. (package-source-derivation): Likewise. Do not use (%guile-for-build) in call to 'patch-and-repack', and we could end up using a grafted Guile. (expand-input): Likewise, also for 'package-cross-derivation' call. (package->bag): Add #:graft? parameter. Honor it. Use 'strip-append' instead of 'package-full-name'. (input-graft, input-cross-graft, bag-grafts, package-grafts): New procedures. (package-derivation, package-cross-derivation): Add #:graft? parameter and honor it. * gnu/packages/bootstrap.scm (package-with-bootstrap-guile): Add recursive call on 'graft'. * guix/build-system/gnu.scm (package-with-explicit-inputs, package-with-extra-configure-variable, static-package): Likewise. (gnu-build): Use the ungrafted Guile to avoid full rebuilds. (gnu-cross-build): Likewise. * guix/build-system/cmake.scm (cmake-build): Likewise. * guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Likewise. * guix/build-system/perl.scm (perl-build): Likewise. * guix/build-system/python.scm (python-build): Likewise. * guix/build-system/ruby.scm (ruby-build): Likewise. * guix/build-system/trivial.scm (guile-for-build): Likewise. * tests/packages.scm ("package-derivation, direct graft", "package-cross-derivation, direct graft", "package-grafts, indirect grafts", "package-grafts, indirect grafts, cross", "package-grafts, indirect grafts, propagated inputs", "package-derivation, indirect grafts"): New tests. ("bag->derivation", "bag->derivation, cross-compilation"): Wrap in 'parameterize'. * doc/guix.texi (Security Updates): New node. (Invoking guix build): Document --no-graft. Ludovic Courtès
2014-10-27doc: Add a note about optional GnuTLS dependency.•••* README (Requirements): add a note about 'guix download''s GnuTLS dependency. * doc/guix.texi (Requirements): Likewise. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Ian Denhardt
2014-10-27doc: Add cross-reference to the gnutls-guile manual.•••* doc/guix.texi (Invoking guix download): Add cross-reference to the gnutls-guile manual. Ludovic Courtès
2014-10-16guix lint: add the --checkers option.•••* guix/scripts/lint.scm: add the "--checkers" option. * doc/guix.texi (Invoking guix lint): Document it. * tests/guix-lint.sh: New file * Makefile.am (SCM_TESTS): Add it. Cyril Roelandt
2014-10-12guix package: Add '--switch-generation' option.•••* guix/scripts/package.scm (switch-to-generation): New procedure. (switch-to-previous-generation): Use it. (guix-package): Adjust for '--switch-generation' option. * tests/guix-package.sh: Test it. * doc/guix.texi (Invoking guix package): Document it. Alex Kost
2014-10-10scripts: Add 'environment' command.•••* guix/scripts/environment.scm: New file. * Makefile.am (MODULES): Add it. * doc/guix.texi ("Invoking guix environment"): New node. David Thompson
2014-10-10doc: Add 'operating-system' reference.•••* doc/guix.texi (Using the Configuration System): Add xref to "operating-system Reference". (operating-system Reference): New section. (Networking Services): Add xref to it. Ludovic Courtès
2014-10-10doc: Use @deftp for 'build-machine'.•••* doc/guix.texi (Daemon Offload Setup): Use @deftp for 'build-machine'. Ludovic Courtès
2014-10-09daemon: Add '--substitute-urls' option.•••* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_SUBSTITUTE_URLS): New macro. (GUIX_OPT_NO_BUILD_HOOK, GUIX_OPT_GC_KEEP_OUTPUTS, GUIX_OPT_GC_KEEP_DERIVATIONS): Renumber. (options): Add '--substitute-urls'. (parse_opt): Honor it. (main): Add 'settings.set' call for the default "substitute-urls" value. * guix/scripts/substitute-binary.scm (daemon-options, find-daemon-option): New procedures. (%cache-url): Define based on the "substitute-urls" daemon option. * doc/guix.texi (Invoking guix-daemon): Document '--substitute-urls'. (Substitutes): Mention it. Ludovic Courtès
2014-10-08monads: Add 'mbegin'.•••* guix/monads.scm (mbegin): New macro. * tests/monads.scm ("mbegin"): New test. * doc/guix.texi (The Store Monad): Document it. Ludovic Courtès
2014-10-08doc: Document 'glib-or-gtk-build-system'.•••* doc/guix.texi (Build System): Document 'glib-or-gtk-build-system'. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Federico Beffa
2014-10-07services: Add '%facebook-host-aliases'.•••* gnu/services/networking.scm (%facebook-host-aliases): New variable. * doc/guix.texi (Networking Services): Document it. Ludovic Courtès
2014-10-06doc: Mention optional dependency on Guile-JSON.•••* README (Requirements): Add Guile-JSON. * doc/guix.texi (Requirements): Likewise. Ludovic Courtès
2014-10-05build-system: Introduce "bags" as an intermediate representation.•••* guix/build-system.scm (<build-system>)[build, cross-build]: Remove. [lower]: New field. (<bag>): New record type. (make-bag): New procedure. * guix/packages.scm (bag-transitive-inputs, bag-transitive-build-inputs, bag-transitive-host-inputs, bag-transitive-target-inputs, package->bag): New procedures. (package-derivation): Use it; use the bag, apply its build procedure, etc. (package-cross-derivation): Likewise. * gnu/packages/bootstrap.scm (raw-build, make-raw-bag): New procedure. (%bootstrap-guile): Use them. * guix/build-system/trivial.scm (lower): New procedure. (trivial-build, trivial-cross-build): Remove 'source' parameter. Pass INPUTS as is. (trivial-build-system): Adjust accordingly. * guix/build-system/gnu.scm (%store, inputs-search-paths, standard-search-paths, expand-inputs, standard-inputs): Remove. (gnu-lower): New procedure. (gnu-build): Remove 'source' and #:implicit-inputs? parameters. Remove 'implicit-inputs' and 'implicit-search-paths' variables. Get the source from INPUT-DRVS. (gnu-cross-build): Likewise. (standard-cross-packages): Remove call to 'standard-packages'. (standard-cross-inputs, standard-cross-search-paths): Remove. (gnu-build-system): Remove 'build' and 'cross-build'; add 'lower'. * guix/build-system/cmake.scm (lower): New procedure. (cmake-build): Remove 'source' and #:cmake parameters. Use INPUTS and SEARCH-PATHS as is. Get the source from INPUTS. * guix/build-system/perl.scm: Likewise. * guix/build-system/python.scm: Likewise. * guix/build-system/ruby.scm: Likewise. * gnu/packages/cross-base.scm (cross-gcc): Change "cross-linux-headers" to "linux-headers". (cross-libc)[xlinux-headers]: Pass #:implicit-cross-inputs? #f. Likewise. In 'propagated-inputs', change "cross-linux-headers" to "linux-headers". * guix/git-download.scm (git-fetch): Use 'standard-packages' instead of 'standard-inputs'. * tests/builders.scm ("gnu-build-system"): Remove use of 'build-system-builder'. ("gnu-build"): Remove 'source' and #:implicit-inputs? arguments to 'gnu-build'. * tests/packages.scm ("search paths"): Adjust to new build system API. ("package-cross-derivation, no cross builder"): Likewise. * doc/guix.texi (Build Systems): Add paragraph on bags. Ludovic Courtès
2014-10-04build-system/cmake: Add #:build-type parameter, default to "RelWithDebInfo".•••* guix/build-system/cmake.scm (cmake-build): Add #:build-type. Pass it in BUILDER. * guix/build/cmake-build-system.scm (configure): Add #:build-type parameter and honor it. * doc/guix.texi (Build Systems): Document #:configure-flags and #:build-type for CMake. Ludovic Courtès
2014-10-03ui: Recognize the same size units as Coreutils.•••* guix/ui.scm (size->number): Add a bunch of large units. Recognize one-letter unit names. Change "KB" to "kB". * tests/ui.scm ("size->number, 1T"): New test. * doc/guix.texi (Invoking guix gc): Add cross-reference to "Block size" in the Coreutils manual. (Invoking guix system): Likewise. Ludovic Courtès
2014-09-28build: Add ruby build system.•••* guix/build-system/ruby.scm: New file. * guix/build/ruby-build-system: New file. * Makefile.am (MODULES): Add new files. * doc/guix.texi (Build Systems): Document ruby-build-system. David Thompson
2014-09-28doc: Use 'define-public' in example package recipe.•••* doc/guix.texi (Defining Packages): Use 'define-public' instead of 'define'. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Ian Denhardt
2014-09-24Introduce the 'GUIX_PACKAGE_PATH' environment variable.•••* gnu/packages.scm (%package-module-path): Honor $GUIX_PACKAGE_PATH. * test-env.in: Unset 'GUIX_PACKAGE_PATH'. * tests/guix-package.sh: Test it. * doc/guix.texi (Package Modules): Document it. Ludovic Courtès
2014-09-24guix build: Add -L/--load-path as a common option.•••* guix/scripts/build.scm (show-build-options-help): Document -L. (%standard-build-options): Add -L/--load-path. * tests/guix-package.sh: Test it. Ludovic Courtès
2014-09-23services: Add 'bitlbee-service'.•••* gnu/services/networking.scm (bitlbee-service): New procedure. * doc/guix.texi (Networking Services): Document it. Ludovic Courtès
2014-09-22linux-initrd: Adjust VM code and doc to new 'base-initrd' signature.•••This fixes regressions introduced in de1c158 ("system: Add support for boot-time mapped devices."). * doc/guix.texi (Initial RAM Disk): Adjust example with custom use of 'base-initrd'. Document #:mapped-devices parameter of 'base-initrd'. * gnu/system/vm.scm (system-disk-image, system-qemu-image, virtualized-operating-system): Adjust call to 'base-initrd' to new signature. Ludovic Courtès
2014-09-18doc: Remove a couple of limitations.•••* doc/guix.texi (System Installation): Remove encrypted disks and swap from the limitations. Ludovic Courtès
2014-09-18doc: Document mapped devices.•••* doc/guix.texi (Mapped Devices): New subsection. Ludovic Courtès
2014-09-14services: Add 'dhcp-client-service'.•••* gnu/services/networking.scm (dhcp-client-service): New procedure. * doc/guix.texi (Networking Services): Document it. Ludovic Courtès
2014-09-14doc: Mention audio, video, and cdrom groups more prominently.•••* doc/guix.texi (User Accounts): Add the "audio", "video", and "cdrom" groups in the example. Ludovic Courtès
2014-09-08linux-initrd: Store Linux modules in a normal store directory.•••* gnu/system/linux-initrd.scm (expression->initrd): Remove #:linux and #:linux-modules parameters. Remove call to 'float-linux-module-directory'. (base-initrd): Add call to 'float-linux-module-directory'. Use it in #:linux-modules argument in the gexp. Remove #:linux and #:linux-modules arguments to 'expression->initrd'. * gnu/build/linux-initrd.scm (build-initrd): Remove #:linux-module-directory parameter. Don't create 'modules' sub-directory. * gnu/build/linux-boot.scm (boot-system): Mentin that LINUX-MODULES is a list of absolute file names. Don't prepend "/modules/" to LINUX-MODULES. * doc/guix.texi (Initial RAM Disk): Adjust accordingly. Ludovic Courtès
2014-09-08linux-initrd: Remove #:to-copy argument of 'expression->initrd'.•••* gnu/system/linux-initrd.scm (expression->initrd): Remove #:to-copy parameter. Remove 'graph-files', and adjust #:references-graphs arguments to just list INIT. (base-initrd): Remove #:to-copy argument. * doc/guix.texi (Initial RAM Disk): Adjust accordingly. Ludovic Courtès
2014-09-06gexp: Allow use of high-level objects in #:references-graphs.•••* guix/gexp.scm (lower-reference-graphs): New procedure. (gexp->derivation)[graphs-file-names]: New procedure. Use 'lower-reference-graphs', and augment #:inputs argument as a function of #:references-graphs. * doc/guix.texi (G-Expressions): Adjust 'gexp->derivation' documentation accordingly. * tests/gexp.scm ("gexp->derivation, store copy"): Remove reference to TWO in BUILD-DRV. Use TWO directly in #:references-graphs argument. ("gexp->derivation #:references-graphs"): New test. * gnu/system/vm.scm (qemu-image): Remove variable 'graph'; use INPUTS as the #:references-graphs argument to 'expression->derivation-in-linux-vm'. Ludovic Courtès
2014-09-03Add Emacs user interface.•••* configure.ac (emacsuidir): New variable. (AC_CONFIG_FILES): Add 'emacs/guix-init.el', 'emacs/guix-helper.scm'. * Makefile.am: Include 'emacs.am'. * emacs.am: New file. * doc/emacs.texi: New file. * doc/guix.texi: Include 'emacs.texi'. * emacs/guix-backend.el: New file. * emacs/guix-base.el: New file. * emacs/guix-helper.scm.in: New file. * emacs/guix-history.el: New file. * emacs/guix-info.el: New file. * emacs/guix-init.el.in: New file. * emacs/guix-list.el: New file. * emacs/guix-main.scm: New file. * emacs/guix-utils.el: New file. * emacs/guix.el: New file. Alex Kost
2014-09-03scripts: add guix lint•••* guix/scripts/lint.scm: New file. Defines a 'lint' tool for Guix packages. * tests/lint.scm: New file. * Makefile.am (MODULES, SCM_TESTS): Add them. * po/guix/Makevars: Update appropriately. * po/guix/POTFILES.in: Update appropriately. * doc/guix.texi: Document "guix lint". Cyril Roelandt
2014-09-01doc: Clarify system installation and configuration details.•••Reported by leth on #guix. * doc/guix.texi (System Installation): Suggest running 'reboot' instead of 'umount /mnt'. (Initial RAM Disk): Add xref to SRFI-26. Ludovic Courtès
2014-08-31daemon: Rename '--disable-store-optimization' to '--disable-deduplication'.•••* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_DISABLE_STORE_OPTIMIZATION): Rename to... (GUIX_OPT_DISABLE_DEDUPLICATION): ... this. Adjust user accordingly. (options): Add "disable-deduplication". Make "disable-store-optimization" a hidden alias. * doc/guix.texi (Invoking guix-daemon): Adjust to new option name. Add index entry. Improve description. Ludovic Courtès
2014-08-28doc: %final-inputs is now in (gnu packages commencement).•••* doc/guix.texi (Bootstrapping): Adjust the text to reflect that '%final-inputs' is now in (gnu packages commencement). Mark H Weaver
2014-08-18gexp: Add 'ungexp-native' and 'ungexp-native-splicing'.•••* guix/gexp.scm (<gexp>)[natives]: New field. (write-gexp): Use both 'gexp-references' and 'gexp-native-references'. (gexp->derivation): Use both 'gexp-inputs' and 'gexp-native-inputs', and append them. (gexp-inputs): Add 'references' parameter and honor it. (gexp-native-inputs): New procedure. (gexp->sexp)[reference->sexp]: Add 'native?' parameter and honor it. Use it, and use 'gexp-native-references'. (gexp)[collect-native-escapes]: New procedure. [escape->ref]: Handle 'ungexp-native' and 'ungexp-native-splicing'. [substitute-ungexp, substitute-ungexp-splicing]: New procedures. [substitute-references]: Use them, and handle 'ungexp-native' and 'ungexp-native-splicing'. Adjust generated 'make-gexp' call to provide both normal references and native references. [read-ungexp]: Support 'ungexp-native' and 'ungexp-native-splicing'. Add reader extension for #+. * tests/gexp.scm (gexp-native-inputs): New procedure. (gexp->sexp*): Add 'target' parameter. ("ungexp + ungexp-native", "input list + ungexp-native", "input list splicing + ungexp-native-splicing", "gexp->derivation, ungexp-native", "gexp->derivation, ungexp + ungexp-native"): New tests. ("sugar"): Add tests for #+ and #+@. * doc/guix.texi (G-Expressions): Document 'ungexp-native' et al. Ludovic Courtès
2014-08-17gexp: Add #:target parameter to 'gexp->derivation'.•••* guix/gexp.scm (lower-inputs): Add #:system and #:target. Use 'package->cross-derivation' when TARGET is true. Honor SYSTEM. (gexp->derivation): Add #:target argument. Pass SYSTEM and TARGET to 'lower-inputs' and 'gexp->sexp'. (gexp->sexp): Add #:system and #:target. Pass them in recursive call and to 'package-file'. * tests/gexp.scm (gexp->sexp*): Add 'system' and 'target' parameters. ("gexp->derivation, cross-compilation"): New test. Ludovic Courtès
2014-08-17monads: Add 'package->cross-derivation' and #:target for 'package-file'.•••* guix/monads.scm (package-file): Add #:target keyword parameter and honor it. (package->cross-derivation): New procedure. * tests/monads.scm ("package-file + package->cross-derivation"): New test. * doc/guix.texi (The Store Monad): Update 'package-file' documentation. Add 'package->cross-derivation'. Ludovic Courtès
2014-08-15Add (guix monad-repl).•••* guix/monad-repl.scm: New file. * guix.scm: Add it. * Makefile.am (MODULES): Add it. * doc/guix.texi (The Store Monad): Document it. Ludovic Courtès
2014-08-15doc: Fix mention of default log location.•••* doc/guix.texi (Invoking guix-daemon): Fix mention of default log location. Mark H Weaver
2014-07-25doc: Replace incorrect uses of @ref by @pxref.•••* doc/guix.texi: Use @pxref at the end of sentences, not @ref. Ludovic Courtès
2014-07-25doc: Fix typo in USB image file name.•••* doc/guix.texi (System Installation): Change image file name. Ludovic Courtès
2014-07-25system: Add the 'system?' field for user groups.•••Suggested by Mark H. Weaver. * gnu/system/shadow.scm (<user-group>)[system?]: New field. (%base-groups): Introduce 'system-group' macro, and use it. * gnu/system.scm (user-group->gexp): Pass the 'system?' field. * guix/build/activation.scm (add-group): Add #:system? and honor it. (activate-users+groups): Handle the 'system?' field. * gnu/system/file-systems.scm (%tty-gid): Choose an ID below 1000. * doc/guix.texi (User Accounts): Document the 'system?' field. Ludovic Courtès
2014-07-24doc: Make sure out-of-source-tree builds find os-config.tmpl.•••* Makefile.am (BUILT_SOURCES): New variable. * daemon.am (BUILT_SOURCES): Use +=. * doc.am (BUILT_SOURCES, MAINTAINERCLEANFILES, EXTRA_DIST): Add doc/os-config.texi. (doc/os-config.texi): New target. * doc/guix.texi (System Installation): Include os-config.texi. Ludovic Courtès