Dear guix developers, Mathieu,
Please find attached a first version of the cachefilesd service patch.
The second patch for documentation will be sent right after.
I have a few general newbie scheme questions:
- I gathered that #~ / #$ kinds of suspends evaluation / forces it -- is
there documentation about this somewhere ?
- There's something that looks like a splat operator (only seen in
conjuction with forcing evaluation in #$@) -- again i'd be interested
in more documentation about this feature -- is this a guix-specific
- I don't understand why there are ^L separating services in the scheme
files -- is this necessary? A convention? What purpose does it serve?
Regarding the patch itself:
- i'm not entirely sure the service belongs to services/linux.scm
- documentation is hastily written. I have found no way to indent
automatically the lisp code in the texi file, which is very painfull
-- would there be an emacs solution for this?
- there are no automated tests (beyond what I have done by hand
locally!), and there's no lint, so I don't really feel confident about
it :) Are there tests for services to alleviate my fears?
- I've copied some other service for modprobing the required kernel
modules before launching the daemon with a one-shot shepherd
service. Frankly i'm not happy about this solution, it seems to me
that it unnecessarily pollutes the shepherd configuration; maybe some
other mechanism (graft?) adjusting the modprobe configuration could be
better (better still, autoload the file). Any guidance would be nice
(including, that this solution is sufficient for now :))
I had great fun writing this, it reminded me of writing cookbooks during
my 'Chef' days. I must confess that the Chef DSL embedded in ruby seemed
more concise, and that it provided a way to write a cookbook
'out-of-tree' which was kind of less daunting for newcomers; however
it's already amazing that you have this kind of functionality!
-----BEGIN PGP SIGNATURE-----
-----END PGP SIGNATURE-----