Commit graph

90 commits

Author SHA1 Message Date
Ludovic Courtès
84dfb45821 gnu: Introduce (gnu artwork) module.
* gnu/artwork.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* gnu/services/xorg.scm: Use it.
  (%artwork-repository): Remove.
* gnu/system/grub.scm: Use it.
  (%artwork-repository): Remove.
2014-11-12 14:28:36 +01:00
Ludovic Courtès
0ecc3bf309 gnu: xorg: Add SLiM theme based on work by Felipe López.
* gnu/services/xorg.scm (%artwork-repository, %default-slim-theme,
  %default-slim-theme-name): New variables.
  (slim-service): Add #:theme and #:theme-name parameters.
  [slim.cfg]: Honor #:theme-name.
  Honor #:theme by setting the "SLIM_THEMESDIR" environment variable.
* doc/guix.texi (X Window): Adjust 'slim-service' documentation
  accordingly.  Document '%default-slim-theme' and
  '%default-slim-theme-name'.
2014-11-12 14:22:54 +01:00
Ludovic Courtès
594340bc79 services: xorg: Don't pass "-ac" to X.
This had pretty much no effects given "-nolisten tcp".

* gnu/services/xorg.scm (xorg-start-command): Remove "-ac" option.
2014-11-11 22:36:49 +01:00
Ludovic Courtès
fdaacbad85 services: Add 'auto-start?' field to <service>.
* gnu/services.scm (<service>)[auto-start?]: New field.
* gnu/services/dmd.scm (dmd-configuration-file): Honor it.
* gnu/system/install.scm (cow-store-service): Add 'auto-start?' field.
2014-11-10 23:23:32 +01:00
Ludovic Courtès
d6e2a622c4 services: Add 'user-unmount-service' as an essential service.
* gnu/services/base.scm (user-unmount-service): New procedure.
* gnu/system.scm (essential-services): Use it.
* gnu/system/install.scm (cow-store-service): Mention it in comment.
2014-11-10 22:42:14 +01:00
Ludovic Courtès
421c3bcc1b services: udev: Make /dev/kvm 666 as a workaround.
* gnu/services/base.scm (kvm-udev-rule): Change /dev/kvm mode to 666 to
  work around <http://bugs.gnu.org/18994>.
2014-11-08 15:10:42 +01:00
Ludovic Courtès
91cc5aff5a services: xorg: Add argv[0] in X invocation.
* gnu/services/xorg.scm (xorg-start-command): Add missing argv[0] in
  'execl' call.
2014-11-08 01:05:35 +01:00
Ludovic Courtès
d2e59637e3 services: 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.
2014-11-07 00:00:08 +01:00
Ludovic Courtès
f703413e41 services: 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.
2014-11-07 00:00:08 +01:00
Ludovic Courtès
e30442b53b services: xorg: Fix typo in xserver.conf.
* gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Add missing
  double-quote in AllowMouseOpenFail.
2014-11-07 00:00:02 +01:00
Ludovic Courtès
41d07f5e98 gnu: Add xf86-video-modesetting.
* gnu/packages/xorg.scm (xf86-video-modesetting): New variable.
* gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Add
  ModulePath line for XF86-VIDEO-MODESETTING, commented out.
2014-11-06 23:58:54 +01:00
Ludovic Courtès
63854bcbb1 services: Add NTP service.
* gnu/services/networking.scm (ntp-service): New procedure.
* doc/guix.texi (Networking Services): Document it.
2014-11-05 11:25:39 +01:00
Ludovic Courtès
98c16943d5 services: Increase delay before SIGKILL is sent when halting.
* gnu/services/base.scm (user-processes-service): Increase the default
  value of 'grace-delay'.  This leaves more time for processes to clean
  up their PID files, /tmp/.X0-lock, etc.
2014-11-05 11:25:39 +01:00
Ludovic Courtès
fa0c1d6104 services: Add '%facebook-host-aliases'.
* gnu/services/networking.scm (%facebook-host-aliases): New variable.
* doc/guix.texi (Networking Services): Document it.
2014-10-07 23:18:41 +02:00
Ludovic Courtès
4627a46470 services: Add 'bitlbee-service'.
* gnu/services/networking.scm (bitlbee-service): New procedure.
* doc/guix.texi (Networking Services): Document it.
2014-09-23 23:46:01 +02:00
Ludovic Courtès
969b662128 gnu: xorg: Remove xf86-input-vmmouse.
* gnu/packages/xorg.scm (xf86-input-vmmouse): Remove.  This driver
  implement the mouse protocol of a proprietary emulator.
