services: Add etc-bashrc-d-service-type.

* gnu/services.scm (files->bashrc-d-directory) New procedure.
(etc-bashrc-d-service-type): New service type.
* doc/guix.texi (Service Reference): Document it.
* gnu/tests/base.scm (test-basic-os): Test it.

Change-Id: Ibbb0f684de7aee296adedbce5b1192786d661af2
This commit is contained in:
Maxim Cournoyer 2025-05-06 16:16:09 +09:00
parent 42245040f6
commit 4c017ccfe5
No known key found for this signature in database
GPG key ID: 1260E46482E63562
3 changed files with 62 additions and 9 deletions

View file

@ -47679,6 +47679,24 @@ usage may look like:
@end example
@end defvar
@defvar etc-bashrc-d-service-type
The type of the @file{/etc/bashrc.d} service. This service is used to
create files under @file{/etc/bashrc.d}. It takes as value a list of
file-like objects, as can be produced with @code{local-file},
@code{plain-file}, etc. Note that provided files whose file names do
not end with @file{.sh} are @emph{not} added to @file{/etc/profile.d/}
and are silently dropped. Package objects can also be provided directly
to have their @file{etc/bashrc.d/*.sh} prefixed files added. An example
usage may look like:
@example
(use-package-modules gnome) ;for the `vte' package
(simple-service 'vte-integration etc-bashrc-d-service-type
(list (file-append vte "/etc/profile.d/vte.sh")))
@end example
@end defvar
@defvar privileged-program-service-type
Type for the ``privileged-program service''. This service collects lists of
executable file names, passed as gexps, and adds them to the set of