Commit graph

137 commits

Author SHA1 Message Date
Ludovic Courtès
b86fee7848 file-systems: Use a second 'mount' call for read-only bind mounts.
* gnu/build/file-systems.scm (MS_REMOUNT): New constant.
  (mount-file-system): Add 'flags' local variable.   When FLAGS has
  MS_BIND & MS_RDONLY, call 'mount' with MS_REMOUNT.
* gnu/services/base.scm (file-system-service) <start>: Likewise.
2015-04-20 22:16:13 +02:00
Mark H Weaver
933204e5b1 Merge branch 'master' into core-updates
Conflicts:
	gnu-system.am
	gnu/packages/gstreamer.scm
2015-04-17 09:54:11 -04:00
Ludovic Courtès
5e25ebe2fa services: Explicitly refer to Shadow when requiring the 'nologin' shell.
* gnu/services/avahi.scm (avahi-service): Change 'shell' to a gexp
  referring to "nologin" in the SHADOW package.
* gnu/services/dbus.scm (dbus-service): Likewise.
* gnu/services/networking.scm (ntp-service, tor-service): Likewise.
2015-04-17 13:53:16 +02:00
Mark H Weaver
1ca8ff285b Merge branch 'master' into core-updates 2015-04-13 01:25:28 -04:00
Andy Wingo
be23412848 services: Add upower.
* gnu-system.am (GNU_SYSTEM_MODULES): Add gnu/services/upower.scm.
* gnu/services/upower.scm: New file, defining a upower service.
* doc/guix.texi (Various Services): Mention it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-04-13 00:02:59 +02:00
Ludovic Courtès
4c9050c63d doc: Add example showing how to customize 'nscd-service'.
* doc/guix.texi (Name Service Switch): Add link to nss-mdns.  Add
  example show how to pass #:name-services to 'nscd-service'.
  (Base Services): Add link from 'nscd-service' to the above.
* gnu/services/base.scm (nscd-service): Update docstring accordingly.
2015-04-12 22:34:47 +02:00
Andy Wingo
7ce597ff9e gnu: Add colord service.
* gnu-system.am (GNU_SYSTEM_MODULES): Add gnu/services/colord.scm.
* gnu/services/colord.scm: New file.
* doc/guix.texi (Various Services): Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-04-08 14:34:32 +02:00
Ludovic Courtès
21cc905ac2 services: lsh: Change #:initialize? to default to #t.
* gnu/services/ssh.scm (lsh-service): Change #:initialize? to default
  to #t.
* doc/guix.texi (Using the Configuration System): Remove #:initialize? #t
  from example.
  (Networking Services): Adjust accordingly.
2015-04-03 22:58:49 +02:00
Alex Kost
1bb76f7523 services: syslog-service: Add 'config-file' argument.
* gnu/services/base.scm (syslog-service): Add 'config-file' keyword
argument.
* doc/guix.texi (Base Services): Document it.
2015-04-01 20:54:37 +03:00
Alex Kost
52b76622e4 services: guix-service: Add service documentation.
* gnu/services/base.scm (guix-service): Add 'documentation' field to the
  service.
2015-03-26 15:49:03 +03:00
Alex Kost
aa4ed92314 services: Add 'lirc-service'.
* gnu/services/lirc.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Various Services): New node.  Document 'lirc-service'.
2015-03-26 15:47:40 +03:00
Ludovic Courtès
2d1d2dd804 services: guix-service: Add 'lsof' and 'lsh' to guix-daemon's $PATH.
* gnu/services/base.scm (guix-service): Add #:lsof and #:lsh parameters.
  [start]: Pass #:environment-variables to 'make-forkexec-constructor'.
2015-03-19 23:15:50 +01:00
Ludovic Courtès
5250a4f215 services: guix-service: Remove extraneous monadism.
* gnu/services/base.scm (guix-build-accounts): Remove unneeded
  'with-monad'.
  (guix-service): Adjust accordingly.
2015-03-17 22:25:55 +01:00
宋文武
482dbe6a16 services: slim: Pass SESSION to ~/.xsession as "$1".
* gnu/services/xorg.scm (xinitrc)[builder]: Pass SESSION to ~/.xsession.
2015-03-13 22:57:22 +08:00
宋文武
e0b85670cf services: slim: Allow non-absolute path to be used as session command.
* gnu/services/xorg.scm (xinitrc)[builder]: Don't check the existence
  of COMMAND.  Only run ~/.xsession when it exists.
