From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id YM62GuoU2l+UKAAA0tVLHw (envelope-from ) for ; Wed, 16 Dec 2020 14:08:42 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id gOv3FOoU2l/7bAAAB5/wlQ (envelope-from ) for ; Wed, 16 Dec 2020 14:08:42 +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 DDF44940363 for ; Wed, 16 Dec 2020 14:08:41 +0000 (UTC) Received: from localhost ([::1]:58880 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kpXTs-0007ij-3n for larch@yhetil.org; Wed, 16 Dec 2020 09:08:40 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:43908) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpXTK-0007Xc-3f for help-guix@gnu.org; Wed, 16 Dec 2020 09:08:07 -0500 Received: from mail-qv1-xf30.google.com ([2607:f8b0:4864:20::f30]:40691) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kpXTG-00051i-QM for help-guix@gnu.org; Wed, 16 Dec 2020 09:08:05 -0500 Received: by mail-qv1-xf30.google.com with SMTP id u16so11342449qvl.7 for ; Wed, 16 Dec 2020 06:08:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=iQ9A1JtNDUGRgSaMQoQLKYMKdwgRL8NjRjYgOyA0Z/0=; b=AqxddO3HJRzhCtdMbAKb+N9wcaQFv6El3FlV3D7pLiBwhW4n7ZALhUnq1uZxtpfjoF 0DUA2Xsi9sXtp9iWyCysDIWI8Y6kD4lr364WarvPRliro7JMaisZyiuwDfdqKTeeBUmO M95Gee1u0+9Wldqsn07/ZYyuihmS2RDWO470vlr+RvMAz9o40bUv4xsfB6lQOdBsVJp8 EI8JV3H0uHdu8Xnb0TUTNuJNp3INvwnte9DV3sKKzMPt1d5fH8V94NPy0tQzH6aLt8Kv D35d+fQttAjvqvhssBXAhxggqklKjDg6nrklSjyWiAwi+ecig7giKaIH094+rwOwxA/r qTDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=iQ9A1JtNDUGRgSaMQoQLKYMKdwgRL8NjRjYgOyA0Z/0=; b=dDc/qm6CPiOzvrrzEd3x3FS1RCnAprJjdLCOsTzyZFCfOKaqQnJp+pzqf/t3FeTCtI t31bE7InDWfLJV33tudvjJJhkoEp+URAkHzos9XWLfuI7EHnafcFDjKR3Wsv/LqiBeHz ACGeX2ESR3r3YVjZqZ/R+qD/OFvHV2KmKKe3NRYqMm3Jy/jiQgpJQDWOU+Eb5x2JONbV jrDDkr0qeD/J7L+f5Pum93/NilFGdL6eAblVyXIj7bydyAzOR21wNcRTW26HJ/ajaPMO ZdOTOH3YpMVbyNXUuawMAeInO1DrQhl+QLepRVawmNmchfs02OmOjcyMQlsmiBzbSXqT Rl+w== X-Gm-Message-State: AOAM532Tfup5lpeohD0Vs8f1Cx6qKftMWyViZkEX0Liua5grH1qmbkjU tgCZNbRY7gS5lUmeHPlNZ3IvyLiduHOAevITWxJY9vjQHtI= X-Google-Smtp-Source: ABdhPJyltwQRmIo0LV2/KZBnbGyPbW90skehtMJK8L56VGz6SoFgBUS3FmWt7a6eSJLSQWG3sJhKH4gY+H6Yue1u8sk= X-Received: by 2002:a0c:80ed:: with SMTP id 100mr38909491qvb.40.1608127680616; Wed, 16 Dec 2020 06:08:00 -0800 (PST) MIME-Version: 1.0 References: <85czzbx878.fsf@beadling.co.uk> In-Reply-To: <85czzbx878.fsf@beadling.co.uk> From: zimoun Date: Wed, 16 Dec 2020 15:07:49 +0100 Message-ID: Subject: Re: guix pull only from private channel To: Phil Content-Type: text/plain; charset="UTF-8" Received-SPF: pass client-ip=2607:f8b0:4864:20::f30; envelope-from=zimon.toutoune@gmail.com; helo=mail-qv1-xf30.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: help-guix@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: help-guix Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: "Help-Guix" X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -3.01 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=AqxddO3H; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of help-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=help-guix-bounces@gnu.org X-Migadu-Queue-Id: DDF44940363 X-Spam-Score: -3.01 X-Migadu-Scanner: scn0.migadu.com X-TUID: BOk0SKMbP3ac Hi, On Tue, 15 Dec 2020 at 19:29, Phil wrote: > 1) If the private channel is a git repo accessed via ssh it seems > necessary to add the ssh key to an ssh-agent rather than have it pick up > ~/.ssh/id_rsa. This isn't a huge problem but when the ssh key has no > passphrase the use of an agent is actually more complicated than passing > the key directly? Is it possible to specify a key file, and if not, is > there any good reason why not (I thought perhaps it might be access via > the guix-daemon or similar at a wild guess)? About this, I do not know. > 2) Assuming I use an ssh-agent to avoid issue in 1), if I want to only > pull updates from my private channel and not from the Guix channel, I > find myself doing something like the below to force Guix channel to stay constant: > > eval `ssh-agent` && ssh-add && guix pull --commit=$(guix describe -f > json | jq -r '.[] | select(.name=="guix").commit') && guix upgrade my-package-name > > This works, but it feels rather ugly - is there an easier way of saying > "hold guix constant, but pull in latest updates from my private > channel" - it feels like a common use-case to me? About this, you should write a specific channels.scm file and then run: guix pull -C channels.scm where the file is for example: --8<---------------cut here---------------start------------->8--- (use-modules (guix utils) (guix profiles) (guix channels) (guix openpgp)) (define guix (car %default-channels)) (define current (string-append (config-directory #:ensure? #f) "/current")) (define channels (profile-channels current)) (define defaults (filter (lambda (channel) (define (channel=? channel1 channel2) (equal? (channel-name channel1) (channel-name channel2))) (channel=? channel guix)) channels)) (append defaults (list (channel (name 'past) (url "https://gitlab.inria.fr/guix-hpc/guix-past.git") (branch "master")))) --8<---------------cut here---------------end--------------->8--- Obviously, this is a quick example and you could filter as you want--here only with the channel name "guix". And this file could be in '~/.config/guix/channels.scm' and so "guix pull" would only pull everything except the channel named 'guix' which stays constant. Then to update the current 'guix' channel, you could have another file, for instance ~/.config/guix/default-channels.scm containing only one line with "%default-channels" and so "guix pull -C ~/.config/guix/default-channels.scm" would only update the default ones. The point is: instead of this ugly command line with ugly filtering, you should investigate in the Scheme API. :-) Hope that helps, simon