From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id EDpZAi4lHWGXHQAAgWs5BA (envelope-from ) for ; Wed, 18 Aug 2021 17:20:14 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id ECyyOS0lHWHtcAAA1q6Kng (envelope-from ) for ; Wed, 18 Aug 2021 15:20:13 +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 D46EB1F4BD for ; Wed, 18 Aug 2021 17:20:12 +0200 (CEST) Received: from localhost ([::1]:33962 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mGNMR-00022c-LP for larch@yhetil.org; Wed, 18 Aug 2021 11:20:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52046) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mGNMI-00022R-Mj for bug-guix@gnu.org; Wed, 18 Aug 2021 11:20:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:45727) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mGNMI-0006Tp-Fw for bug-guix@gnu.org; Wed, 18 Aug 2021 11:20:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mGNMI-00089M-Cj for bug-guix@gnu.org; Wed, 18 Aug 2021 11:20:02 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#50103: Pulseaudio doesn't export XDG_CONFIG_DIRS Resent-From: Leo Prikler Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Wed, 18 Aug 2021 15:20:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 50103 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: John Kehayias Received: via spool by 50103-submit@debbugs.gnu.org id=B50103.162930000031317 (code B ref 50103); Wed, 18 Aug 2021 15:20:02 +0000 Received: (at 50103) by debbugs.gnu.org; 18 Aug 2021 15:20:00 +0000 Received: from localhost ([127.0.0.1]:57273 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mGNMG-000892-7C for submit@debbugs.gnu.org; Wed, 18 Aug 2021 11:20:00 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:45887) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mGNMD-00088p-4W for 50103@debbugs.gnu.org; Wed, 18 Aug 2021 11:19:59 -0400 Received: from nijino.local (62-47-226-13.adsl.highway.telekom.at [62.47.226.13]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4GqWm64Zzcz1LWpg; Wed, 18 Aug 2021 17:19:50 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 mailrelay.tugraz.at 4GqWm64Zzcz1LWpg DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1629299990; bh=hGU7t1Ra3uPIq/WPieHkstz+womVFpRghDas6A4RX+Q=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=s1bDFT2RuU4PZleJsJsEpMX8ChyjeBUDvpSB1Rr7vcBy18y+L9Fh5WenQOsmvIR5p TLtq+tTXetHFi7IvVK495Obe2T90FwP+rgDYfNcnNSVxQcIU+NEQ9UDty4ka4MU+yp llyhl9Jv9EEyJ2pQsr1n1ZulhRkhBHDP3s+WW00A= Message-ID: From: Leo Prikler Date: Wed, 18 Aug 2021 17:19:49 +0200 In-Reply-To: References: <8260714867d007d924c151a18ff9c63950ab2fcd.camel@student.tugraz.at> <04f0f93cb3dd7fa70d940f200b00432eaf9004e9.camel@telenet.be> <459e9a0866a72bd3bf792d347e249f854e5654e1.camel@student.tugraz.at> 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: 50103@debbugs.gnu.org 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=1629300013; 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=hGU7t1Ra3uPIq/WPieHkstz+womVFpRghDas6A4RX+Q=; b=jXc9d08u4OZfI/+F0Ac12HcDbLqWrGe3BiAgUkohiy+hdQXpGxTA+RD0E2IpTzTXBDyFaM Xxshio7HGEnkbXgwWT7b7fss7erRtzQnpjecO/BnNF44RFniRIwlHIVIcgCM6NzDVRI+Yx e6XH+4K8ZaqSZKkewcZjVKIcHarzt8divSIacTykgYqHZNMN/MdT2IXVptESa84FC+kYEE Gr+g2mpw+Gci4iyzyQxWuxlWZVcRso8Vh+LzhJe37kY9gfqHr9xbdWQt980m6meyWLHDfZ 4wxir9iML0DgZDN3b0fQ6ElUnVrzvfkxVgNpycglrTCrufZuqh5DzTIr/J6XGg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1629300013; a=rsa-sha256; cv=none; b=mndW89MJdBvpkxOv1/zFEE6zdwuT/duqrOWIErxq2CX7010H6VZEOwgw2U24iKAUGO/qvZ t45smiUedxlVmrwe6uA96yrTUU27xDShUcT8xZcsal2fFjf9nJho1UgfDU/s57UnlYfdn7 N3Gsd0J4sKEQStbM7MCPiyGQGcnAnMNKrD0ElFpYlEa03/B9FnXHrGmJrD4sn7n9M4e32f ERp5w2yqzCW9ibx6nZIrXR/ZKY35zqPzKXCpBkGL6V3gptrQc2/BAnVKP3H2iQvbyHFlyP 5YfIuyxqRh7wrX+Wd6KkdtU7iPnI4O4cAE/qwCIXwq0A/r/DO0mp2UNyIurJtA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=tugraz.at header.s=mailrelay header.b=s1bDFT2R; 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=s1bDFT2R; 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: D46EB1F4BD X-Spam-Score: -1.32 X-Migadu-Scanner: scn0.migadu.com X-TUID: j2r6ypR0i373 Hi John, Am Mittwoch, den 18.08.2021, 14:27 +0000 schrieb John Kehayias: > Hi Leo and Maxime, > > Thanks for discussing this. A few questions/clarifications (perhaps > mostly because I'm still new here) below. I'm not familiar enough > with the internals of guix search-paths, so my perspective is mostly > from the end-user standpoint. > > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ > > On Wednesday, August 18th, 2021 at 5:45 AM, Leo Prikler wrote: > > > Hi, > > > > Am Mittwoch, den 18.08.2021, 11:28 +0200 schrieb Maxime Devos: > > > > > Leo Prikler schreef op wo 18-08-2021 om 10:03 [+0200]: > > > > > > > Hi John, > > > > > > > > a lot of packages would do much better if they exported > > > > > > > > XDG_CONFIG_DIRS. However, there is currently no way of doing so > > > > other than copypasting the same snippet over and over and over > > > > and over. A workaround -- if you need this in an environment -- > > > > is to also include a package, that already has a search path on > > > > XDG_CONFIG_DIRS, like glib (I think glib:bin works too). > > > > > > I'm slightly confused here: I only see XDG_DATA_DIRS in the glib > package. I include glib to get that export actually (I have > everything in profiles, nothing in the default user). Autostart files > are in $XDG_CONFIG_DIRS/autostart. XDG_DATA_DIRS seems to come up the > most and more needed it seems to me (based on what I have there in a > desktop environment). Haha, my bad, yeah glib only provides XDG_DATA_DIRS. In that case I'm not sure which one would be the canonical workaround package. > > > > I recently tried exporting XDG_CONFIG_DIRS as a variable from > > > > one module, so that it can be referenced in others, but that > > > > led to a weird recursive errors. It would be nice to find a > > > > good way of doing that, though. > > > > > > What do you think of defining the > > > > > > $XDG_CONFIG_DIR in (guix search-paths) itself, next to $PATH? > > > That seems unlikely to lead to recursive errors. Alternatively, I > > > would guess that making 'search-paths' and 'native-search-paths' > > > a ‘thunked’ field would resolve the errors, at cost of making > > > objects use a bit more memory. > > Both sound like interesting proposals. Obviously, adding > > $XDG_CONFIG_DIRS to (guix search-paths) would work in the short > > term, but I think defining all interesting environment variables > > there is probably not the best solution for the future. There's a > > few variables that are used widely FSVO widely, but using them also > > implies having some package as input, e.g. the cURL-related ones. > > XDG_CONFIG_DIRS technically also falls in there, because you will > > have either xorg or xdisorg imported. Therefore, I think I'd prefer > > a solution where variables can be exported (and re-exported) from > > any module in the (gnu packages) subtree. > > Is the case here that glib should have XDG_CONFIG_DIRS in it? Or does > that only make sense in some other package that could then be > included in a profile to get XDG_CONFIG_DIRS, similar to > XDG_DATA_DIRS now? I'm not sure about that myself but the answer is probably no. > I didn't see many references to XDG_CONFIG_DIRS in our current > packages, mostly in some Lisp compilers and a few other random > places. Slightly surprised it is not in more, but maybe packages that > would normally put something in /etc/xdg (default for > XDG_CONFIG_DIRS) have been configured otherwise. I think the likelier explanation is that XDG_CONFIG_DIRS is possibly underused when compared to XDG_DATA_DIRS. Most packages store their configuration -- if any -- in /etc/foo rather than /etc/xdg/foo. I'm pretty certain that using /etc/xdg rather than /etc was an error on XDG's part as XDG_CONFIG_HOME, which defaults to ~/.config makes much more sense from an application writer's POV. > I feel like my setup, from the cookbook, of having everything in > profiles with the default user one being empty other than testing, > has exposed a few related issues. What we are discussing might also > have relevance to dbus files (see #48538), and perhaps to an older > issue about paths and /etc/profile (#20255). (Not to bring up an old > issue, but it was one that came up when searching for related issues > in the past, which I skimmed.) You are indeed right, multiple profiles are very badly supported by Guix. Needing to jump through the hoops described in the cookbook in the first place is in my eyes a clear enough indicator to support my point. Back in December of 2019, I wrote a proposal that would make it possible to add user profiles next to the default profile [1]. It had a few problems mostly related to underspecification and in the end went nowhere. Earlier this year, around Guix Days, I thought I should perhaps revive it, but for personal reasons didn't, instead procrastinating. The only thing I now remember from back then was that there was a certain push from fellow proponents to just use $XDG_DATA_HOME/guix as this directory, but I'm still concerned whether that is the correct approach (particularly since /etc/profile might not know about the actual value of XDG_DATA_HOME in time). I think that in order to truly make profiles splits work, we would either have to make use of Guix at the lowest level, so as to merge Emacs in one profile with a bunch of emacs-foo packages in another or make search paths first-class citizens of profiles to allow for amendments on top of what is already given by packages. WDYT? [1] https://yhetil.org/guix-devel/eabe0cccdb377b1c573df88715d6aebf7bf7f80c.camel@student.tugraz.at/