From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id iLXjKQE7D2QoTwEASxT56A (envelope-from ) for ; Mon, 13 Mar 2023 16:02:25 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id YDPeKQE7D2SXgAAA9RJhRA (envelope-from ) for ; Mon, 13 Mar 2023 16:02:25 +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 69DB81145A for ; Mon, 13 Mar 2023 16:02:25 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pbjgp-00070N-Hc; Mon, 13 Mar 2023 11:02:19 -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 1pbjge-0006yu-CW for gwl-devel@gnu.org; Mon, 13 Mar 2023 11:02:11 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pbjga-0006Lo-AF for gwl-devel@gnu.org; Mon, 13 Mar 2023 11:02:08 -0400 Received: by mail-wm1-x329.google.com with SMTP id l7-20020a05600c4f0700b003e79fa98ce1so8089637wmq.2 for ; Mon, 13 Mar 2023 08:02:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1678719722; h=content-transfer-encoding:mime-version:message-id:date:references :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=tJcYdK8x1RtD8RSsq6sWdLV905hjeSJKRV9abqVPieg=; b=CEGkpmKUXDyX13ORxE5PGRWtO9BeJdzc7Q9Elrlk5JDXKHkWgAKo703shlikbqIaDs qk2r9MBT5rl1bMWu7S0F54Fs/zSK64Fay7niTRUZNv4m4lgyDHP+I0UJJ7++/Ejq4KPe bCwuU9DYR7xMEoRYDbI74kCyhYwNGp1np0xW++57R6ngah5NhTK73nZIXYzqdxHon6Gx Vvt4lrH/+7Ct+AcayOfVSnIl0ZHp2TM9rziDmVHJCj/mRmhSIB/0Sc4jMgj8ToBvjx6M 2doQVpPosx91ocZKrPVzIvv8UGijmvkR9IY9yxYnqBveeNvIkExgnayl3H8qbjznmNWB SWEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678719722; h=content-transfer-encoding:mime-version:message-id:date:references :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=tJcYdK8x1RtD8RSsq6sWdLV905hjeSJKRV9abqVPieg=; b=nX27Y2ci2xLvftNQ0OPwwq9VDgCZT+LwrFgAFhKdVI405cxbff6W/C9j1omvSq6FcZ Vyut2gefA9L7QzQfbzOA5pCgn0vUVw84hsdsWmNCmq04INE6ayeAcdDGYfN5Hc0g/+D0 xw1srdyLVkCSY+rjofvxb86Hc9AIv55Gp/X2/xQiURIiJ058jwWvPfo2L8WUvdMwi/U1 +y95+tjG3IXhrhUgI7JTpMpWVkIHl1HxDIDKfpvxHjw79CLs2GLeT0wx1dQuRY+JyZ9j 6aM136A7bNnJ6dUciHBIHqZ9ZaoXK02dTIXnMmXKwfhEIuHclu6GrLEmuMhntE9XHOYl g7ow== X-Gm-Message-State: AO0yUKX7QXhldBAmaNaEyI+PakXVZA7M2rBY/OGOrlkG22jaEDgeobSC z5XOSlC6OeLbpyGH7qbi8Uw= X-Google-Smtp-Source: AK7set+PHhFDXJ3ICq548Wfp1RjL3w/iAT+3F5ofUjoUjsP8/y7ELE93AZ5JAERZEwcvHH97TsdWBw== X-Received: by 2002:a05:600c:1c1e:b0:3df:f7ba:14f8 with SMTP id j30-20020a05600c1c1e00b003dff7ba14f8mr12700326wms.1.1678719721976; Mon, 13 Mar 2023 08:02:01 -0700 (PDT) Received: from pfiuh07 ([193.48.40.241]) by smtp.gmail.com with ESMTPSA id p22-20020a05600c359600b003b47b80cec3sm10351925wmq.42.2023.03.13.08.02.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Mar 2023 08:02:01 -0700 (PDT) From: Simon Tournier To: gwl-devel@gnu.org Cc: Ricardo Wurmus Subject: Containerized workflow in containerized processes References: Date: Mon, 13 Mar 2023 13:50:32 +0100 Message-ID: <87wn3klsrr.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=zimon.toutoune@gmail.com; helo=mail-wm1-x329.google.com X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_REPLY=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: gwl-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gwl-devel-bounces+larch=yhetil.org@gnu.org Sender: gwl-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=CEGkpmKU; spf=pass (aspmx1.migadu.com: domain of "gwl-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="gwl-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=key1; d=yhetil.org; t=1678719745; a=rsa-sha256; cv=none; b=TcG+jG9HMtdq8rvXSERCejBO6SV8m4BqN3CqwjeSN+C8MJDZCLzOFT3q4F9krlpnw61IqK 6II7ekRGJZ81Vr0HAVHiulAPhSk7BOL32jZvk23/sUr9oDWsIOs7nO6fOg7gSGJ8bH+rXH zVw4/6jZ+8gO/ch+eYXkMbG2jj4ecSQNe4NoPwE+/rdIKj1AXsWv3yi0pQUrBt2dex1ZlH RplyhNVua7htR8B5dMw/4FW/Y4/XnjzW8Tas8wj99xOsSUABM9KwPWpjaImzyxGaJDzmt6 jnR5nHUj2vqIgz+PGAbD1Dxtb3ljDVP/fdYGAI/m30XYKjrP2ryn8yjyNimTFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1678719745; 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: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=tJcYdK8x1RtD8RSsq6sWdLV905hjeSJKRV9abqVPieg=; b=ctIYShVl3O5MkrxiLTdnZbMWPkIwhiXayJ/ca3+7XrliFQzRZkQimxKBaZwkPGD/v204l/ tIUQhjVMe6QAeUxD9vZ1zUY4A3GaVRdG4N9xCD3C9w77iwsX7oJ1rfaRPgqpyTcIEQ2jF9 hMRAlfq0KdjXoaSWeT6TJP1L6BdlK4fyyaCjyif/jzmpxGZFHedjpZtmsTGd/H36+ykQus OwDkLRIo1DlqdEe5qsZqGautkFcNbEzx83Z1sj6YJHpvnNxhndaMDc1Z+5XK5e7dQe95eh 7zlcdXDeCE6PtKDXgIhYzG+5yPcQGXQ83EcxQkn+1wpNTtQUdzx15eG2OqaOEA== X-Migadu-Spam-Score: -6.45 X-Spam-Score: -6.45 X-Migadu-Queue-Id: 69DB81145A X-Migadu-Scanner: scn1.migadu.com Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=CEGkpmKU; spf=pass (aspmx1.migadu.com: domain of "gwl-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="gwl-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gmail.com X-TUID: F64wyYV7opzV Hi, >From thread in guix-devel: Using Guix inside a Guix container Sat, 18 Feb 2023 11:01:50 +0100 id:m1mt5uk7y1.fsf@fastmail.net https://yhetil.org/guix/m1mt5uk7y1.fsf@fastmail.net/#r The use-case =E2=80=9CContainerized workflow in containerized processes=E2= =80=9D appears to me interesting. :-) It is almost done by design with GWL, no? -------------------- Start of forwarded message -------------------- From: Konrad Hinsen To: Simon Tournier , Guix Devel Subject: Re: Using Guix inside a Guix container Date: Sat, 18 Feb 2023 10:21:52 +0100 Hi Simon, > Which part of Guix do you need inside the containerized shell that you > cannot do outside? That's not the right question. There's always a way to do what I want to do outside. But that may be very inconvenient. > Considering your use-case with Snakemake, what I am doing is to wrap > each rule with one containerized Guix shell which controls the > permissions, rule by rule; or a big containerized shell: > > guix shell -C -m manifest.scm --expose=3D=E2=80=A6 Nice example. I do the same: "guix shell" in every rule. Then I add stuff to my Snakefile, which is a Python script after all. For example, I import pandas to read a data frame from which I construct my workflow. Now I am at the point where I'd like to run snakemake itself in a container, to manage the dependencies of my Snakefile. In fact, given that I have workflows that depend on specific Snakemake versions, I'd really like to run Snakemake in a container all the time, even without additional dependencies. Without nested containers, I have to go through all the rules, collect the packages from their manifest files (or command line), and add them to the container in which I run the whole workflow. Possible, but not convenient. Another example: I run command-line programs from my Pharo image, and I have developed the habit of doing this always through Guix. The advantage is that my Pharo code becomes portable: it depends on Guix, but not on my profile. But if I want, one day, to move on to a full Guix system, I have to run Pharo in a container with LFS simulation. And then all my command line shell-outs will break. Both examples are about composing tools freely, without worrying if they use Guix internally or now. Cheers, Konrad -------------------- End of forwarded message -------------------- Cheers, simon