unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: Leo Prikler <leo.prikler@student.tugraz.at>
To: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Cc: 20255@debbugs.gnu.org, iyzsong@gmail.com, Alex Kost <alezost@gmail.com>
Subject: bug#20255: 'search-paths' should respect both user and system profile.
Date: Mon, 28 Jun 2021 08:58:00 +0200	[thread overview]
Message-ID: <ee5f723a79e54535ef3eba5f6efb9694235ecd5c.camel@student.tugraz.at> (raw)
In-Reply-To: <87mtrawqq8.fsf@gmail.com>

Am Montag, den 28.06.2021, 00:35 -0400 schrieb Maxim Cournoyer:
> Hi Leo,
> 
> [...]
> 
> > I think there is a solution, that works not only for the case of
> > disabling this unwanted feature, but also to add in support for
> > multiple profiles, i.e. if the user has more than just their .guix-
> > profile to load.
> > 
> > If we made this feature opt-in in that a user would first have to
> > write
> > their profiles to $HOME/.config/guix/default-profiles or a
> > similarly
> > named file in $HOME/.config/guix, we could simply not run the
> > command
> > if the file doesn't exist, and if it exists run it using the
> > profiles
> > in there.
> > 
> > Most users will likely have
> > 
> > /home/myself/.guix-profile
> > /run/current-system/profile
> > 
> > in it, but you could also have
> > 
> > /home/myself/.guix-extra-profiles/emacs
> > /home/myself/.guix-extra-profiles/hundreds-of-npm-packages
> > /home/myself/.guix-extra-profiles/rusty-rust
> > /home/myself/.guix-profile
> > /run/current-system/profile
> > 
> > Of course, having to type out /home/myself is somewhat weird, and
> > the
> > last two lines are a bit of boilerplate, that one might want to
> > avoid. 
> > We could alternatively make it so that an empty file means "use
> > $HOME/.guix-profile and /run/current-system/profile", such that
> > those
> > are always sourced no matter what.  WDYT?
> 
> I like this later idea (does what a user would reasonably expect by
> default, which is to consider both the system and the user profile by
> default).  A user specifying that file manually could then override
> the
> default behavior to have it source extra profiles, or none at all.
> 
> Some small difference I'd propose:
> 
> An non-existing $HOME/.config/guix/default-profiles file would be
> equivalent to an existing file containing:
> 
> - $HOME/.guix-profile
> - /run/current-system/profile
> 
> as the default behavior.
The behaviour for a missing default-profiles is nothing so as to
address the concerns raised by Alex Kost about running the guix binary
without the user's consent.  It still runs external binaries such as
test, but IIRC those are already run in our existing setup, so that's
not really a concern worth raising.

I do agree, that your solution is more reasonable if there's nothing
else to consider.

> Now we'd need to look at how feasible it is to implement such a
> feature.
A naïve implementation would be a pipe with sed and xargs, but I don't
know how well that'd guard against shell code exploits.  A more
complicated approach might take a few lines of shell code, but I don't
think it would be excessively large.

> Thanks for this clever suggestion!  It seems we may be able to find a
> good middle ground :-).
> 
> Maxim





  reply	other threads:[~2021-06-28  6:59 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-04 10:29 bug#20255: 'search-paths' should respect both user and system profile 宋文武
2015-04-04 21:04 ` Ludovic Courtès
2015-04-05  3:39   ` 宋文武
2015-04-05 18:15     ` Ludovic Courtès
2015-04-06  4:02       ` 宋文武
2015-04-06  8:24         ` Mark H Weaver
2015-05-02 22:12         ` Ludovic Courtès
2015-11-19 22:32           ` Ludovic Courtès
2015-11-20 22:42             ` Alex Kost
2015-11-21  8:57               ` Ludovic Courtès
2015-11-21 18:41                 ` Alex Kost
2015-11-21 20:10                   ` Ludovic Courtès
2015-11-22  7:52                     ` Alex Kost
2015-11-22 10:52                       ` Ludovic Courtès
2015-11-22 18:44                         ` Alex Kost
2015-11-22 23:04                           ` Ludovic Courtès
2015-11-23 11:55                             ` Alex Kost
2015-11-23 14:31                               ` Ludovic Courtès
2015-11-24 17:22                       ` Ludovic Courtès
2015-11-30  9:08                         ` Alex Kost
2015-11-30 12:25                           ` Ludovic Courtès
2015-05-04 21:44     ` Ludovic Courtès
2015-05-05  8:28       ` 宋文武
2015-05-05 12:35         ` Ludovic Courtès
2015-05-06 16:35         ` Ludovic Courtès
2015-11-12 11:13       ` Ludovic Courtès
2020-02-21 15:53 ` bug#20255: (old)bug#20255: 'search-paths' should respect both user and system profiles zimoun
2020-02-21 17:18   ` Alex Kost
2021-06-26  2:37     ` bug#20255: 'search-paths' should respect both user and system profile Maxim Cournoyer
2021-06-26  5:59       ` Leo Prikler
2021-06-28  4:35         ` Maxim Cournoyer
2021-06-28  6:58           ` Leo Prikler [this message]
2021-06-27  9:59       ` Alex Kost
2021-06-28  4:48         ` Maxim Cournoyer
2021-06-29 17:29           ` Alex Kost
2020-12-18 20:27   ` bug#20255: «the Oldest» [PATCH] 'search-paths' should respect both user and system profiles zimoun
2023-05-12 12:34     ` bug#20255: 'search-paths' should respect both user and system profile 宋文武 via Bug reports for GNU Guix
2023-05-15 13:53       ` Maxim Cournoyer
2023-05-15 17:14       ` Josselin Poiret via Bug reports for GNU Guix
2023-05-15 17:46         ` Maxim Cournoyer
2023-05-16  9:37           ` Josselin Poiret via Bug reports for GNU Guix
2023-05-16 11:00             ` 宋文武 via Bug reports for GNU Guix
2023-05-17 14:04 ` bug#20255: [PATCH 1/4] home: shells: Merge search-paths of multiple profiles iyzsong--- via Bug reports for GNU Guix
2023-05-17 14:04   ` bug#20255: [PATCH 2/4] system: default-skeletons: Set up Guix home profile when it exists iyzsong--- via Bug reports for GNU Guix
2023-05-17 14:04   ` bug#20255: [PATCH 3/4] system: Only source system profile's settings in '/etc/profile' iyzsong--- via Bug reports for GNU Guix
2023-05-17 14:04   ` bug#20255: [PATCH 4/4] news: Add entry for '/etc/profile' changes iyzsong--- via Bug reports for GNU Guix

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ee5f723a79e54535ef3eba5f6efb9694235ecd5c.camel@student.tugraz.at \
    --to=leo.prikler@student.tugraz.at \
    --cc=20255@debbugs.gnu.org \
    --cc=alezost@gmail.com \
    --cc=iyzsong@gmail.com \
    --cc=maxim.cournoyer@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).