all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Phil <phil@beadling.co.uk>
To: zimoun <zimon.toutoune@gmail.com>
Cc: "Ludovic Courtès" <ludo@gnu.org>,
	"Benjamin Slade" <beoram@gmail.com>,
	"Yasuaki Kudo" <yasu@yasuaki.com>,
	"Olivier Dion" <olivier.dion@polymtl.ca>,
	help-guix@gnu.org
Subject: Re: Enterprise Guix Hosting?
Date: Sat, 08 Oct 2022 17:23:00 +0100	[thread overview]
Message-ID: <87bkqmb7yz.fsf@beadling.co.uk> (raw)
In-Reply-To: <87fsfzuc88.fsf@gmail.com>

Hi Zimoun,

zimoun writes:

> On dim., 14 août 2022 at 10:53, Phil <phil@beadling.co.uk> 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 running Git
hooks through Guix, etc.

> Therefore, now I try to run the same but with plain terminal as xterm.
> But that’s not satisfying because they are not used to this interface.

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 provide
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. 

>
> One of the main roadblock, even for developers, is the lack «Getting
> Started» 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: <https://replay.jres.org/w/3TuYmocHwKtzs7q1VtL1GB>
> 2: <https://zimoun.gitlab.io/jres22-tuto-guix/>

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). 

- 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: <https://othacehe.org/wsl-images-for-guix-system.html>

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: <https://guix.gnu.org/en/videos/>
> 6: <https://git.savannah.gnu.org/cgit/guix/videos.git>

Thanks for these too.  Very useful

Cheers,
Phil.


  reply	other threads:[~2022-10-08 16:23 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-29 23:23 Enterprise Guix Hosting? Yasuaki Kudo
2022-07-30 14:36 ` Olivier Dion via
2022-07-30 16:20   ` Phil
2022-07-30 23:18     ` Yasuaki Kudo
2022-07-31  0:42       ` Benjamin Slade
2022-07-31 11:01         ` Phil
2022-08-09 20:37           ` Ludovic Courtès
2022-08-09 22:24             ` Yasuaki Kudo
2022-08-14  9:53             ` Phil
2022-08-14 22:03               ` Yasuaki Kudo
2022-08-15 20:50                 ` Phil
2022-08-25 18:37                   ` Olivier Dion via
2022-08-26  6:40                     ` Yasuaki Kudo
2022-10-12  9:55                     ` Ade Malsasa Akbar
2022-10-12 10:18                       ` Olivier Dion via
2022-08-26  7:24                 ` Ricardo Wurmus
2022-08-31  1:42                   ` Thompson, David
2022-08-31  6:33                     ` Ricardo Wurmus
2022-08-31 10:46                       ` [EXT] " Thompson, David
2022-08-31 11:42                         ` Olivier Dion via
2022-08-31 12:54                           ` Thompson, David
2022-09-05 19:38                         ` [EXT] " Ludovic Courtès
2023-01-23 15:34                           ` declarative containers (was Re: [EXT] Re: Enterprise Guix Hosting?) Giovanni Biscuolo
2023-01-23 16:48                             ` Przemysław Kamiński
2023-01-23 17:59                               ` Wojtek Kosior via
2022-09-05 19:42               ` Enterprise Guix Hosting? Ludovic Courtès
2022-10-07 11:03               ` zimoun
2022-10-08 16:23                 ` Phil [this message]
2022-10-10  7:58                   ` zimoun
2022-10-10 10:30                     ` (
2022-10-10 10:49                       ` zimoun
2022-10-10 19:35                     ` Phil

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87bkqmb7yz.fsf@beadling.co.uk \
    --to=phil@beadling.co.uk \
    --cc=beoram@gmail.com \
    --cc=help-guix@gnu.org \
    --cc=ludo@gnu.org \
    --cc=olivier.dion@polymtl.ca \
    --cc=yasu@yasuaki.com \
    --cc=zimon.toutoune@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.