From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id mN66FCI9+mG8XwEAgWs5BA (envelope-from ) for ; Wed, 02 Feb 2022 09:13:22 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id 0FaKDSI9+mHuFgEAG6o9tA (envelope-from ) for ; Wed, 02 Feb 2022 09:13:22 +0100 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 D1EE62BF02 for ; Wed, 2 Feb 2022 09:13:21 +0100 (CET) Received: from localhost ([::1]:37838 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nFAlR-0005dA-8f for larch@yhetil.org; Wed, 02 Feb 2022 03:13:17 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44898) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nFAkX-0005bg-SQ for bug-guix@gnu.org; Wed, 02 Feb 2022 03:12:23 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:57436) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nFAkE-0003CR-Ba for bug-guix@gnu.org; Wed, 02 Feb 2022 03:12:21 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nFAkD-0002Vs-QP for bug-guix@gnu.org; Wed, 02 Feb 2022 03:12:01 -0500 X-Loop: help-debbugs@gnu.org Subject: bug#52808: Guix home should not assume that all targets are dot files Resent-From: Andrew Tropin Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Wed, 02 Feb 2022 08:12:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 52808 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Received: via spool by 52808-submit@debbugs.gnu.org id=B52808.16437894709570 (code B ref 52808); Wed, 02 Feb 2022 08:12:01 +0000 Received: (at 52808) by debbugs.gnu.org; 2 Feb 2022 08:11:10 +0000 Received: from localhost ([127.0.0.1]:51333 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nFAjN-0002UH-7u for submit@debbugs.gnu.org; Wed, 02 Feb 2022 03:11:10 -0500 Received: from mail-lf1-f47.google.com ([209.85.167.47]:44585) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nFAjI-0002Td-A0 for 52808@debbugs.gnu.org; Wed, 02 Feb 2022 03:11:08 -0500 Received: by mail-lf1-f47.google.com with SMTP id u14so38936778lfo.11 for <52808@debbugs.gnu.org>; Wed, 02 Feb 2022 00:11:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=trop-in.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version; bh=bXsLDcxFrt/8HWPVdtN/51bPrN9TEqLj61uK65wDB4g=; b=KYqz36s3PbviB5EcLBOGFdNv9c2GuzzhxHAjx8PTvLvGF24DmiGoKetsKn5fgtUO6Z nK57iJIiVzKTWOWW+MfwhxMrVg3zZ+fhu1Kx0xbyyqXwU0i4WimCf+6HU6sUQ3BIGuGt m25oC+BSVClZcDDgKBJ/5Sj9iaoE1bjU4pFTvQW9NPvsMM5aXD8mXzlG9/z4EXtRVu4m e1y6YoEcMus5MH9DNGn+B5ODl4ibNi4zNC8/Yz8zKQtzHa29+ap5lePoiOnKD3IqeTqa WNfDNXy2RDo8JlYk3j2CKy4Ow3rqoDBmQ8IbDXt+jy/TYFD684M9Z9NweM4oudPWHpnq F2hQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:mime-version; bh=bXsLDcxFrt/8HWPVdtN/51bPrN9TEqLj61uK65wDB4g=; b=wQqPmtW5jc3VsmsN9FhY2OyuNVWHiEmQ1veb+pzIIIgcDCdYjdxG0NZV1+0c0ll/dX npscPZyW8RjD51cXD4SC5QnFCAfOx52dezJKPQMZHsSM8ifga/uEEtkqczNPMvkJ/WZd hTo7o8rzFXtnD+uJhaLDME3vhrTZ2m7OZcZMLXocyCKZ9p3jmBDgSFIJPzxgr0nwFmAg tOcan7UYUkSG4n29EYL13syrItRk1xN3ZobGqdtbKdQvNU0MBRNvNOx2wq2jmYLjZthG Nw6Ze0MWptHZD3JQMdlTo0vBshMEyb/iXO6uWMNhBnbp7SZBxua44gndc86g7hZ9nuCh Odaw== X-Gm-Message-State: AOAM531PYiwEOa0rXVdqIHNXvs0kvRt+ZeOriynAKBzahfNy2DTv72dX 52iBSPKGSqVmNXbacXIQ0U2zMw== X-Google-Smtp-Source: ABdhPJz97C/UF2UoFd5guvfzpxes5pTVUsjHUMKw0SUvnljhln/q/i0q/pdQNxLY0CmkK3CNZYemjA== X-Received: by 2002:ac2:51de:: with SMTP id u30mr22519600lfm.536.1643789458011; Wed, 02 Feb 2022 00:10:58 -0800 (PST) Received: from localhost (109-252-135-33.dynamic.spd-mgts.ru. [109.252.135.33]) by smtp.gmail.com with ESMTPSA id u6sm2063115lfq.207.2022.02.02.00.10.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Feb 2022 00:10:57 -0800 (PST) From: Andrew Tropin In-Reply-To: <87o83t9mf8.fsf@gnu.org> References: <6050c325-9ae9-406a-97fe-91bdf9bcd12a@www.fastmail.com> <87bkzw2kvm.fsf@trop.in> <87o83t9mf8.fsf@gnu.org> Date: Wed, 02 Feb 2022 11:10:54 +0300 Message-ID: <878rutzo1d.fsf@trop.in> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" 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: 52808@debbugs.gnu.org, Nick Zalutskiy Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1643789602; 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: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=bXsLDcxFrt/8HWPVdtN/51bPrN9TEqLj61uK65wDB4g=; b=LMPW/t9hJkIiQBW3tx0+F62sIzytcI7Ysr9uDyQEyEN8wUQCrOJgUA+u6BBO9aRZbgvWCr YrzY0frFyWdd7idbQXsqgO3qKhjuQ4e/14P+BpaN1SQRhew3q0VoG3X1v4IytMCcmbhleQ dd+kUh2xhvDzPRYBLHFwGzuJ4HozTdQ4WoWM0cAtk02HAwunkk+bsP/fTKJ4dg+3wzDiHQ tYWJNeKvLIopxaRc6yBuqOnrtpNnYZAbaV/x0HJXQ8sfDX7SJoLHpZv53zWAxAoQdN9AL7 fIFt1wd/5Ns4rEQWjWSUwgl4wswO87rB2O6UEYJCVJjsaxblJ+iO6CKPSemjwA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1643789602; a=rsa-sha256; cv=none; b=rrxyk9nKy/VrrEIUmnxGxVml5M7y5dGvxjVzaDG+unj3R7Hcxx+RJ2bro25NMOVuh1citz /lLK7KZwXe+1lEJx10ZX4Gh4JsbhfcHPvDPJGrFWz0rJ1ezAAkqYCLvKyviHTfXCX+wshw P4EYEVNmslLKas/upHFauuAWPkKp73CLk2GvAodZEkNYSNyZlNeak2z9Xdy32QW05Vayns GdUm1zPl8YHCF536o7AWHRLR6amtrWom6GEwVlrxJv1W32Eh8Lg+vgTlIpD7L2VidpMoXc deMr3zketKIm6+qM5/ZvMMYH+yQm7BPzGqfPNoU4eadpP+1m75f4N5EVUT1Drw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=trop-in.20210112.gappssmtp.com header.s=20210112 header.b=KYqz36s3; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -4.23 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=trop-in.20210112.gappssmtp.com header.s=20210112 header.b=KYqz36s3; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: D1EE62BF02 X-Spam-Score: -4.23 X-Migadu-Scanner: scn1.migadu.com X-TUID: PDqDLg43rf3J --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 2022-01-30 18:13, Ludovic Court=C3=A8s wrote: > Hi Andrew, > > Andrew Tropin skribis: > >> On 2021-12-26 12:17, Nick Zalutskiy wrote: >> >>> The following configuration results in a `~/.run` symlink being >>> created. My expectation is that a `~/run` symlink is created >>> instead. (ie. not a dotfile) >> >> Some how I missed it and not documented home-files-service-type in the >> manual, I'll add it soon. Thank you for mentioning it. It should break >> this expectation :) >> >>>> (home-environment >>>> (services >>>> (list (service >>>> home-bash-service-type >>>> (home-bash-configuration >>>> (guix-defaults? #t))) >>>> (simple-service 'my-files >>>> home-files-service-type >>>> `(("run" ,(local-file "run"))))))) >>> >>> This applies to all other targets. My expectation is that the >>> configuration should expect the exact target and not make an >>> assumption that all targets are hidden files, since that allows for >>> more utility: > > I share Nick=E2=80=99s surprise. :-) > > [...] > >> It's intentional and is a part of a design decision: >> >> For example for ("config/guix/channels.scm" ,(local-file "./chans.scm")) >> chans.scm goes not to ~/.config/guix/channels.scm, but to >> $XDG_CONFIG_DIR/guix/channels.scm, which can be a different location >> from ~/.config, absent dot should partially break this expectation. >> >> It's a bad practice to use something without "config/..." prefix and >> generally it should be avoided, it still possible to use something >> different in rare use-cases, for example for zsh: ("zshenv" >> ,zshenv-file-like-here), because it's hard to implement the lookup for >> initial configuration file other way for shells. > > Oh, I see. > >> You can elaborate more on what you try to achieve and I can try to give >> you a recommendation how to implement it. > > I=E2=80=99d expect =E2=80=98home-files-service-type=E2=80=99 to do just t= hat: add files to the > home directory, without trying to be smart. > > Would it make sense to distinguish between =E2=80=98home-files=E2=80=99 a= nd (say) > =E2=80=98home-xdg-configuration-files=E2=80=99? Yep, I can do that, actually, it will be even better for the purpose I originally had. I'll make home-files to store files as it is and symlink manager not to add leading dots and a separate folder for xdg configs. Ludo, Nick, what do you think about following names? ~/.guix-home/home-dir-files/ ~/.guix-home/xdg-config-dir-files/ > > The latter would copy files to $XDG_CONFIG_DIR at activation time, > whereas the former would just copy them to $HOME. > > > I=E2=80=99d also suggest removing special handling of HOME/files in > symlink-manager.scm. Relations between the various components of Guix > Home should preferably be made explicit via service extensions, and not > implicit through conventions like this =E2=80=98files=E2=80=99 sub-direct= ory. > > Thoughts? Unfortunatelly, I don't know how to implement polymorphic behavior the other way with current extension mechanism, so I would prefer to keep this relation implicit, to make it possible to use a different machinery instead of symlink manager to implement advanced techniques similar to read-only home from Julien's guix-home-manager. It's almost impossible to turn off symlink manager unintentionally, so it should be ok. =2D-=20 Best regards, Andrew Tropin --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQJDBAEBCgAtFiEEKEGaxlA4dEDH6S/6IgjSCVjB3rAFAmH6PI4PHGFuZHJld0B0 cm9wLmluAAoJECII0glYwd6w4VgP/1aPYshRcoiRI50ajVWFn+iTiceimi0OgH/3 S/sPbeFjJwWZAOjZDkuyU3edEgdTIAl9uZ8O7SfSjuLggWRakz/JiUgmTkQhSsno oaygfJb1Em8LTY3ATR2Uf8KZJbpJEU6Vf7DdK8uymXIBNofO+9z6B3wyoyjRVOEV yU9HRB7Pp57Jeo6iKu6P1TWZczmbFHq2svRHu9SGGUB6kgnE/cbitMon9zu1v346 a62IXx0+dHq3gvCJMTSxTxVgBVAwrL+xkViRe64BoNh6RglfzGsEWYvpSnI1qzm2 XlgOWDTF0vPxb/1T3ZHGLt0GDhl5VASYEAoMQUxbHRyeX+hTB2AePzU0DtxTMCOj CfCeTZksg4kLD64S1GIAWP1r3eq04WXKneWnNuQTFFV5hUOOFJSJ8ziBBXo+HArr ATH1Fk0egZ875hFcswV0mN3J71MRUot3LlTtHGOTBNc3241lu1nZJ3Z8/ukMFNF5 JAOEJOFcmatq7XybVHUiGdV4m6kg2WtgfmjN7qlWce6cN0IDl7Oqj1Hn9cx6gKDu NiDYuoV43gil2IB0xzxAMXaHk0IkywZL1wz2gwZGnE0U5NhsC0tKRmPpKX4UJ6Wn s1xmsoDvPJDfjzbeCyI9XwwyCRKxW1KotovbYI+OnSBAEDJDV1QOYnm6Zy787jVE 3q3/g57v =UKYf -----END PGP SIGNATURE----- --=-=-=--