services: nix-search-paths: Set LOCALE_ARCHIVE environment variable.

This commit is contained in:
Hilton Chain 2026-07-06 20:39:06 +08:00
parent 4d553b92ce
commit d687672c1c
No known key found for this signature in database
GPG Key ID: ACC66D09CA528292

View File

@ -4,6 +4,8 @@
(define-module (rosenthal services nix) (define-module (rosenthal services nix)
;; Utilities ;; Utilities
#:use-module (guix gexp) #:use-module (guix gexp)
;; Guix System
#:use-module (gnu system pam)
;; Guix System - services ;; Guix System - services
#:use-module (gnu services) #:use-module (gnu services)
#:use-module (gnu services shepherd) #:use-module (gnu services shepherd)
@ -22,6 +24,9 @@
(use-modules (guix build utils)) (use-modules (guix build utils))
(mkdir-p (dirname #$config))))) (mkdir-p (dirname #$config)))))
(define (nix-search-paths-environment-extension config)
`(("LOCALE_ARCHIVE" . ,(in-vicinity config "lib/locale/locale-archive"))))
(define* (nix-search-paths-shepherd-extension #:key home?) (define* (nix-search-paths-shepherd-extension #:key home?)
(lambda (config) (lambda (config)
(list (shepherd-service (list (shepherd-service
@ -54,7 +59,9 @@ eval \"$(" guix "/bin/guix package --search-paths=suffix"
(service-type (service-type
(name 'nix-search-paths) (name 'nix-search-paths)
(extensions (extensions
(list (service-extension activation-service-type (list (service-extension session-environment-service-type
nix-search-paths-environment-extension)
(service-extension activation-service-type
nix-search-paths-activation) nix-search-paths-activation)
(service-extension shepherd-root-service-type (service-extension shepherd-root-service-type
(nix-search-paths-shepherd-extension)) (nix-search-paths-shepherd-extension))
@ -68,7 +75,9 @@ eval \"$(" guix "/bin/guix package --search-paths=suffix"
(inherit nix-search-paths-service-type) (inherit nix-search-paths-service-type)
(name 'home-nix-search-paths) (name 'home-nix-search-paths)
(extensions (extensions
(list (service-extension home-activation-service-type (list (service-extension home-environment-variables-service-type
nix-search-paths-environment-extension)
(service-extension home-activation-service-type
nix-search-paths-activation) nix-search-paths-activation)
(service-extension home-shepherd-service-type (service-extension home-shepherd-service-type
(nix-search-paths-shepherd-extension #:home? #t)) (nix-search-paths-shepherd-extension #:home? #t))