summaryrefslogtreecommitdiff
path: root/gnu/services.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2025-05-06 16:16:09 +0900
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2025-05-26 13:43:03 +0900
commit4c017ccfe56a8887bf26faaea62d60501d7cc4f6 (patch)
tree5c8a5efc2bd183db771f2ad6cafed857824f1063 /gnu/services.scm
parent42245040f683bf11688f3731037d0e933fa562fa (diff)
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
Diffstat (limited to 'gnu/services.scm')
-rw-r--r--gnu/services.scm14
1 files changed, 14 insertions, 0 deletions
diff --git a/gnu/services.scm b/gnu/services.scm
index 8584b16ac5c..7083c88c130 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -123,6 +123,7 @@
extra-special-file
etc-service-type
etc-profile-d-service-type
+ etc-bashrc-d-service-type
etc-directory
privileged-program-service-type
setuid-program-service-type ; deprecated
@@ -988,6 +989,19 @@ two-elements list suitable for extending `etc-service-type'."
scripts having the @file{.sh} file extension, to be sourced when users
log in.")))
+(define files->bashrc-d-directory
+ (make-files->etc-directory "bashrc.d"))
+
+(define etc-bashrc-d-service-type
+ (service-type
+ (inherit etc-profile-d-service-type)
+ (name 'etc-bashrc-d)
+ (extensions (list (service-extension etc-service-type
+ files->bashrc-d-directory)))
+ (description "A service for populating @file{/etc/bashrc.d/} with Bash
+scripts having the @file{.sh} file extension, to be sourced by interactive
+Bash shells.")))
+
(define (privileged-program->activation-gexp programs)
"Return an activation gexp for privileged-program from PROGRAMS."
(let ((programs