From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id cI5sAx3R9GRUeQEAG6o9tA:P1 (envelope-from ) for ; Sun, 03 Sep 2023 20:31:57 +0200 Received: from aspmx1.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id cI5sAx3R9GRUeQEAG6o9tA (envelope-from ) for ; Sun, 03 Sep 2023 20:31:57 +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 BA5BA5B1B6 for ; Sun, 3 Sep 2023 20:31:56 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=wolfsden.cz header.s=mail header.b=d2A5uJ7q; dkim=pass header.d=wolfsden.cz header.s=mail header.b=Avinv5s6; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=wolfsden.cz ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1693765917; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=UZ9QSMrPP8IyqWBjnkaruIGUO5xXZ4YU3Xa67vHENgo=; b=d9/NCEVt3GEFjxFipWeJCRSHZ1LvthHLfw+4egLsS7qsNS//n7N4A12mftN5CNU75hFO65 88Rd5KxGVN/RUdvfd6KGWgbNINiHG6Otlp9/ylxK+JRQL6+shx0Fnp0SIVz8dk4MdPC/Vh gsqLJY2keBBLNiO4+yXz35y1LlEY9L6TFRj6XrkxmDR2Im/qT5rNsfv0e9VfPm8Ma+MOqD ziRV7iyPJsjJd+Vakta8cjbgjwdJqv308S3l+JUwVk2Hh8WcXLkrJOF+idRYMMB7lwUq5p e20maIdmImSxvJ6B+B0bevW9MxS8nHKqGxWKVCbJ7hPYgCaQvI+/Ply2ZA1eSA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1693765917; a=rsa-sha256; cv=none; b=QZCJXq6675KolJBRHKlWyYbl2MqOBnobP637/vO4I42SVK5spdpw82+23JqUTREJ30vvpg iwLDqvV2w3qkHZhNpLCFc8eEnhKcP+Fe0OA+3p0/RMYvXXRXvdSn4QTDWM2TV6BzcOalSZ zNTyo4CFIP43lhi3UZy/P8fiDNF8ViA7Tl56Qp/pUcI4/L0G+Xjmaou1BOBAFIn4wxitd6 T0URxnCTzDc43Iktz6GfTc7hqQkIP7BuyWDTIaIr32Ck13wZFfeFEpRof6vidi2YpgOG/b 55qpui5iiaywzJC/xIRJgNYRxGrTegTWASBYk8MZTAo8Bmzo4ERWpv077UTnkA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=wolfsden.cz header.s=mail header.b=d2A5uJ7q; dkim=pass header.d=wolfsden.cz header.s=mail header.b=Avinv5s6; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=wolfsden.cz Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qcrsm-000271-V7; Sun, 03 Sep 2023 14:31:37 -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 1qcrsl-00026t-Uj for help-guix@gnu.org; Sun, 03 Sep 2023 14:31:35 -0400 Received: from wolfsden.cz ([37.205.8.62]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qcrsi-0008LI-Ms for help-guix@gnu.org; Sun, 03 Sep 2023 14:31:35 -0400 Received: by wolfsden.cz (Postfix, from userid 104) id 39DF927C53F; Sun, 3 Sep 2023 18:31:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=wolfsden.cz; s=mail; t=1693765888; bh=ut70yZChbqimIXa/7DDVEAVep6iheWw0ojG1sr+QK/8=; h=Date:From:To:Subject; b=d2A5uJ7qEFoUCMOrXuV+ADSmAFwVX4k7/TqVWejwTChwm30iGMfrf9ykiC6MPT6hf b/l+oJizpl8H8XiR1i+z2SpDoKA+TRbCDhZqyiQkdBk5VHPLRTmIkOjw2jQcwFjZ6F ffRNPIOisdJyAM4fNdZ96xWlskae2opht9rtzO2P5h3qNVwsI3aro/UPOmfYvJKFfI 7jBf08MyL6ZVErcAsEMrAYJwi+/kRDNPbJjj8Bkdz/oGEDg30EAi+GQpxAcuEpasL4 f6jU74zZigV4BUBZ1ad6OUn+OW4UK8ubTfl3pHw0nUU55jEuSmDlZzz73r/AyHe+U0 dwm2TAFLoIIT9dDOoyXXFAdJk7x3Vt2B3WOAFZKuAActdBcqjyKSEPIDYKgnSF+/Gf c5u1l6CMyg2sKfOIwmdjKsLv5VnJ7zBpzztvPIP7juAkX0pw9QTx6k5k6xBTGPlOV0 Vq4vqVCzdthgjOmNl2XHaBPdbNwJ0DviGpBbfTZYlq+kl+PTBR/RzP3R3QLV7gjZNt iQUNyhwjN4f3ck7cFxLhMpXFFioS7hpmh5ZFcWhQetMkvQLI2RdHKTQs6LjM8WW5Rk G3OKZtUrX7NW6x0lade2Rqx9Jj/ElRqx+9R34WeAVBqlmIYUmXImZTYJ7K6+MHvFTh ipXOOJXhpK3tAXNAXZZYP/bg= Received: from localhost (unknown [146.70.134.133]) by wolfsden.cz (Postfix) with ESMTPSA id 87B0227C3CC for ; Sun, 3 Sep 2023 18:31:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=wolfsden.cz; s=mail; t=1693765887; bh=ut70yZChbqimIXa/7DDVEAVep6iheWw0ojG1sr+QK/8=; h=Date:From:To:Subject; b=Avinv5s6Q7xxrl7pl84oXnlrKMCy+MC8E2eaY5CTUUJI2gnS/fRGaYbVAFLNyeesY 5gODZqeV7MCtHCgT37037kyQV7I/5aREzdhrF+7FNld04ZbR515zWuS53Uu8EEAOWQ m+MmB3beC4G3kv4NZsgqsvy9G+cGbRLeS9NkgvTsu8ZiZdbTQ/Opds3WEs64NUiAyF iDb77TT3KO1JyESNXHgduxcKyKvVyiKO6MSczh0be4YU/ViW9Ei8gIjo0T55ENqqMX fP0dxusze6ypU2kt+xdayCZ4oHljaVOR1Dg3CZZR+PnG/GgEOROe8bmKnaDV9m4Bz9 a5RaFLYYDkHubZNJhVsg5t2tsS/oLgeShRFHMytGUSRv1Wpzm5cJWy9CwNmqrBlxaQ yseVuARer/LoF9Bye1IHaKvETe7OEMQGXEgz6bLHth4jO7z43qz9Mh2vxyMVnQo40l nFrsvEQK3iQ/NVNnY2jkVw0Ugd3ZWwOVLcJIPQbEFWqpwruIjly4eVbWW/q0SKliNb qPgfV/xD31PVzxzSrRLFFv6xbX3rF9R2siBniWdDGSYZB6yWyILKsAyz+FpZu7ycq9 4duDxp18gzWY/hhVZzBHHcKN6Gy5eNd13QKhABX9u6iISycoColhBgSOwMliSuorfK B/yhyjnuDTL9+e6NjkjvfDXo= Received: from localhost (localhost [local]) by localhost (OpenSMTPD) with ESMTPA id 2e9f3d78 for ; Sun, 3 Sep 2023 18:31:26 +0000 (UTC) Date: Sun, 3 Sep 2023 20:31:26 +0200 From: wolf To: help-guix@gnu.org Subject: How to create and maintain a personal Guix fork? Message-ID: Mail-Followup-To: help-guix@gnu.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="SzbqWr5ZM5Ulpmlx" Content-Disposition: inline Received-SPF: none client-ip=37.205.8.62; envelope-from=ws@wolfsnet.cz; helo=wolfsden.cz X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_PASS=-0.001, SPF_NONE=0.001, UNPARSEABLE_RELAY=0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: help-guix-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Scanner: mx2.migadu.com X-Spam-Score: -10.40 X-Migadu-Queue-Id: BA5BA5B1B6 X-Migadu-Spam-Score: -10.40 X-TUID: D/8gvb+aqMdM --SzbqWr5ZM5Ulpmlx Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hello Guix, Table of Contents _________________ 1. Introduction 2. How to create a fork? =2E. 1. guix time-machine =2E. 2. Any other limitations? 3. How to keep the fork up to date? =2E. 1. Authentication 4. Conclusion 1 Introduction =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D I would like to start my own fork of the upstream Guix, in order to be able to use some patches I require. I went through the documentation, but I am unclear on few details, so I hope someone will be kind enough to help me. 2 How to create a fork? =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D While documentation does describe most of this, I want to make sure I did figure out all the step (and their ordering). 1. Create a git repository (git.example.org/guix) 2. Add my signing key (with fingerprint F) into a file name.key on the keyring branch, producing commit with hash H1. Push it. 3. Add my signing key (with fingerprint F) into the .guix-authorizations file, commit the changes, producing commit with hash H2. Push it. 4. Create a channel description file: ,---- | (list (channel | (name 'guix) | (url "https://git.example.org/guix") | ;; Enable signature verification: | (introduction | (make-channel-introduction | "H2" | (openpgp-fingerprint | "F"))))) `---- The %default-channels is missing. Q: Can %default-channels contain multiple channels? Should I rather replace 'guix in that variable? 5. Guix pull using the file from 4. 6. Reconfigure the system/home. From this point on I should be running my own fork, from commits in my git repository, with things like authentication properly working, correct? Did I miss any required steps? 2.1 guix time-machine ~~~~~~~~~~~~~~~~~~~~~ How does the time-machine interact with this setup? Since any time travel would likely interact with commits before the channel introduction, will it even work? If now, is there a way around it? 2.2 Any other limitations? ~~~~~~~~~~~~~~~~~~~~~~~~~~ Will I encounter any other limitations with this setup? Are there things that will just not work? Or will this behave exactly like upstream Guix (- the patches)? I guess I am curious if I should expect any foot guns (and where). 3 How to keep the fork up to date? =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D The other question is how to keep my "fork" up to date. I am inclined to just use git merge, and periodically merge changes from the upstream. Are there any downsides to that? If it is relevant, I expect the flow to be unidirectional, from Guix to my fork. 3.1 Authentication ~~~~~~~~~~~~~~~~~~ I need to also keep the keyring branch synchronized, correct? Will authentication work properly with merge-based workflow? Will the commits being merged have their signatures checked? Or will it check just the merge commits? 4 Conclusion =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Did I miss anything? Does anyone have any tips before I give this a try? Thanks, W. --=20 There are only two hard things in Computer Science: cache invalidation, naming things and off-by-one errors. --SzbqWr5ZM5Ulpmlx Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEt4NJs4wUfTYpiGikL7/ufbZ/wakFAmT00P4ACgkQL7/ufbZ/ walwzw//bhbYE0KUn49vqFvCT5+TOIAMWAbzkUmdY4iKrr5NYVLe/gc+NikJ96x6 WqXa3KVyulRwXFfxnqoJxsgx+qA7wGwri5D+Yyuzphld8J5UtxUjfkukWAS9xM5j yxwWz4SN2FE9wp1MmevLGOjq/L1MGg/c/YAYwzJAkdTzobKzY7izmona7M6ow/3z oDTImYoW9AIf9BFbiWA32tB/Ul/eqoLhSXRj8JBwGF/KQRG2bCB055G6SKvfdX6p N7Jv6vMtZ9cBf+ddX7Px3boKTlWEDRziKPvJP3S0VP6GBsKmlVkacJznx7P0pA2X BkZblHvdu/psIOxyPQWQqUsE1PwlAeu1PDtZ3yzuF30RecexGWIGBsC2K7H/ScSL 6GdJuCYDBwIUU8vuEoQBN6HtP1F//IiSU5Ls34iT9NW+Z6MsD3sH/MPbt6WmqULA UPsMMbeMQwvedziQXS1oNMsCm2LfgxfQHXl8kQn/6BEj0Sp0T0sUTZf5wEOEXE0D 43iViWjc3vTqWOuLBaLL3xJNBJos/McOKyLy2kgOnRH586TWv4QERms3N2vOpMEU Vme5rnSSGyMiPwjdiLybIivl0qN11WMESa5JTYgeRiF4Frn1WJxJ0Lcut+PMw1LB DS1N3EdqLgCY1ay8jfNjauQipCbq/tfVBDoGMt3tIZJks8CNscQ= =yjrl -----END PGP SIGNATURE----- --SzbqWr5ZM5Ulpmlx--