* gnu/services/xorg.scm (xorg-start-command): Remove reference.
2014-09-23 15:13:46 +02:00
Ludovic Courtès
a9eef4d2e5 system: Fix value of 'EUDEV_RULES_DIRECTORY'.
* gnu/services/base.scm (udev-service): Append "/lib/udev/rules.d" to
  EUDEV_RULES_DIRECTORY.
2014-09-19 17:23:17 +02:00
Ludovic Courtès
7f28bf9a43 system: Add udev rule for /dev/kvm.
* gnu/services/base.scm (kvm-udev-rule): New procedure.
  (udev-service): Use it, and add it to RULES.
  (guix-build-accounts): Add "kvm" to the 'supplementary-groups' field.
* gnu/system/shadow.scm (%base-groups): Add "kvm".
2014-09-18 23:23:46 +02:00
Ludovic Courtès
2a13d05e45 system: Add support for swap devices.
* gnu/services/base.scm (swap-service): New procedure.
* gnu/system.scm (<operating-system>)[swap-devices]: New field.
  (swap-services): New procedure.
  (essential-services): Use it.
2014-09-18 22:52:01 +02:00
Ludovic Courtès
722554a306 system: Define 'device-mapping-kind', and add a 'close' procedure.
* gnu/system/file-systems.scm (<mapped-device-type>): New record type.
  (<mapped-device>)[command]: Remove field.
  [type]: New field.
* gnu/services/base.scm (device-mapping-service): Rename 'command'
  parameter to 'open'.  Add 'close' parameter and honor it.
* gnu/system.scm (luks-device-mapping): Rename to...
  (open-luks-device): ... this.
  (close-luks-device): New procedure.
  (luks-device-mapping): New variable.
  (device-mapping-services): Get the type of MD, and pass its 'open' and
  'close' fields to 'device-mapping-service'.
2014-09-18 19:18:39 +02:00
Ludovic Courtès
f02f65efb4 services: dhcp-client: Start 'dhclient' in "no wait" mode.
* gnu/services/networking.scm (dhcp-client-service): Pass '-nw' to
  'dhclient'.
2014-09-17 09:27:07 +02:00
Ludovic Courtès
6a3f4c74fd services: file-system: Change directory to root before unmounting.
* gnu/services/base.scm (file-system-service)[stop]: Add 'chdir' call.
2014-09-17 09:20:38 +02:00
Ludovic Courtès
d656c14ec9 services: user-processes: Wait for complete process termination.
* gnu/services/base.scm (user-processes-service): Add 'wait' loop.
2014-09-17 09:19:48 +02:00
Ludovic Courtès
66d5d8c072 services: udev: Make non-respawnable.
* gnu/services/base.scm (udev-service): Add 'respawn?' field.
2014-09-17 08:59:13 +02:00
Ludovic Courtès
a023cca8d9 services: Add 'dhcp-client-service'.
* gnu/services/networking.scm (dhcp-client-service): New procedure.
* doc/guix.texi (Networking Services): Document it.
2014-09-14 23:49:02 +02:00
Ludovic Courtès
150d8e6414 services: static-networking-service: Wait for udev, except for loopback.
Reported by DusXMT on #guix.

* gnu/services/networking.scm (static-networking-service): Add
  'requirement' field.  Change 'documentation' to be a string literal.
2014-09-14 23:49:02 +02:00
Ludovic Courtès
8a7330fd76 system: Use eudev instead of udev by default.
* gnu/system.scm (%base-packages): Change 'udev' to 'eudev'.
* gnu/services/base.scm (udev-service): Change #:udev to default to
  'eudev'.
2014-09-13 10:54:47 +02:00
Ludovic Courtès
66a99a0676 services: udev: Allow the use of eudev.
* gnu/services/base.scm (udev-service): Adjust 'start' method to support
  eudev in addition to udev.
2014-09-13 10:53:47 +02:00
Ludovic Courtès
52bd573421 system: Add FUSE and ALSA udev rules by default.
* gnu/services/base.scm (%base-services): Pass FUSE and ALSA-UTILS to
  'udev-service'.
