<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix/gnu/services.scm, branch v1.0.0</title>
<subtitle>Transactional package manager, declarative GNU/Linux distribution, reproducible deployment tool, and more! https://guix.gnu.org</subtitle>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/'/>
<entry>
<title>services: 'instantiate-missing-services' reaches fixed point.</title>
<updated>2018-09-07T21:00:39+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-09-07T21:00:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=9b6c4355645534d1ae799bfef6761b75ed8b3a41'/>
<id>9b6c4355645534d1ae799bfef6761b75ed8b3a41</id>
<content type='text'>
Fixes a bug whereby services indirectly depended on would not be
automatically instantiated.

* gnu/services.scm (instantiate-missing-services): Loop back when the
length of ADJUSTED is greater than that of INSTANCES.
* tests/services.scm ("instantiate-missing-services, indirect"): New test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes a bug whereby services indirectly depended on would not be
automatically instantiated.

* gnu/services.scm (instantiate-missing-services): Loop back when the
length of ADJUSTED is greater than that of INSTANCES.
* tests/services.scm ("instantiate-missing-services, indirect"): New test.
</pre>
</div>
</content>
</entry>
<entry>
<title>services: boot: Take gexps instead of monadic gexps.</title>
<updated>2018-06-20T21:47:08+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-06-20T09:01:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=378daa8cb677121e1893f9173af1db060720d6e4'/>
<id>378daa8cb677121e1893f9173af1db060720d6e4</id>
<content type='text'>
* gnu/services.scm (compute-boot-script): Rename 'mexps' to 'gexps' and
remove 'mlet' form.
(boot-service-type): Update comment.
(cleanup-gexp): Remove 'with-monad' and 'return'.
(activation-script): Rewrite in non-monadic style: use 'scheme-file'
instead of 'gexp-&gt;file'.
(gexps-&gt;activation-gexp): Remove 'mlet', return a gexp.
* gnu/services/shepherd.scm (shepherd-boot-gexp): Remove 'with-monad'
and 'return'.
* gnu/system.scm (operating-system-boot-script): Remove outdated comment.
* gnu/tests/base.scm (%cleanup-os): For 'dirty-service', remove
'with-monad' and 'return'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/services.scm (compute-boot-script): Rename 'mexps' to 'gexps' and
remove 'mlet' form.
(boot-service-type): Update comment.
(cleanup-gexp): Remove 'with-monad' and 'return'.
(activation-script): Rewrite in non-monadic style: use 'scheme-file'
instead of 'gexp-&gt;file'.
(gexps-&gt;activation-gexp): Remove 'mlet', return a gexp.
* gnu/services/shepherd.scm (shepherd-boot-gexp): Remove 'with-monad'
and 'return'.
* gnu/system.scm (operating-system-boot-script): Remove outdated comment.
* gnu/tests/base.scm (%cleanup-os): For 'dirty-service', remove
'with-monad' and 'return'.
</pre>
</div>
</content>
</entry>
<entry>
<title>services: Add description to core services.</title>
<updated>2018-06-20T21:47:07+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-06-20T08:44:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=636bb2b5e350bb5eb1d934da690c85e52e352bc4'/>
<id>636bb2b5e350bb5eb1d934da690c85e52e352bc4</id>
<content type='text'>
* gnu/services.scm (system-service-type, boot-service-type)
(cleanup-service-type, activation-service-type)
(special-files-service-type, etc-service-type)
(setuid-program-service-type, profile-service-type)
(firmware-service-type, gc-root-service-type): Add 'description' field.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/services.scm (system-service-type, boot-service-type)
(cleanup-service-type, activation-service-type)
(special-files-service-type, etc-service-type)
(setuid-program-service-type, profile-service-type)
(firmware-service-type, gc-root-service-type): Add 'description' field.
</pre>
</div>
</content>
</entry>
<entry>
<title>services: cleanup: Expect file names to be UTF-8-encoded.</title>
<updated>2018-06-20T08:05:18+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-06-20T08:00:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=76c321d8e85683091ecbcd3afe8c56fb7c45c00a'/>
<id>76c321d8e85683091ecbcd3afe8c56fb7c45c00a</id>
<content type='text'>
Fixes &lt;https://bugs.gnu.org/26353&gt;.
Reported by Danny Milosavljevic &lt;dannym@scratchpost.org&gt;.

