Email or username:

Password:

Forgot your password?
588 posts total
Andrew Tropin

Make is basically a DSL for building highly-structured CLI applications.

Andrew Tropin

Transitive Package Management. Generate the lock file with your language's package manager and do the rest with guix.

I cancelled today's stream, but recorded a video for you ;)

youtu.be/s3VO9Kb0sHw
diode.zone/w/vCvgAWuTCruYuhCJ2

#guix #elixir #mix #erlang #scheme #guile

Andrew Tropin

Plan to stream about management of elixir projects with Guix in one hour and a half.

Will talk about transitive package management in general and why it's better not to package language-specific packages with Guix, will learn by example and clean up some tools we've made during the last month for Elixir in particular.

Hope the connection will be good (:

youtu.be/DWMvb9b_M8k
trop.in/stream

#guix #elixir #erlang #scheme #guile

πŸ’πŸŒ³ Hartmut Goebel

Would be interesting for me, since I started packaging #ejabberd for #guix about 2 (3?) years ago and had to stop due to lack of elixir-knowledge. Anyhow YouTube is no-go for me (same as twitch), so I can not attend :-(

This is what I don't get:

> better not to package language-specific packages with Guix

That would mean: no Python packages? And thus not Python programs?! What do you mean?
@abcdw

Andrew Tropin

Oops, it seems the network setup is updated again and the upload speed dropped below 0.5 MB/s.

Quality won't be any reasonable, I cancel the stream :(

Andrew Tropin

The owner of the camp near my tent updated network topology and there is great change that I'll be able to stream next week.

P.S. When I was making a post the internet went down ><

P.P.S. Oh, it's not only the internet, the whole elictricity network. (It seems it was planned outages and I still optimistic about possible stream soon).

Andrew Tropin

Did you know that you can acces guix patch/patch series as a git branches?

git.guix-patches.cbaines.net/g

#guix #git

Wilko :emacs: :guix:​

@abcdw I settled for using b4^0 to fetch and apply guix patches as the guix-patches remote usually doesn't have older patches as branches; but it's nice for cases where branches still exist for an issue.

[0]: packages.guix.gnu.org/packages

Andrew Tropin

Generated 69 guix package definitions from mix.lock. Spend the whole day (more than 10 hours) to make them successfully build.

Programming is cursed, I'm exhausted.

#elixir #erlang #guix #nix

Andrew Tropin

Today I was writing elixir code the first time in my life, to convert mix.lock to json, for later processing and converting to guix package definitions.

One of the problems I faced is a lack of specification of lock file format.

I still have a few questions, but having sha256 in lock files is very promising. We will be able to generate package definitions for the whole project without accessing network.

I was using mix2nix as a foundation:
github.com/ydlr/mix2nix

#elixir #nix #guix #erlang

Today I was writing elixir code the first time in my life, to convert mix.lock to json, for later processing and converting to guix package definitions.

One of the problems I faced is a lack of specification of lock file format.

I still have a few questions, but having sha256 in lock files is very promising. We will be able to generate package definitions for the whole project without accessing network.

IslandUsurper :nixos:

@abcdw there intentionally isn’t a published format because they want the flexibility to change the format in the future. Kind of sucks for Nix and Guix folks, but that’s how it is.

Andrew Tropin

I wrote a note to reply @civodul's message, but I think it's a good reading about Reproducible Development Environments with Guix on its own.

github.com/abcdw/notes/blob/48

Let me know what you think.

Original thread:
fosstodon.org/@abcdw/111900079

#guix #nix #guile #scheme #flakes #make #org #orgmode

Andrew Tropin

The tool for programmatically updating guix channels and package definitions in your project would make life so much easier.

Something like niv or flakes for nix.
github.com/nmattia/niv
nixos.wiki/wiki/Flakes

Have it in my mind for months or even years.

#guix #nix #scheme #guile #flakes

Ludovic Courtès

@abcdw I’d generally do something like β€œguix pull; [test …]; guix describe -f channels > channels.scm”.

What workflow do you have in mind?

Andrew Tropin

RDE got 200 stars on github mirror, which is quite impressive considering the fact that all activities and development happens on sourcehut.

github.com/abcdw/rde

git.sr.ht/~abcdw/rde

#guix #rde #guile #scheme #nix #git #github #sourcehut

Colin

@abcdw I'm coming around to the importance of mirrors.

Andrew Tropin

It seems a lot of fun happened at @fosdem, unfortunatelly my residence permit and visa stuff are still WIP, but I'm definetly getting closer to get Schengen, so I hope to start visiting conferences in person later this year.

Andrew Tropin

Implemented arei-goto-module function, it allows to jump to any module available in Guile Runtime.

I think curiosity + such kind of tooling is what empowers hackery.

#guile #scheme #nrepl #arei #emacs #guix

Gleb Zakharov

@abcdw
Thanks for emacs-arei! With this I was finally able to hack conflicts of emacs packages in my guix profile, the experience is as smooth and interactive as in clojure and ciderπŸ‘

Andrew Tropin

When Guix ABI updates, I need to do make clean-go make-go, it takes 47 minutes on my machine :/

#guix #guile

graywolf

@abcdw I think you can do `make clean-go` and `make -j16 make-go` instead, which does speed it up a lot, but I assume you are aware of that.

Andrew Tropin

Nice writeup by @drewdevault on DDoS, which caused SourceHut outages, how the team tried and managed to metigate it and migration to EU datacenters:

sourcehut.org/blog/2024-01-19-

Andrew Tropin

I have a good work-workout balance:

I do 1.5h call and go for a run to warm up my frozen fingers :)

kakafarm

@abcdw That's great! How long do you run each time? At what cadence?

Andrew Tropin

We got a contract for Guix consulting signed πŸ₯³. We have a team of 3 people; over the next couple of weeks, we will be setting up a Reproducible Development Environment and Reproducible Infrastructure.

This week, we have already set up Guix, Guile, and development environments (except a few deps), along with a base OS image, and have deployed Cuirass (CI) using Guix deploy.

I try to review some rde patches in parallel, but I'm too exhausted. I'm really happy on what we do, but I overwork a bit.

Go Up