2015-03-13 22:56:40 +08:00
宋文武
4bd43bbe73 services: slim: Use /run/current-system/profile/share/xsessions as sessiondir.
* gnu/services/xorg.scm (<session-type>, %windowmaker-session-type)
  (%ratposion-session-type, %sawfish-session-type, %default-xsessions)
  (xsessions-directory): Remove.
  (slim-service): Remove #:sessions parameter.
  [slim.cfg]: Use /run/current-system/profile/share/xsessions as sessiondir.
* doc/guix.texi <X Window>: Adjust accordingly.
2015-03-13 22:40:57 +08:00
Ludovic Courtès
9751c39a6d services: bitlbee: Make /var/lib/bitlbee when activating.
* gnu/services/networking.scm (bitlbee-service): Add 'activate' field.
2015-03-12 19:10:44 +01:00
Ludovic Courtès
116244df95 services: Statically report duplicate dmd service identifiers.
Reported by 白い熊 @相撲道 <guix-devel_gnu.org@sumou.com>
at <http://lists.gnu.org/archive/html/guix-devel/2015-03/msg00264.html>.

* gnu/services/dmd.scm (assert-no-duplicates): New procedure.
  (dmd-configuration-file): Use it.
* po/guix/POTFILES.in: Add gnu/services/dmd.scm.
* tests/guix-system.sh (errorfile): Add test.
2015-03-09 23:51:43 +01:00
Ludovic Courtès
16c33bfb07 services: xorg: Fix file descriptor leak from SLiM/xinitrc.
This reverts commit 9515b74554.

* gnu/services/xorg.scm (xinitrc)[builder](close-all-fdes): Start from
  file descriptor 3.
2015-03-02 20:34:37 +01:00
Mark H Weaver
9515b74554 Revert "services: xorg: Fix file descriptor leak from SLiM/xinitrc."
This reverts commit ec4a4c46ef,
because it broke XFCE.
2015-03-01 23:57:23 -05:00
Ludovic Courtès
ec4a4c46ef services: xorg: Fix file descriptor leak from SLiM/xinitrc.
Previously processes started from the window manager would have a couple
of leaked file descriptors: writable /var/log/slim.log and readable
/gnu/store/…-xinitrc.

* gnu/services/xorg.scm (xinitrc)[builder]: Add 'close-all-fdes'.  Use
  it in 'exec-from-login-shell'.
2015-03-01 00:25:30 +01:00
Ludovic Courtès
e150917495 services: slim: Add "F1 to change" in session message.
* gnu/services/xorg.scm (slim-service)[slim.cfg]: Add 'session_msg'.
2015-02-26 22:25:15 +01:00
Ludovic Courtès
a21b23d34a services: slim: Preserve the order of session types.
That makes WindowMaker the default session, by default.

* gnu/services/xorg.scm (xsessions-directory)[builder]: Prepend a number
  in the file name to preserve the order of SESSIONS.
  (slim-service): Augment docstring.
* doc/guix.texi (X Window): Adjust accordingly.
2015-02-26 22:25:15 +01:00
Ludovic Courtès
faf0f39bd3 services: nscd: Make sure /var/db/nscd exists.
* gnu/services/base.scm (nscd-service)[activate]: Make /var/db/nscd.
2015-02-25 18:02:13 +01:00
nebuli
5833bf33a2 services: lsh: Add graceful handling of daemonic option.
* gnu/services/ssh.scm (lsh-service): New #:keys (daemonic?, pid-file?,
  pid-file).  Build new lshd-command and expand service-requirement
  field.
* doc/guix.texi (Networking Services): Update accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-02-08 21:52:26 +01:00
Ludovic Courtès
ca63770ab1 services: xorg: Add Nouveau driver.
* gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Add
  XF86-VIDEO-NOUVEAU.
2015-02-06 13:53:28 +01:00
Mark H Weaver
b7d0c494f4 services: Add wicd service.
* gnu/services/networking.scm (wicd-service): New procedure.
* doc/guix.texi (Networking Services): Document it.
2015-02-04 18:20:17 -05:00
Ludovic Courtès
4aee6e6003 services: nscd-service: Add #:name-services parameter.
* gnu/services/base.scm (nscd-service): Add #:name-services parameter.
  In 'start' field, set LD_LIBRARY_PATH based on #:name-services.
* doc/guix.texi (Base Services): Document it.
  (Name Service Switch): Link to 'nscd-service'.
2015-02-04 22:49:35 +01:00
宋文武
5ce93d9ade services: xorg: Add sawfish session.
* gnu/services/xorg.scm (%sawfish-session-type): New variable.
* doc/guix.texi (X Window): Mention it.
2015-02-03 22:20:49 +08:00
Ludovic Courtès
6acef6811f services: mingetty: Wait for udev.
* gnu/services/base.scm (mingetty-service): Add 'udev' to
  'requirement'.
