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 ms5.migadu.com with LMTPS id cOLUGQWkQWMFywAAbAwnHQ (envelope-from ) for ; Sat, 08 Oct 2022 18:23:33 +0200 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 6DnYGQWkQWNMXAEA9RJhRA (envelope-from ) for ; Sat, 08 Oct 2022 18:23:33 +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 0A7DA1CA2 for ; Sat, 8 Oct 2022 18:23:33 +0200 (CEST) Received: from localhost ([::1]:49146 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ohCbr-0005bl-Aw for larch@yhetil.org; Sat, 08 Oct 2022 12:23:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41736) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ohCbS-0005b0-Ho for help-guix@gnu.org; Sat, 08 Oct 2022 12:23:06 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]:45972) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ohCbQ-0000wO-49 for help-guix@gnu.org; Sat, 08 Oct 2022 12:23:06 -0400 Received: by mail-wr1-x42b.google.com with SMTP id a10so11249846wrm.12 for ; Sat, 08 Oct 2022 09:23:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=beadling-co-uk.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:date:message-id:in-reply-to :subject:cc:to:from:user-agent:references:from:to:cc:subject:date :message-id:reply-to; bh=1rH1I0ooBx7RuUascD3C5pbhVOyqtu/QqvohI+CBuoc=; b=V1xr+UC3Tfv6cCcEVNo0wRBgzX8ToXrr2uk73f9yRtjDVOHx/Vck63hUlNsVHTtS0l 41xf9VG1l+TDgvsT4n+2O5SdD0sWYapLSJ8JA9QQ3WClQo7Rzn9R3+0F73kL+G9d3FFA VNQ3AAVpnwSh/V/GCusNTviIDVTigBgp/KuHnrKlyTTgN71KPA4qGA/7C+Q+ynrocAkr H1I71NcjzYK9HOobTG3vFt41ezXqQ4grNBpg4SwDBh9inLHXn47yvmn1NonH6mNKkSXC guZRCme0qiOMfzIGrFFU+xfbupMaiuFtNNinQCedPle/pYIJyMuGHQq0/2KplqVtW23N pWvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:date:message-id:in-reply-to :subject:cc:to:from:user-agent:references:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=1rH1I0ooBx7RuUascD3C5pbhVOyqtu/QqvohI+CBuoc=; b=0L6VmQqaBqTc0ojcp5SH0zFnCgu4xeRg5TVdfy022jS5vD8AtMz+O54L7Oj/zuwMbL TzBmuG4wp+DkP+mCPa/DMwGsO3CegX40KvY7CBlwZIGgyWqvcFYZiEnaEnbKZ/YF7qTI FWa8R/GuipJ5mpbXWDV9GUlXCRUHgvbeqVY5xH4kH+1+i1tq/+nvdKnTCS2tErG1wyXE 9GRZI5Ll+IA3h4/cdfjmuYjJUKeM3KUeiAQeKrlAoyufM1Fu2fimmYwoRs6GdRXkQ2UX rVvNdDLhxVlhRlpNBCJczPizaR/CiUqGzlvYjqqrTVt6azCnDLJJ8l7Ak9GImzTU62X9 7oCQ== X-Gm-Message-State: ACrzQf2/6n2Yr+GIldcgO0QIMpWe55kEshG2iYmcD59Rnk76IwuDUfW7 IyfRCPdtNTV0xu22vT7cQmgP5Rl+Cv0TuFnQ1bo= X-Google-Smtp-Source: AMsMyM7103ws6oZcUVdlYFFY2F4WCPkS8J3EkXK2SikL2YYUoaTovM2nttDIydwWWpL7fvVs1eatAA== X-Received: by 2002:a5d:4f81:0:b0:21e:2cd7:25df with SMTP id d1-20020a5d4f81000000b0021e2cd725dfmr6769601wru.439.1665246181591; Sat, 08 Oct 2022 09:23:01 -0700 (PDT) Received: from xps13 ([2a02:6b61:757c:0:1a28:93e8:532:465c]) by smtp.gmail.com with ESMTPSA id m5-20020a056000180500b0022f40a2d06esm2335419wrh.35.2022.10.08.09.23.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Oct 2022 09:23:01 -0700 (PDT) References: <87edy2a7xb.fsf@beadling.co.uk> <961019EF-219A-4DAE-BED3-4DCB7BC386B8@yasuaki.com> <0c1f853a-f613-4ad2-9eda-05940cee5a23@gmail.com> <87bkt5a6mi.fsf@beadling.co.uk> <875yj140i1.fsf@gnu.org> <8735dzqhge.fsf@beadling.co.uk> <87fsfzuc88.fsf@gmail.com> User-agent: mu4e 1.4.15; emacs 27.2 From: Phil To: zimoun Cc: Ludovic =?utf-8?Q?Court=C3=A8s?= , Benjamin Slade , Yasuaki Kudo , Olivier Dion , help-guix@gnu.org Subject: Re: Enterprise Guix Hosting? In-reply-to: <87fsfzuc88.fsf@gmail.com> Message-ID: <87bkqmb7yz.fsf@beadling.co.uk> Date: Sat, 08 Oct 2022 17:23:00 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: none client-ip=2a00:1450:4864:20::42b; envelope-from=phil@beadling.co.uk; helo=mail-wr1-x42b.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham 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" 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=1665246213; 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=1rH1I0ooBx7RuUascD3C5pbhVOyqtu/QqvohI+CBuoc=; b=kGq+1HH1BqvDCkS46+NczEb+gsxmva22DqKdjGVgXAP7j6ujfy3KWrAmnaieAPwhm3j7bT CYHotTsc0caJMEY603bVM+KefOP3WzbUQr1nq3iVZeUQc7WdgP7I1D8BQGeL3sKLpqdlc9 sNdSI1hSmIrBANH18THaOm4Jp6R8ocNa2e70Nrdf3oG5JfHzjRHPcAjJEpF2XUrFS46f8L bEYT63FyihSrXum/qxJW8TyJ7I/zUa7IHZwbpYKTuhg3UrRFqWYeMEgH29ZrkHP5URnVMO ynonjEJXZ3p8Tx8r2pvcbXiQUuTCOTPz5n+hfgLHP7/KMXNP4t2pBjYdknSmkg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1665246213; a=rsa-sha256; cv=none; b=jK3NH5aOMGOf8obMIansC4kDfGSj6Tx0uusYoL9Lap1yWzrFdIR7Cwr13nkqEWLHrIZ9yr /tDRY8wB6NBvTsRXgCEB8g3/CuknxoOQ7DUr+4i3MJIq4j0DkAGV9qtmSnNGhkdzKZh8KL PxdqMkxpe/uYd/zyRW0P5FiCwV2htW2enaTv+czu8yim4LT4WHdI4io4Oy6S8HCVxkh058 /OjX9ffuvco6jx5CGasveMzQsStAo0nngrVABalRmf2Wa2I0mQrTqpX2GUeXBItrqBGV6j W/MRfjuop6kcSDHegrDCZTXVPGCED/keBUv2+NcogQ4ilcWtMbfc7xiQwPDCQw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=beadling-co-uk.20210112.gappssmtp.com header.s=20210112 header.b=V1xr+UC3; dmarc=none; 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" X-Migadu-Spam-Score: -4.38 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=beadling-co-uk.20210112.gappssmtp.com header.s=20210112 header.b=V1xr+UC3; dmarc=none; 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" X-Migadu-Queue-Id: 0A7DA1CA2 X-Spam-Score: -4.38 X-Migadu-Scanner: scn0.migadu.com X-TUID: TcbU40DaHVeX Hi Zimoun, zimoun writes: > On dim., 14 ao=C3=BBt 2022 at 10:53, Phil wrote: > > Sadly, we missed the opportunity to informally discuss at the > event. Hope next time. :-) Yes - I was only there for the day sadly, so was over too fast! Certainly next time! > Which IDEs do you use? Personally I've use Emacs from before I was even introduced to Guix, so it was an obvious choice for me; the same is true for a handful of other guix-heavy developers at my workplace. Across the company VS Code and Vim are more popular. In particular, making guix-driven development possible with VS Code was key to persuading the department that Guix would work for everyone professionally. This wasn't particularly difficult to do, but did require some tweaking and setup in VS Code - so the average developer would barely know (or care) that they were running their debug sessions in a Guix environment, or runni= ng Git hooks through Guix, etc. > Therefore, now I try to run the same but with plain terminal as xterm. > But that=E2=80=99s not satisfying because they are not used to this inter= face. Most of the developers I work with are comfortable using the console so most of my demos are at the xterm level. Where it makes sense, I wrap commands into scripts that can be called from VS Code, and then demo them from VS Code too. So far, only 1 or 2 developers will currently go as far as writing scripts in Guile (for example more advanced/custom manifests), but if I pro= vide Guile scripts most developers are comfortable knowing what to do with them - running them from 'guix repl' from example. Developers are getting more confident/ambitious with more advanced usage, which I promote as where much of the real power of Guix's approach really lies! Generally I'm taking care of packages and channels so developers only need to know which guix-incantation to use an appropriate environment or profile I maintain for them. Our CI/CD system automatically updates internally developed packages when a project feature passes a PR and is merged; so developers just need to remember to 'guix pull' to make sure they are getting the latest package dependencies to develop on. The fact that their work ends up in a guix package is seamless/transparent to them. It took me a while to set this up, but now it runs itself more or less. > Are these tutorials public? Are you allowed to share them? They're not at the moment, but the long term aim is to make them general (i.e. not specific to the internal setup of the company) and public, providing I get the blessing of the company.=20 > > One of the main roadblock, even for developers, is the lack =C2=ABGetting > Started=C2=BB for some specific tasks; as Python, R, etc. Agree 100% - this is what I'd ultimately like to help address. > Although, at some points, this material provides too much internal > details. ;-) > > > 1: > 2: Cool thanks - I will take a look at these! > I totally agree. Is these docs too specific to your workplace or can > they be shared? In there current form they are very specific to my current workplace - i.e "to create a development environment for internal project x do these commands". The commands assume access to our internal channels etc. However turning them into a general tutorial would be possible, I think. It's something I'd love to do, when I can find the time! For example I go through recipes for doing things like: - swapping out a package for a newer beta version to test it - how to recreate a previous state of our packages to see if a newly discovered bug existed in a previous release - how to test your project against some future state of guix (typically we lag the head of guix slightly).=20 - how to get a list of dependencies for project x that have changed version in the head of guix since we last synchronized channels. - how to get a list of packages we've defined internally in our private channel that (now) also exist in guix's public packages. All of these things are great to understand deeply, but in reality most developers just want the commands and a high-level idea of the mechanics. So my documents are set at that level - the developers who get interested I encourage to read the Guix Manual proper and dig a bit deeper. > Mathieu recently published [4]. > > 4: Excellent - I will look at this and incorproate into our workflow. > There is these nice videos [5] which would require some more love. > > Well, some materials for producing these kind of videos can be found > there [6]. > > > 5: > 6: Thanks for these too. Very useful Cheers, Phil.