From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:403:478a::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id oLgnGzrkM2WJggAAauVa8A:P1 (envelope-from ) for ; Sat, 21 Oct 2023 16:46:18 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:478a::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id oLgnGzrkM2WJggAAauVa8A (envelope-from ) for ; Sat, 21 Oct 2023 16:46:18 +0200 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 106F56E490 for ; Sat, 21 Oct 2023 16:46:18 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="bf/KtasH"; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1697899578; 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: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=xfKTFYvM+RVRiG5U6iAMQUzZxeZ6BHhB5Ky1rNqkXbk=; b=V3GT54UoxUhzeWgXTDrhG9wYlBG/J7d7dICmkLgto6R4l4TmIZW8N57d5CZj59m7pMliy2 uS6rJbro8WLe/cmY4WOUasNaTq8uSribEgDftnynHvFcozcU73NKG/DEFjKKxKD/U5WGRE KvYBtqurwooxLBtNt42+If7eLznclOlQ6w6tcj2LJGHlwq3z0Tv5stc3e9UEnZTjDRO8TC ANpjbckYN7s4llRbrOYFY9NO9C/kB4mm03NJusngNPHNNf936J/1p/l/XDkJg/L4QBszRK UAtsPTSYlUEIZWLjPrjbnfx5/zQ1HA0JQGdGwaZwayK1OsFKPKg55l922l7EXQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1697899578; a=rsa-sha256; cv=none; b=aX3gwJzJ65m8DeJvXbUgNbyZ5oW8sg6KhCAms60P06Dsg9NeBeaJf5aPOF6LBtPY7seH7I lScs1DXfNoCSVCUJow5FWCMKEjpOlqTWZEKLIvkcAx96FCsrzdosRi/8oA9PgATjAjORpr 05yk9b1rgx6Vn9kimRq/+om5+JtBLgPTfWeRCQviUeIZCdRYZI7t0weW1urdKZuikvXzU3 YGxDFrc9LfV97nsT1vy9t0YzSidNnBcXzbkk4+mItL0CAVuDRLagJbyMBGnH3hdhi4vqI1 xM6J7gZRLqAVnouMZ4pGykBcY8slEFR+5yYedGi98OsaUTCXstqHTEDqjRXTnQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="bf/KtasH"; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gmail.com Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1quDEK-00070u-Ns; Sat, 21 Oct 2023 10:45:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1quDEA-0006zk-Eo for guix-devel@gnu.org; Sat, 21 Oct 2023 10:45:25 -0400 Received: from mail-oa1-x30.google.com ([2001:4860:4864:20::30]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1quDE8-0007qZ-FJ for guix-devel@gnu.org; Sat, 21 Oct 2023 10:45:22 -0400 Received: by mail-oa1-x30.google.com with SMTP id 586e51a60fabf-1ea05b3f228so1300477fac.1 for ; Sat, 21 Oct 2023 07:45:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1697899518; x=1698504318; darn=gnu.org; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xfKTFYvM+RVRiG5U6iAMQUzZxeZ6BHhB5Ky1rNqkXbk=; b=bf/KtasHsVsTjuVQ546H/mK/DiUnT1D7m7CYKeVGi784KnIZSq/7igXEgEB0K0EZu8 TWhg/NGWsN4vwbDUAoLLGryqJw5lCGbxyQBY6jJyoRJ0JiUzTKDF1NKDLNwOYRzDFdi2 jiN6YbI3/0ewUrMDVfcSG72IYl4UFdS2ROE3JA/08FYFNSA609u+xBoTZLSQDaTbt4lz UCwPs05uvt+t+QiQfvv4KKGlF5j06pbexsXiU4CbcZqU2LNqPLubqNU+VEyu01EZeZSc 4SQvdC5zqEjUnKke6J6F39AwMFNl+Zr+97OO68AkMrTdGJqTGLIlts1x33nVgnjZQAAz RP1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697899518; x=1698504318; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=xfKTFYvM+RVRiG5U6iAMQUzZxeZ6BHhB5Ky1rNqkXbk=; b=OcZvx5u4n9XGxTxMp0fKA1ZVPSKGTF3uZKmFC5XeM0bcPfpIXUYXB0NUFJKVSlr2Nx WQ0WYCKgzHK1Wrv0KguKdotULEDncimqpIeEK7pCpLVghk883674jgybcrROnrHue32E KggsBUfM1wTR2KKXy+QVUpRR1p2SFUJpoWTXZQdKBtF8UOapaamvoP7ppDMP3GTd0Goc 6y3yoLiFZcEJqX3Dd1LH+IHuvxcHX2DPA9z5Wdq2KYoXvb1ezHVSZuycPBA3K44+Xya9 9dhEWCZmDzFL/hnY36TLGANxOIop4ryy9ym8GQOC7BteXa6vsYBgkyv+qnXoDmG96XDD EgvQ== X-Gm-Message-State: AOJu0YzdAwpf2cl0HtLs2D+Rz749PIKWKFCtNpYF/G2o/hq2UaE9RCHK VdfoLKx1xjpiaxx+aBYZc/9DWzV0mOETQg== X-Google-Smtp-Source: AGHT+IGRrOxcqbdHmTMghlgp7kQ7GSlhmNZ5AuBQb83BnxJu7UfDoLqEnrYRmNNruHh5PS/rUjBv0g== X-Received: by 2002:a05:6870:340e:b0:1ea:e761:6c4b with SMTP id g14-20020a056870340e00b001eae7616c4bmr5345617oah.30.1697899518342; Sat, 21 Oct 2023 07:45:18 -0700 (PDT) Received: from hurd (dsl-205-236-230-191.b2b2c.ca. [205.236.230.191]) by smtp.gmail.com with ESMTPSA id h7-20020a0ceec7000000b00655ec7bbfd0sm1517563qvs.7.2023.10.21.07.45.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 Oct 2023 07:45:17 -0700 (PDT) From: Maxim Cournoyer To: Liliana Marie Prikler Cc: guix-devel@gnu.org Subject: Re: Re-evaluating the practice of automating user configuration In-Reply-To: <15a91f7c5fb5fce23d0863548f8a1ab39d91cb69.camel@gmail.com> (Liliana Marie Prikler's message of "Thu, 19 Oct 2023 16:36:32 +0200") References: <15a91f7c5fb5fce23d0863548f8a1ab39d91cb69.camel@gmail.com> Date: Sat, 21 Oct 2023 10:45:16 -0400 Message-ID: <87il70dog3.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2001:4860:4864:20::30; envelope-from=maxim.cournoyer@gmail.com; helo=mail-oa1-x30.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Spam-Score: -9.44 X-Migadu-Queue-Id: 106F56E490 X-Migadu-Scanner: mx0.migadu.com X-Migadu-Spam-Score: -9.44 X-TUID: njY4A0CrE6/i Hi Liliana, Liliana Marie Prikler writes: > Hi Guix, > > as we all are more or less aware of, Guix automates quite much of the > user's configuration for comfortably hacking on our codebase. As has > been argued elsewhere, both by myself and fellow Guix, this is not > always a good thing. > > Let's start with the cleanest example of how to do things the right > way: Our Emacs configuration is split across two files (one of which is > a directory, but let's get back to that). One of them are the > directory-local variables stored in .dir-locals.el, the other the > snippets in etc/snippets=E2=80=93if you're using YASnippet, the former lo= ads > the latter. I have no qualms with this being automated, as Emacs > itself gives me plenty opportunity of opting out of it. I could > declare any of the included variables or forms unsafe and ignore them > in future sessions. Likewise, I can mark them as safe to affirm my > consent that these variables be changed in /path/to/guix/checkout. > > None of this holds for the git config, which we install unasked in the > working tree with a DATA target that we want neither distributed nor > installed otherwise. This has led to confusion both in the mailing > lists and the IRC on multiple occasions, so I'd propose we instead use > PHONY targets for: > 1. git-hooks to install the git hooks that committers need. > 2. git-config to install all of the git config > a. git-config-diff to just install the diff xfuncs > b. git-config-format to just install the format block > c. git-config-pull to just install the pull block > d. git-config-sendemail to just install the sendemail block > 3. git-fullconfig for both 1 and 2. As argued before, going this route would have the following downsides: 1. the pre-push-hook would no longer be installed out of the box, which could mean forgotting to sign a commit and having to ask Savannah folks to drop the offending commit(s). That's a blocker for me, at least until we have a server-side hook that can guard against this. 2. The pre-push-hook could go stale (not self-updating). That's likely to happen as people would seldom run 'make git-hooks' to refresh them. 3. We'd loose some notifications for teams, likely for first submissions from users that have yet to run 'make git-hooks', or from users who chose not too. 4. We'd have more problems applying patches since the 'useAutoBase =3D true' is not enabled by default, and documentation is a weak assurance that users will do this. > Internally, these would still be based on the actual file names to get > time-stamps to work. Thus, on a fresh pull or if you haven't pulled in > a while, you can run either `git fullconfig` or any of the above to set > things up. > > Incidentally, my .git/config currently reads the following: > > [include] > path =3D ../etc/git/gitconfig > path =3D ../etc/git/gitconfig > path =3D ../etc/git/gitconfig > path =3D ../etc/git/gitconfig That should be fixed in Git. 'git config --add include.path ../etc/git/gitconfig' should not be re-adding the same entries over and over if they are already there. All in all, I guess my position is unchanged: despite the potential for surprises, automating and enforcing these configs provide benefits that outweigh the cons, in my experience/opinion. --=20 Thanks, Maxim