2015-01-27 10:24:34 +01:00
Ludovic Courtès
ffc3a02b5a services: xorg: Define the <session-type> record type.
* gnu/services/xorg.scm (<session-type>): New record type.
  (%windowmaker-session-type, %ratpoison-session-type): New variables.
  (%default-xsessions): Use them.
  (xsessions-directory): Expect SESSIONS to be a list of <session-type>
  and rewrite accordingly.
  (slim-service): Adjust docstring.
* doc/guix.texi (X Window): Update accordingly.
2015-01-26 23:33:24 +01:00
Ludovic Courtès
ac41737f49 services: dbus: Set the search path for .service files.
* gnu/services/dbus.scm (dbus-configuration-directory)[services->sxml]:
  Produce a <servicedir> tag.
2015-01-26 00:06:32 +01:00
Ludovic Courtès
02bb6b45e4 services: guix: #:authorize-hydra-key? now defaults to #t.
* gnu/services/base.scm (guix-service): Change AUTHORIZE-HYDRA-KEY?
  default value to #t.
2015-01-23 23:49:24 +01:00
Ludovic Courtès
e87f0591f3 monads: Move '%store-monad' and related procedures where they belong.
This turns (guix monads) into a generic module for monads, and moves the
store monad and related monadic procedures in their corresponding
module.

* guix/monads.scm (store-return, store-bind, %store-monad, store-lift,
  text-file, interned-file, package-file, package->derivation,
  package->cross-derivation, origin->derivation, imported-modules,
  compiled, modules, built-derivations, run-with-store): Move to...
* guix/store.scm (store-return, store-bind, %store-monad, store-lift,
  text-file, interned-file): ... here.
  (%guile-for-build): New variable.
  (run-with-store): Moved from monads.scm.  Remove default value for
  #:guile-for-build.
* guix/packages.scm (default-guile): Export.
  (set-guile-for-build): New procedure.
  (package-file, package->derivation, package->cross-derivation,
  origin->derivation): Moved from monads.scm.
* guix/derivations.scm (%guile-for-build): Remove.
  (imported-modules): Rename to...
  (%imported-modules): ... this.
  (compiled-modules): Rename to...
  (%compiled-modules): ... this.
  (built-derivations, imported-modules, compiled-modules): New
  procedures.
* gnu/services/avahi.scm, gnu/services/base.scm, gnu/services/dbus.scm,
  gnu/services/dmd.scm, gnu/services/networking.scm,
  gnu/services/ssh.scm, gnu/services/xorg.scm, gnu/system/install.scm,
  gnu/system/linux-initrd.scm, gnu/system/shadow.scm, guix/download.scm,
  guix/gexp.scm, guix/git-download.scm, guix/profiles.scm,
  guix/svn-download.scm, tests/monads.scm: Adjust imports accordingly.
* guix/monad-repl.scm (default-guile-derivation): New procedure.
  (store-monad-language, run-in-store): Use it.
* build-aux/hydra/gnu-system.scm (qemu-jobs): Add explicit
  'set-guile-for-build' call.
* guix/scripts/archive.scm (derivation-from-expression): Likewise.
* guix/scripts/build.scm (options/resolve-packages): Likewise.
* guix/scripts/environment.scm (guix-environment): Likewise.
* guix/scripts/system.scm (guix-system): Likewise.
* doc/guix.texi (The Store Monad): Adjust module names accordingly.
2015-01-14 13:34:52 +01:00
Ludovic Courtès
7bed4df49a services: user-processes: Really honor the grace delay.
* gnu/services/base.scm (user-processes-service): Change #:grace-delay
  default value to 4.  Define 'sleep*' and use it.
2015-01-13 18:16:35 +01:00
Ludovic Courtès
4a4dd5d89d services: user-processes: Write debugging messages to the output port.
* gnu/services/base.scm (user-processes-service): Write "sending all
  processes..." message to the current output port, not to /dev/console.
2015-01-12 23:33:08 +01:00
Mark H Weaver
073cd6092c gnu: xorg-server: Update to 1.16.2.901, with many security fixes.
Includes fixes for CVE-2014-8091, CVE-2014-8092, CVE-2014-8093, CVE-2014-8094,
CVE-2014-8095, CVE-2014-8096, CVE-2014-8097, CVE-2014-8098, CVE-2014-8099,
CVE-2014-8100, CVE-2014-8101, CVE-2014-8102, and CVE-2014-8103.