* gnu/services.scm (cleanup-gexp): Add 'setenv' and 'setlocale' calls
before 'delete-file-recursively'.
* gnu/tests/base.scm (%cleanup-os, %test-cleanup): New variables.
(run-cleanup-test): New procedure.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes &lt;https://bugs.gnu.org/26353&gt;.
Reported by Danny Milosavljevic &lt;dannym@scratchpost.org&gt;.

* gnu/services.scm (cleanup-gexp): Add 'setenv' and 'setlocale' calls
before 'delete-file-recursively'.
* gnu/tests/base.scm (%cleanup-os, %test-cleanup): New variables.
(run-cleanup-test): New procedure.
</pre>
</div>
</content>
</entry>
<entry>
<title>services: boot: Reverse the order of boot expressions.</title>
<updated>2018-06-20T08:05:18+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-06-20T07:44:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=661c237b4d8e670e73ea946179a94a3b956bb90e'/>
<id>661c237b4d8e670e73ea946179a94a3b956bb90e</id>
<content type='text'>
* gnu/services.scm (compute-boot-script): Reverse MEXPS.
* gnu/system.scm (essential-services): Reverse order of
%SHEPHERD-ROOT-SERVICE, %ACTIVATION-SERVICE, and CLEANUP-SERVICE-TYPE.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/services.scm (compute-boot-script): Reverse MEXPS.
* gnu/system.scm (essential-services): Reverse order of
%SHEPHERD-ROOT-SERVICE, %ACTIVATION-SERVICE, and CLEANUP-SERVICE-TYPE.
</pre>
</div>
</content>
</entry>
<entry>
<title>discovery: Remove dependency on (guix ui).</title>
<updated>2018-04-08T15:48:33+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-03-26T21:42:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=3c0128b035ae00462f1b0a4427d9525d750e5575'/>
<id>3c0128b035ae00462f1b0a4427d9525d750e5575</id>
<content type='text'>
This reduces the closure of (guix discovery) from 28 to 8 modules.

* guix/discovery.scm (scheme-files): Use 'format' instead of 'warning'.
(scheme-modules): Add #:warn parameter.  Use it instead of
'warn-about-load-error'.
(fold-modules): Add #:warn and pass it to 'scheme-modules'.
(all-modules): Likewise.
* gnu/bootloader.scm (bootloader-modules): Pass #:warn to 'all-modules'.
* gnu/packages.scm (fold-packages): Likewise.
* gnu/services.scm (all-service-modules): Likewise.
* guix/upstream.scm (importer-modules): Likewise.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reduces the closure of (guix discovery) from 28 to 8 modules.

* guix/discovery.scm (scheme-files): Use 'format' instead of 'warning'.
(scheme-modules): Add #:warn parameter.  Use it instead of
'warn-about-load-error'.
(fold-modules): Add #:warn and pass it to 'scheme-modules'.
(all-modules): Likewise.
* gnu/bootloader.scm (bootloader-modules): Pass #:warn to 'all-modules'.
* gnu/packages.scm (fold-packages): Likewise.
* gnu/services.scm (all-service-modules): Likewise.
* guix/upstream.scm (importer-modules): Likewise.
</pre>
</div>
</content>
</entry>
<entry>
<title>gnu: Refactor boot-service-type and activation-service-type.</title>
<updated>2018-03-29T06:38:49+00:00</updated>
<author>
<name>Chris Marusich</name>
<email>cmmarusich@gmail.com</email>
</author>
<published>2018-03-29T06:33:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=7874e9e047219cce5ae339e57cd76f158bc19f63'/>
<id>7874e9e047219cce5ae339e57cd76f158bc19f63</id>
<content type='text'>
* gnu/services.scm (boot-service-type) &lt;compose&gt;: Use the "identity"
  procedure instead of the "append" procedure because it more accurately
  reflects the intent, which is to simply return the single list of
  extensions to which fold-services applies the "compose" procedure.
  (activation-service-type) &lt;compose&gt;: Likewise.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/services.scm (boot-service-type) &lt;compose&gt;: Use the "identity"
  procedure instead of the "append" procedure because it more accurately
  reflects the intent, which is to simply return the single list of
  extensions to which fold-services applies the "compose" procedure.
  (activation-service-type) &lt;compose&gt;: Likewise.
