Ludovic Courtès
c8fa34265d
system: 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.
2014-07-25 00:12:35 +02:00
Ludovic Courtès
931c132a58
doc: 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.
2014-07-24 23:50:55 +02:00
Ludovic Courtès
054e85761f
doc: Add "guix system" to 'dir'.
...
* doc/guix.texi: Add "guix system" to the dir entry.
2014-07-24 23:07:53 +02:00
Ludovic Courtès
1dac856638
install: 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.
2014-07-24 23:02:27 +02:00
Ludovic Courtès
0a90af1531
monads: 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.
2014-07-24 23:02:26 +02:00
Ludovic Courtès
7ab44369b3
doc: Recommend partition labels.
...
* doc/guix.texi (System Installation): Recommend partition labels.
2014-07-24 23:02:26 +02:00
Ludovic Courtès
83a17b6236
install: 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.
2014-07-23 17:47:25 +02:00
Ludovic Courtès
db17ae5c27
system: 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.
2014-07-23 02:02:07 +02:00
Ludovic Courtès
2c071ce96e
system: 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'.
2014-07-23 02:02:07 +02:00
Ludovic Courtès
a85b83d227
doc: Merge the type, variable, and function indices.
...
* doc/guix.texi (Function Index): Rename to...
(Programming Index): ... this. Merge the type, variable, and function
indices.
2014-07-23 02:02:07 +02:00
Ludovic Courtès
7f239fd33f
system: 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.
2014-07-23 02:02:07 +02:00
Ludovic Courtès
4e469051a7
system: 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.
2014-07-23 02:02:06 +02:00
Ludovic Courtès
a69576ea85
system: 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.
2014-07-22 16:59:10 +02:00
Ludovic Courtès
7cb9666dd0
doc: Fix typo.
...
* doc/guix.texi (System Installation): s/are/is/.
2014-07-22 15:23:14 +02:00
Cyril Roelandt
2aa6efb0b9
guix 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.
2014-07-21 22:18:03 +02:00
Ludovic Courtès
7779ab611d
doc: Show output of 'guix refresh --list-dependent' example.
...
* doc/guix.texi (Invoking guix refresh): Show example output of the
command.
2014-07-20 22:39:02 +02:00
Eric Bavier
7d193ec348
guix: 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.
2014-07-20 11:36:09 -05:00
Mark H Weaver
1c00f83650
Fix typos in manual.
...
* doc/guix.texi (Using the Configuration System): 'gid' -> 'group'
in user-account example.
(Initial RAM Disk): 'base-init' -> 'base-initrd'.
2014-07-18 10:41:47 -04:00
Ludovic Courtès
0ae8c15aef
doc: Add "Setuid Programs" node.
...
* doc/guix.texi (Setuid Programs): New node.
2014-07-17 18:10:16 +02:00
Ludovic Courtès
fd1b1fa296
doc: Add "Initial RAM Disk" section.
...
* doc/guix.texi (Initial RAM Disk): New node.
* gnu/system/linux-initrd.scm (expression->initrd): Adjust docstring.
2014-07-17 17:49:34 +02:00
Ludovic Courtès
8aaaae38a3
doc: List noteworthy limitations.
...
* doc/guix.texi (Limitations): New subsection.
2014-07-17 14:36:36 +02:00
Ludovic Courtès
cf4a912919
doc: Move "System Configuration" higher.
...
* doc/guix.texi (GNU Distribution): Move "System Configuration" right
after "System Installation".
2014-07-16 15:54:47 +02:00
Ludovic Courtès
5af6de3e67
doc: Add a "System Installation" node.
...
* doc/guix.texi (Installation): Add cross-ref to "System Installation".
(System Installation): New section.
(System Configuration): Remove disclaimer.
2014-07-15 00:43:04 +02:00
Ludovic Courtès
246a8106ff
doc: Remove redundant listing of services.
...
* doc/guix.texi (Defining Services): Remove listing of service
procedures; add xref to "Services".
2014-07-14 16:34:24 +02:00
Ludovic Courtès
c11a6eb1e5
services: 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.
2014-07-14 15:51:22 +02:00
Ludovic Courtès
927097effd
services: 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'.
2014-07-12 23:17:54 +02:00
Ludovic Courtès
ef5dd60a3f
doc: 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.
2014-07-11 23:20:48 +02:00
Ludovic Courtès
df2ce34385
guix 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'.
2014-07-08 23:42:35 +02:00
Ludovic Courtès
8451a568f4
doc: Document user accounts and user groups.
...
* doc/guix.texi (File Systems): Fix typo.
(User Accounts): Populate.
2014-07-03 23:36:01 +02:00
Ludovic Courtès
113daf6270
doc: 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.
2014-07-02 23:42:06 +02:00
Ludovic Courtès
0918e64a49
doc: 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.
2014-06-27 23:38:21 +02:00
Ludovic Courtès
b25937e318
guix 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.
2014-06-27 00:12:40 +02:00
Ludovic Courtès
080571eeac
doc: Mention KVM support for 'guix system'.
...
* doc/guix.texi (Invoking guix system): Add note about KVM support.
2014-06-19 23:35:41 +02:00
Ludovic Courtès
56b8210697
guix 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'.
2014-06-14 22:55:59 +02:00
Ludovic Courtès
49ad317ae1
doc: Add a few words on the term "derivation".
...
* doc/guix.texi (Programming Interface): Add a sentence on "derivation".
2014-06-09 18:55:48 +02:00
Ludovic Courtès
63a4282468
derivations: '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.
2014-06-06 17:07:26 +02:00
Ludovic Courtès
6f436c54d6
system: 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.
2014-06-04 18:15:50 +02:00
Ludovic Courtès
b53be755e4
derivations: 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.
2014-06-01 23:32:26 +02:00
Ludovic Courtès
85a83edb36
linux-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.
2014-05-30 23:46:17 +02:00
Ludovic Courtès
25083588b9
doc: Augment "Package Naming".
...
* doc/guix.texi (Package Naming): Mention underscores, and give SDL_net
as an example.
2014-05-25 17:00:01 +02:00
Ludovic Courtès
4b2615e1ca
services: 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.
2014-05-24 18:10:05 +02:00
Ludovic Courtès
fb729425dc
guix 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'.
2014-05-22 23:24:13 +02:00
Ludovic Courtès
c938494598
Add (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.
2014-05-22 23:24:13 +02:00
Ludovic Courtès
d467e640aa
doc: Show the 'bootloader' field in system example.
...
* doc/guix.texi (Using the Configuration System): Add 'bootloader'
field.
2014-05-19 23:52:40 +02:00
Ludovic Courtès
c79d54fe41
guix system: 'guix system init' installs GRUB by default.
...
* guix/scripts/system.scm (install): Add #:grub?, #:grub.cfg, and
#:device parameters; honor them.
(show-help): Document '--no-grub'.
(%options): Add '--no-grub'.
(%default-options): Add 'install-grub?'.
(guix-system): Honor 'install-grub?' option from OPTS. Adjust
'install' call accordingly.
* doc/guix.texi (Invoking guix system): Document '--no-grub'.
2014-05-19 23:52:39 +02:00
Ludovic Courtès
72b9d60df4
guix system: Add 'init' sub-command.
...
* guix/scripts/system.scm (install): New procedure.
(guix-system)[parse-option]: Remove check for extraneous arguments.
[match-pair, option-arguments]: New procedures.
Use 'option-arguments'. Honor 'init'.
(show-help): Document 'init'.
* doc/guix.texi (Invoking guix system): Document 'init'.
2014-05-18 22:27:23 +02:00
Ludovic Courtès
7889394e05
guix system: Add 'build' action.
...
* guix/scripts/system.scm (show-help): Document 'build' action.
(guix-system): Honor 'build' action.
* doc/guix.texi (Invoking guix system): Add 'build' action.
2014-05-16 21:56:00 +02:00
Ludovic Courtès
64d76fa6c2
doc: Improve debugging file documentation.
...
* doc/guix.texi (Installing Debugging Files): Add @cindex. Remove
unneeded '-i' in example. Mention source code an 'directory'. Link
to "Build Systems" instead of "Defining Packages".
2014-05-14 01:02:46 +02:00
Ludovic Courtès
a12d92f54e
doc: Add example for --search.
...
* doc/guix.texi (Invoking guix package): Add LGPLv3 example.
2014-05-12 23:55:28 +02:00
Andreas Enge
af8a56b8a2
doc: Add a section on perl modules in the packaging guidelines.
...
* doc/guix.texi (Perl modules): New section explaining the naming of perl
modules.
2014-05-11 12:27:37 +02:00