See <http://www.x.org/wiki/Development/Security/Advisory-2014-12-09/>

* gnu/packages/xorg.scm (xorg-server): Update to 1.16.2.901.  Move mesa,
  resourceproto, scrnsaverproto, and xf86driproto from inputs to
  propagated-inputs.  Add dri3proto and presentproto to propagated-inputs.
  Add eudev and libxshmfence to inputs.  Add a 'pre-configure' phase instead
  of modifying the 'configure' phase.  Adapt substitution that avoids trying
  to 'mkdir /var' to build system changes.

* gnu/services/xorg.scm (xserver.conf): Add xf86-input-evdev ModulePath line.
2014-12-19 23:28:18 -05:00
Mark H Weaver
3fc4eb211e gnu: xf86-video-modesetting: Now uses the same libdrm as mesa.
* gnu/packages/xorg.scm (xf86-video-modesetting): Remove a comment stating
  that the libdrm used in this driver is incompatible with the one in mesa,
  because it is no longer true.
* gnu/services/xorg.scm (xserver.conf): Uncomment 'xf86-video-modesetting'
  ModulePath and remove associated comment.
2014-12-19 23:28:17 -05:00
宋文武
24d56899a1 services: xorg: Make SLiM sessions configurable.
* gnu/services/xorg.scm (%default-xsessions): New variable.
  (xsessions-directory): New procedure.
  (slim-service): Add #:sessions and #:auto-login-session parameters.
  [slim.cfg]: Honor #:sessions.
  (xinitrc): Adjust accordingly.
2014-12-20 11:12:00 +08:00
Ludovic Courtès
7f5c2a9cc1 services: static-networking-service: Switch to (guix build syscalls).
* gnu/services/networking.scm (static-networking-service): Remove
  #:inetutils parameter.  Rewrite using 'configure-network-interface'
  and 'set-network-interface-flags'.
2014-12-19 17:15:53 +01:00
Ludovic Courtès
6454b33345 services: Make 'nscd-service' configurable; cache hosts/services by default.
Before that, as it was given an empty configuration file, nscd would
actually have all its caches disabled.

* gnu/services/base.scm (<nscd-configuration>, <nscd-cache>): New record
  types.
  (%nscd-default-caches, %nscd-default-configuration): New variables.
  (nscd.conf-file): New procedure.
  (nscd-service): Add 'config' parameter.  Use 'nscd.conf-file', and
  pass its result as the '-f' parameter of nscd.
* doc/guix.texi (Base Services): Update 'nscd-service' documentation
  accordingly.  Document 'nscd-configuration', 'nscd-cache',
  '%nscd-default-configuration', and '%nscd-default-caches'.
2014-12-14 16:29:24 +01:00
Ludovic Courtès
b2bd7c253a services: xorg: Run the window manager from a login shell.
This is a followup to 1d18d87, which fixes <http://bugs.gnu.org/19119>.

* gnu/services/xorg.scm (xinitrc)[builder]: Add 'exec-from-login-shell'
  procedure.  Use it instead of 'execl' when launching XSESSION, WMAKER,
  or RATPOISON.
2014-12-13 16:22:34 +01:00
Alex Kost
2c37a34cb8 services: xorg: Add 'xf86-video-sis'.
* gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Add
  ModulePath for 'xf86-video-sis'.
2014-11-30 09:53:20 +03:00
Ludovic Courtès
20dd519cdb doc: Add xrefs to the lsh manual.
Suggested by Adam Pribyl <pribyl@lowlevel.cz>.

* gnu/services/ssh.scm (lsh-service): Update docstring with xrefs to
  the lsh manual.  Fix typos.
* doc/guix.texi (Networking Services): Synchronize.
2014-11-24 21:52:39 +01:00
Ludovic Courtès
1d18d87f34 services: xorg: Include ~/.guix-profile/bin to the session's $PATH.
Fixes <http://bugs.gnu.org/19119>.
Reported by David Thompson <dthompson2@worcester.edu>.

* gnu/services/xorg.scm (xinitrc): Augment $PATH to include
  ~/.guix-profile/bin.
2014-11-20 21:14:39 +01:00
Ludovic Courtès
48bd76e009 services: user-unmount: Change directory to "/" before unmounting.
* gnu/services/base.scm (user-unmount-service): Add 'chdir' call.
2014-11-14 00:48:43 +01:00
Ludovic Courtès
08dbc3b550 services: xorg: Set argv[0] for the window manager.
* gnu/services/xorg.scm (xinitrc): Set argv[0] when invoking ratpoison
  or wmaker.
2014-11-12 23:56:28 +01:00
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