summaryrefslogtreecommitdiff
path: root/doc/guix.texi
AgeCommit message (Expand)Author
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
2014-07-24doc: Add "guix system" to 'dir'....* doc/guix.texi: Add "guix system" to the dir entry. Ludovic Courtès
2014-07-24install: Add a configuration template to the image....* gnu/system/os-config.tmpl: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it * gnu/system/install.scm (configuration-template-service): New procedure. (installation-services): Call it. * doc/guix.texi (System Installation): Mention configuration-template.scm, and @include gnu/system/os-config.tmpl. Ludovic Courtès
2014-07-24monads: Add 'interned-file'....* guix/monads.scm (interned-file): New procedure. * tests/monads.scm ("interned-file"): New test. * doc/guix.texi (The Store Monad): Document it. Ludovic Courtès
2014-07-24doc: Recommend partition labels....* doc/guix.texi (System Installation): Recommend partition labels. Ludovic Courtès
2014-07-23install: Add a service to back the store with the target disk....Fixes <http://bugs.gnu.org/18061>. Reported by Adam Pribyl <pribyl@lowlevel.cz>. * gnu/services/dmd.scm (dmd-configuration-file)[config]: Import (guix build utils). * gnu/system/install.scm (make-cow-store, cow-store-service): New procedures. (installation-services): Use it. (%backing-directory): New variable. * doc/guix.texi (System Installation): Add the 'deco start cow-store /mnt' phase. Ludovic Courtès
2014-07-23system: Add /dev/shm....* gnu/system/file-systems.scm (%shared-memory-file-system): New variable. (%base-file-systems): Add it. * doc/guix.texi (File Systems): Document it. Ludovic Courtès
2014-07-23system: Recognize more file system flags....* guix/build/linux-initrd.scm (MS_NOSUID, MS_NODEV, MS_NOEXEC): New variables. (mount-flags->bit-mask): New procedure. (mount-file-system)[flags->bit-mask]: Remove. Use 'mount-flags->bit-mask' instead. In /etc/mtab, use the empty string when OPTIONS is false. * gnu/services/base.scm (file-system-service): Add #:flags parameter and honor it. * gnu/system.scm (other-file-system-services): Pass FLAGS to 'file-system-service'. Ludovic Courtès
2014-07-23doc: Merge the type, variable, and function indices....* doc/guix.texi (Function Index): Rename to... (Programming Index): ... this. Merge the type, variable, and function indices. Ludovic Courtès
2014-07-23system: Add 'file-system' decl. for /dev/pts, and use the right options....Fixes <http://bugs.gnu.org/18081>. * gnu/system/file-systems.scm (%devtmpfs-file-system): Add 'needed-for-boot?' field. (%tty-gid, %pseudo-terminal-file-system): New variables. (%base-file-systems): Add %PSEUDO-TERMINAL-FILE-SYSTEM. * gnu/services/base.scm (udev-service): Remove dependency on 'file-system-/dev'. * gnu/system/shadow.scm (%base-groups): Add 'id' field for group 'tty'. * guix/build/linux-initrd.scm (boot-system): Remove 'mount' call for /dev/pts. * doc/guix.texi (File Systems): Add %pseudo-terminal-file-system. Ludovic Courtès
2014-07-23system: Add 'create-mount-point?' file system option....* gnu/system/file-systems.scm (<file-system>)[create-mount-point?]: New field. * gnu/services/base.scm (file-system-service): Add #:create-mount-point? parameter and honor it. * gnu/system.scm (other-file-system-services): Update 'file-system-service' call accordingly. * doc/guix.texi (File Systems): Document it. Ludovic Courtès
2014-07-22system: Add '%devtmpfs-file-system' for udev, and '%base-file-systems'....Suggested by Adam Pribyl <pribyl@lowlevel.cz>. * gnu/services/base.scm (udev-service)[requirement]: Add 'file-system-/dev'. * gnu/system/file-systems.scm (%devtmpfs-file-system, %base-file-systems): New variables. * gnu/system/install.scm (installation-services)[file-systems]: Use %base-file-systems. * build-aux/hydra/demo-os.scm (file-systems): Likewise. * doc/guix.texi (System Installation): Show %BASE-FILE-SYSTEMS in the example. (Using the Configuration System): Likewise. (File Systems): Document %base-file-systems, %devtmpfs-file-system, %binary-format-file-system, and %fuse-control-file-system. Ludovic Courtès
2014-07-22doc: Fix typo....* doc/guix.texi (System Installation): s/are/is/. Ludovic Courtès
2014-07-21guix package: add a "show" option....* doc/guix.texi: Update the documentation. * guix/scripts/package.scm: Add a "show" option. * tests/guix-package.sh: Add a test for the "show" option. Cyril Roelandt
2014-07-20doc: Show output of 'guix refresh --list-dependent' example....* doc/guix.texi (Invoking guix refresh): Show example output of the command. Ludovic Courtès
2014-07-20guix: refresh: Add --list-dependent option....* guix/packages.scm (package-direct-inputs): New procedure. * gnu/packages.scm (vhash-refq, package-direct-dependents) (package-transitive-dependents, package-covering-dependents): New procedures. * guix/scripts/refresh.scm (%options, show-help, guix-refresh): Add --list-dependent option. * doc/guix.texi (Invoking guix refresh): Document '--list-dependent' option. Eric Bavier
2014-07-18Fix typos in manual....* doc/guix.texi (Using the Configuration System): 'gid' -> 'group' in user-account example. (Initial RAM Disk): 'base-init' -> 'base-initrd'. Mark H Weaver
2014-07-17doc: Add "Setuid Programs" node....* doc/guix.texi (Setuid Programs): New node. Ludovic Courtès
2014-07-17doc: Add "Initial RAM Disk" section....* doc/guix.texi (Initial RAM Disk): New node. * gnu/system/linux-initrd.scm (expression->initrd): Adjust docstring. Ludovic Courtès
2014-07-17doc: List noteworthy limitations....* doc/guix.texi (Limitations): New subsection. Ludovic Courtès
2014-07-16doc: Move "System Configuration" higher....* doc/guix.texi (GNU Distribution): Move "System Configuration" right after "System Installation". Ludovic Courtès
2014-07-15doc: Add a "System Installation" node....* doc/guix.texi (Installation): Add cross-ref to "System Installation". (System Installation): New section. (System Configuration): Remove disclaimer. Ludovic Courtès
2014-07-14doc: Remove redundant listing of services....* doc/guix.texi (Defining Services): Remove listing of service procedures; add xref to "Services". Ludovic Courtès
2014-07-14services: Add options to 'guix-service'....* gnu/services/base.scm (guix-service): Add #:use-substitutes? and #:extra-options parameters, and honor them. * doc/guix.texi (Base Services): Adjust accordingly. Ludovic Courtès
2014-07-12services: Add Tor service....* gnu/services/networking.scm (tor-service): New procedure. * doc/guix.texi (Networking Services): Document it. * build-aux/hydra/demo-os.scm: Use it. Add TOR and TORSOCKS to 'packages'. Ludovic Courtès
2014-07-11doc: Start writing about services....* doc/guix.texi (Using the Configuration System): Remove details about '%base-services', and link to "Services". (Services): Add introductory text. (Base Services, Networking Services, X Window): New nodes. Ludovic Courtès
2014-07-08guix system: Add '--system' option....* guix/scripts/system.scm (switch-to-system): Add #:system parameter; pass it to 'run-with-store'. (%options): Add '--system'. (guix-system): Pass the 'system' option to 'run-with-store', 'package-derivation', and 'switch-to-system' calls. * doc/guix.texi (Invoking guix system): Document '--system' and '--image-size'. Ludovic Courtès
2014-07-03doc: Document user accounts and user groups....* doc/guix.texi (File Systems): Fix typo. (User Accounts): Populate. Ludovic Courtès
2014-07-02doc: Write about file system configuration....* doc/guix.texi (Using the Configuration System): Change 'guix system boot' to 'guix system reconfigure'. (File Systems, User Accounts, Services): New nodes. Ludovic Courtès
2014-06-27doc: Improve wording and example in "Using the Configuration System"....* doc/guix.texi (Using the Configuration System): Make the intro more user-oriented. Change example to return an operating system. Fix typos. Mention mandatory/optional fields. Ludovic Courtès
2014-06-27guix system: Add 'reconfigure' action....* guix/scripts/system.scm (%system-profile): New variable. (switch-to-system, previous-grub-entries): New procedures. (unless-file-not-found): New macro. (show-help): Add 'reconfigure'. (guix-system): Handle it. * gnu/system.scm: Export 'operating-system-activation-script'. * doc/guix.texi (Invoking guix system): Document it. Ludovic Courtès
2014-06-19doc: Mention KVM support for 'guix system'....* doc/guix.texi (Invoking guix system): Add note about KVM support. Ludovic Courtès
2014-06-14guix build: Allow gexps to be passed to '-e'....* guix/ui.scm (%guix-user-module): New variable. (read/eval): Pass it as the second argument to 'eval'. * guix/scripts/build.scm (options/resolve-packages): Add case for 'gexp?'. * tests/guix-build.sh: Add tests. * doc/guix.texi (Invoking guix build): Document '-e gexp'. guxi build: Allow gexps to be passed to '-e'. * guix/ui.scm (%guix-user-module): New variable. (read/eval): Pass it as the second argument to 'eval'. * guix/scripts/build.scm (options/resolve-packages): Add case for 'gexp?'. * tests/guix-build.sh: Add tests. * doc/guix.texi (Invoking guix build): Document '-e gexp'. Ludovic Courtès
2014-06-09doc: Add a few words on the term "derivation"....* doc/guix.texi (Programming Interface): Add a sentence on "derivation". Ludovic Courtès
2014-06-06derivations: 'build-expression->derivation' supports #:allowed-references....* guix/derivations.scm (build-expression->derivation): Add #:allowed-references and pass it to 'derivation. * doc/guix.texi (Derivations): Adjust accordingly. Ludovic Courtès
2014-06-04system: Define '%base-packages' and use it....* gnu/system.scm (<operating-system>)[packages]: Change default value to %BASE-PACKAGES. (%base-packages): New variable. * gnu/system/install.scm (installation-os): Use it when defining the 'packages' field. * doc/guix.texi (Using the Configuration System): Use %BASE-PACKAGES in example. Remove now unneeded module imports. Explain this. Ludovic Courtès
2014-06-01derivations: Add #:allowed-references 'derivation' parameter....* guix/derivations.scm (derivation): Add #:allowed-references parameter. [user+system-env-vars]: Honor it. * tests/derivations.scm ("derivation #:allowed-references, ok", "derivation #:allowed-references, not allowed", "derivation #:allowed-references, self allowed", "derivation #:allowed-references, self not allowed"): New tests. * doc/guix.texi (Derivations): Document #:allowed-references. Ludovic Courtès
2014-05-30linux-initrd: Allow use of volume labels in 'file-system' declarations....* guix/build/linux-initrd.scm (%ext2-endianness, %ext2-sblock-magic, %ext2-sblock-creator-os, %ext2-sblock-uuid, %ext2-sblock-volume-name): New macros. (read-ext2-superblock, ext2-superblock-uuid, ext2-superblock-volume-name, disk-partitions, partition-label-predicate, find-partition-by-label, canonicalize-device-spec): New procedures. (mount-file-system): Use 'canonicalize-device-spec' on SOURCE. (boot-system): Likewise for ROOT. * doc/guix.texi (Using the Configuration System): Adjust 'file-system' declaration accordingly. Ludovic Courtès
2014-05-25doc: Augment "Package Naming"....* doc/guix.texi (Package Naming): Mention underscores, and give SDL_net as an example. Ludovic Courtès
2014-05-24services: nscd: Provide an 'activate' script to make /var/run/nscd....* gnu/services/base.scm (nscd-service): Add 'activate' field. * guix/build/install.scm (directives): Remove /var/run/nscd; add /var/run. * doc/guix.texi (Defining Services): Add 'activate' field in example. Document it. Ludovic Courtès
2014-05-22guix system: Add 'disk-image' action....* guix/scripts/system.scm (show-help): Add 'disk-image'. (guix-system)[parse-options]: Support 'disk-image' action. [option-arguments]: Likewise. Handle the 'disk-image' action. * doc/guix.texi (Invoking guix system): Document 'disk-image'. Ludovic Courtès
2014-05-22Add (gnu) module....* gnu.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * build-aux/hydra/demo-os.scm: Use (gnu) and strip import list accordingly. * doc/guix.texi (Using the Configuration System): Adjust example accordingly. Ludovic Courtès