From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id tNkkD0hz2WB/CQEAgWs5BA (envelope-from ) for ; Mon, 28 Jun 2021 08:59:20 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id gMZUCkhz2WClGAAAbx9fmQ (envelope-from ) for ; Mon, 28 Jun 2021 06:59:20 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 50D1724722 for ; Mon, 28 Jun 2021 08:59:19 +0200 (CEST) Received: from localhost ([::1]:45652 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lxlEj-0008Hn-Ti for larch@yhetil.org; Mon, 28 Jun 2021 02:59:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46776) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lxlEU-0008H3-5S for bug-guix@gnu.org; Mon, 28 Jun 2021 02:59:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39255) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lxlET-0002wR-U8 for bug-guix@gnu.org; Mon, 28 Jun 2021 02:59:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lxlET-0001Ir-RV for bug-guix@gnu.org; Mon, 28 Jun 2021 02:59:01 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#20255: 'search-paths' should respect both user and system profile. Resent-From: Leo Prikler Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 28 Jun 2021 06:59:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20255 X-GNU-PR-Package: guix X-GNU-PR-Keywords: patch To: Maxim Cournoyer Received: via spool by 20255-submit@debbugs.gnu.org id=B20255.16248634884927 (code B ref 20255); Mon, 28 Jun 2021 06:59:01 +0000 Received: (at 20255) by debbugs.gnu.org; 28 Jun 2021 06:58:08 +0000 Received: from localhost ([127.0.0.1]:50796 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lxlDc-0001HP-Gn for submit@debbugs.gnu.org; Mon, 28 Jun 2021 02:58:08 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:50544) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lxlDa-0001HF-Ds for 20255@debbugs.gnu.org; Mon, 28 Jun 2021 02:58:07 -0400 Received: from nijino.local (62-116-34-49.adsl.highway.telekom.at [62.116.34.49]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4GCz2d0Tlfz3wmX; Mon, 28 Jun 2021 08:58:01 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1624863483; bh=72iDOKLKQRikC7e38nTpYxuJwN+RPtPQ0tt7CRPnAMM=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=kNmt3RzMbHss7h/2OB32THb89XDI8pRnAQ8TWKDvd6gSNfq8Mjz5RMWQAWwS9Ra4W /nJe7evknKMaFWjITeRQjcA/UT2QyB5Nc+QE6Ut4GMYUX9goE2pUw+6yAeR245puKF aGbgQnh12Vj8Z0iylajsEwS3TTZZbNsqR2/2KFoI= Message-ID: From: Leo Prikler Date: Mon, 28 Jun 2021 08:58:00 +0200 In-Reply-To: <87mtrawqq8.fsf@gmail.com> References: <87eeun97ur.fsf@gmail.com> <874kdlxsfl.fsf_-_@gmail.com> <5f385b99827c7c069094e1ed0fb2bd52f5345445.camel@student.tugraz.at> <87mtrawqq8.fsf@gmail.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUG-Backscatter-control: bt4lQm5Tva3SBgCuw0EnZw X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -1.9 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.116 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: 20255@debbugs.gnu.org, iyzsong@gmail.com, Alex Kost Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1624863560; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=72iDOKLKQRikC7e38nTpYxuJwN+RPtPQ0tt7CRPnAMM=; b=CslJZzRF490BMk8XXaoB2QuMMMuhUb+XEa73hX2Fw1zt60KSWd71J7m0ysvVJtiH8nIVj8 tY6aRLYg4Um8s61G/Ti2fmOW/9dagI2G0QxmicPJh34qre8pO30mt4jrVB2zWVo2Bll2Z9 ZWJC9VHUijgg7AN5yCqpkZSXIhIUkbNGK7GFz+jUG2WfoU3RqkMczymwIEzHMpwAWw/bdT OHVXmKOMnLWrxzbmrAix8OyR8rOER+nw7ljGTz8Dj/3Q86wnFxLdubwN0/3Vw10+MtLhLj CcVKfAC6WYeVKcFNtnYhXWKiEHS4TG8F8YDTueWSzCRQfRGDTOGVl2I0G/9+Gg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1624863560; a=rsa-sha256; cv=none; b=amR8oNj236w+QC9WsDK6av37sKmmOzJWlxZYL4o7z9TQpHMMyQcjnReF5P6rLXDyza+vrj IWykv9vYySR6VzJOxb+neoyCg1yo0kZ3C5J0rnQjEluhCmlbwiVv8L1r2PHrWUbscGXD5d nDa/OLINmGz8FTM2xPE/cBH2fSF4H8fwP8ZNWIEr3kCxS0RKQlhqzDyNUmlrZ9Y5Lphn4W xQ1LPF/LOEq04q+5QZRhz1LSva4uLNeGCwBkdaVdKBYqsIf2/mWoBlFMcUuMsxtEI67jKG 9eMGXHAST6oxLu9wqN1A8bwpDpLKsGmGsboIytGRRhWRX5nWd9nCB5NBoItL2w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=tugraz.at header.s=mailrelay header.b=kNmt3RzM; dmarc=fail reason="SPF not aligned (relaxed)" header.from=student.tugraz.at (policy=none); spf=pass (aspmx1.migadu.com: domain of bug-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=bug-guix-bounces@gnu.org X-Migadu-Spam-Score: -1.32 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=tugraz.at header.s=mailrelay header.b=kNmt3RzM; dmarc=fail reason="SPF not aligned (relaxed)" header.from=student.tugraz.at (policy=none); spf=pass (aspmx1.migadu.com: domain of bug-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=bug-guix-bounces@gnu.org X-Migadu-Queue-Id: 50D1724722 X-Spam-Score: -1.32 X-Migadu-Scanner: scn0.migadu.com X-TUID: xJyS8NeT7lyB 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