2014-09-13 10:50:26 +02:00
Ludovic Courtès
5dae0186de system: Add support for Linux-style mapped devices.
* gnu/system/file-systems.scm (<mapped-device>): New record type.
* gnu/system.scm (<operating-system>)[mapped-devices]: New field.
  (luks-device-mapping): New procedure.
  (other-file-system-services)[device-mappings, requirements]: New
  procedures.  Pass #:requirements to 'file-system-service'.
  (device-mapping-services): New procedure.
  (essential-services): Use it.  Append its result to the return value.
  (operating-system-initrd-file): Add comment.
* gnu/services/base.scm (file-system-service): Add #:requirements
  parameter and honor it.
  (device-mapping-service): New procedure.
* gnu/system/linux-initrd.scm (base-initrd): Add comment.
2014-09-12 00:14:52 +02:00
Ludovic Courtès
ecd06ca9fa services: udev: Allow for additional udev rules.
* gnu/services/base.scm (udev-rules-union): New procedure.
  (udev-service): Add #:rules parameter.  Call 'udev-rules-union' and
  create udev.conf.  Set $UDEV_CONFIG_FILE before spawning udevd.
2014-09-12 00:14:52 +02:00
Ludovic Courtès
e2f4b305d0 Move part of (gnu build linux-boot) to (gnu build file-systems).
* gnu/build/linux-boot.scm (%ext2-endianness, %ext2-sblock-magic,
  %ext2-sblock-creator-os, %ext2-sblock-uuid, %ext2-sblock-volume-name,
  read-ext2-superblock, ext2-superblock-uuid,
  ext2-superblock-volume-name, disk-partitions,
  partition-label-predicate, find-partition-by-label,
  canonicalize-device-spec, MS_RDONLY, MS_NOSUID, MS_NODEV, MS_NOEXEC,
  MS_BIND, MS_MOVE, bind-mount, check-file-system,
  mount-flags->bit-mask, mount-file-system): Move to...
* gnu/build/file-systems.scm: ... here.  New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* gnu/services/base.scm: Use (gnu build file-systems).
* gnu/services/dmd.scm (dmd-configuration-file): Likewise.
* gnu/system.scm (operating-system-activation-script): Likewise.
* gnu/system/linux-initrd.scm (base-initrd): Likewise.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise.
2014-09-03 15:43:07 +02:00
Ludovic Courtès
8a9e21d1f7 Rename (gnu build linux-initrd) to (gnu build linux-boot).
* gnu/build/linux-initrd.scm: Rename to...
* gnu/build/linux-boot.scm: ... this.
* gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly.
* gnu/build/activation.scm, gnu/build/vm.scm, gnu/services/base.scm,
  gnu/services/dmd.scm, gnu/system.scm, gnu/system/linux-initrd.scm,
  gnu/system/vm.scm: Adjust accordingly.
2014-09-03 15:43:07 +02:00
Ludovic Courtès
548f7a8fa2 Move operating system helpers from (guix build …) to (gnu build …).
* guix/build/activation.scm, guix/build/install.scm,
  guix/build/linux-initrd.scm, guix/build/vm.scm: Move to...
* gnu/build: ... here.
* Makefile.am (MODULES): Remove the above guix/build/ files.
* gnu-system.am (GNU_SYSTEM_MODULES): Add the above gnu/build/ files
  here.
* gnu/services/base.scm, gnu/services/dmd.scm, gnu/system.scm,
  gnu/system/linux-initrd.scm, gnu/system/vm.scm,
  guix/scripts/system.scm: Adjust to the new module names.
2014-09-03 15:43:07 +02:00
Ludovic Courtès
bdb36958fb gnu: Split (gnu packages base), adding (gnu packages commencement).
* gnu/packages/base.scm (gnu-make-boot0, diffutils-boot0,
  findutils-boot0, %boot0-inputs, nix-system->gnu-triplet, boot-triplet,
  binutils-boot0, gcc-boot0, perl-boot0, linux-libre-headers-boot0,
  texinfo-boot0, %boot1-inputs, glibc-final-with-bootstrap-bash,
  cross-gcc-wrapper, static-bash-for-glibc, glibc-final,
  gcc-boot0-wrapped, %boot2-inputs, binutils-final, libstdc++,
  gcc-final, ld-wrapper-boot3, %boot3-inputs, bash-final, %boot4-inputs,
  guile-final, gnu-make-final, ld-wrapper, coreutils-final, grep-final,
  %boot5-inputs, %final-inputs, canonical-package, gcc-toolchain,
  gcc-toolchain-4.8, gcc-toolchain-4.9): Move to...
