[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Customizing /etc
From: |
Ludovic Courtès |
Subject: |
Customizing /etc |
Date: |
Mon, 19 Sep 2016 23:08:43 +0900 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Alex Kost <address@hidden> skribis:
> Ludovic Courtès (2016-09-14 16:58 +0200) wrote:
>
>> Hello,
>>
>> address@hidden (Carlos Sánchez de La Lama) skribis:
>>
>>> I have an interesting case here. I have guile installed in my system
>>> profile, so that
>>>
>>> /var/guix/profiles/system/profile/share/aclocal/guile.m4
>>>
>>> is there. However, autoconf is installed in my *user* profile, so
>>> ACLOCAL_PATH is augmented in ~/.guix-profile/etc/profile to include
>>>
>>> ~/.guix-profile/share/aclocal
>>>
>>> But not the system-profile aclocal directory, which would be put into
>>> ACLOCAL_PATH by /var/guix/profiles/system/profile/etc/profile if
>>> autoconf was installed in the systme profile as well.
>>>
>>> Is this the intended behaviour? I am wondering whether packages with
>>> search paths should include both the user-profile directories and the
>>> system-profile ones.
>>
>> I think you’re right. This was discussed at
>> <http://bugs.gnu.org/20255>, leading to a patch (for GuixSD).
>>
>> However, we failed to build consensus around the approach of this patch,
>> so we did not apply it. If you have ideas, please email
>> address@hidden :-)
>
> I think I was the one who prevents the consensus. To make it clear, I'm
> for the suggested solution, but only *after* giving a user a freedom to
> avoid loading such a heavy command as "guix package --search-paths". On
> a "usual" GNU/Linux distro a user can edit /etc/profile, but on GuixSD
> it is not possible currently. That's why I think there should be
> provided a possibility to override /etc/profile at first.
Indeed, thanks for the reminder!
In fact, we have this through ‘etc-service-type’, except that currently
/etc/profile is systematically added.
So an idea that comes to mind is to allow ‘etc-service-type’ to be
extended with procedures that would be able to filter or otherwise
change the /etc entries (similar to what we do for PAM):
diff --git a/gnu/services.scm b/gnu/services.scm
index 7e322c5..9397232 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -426,9 +426,13 @@ directory."
(extensions
(list
(service-extension activation-service-type
- (lambda (files)
- (let ((etc
- (files->etc-directory files)))
+ (lambda (files+procs)
+ (let* ((proc (apply compose
+ (filter procedure?
+
files+procs)))
+ (files (filter pair?
files+procs))
+ (etc
+ (files->etc-directory (proc
files))))
#~(activate-etc #$etc))))
(service-extension system-service-type etc-entry)))
(compose concatenate)
In your config, you could have something like:
(services (cons (simple-service 'rm-/etc/profile etc-service-type
(const (lambda (files)
(assoc-delete "profile" files))))
%base-services))
WDYT?
In fact I think we would need to have a more generic mechanism to hook
into ‘fold-services’, but I’m not sure what it should look like.
Ludo’.
- User-profile search paths should include system-profile directories, Carlos Sánchez de La Lama, 2016/09/14
- Re: User-profile search paths should include system-profile directories, Ludovic Courtès, 2016/09/14
- Re: User-profile search paths should include system-profile directories, Carlos Sánchez de La Lama, 2016/09/20
- Re: User-profile search paths should include system-profile directories, Alex Kost, 2016/09/20
- Re: User-profile search paths should include system-profile directories, Carlos Sánchez de La Lama, 2016/09/20
- Re: User-profile search paths should include system-profile directories, Ludovic Courtès, 2016/09/21
- Re: User-profile search paths should include system-profile directories, Carlos Sánchez de La Lama, 2016/09/22
- Re: User-profile search paths should include system-profile directories, Ludovic Courtès, 2016/09/23
- Re: User-profile search paths should include system-profile directories, Carlos Sánchez de La Lama, 2016/09/26
- Re: User-profile search paths should include system-profile directories, Ludovic Courtès, 2016/09/30