</pre>
</div>
</content>
</entry>
<entry>
<title>services: Missing services are automatically instantiated.</title>
<updated>2018-01-20T23:24:03+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-01-20T23:05:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=d466b1fc8221a6224fe7ded53a828f9c29ed9457'/>
<id>d466b1fc8221a6224fe7ded53a828f9c29ed9457</id>
<content type='text'>
This simplifies OS configuration: users no longer need to be aware of
what a given service depends on.

See the discussion at
&lt;https://lists.gnu.org/archive/html/guix-devel/2018-01/msg00114.html&gt;.

* gnu/services.scm (missing-target-error): New procedure.
(service-back-edges): Use it.
(instantiate-missing-services): New procedure.
* gnu/system.scm (operating-system-services): Call
'instantiate-missing-services'.
* tests/services.scm ("instantiate-missing-services")
("instantiate-missing-services, no default value"): New tests.
* gnu/services/version-control.scm (cgit-service-type)[extensions]: Add
FCGIWRAP-SERVICE-TYPE.
* gnu/tests/version-control.scm (%cgit-os): Remove NGINX-SERVICE-TYPE
and FCGIWRAP-SERVICE-TYPE instances.
* doc/guix.texi (Log Rotation): Remove 'mcron-service-type' in example.
(Miscellaneous Services): Remove 'nginx-service-type' and
'fcgiwrap-service-type' in Cgit example.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This simplifies OS configuration: users no longer need to be aware of
what a given service depends on.

See the discussion at
&lt;https://lists.gnu.org/archive/html/guix-devel/2018-01/msg00114.html&gt;.

* gnu/services.scm (missing-target-error): New procedure.
(service-back-edges): Use it.
(instantiate-missing-services): New procedure.
* gnu/system.scm (operating-system-services): Call
'instantiate-missing-services'.
* tests/services.scm ("instantiate-missing-services")
("instantiate-missing-services, no default value"): New tests.
* gnu/services/version-control.scm (cgit-service-type)[extensions]: Add
FCGIWRAP-SERVICE-TYPE.
* gnu/tests/version-control.scm (%cgit-os): Remove NGINX-SERVICE-TYPE
and FCGIWRAP-SERVICE-TYPE instances.
* doc/guix.texi (Log Rotation): Remove 'mcron-service-type' in example.
(Miscellaneous Services): Remove 'nginx-service-type' and
'fcgiwrap-service-type' in Cgit example.
</pre>
</div>
</content>
</entry>
<entry>
<title>services: cleanup: Remove "/run/udev/watch.old" directory.</title>
<updated>2017-12-17T07:32:37+00:00</updated>
<author>
<name>Danny Milosavljevic</name>
<email>dannym@scratchpost.org</email>
</author>
<published>2017-12-17T07:31:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=e25ca462e5c6b4e5bbcfb70dbdf1006a25749dee'/>
<id>e25ca462e5c6b4e5bbcfb70dbdf1006a25749dee</id>
<content type='text'>
* gnu/services.scm (cleanup-gexp): Remove "/run/udev/watch.old" directory.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/services.scm (cleanup-gexp): Remove "/run/udev/watch.old" directory.
</pre>
</div>
</content>
</entry>
<entry>
<title>services: Add 'lookup-service-types'.</title>
<updated>2017-11-08T21:31:58+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-11-08T12:26:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=49483f71381ad32cdbe81b1c8ed2cc023329cc18'/>
<id>49483f71381ad32cdbe81b1c8ed2cc023329cc18</id>
<content type='text'>
* gnu/services.scm (lookup-service-types): New procedure.
* tests/services.scm ("lookup-service-types"): New test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/services.scm (lookup-service-types): New procedure.
* tests/services.scm ("lookup-service-types"): New test.
</pre>
</div>
</content>
</entry>
</feed>