* gnu/packages/commencement.scm: ... here.  New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* build-aux/check-final-inputs-self-contained.scm: Adjust accordingly.
* gnu/packages/cross-base.scm: Likewise.
* gnu/packages/make-bootstrap.scm: Likewise.
* guix/build-system/cmake.scm (cmake-build): Likewise.
* guix/build-system/gnu.scm (standard-packages, gnu-build,
  gnu-cross-build): Likewise.
* guix/build-system/perl.scm (perl-build): Likewise.
* guix/build-system/python.scm (python-build): Likewise.
* guix/build-system/trivial.scm (guile-for-build): Likewise.
* guix/download.scm (url-fetch): Likewise.
* guix/gexp.scm (default-guile): Likewise.
* guix/git-download.scm (git-fetch): Likewise.
* guix/monads.scm (run-with-store): Likewise.
* guix/packages.scm (default-guile): Likewise.
* guix/scripts/package.scm (guix-package): Likewise.
* guix/scripts/refresh.scm: Likewise.
* guix/svn-download.scm (svn-fetch): Likewise.
* tests/builders.scm (%bootstrap-inputs, %bootstrap-search-paths):
  Likewise.
* tests/packages.scm ("GNU Make, bootstrap"): Likewise.
* tests/guix-package.sh: Likewise.
* gnu/services/base.scm: Use 'canonical-package' instead of xxx-final.
* gnu/services/xorg.scm: Likewise.
* gnu/system/vm.scm: Likewise.
* guix/scripts/pull.scm (guix-pull): Likewise.
2014-08-28 09:21:54 +02:00
Mark H Weaver
1f347f5533 services: lsh: Fix activation script.
* gnu/services/ssh.scm (lsh-service)[activate]: Import (guix build utils)
  for 'mkdir-p'.
2014-08-07 21:09:51 -04:00
Ludovic Courtès
417175096a services: Use system groups where applicable.
* gnu/services/avahi.scm (avahi-service): Add 'system?' field to
  'user-group' form.
* gnu/services/base.scm (guix-service): Likewise.
* gnu/services/dbus.scm (dbus-service): Likewise.
* gnu/services/networking.scm (tor-service): Likewise.
2014-07-25 00:15:46 +02:00
Ludovic Courtès
d9372161ef services: xorg: Honor ~/.xsession.
* gnu/services/xorg.scm (xinitrc): Attempt to execute ~/.xsession.
2014-07-24 23:02:27 +02:00
Ludovic Courtès
47b73c34f0 services: xorg: Remove /var/run/slim.lock when starting.
Reported by Mark H. Weaver.

* gnu/services/xorg.scm (slim-service)[start]: Remove /var/run/slim.lock
  before starting 'slim'.
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
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
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
1b09031f78 services: Allow 'check-file-system' to work for non-boot-time file systems.
* gnu/services/base.scm (file-system-service)[start]: Set $PATH so that
  fsck.* can be found.  Reported by "DusXMT".
2014-07-21 23:18:21 +02:00
Ludovic Courtès
62ca0fdf9e services: Add 'console-font-service'.
* gnu/services/base.scm (unicode-start, console-font-service): New
  procedures.
  (%base-services): Call 'console-font-service' for TTY1 to TTY6.
* gnu/system/install.scm (installation-services): Add comment about the
  console font.  Call 'console-font-service' for TTY1 to TTY6.
2014-07-17 15:53:01 +02:00
Ludovic Courtès
6a1912743a services: syslog: Don't write trivial error messages to /dev/console.
* gnu/services/base.scm (syslog-service): Change "*.err" to "*.alert".
2014-07-16 22:40:14 +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
8897603ad0 services: networking: Set interfaces up; delete default route only when needed.
* gnu/services/networking.scm (static-networking-service): Use -i, -A,
  and --up with Inetutils' ifconfig.  Do 'route del -net default' only
  when GATEWAY is true.
2014-07-12 23:17:54 +02:00