If you're a #guix user - what are you currently doing with Guix, or what plans do you have?

Are you adding a particular service? Exploring some part of configuring your system?

Or trying Guix as a package manager on top of another GNU/Linux distribution like #debian, #ubuntu, #archlinux or something else?

Tell us about your Guix plans for the weekend ... or this month ... or this year! 💪

@guix
After having installed it on my main machine, I'm trying to get my head around it, unfortunately my lack of understanding of lisp/scheme makes me struggle to handle the system configuration. I will get there, eventually, but the fact that I'm also time poor doesn't help my case 😢

@deedend @guix

Nice! It's definitely a learning curve, stick with it @deedend

One tip is to test your config in a VM or use the `guix system build` command to quickly test if a new configuration works.

You can simplify the system configuration a bit by having your users packages/services in Guix Home.

@guix I want to add support for Racket packages in guix.

@markus Oh cool! Are you think of a racket specific build system?

The format for #racket packages looks great.

https://docs.racket-lang.org/pkg/index.html

Package Management in Racket

@guix I held back on digging into guix for the last couple of years - now finally going back in as package manager on top of Ubuntu as practice.

Combined with guile scripting front and center the potential is definitely there, I just wish I could give guix the time it deserves.

@naturepoker @guix I wrote a few posts about using Guix on #ubuntu that should still be useful:

https://www.futurile.net/resources/guix/

Might need an update due to the change in #apparmor - did you have any problems with that?

Guix - functional package manager, environments and hosts

@futurile @guix that's the guide I followed for the first time! This time I tried apt-getting and then pulling just to be adventurous. Also testing how Mint is turning out, so far things seem to be working.
@guix I like doing simple games with my daughters. This weekend I will try to make a template for a callback driven c/cmake/sdl3 project using guix, since I have a 24h shift at work and probably will get some deadtime:-)

@tclaesson that's a really cool project, and what a fun way to spend time with your daughter - nice!

I'll just leave this here for some #guile #scheme and games inspiration @spritely

https://spritely.institute/arcade/

Spritely Networked Communities Institute — Spritely Institute

@guix @spritely thanks guix, for being the most fun I have had with computers sine ordering SuSE box sets in 8:th grade:-)

@guix Other than as package manager on top of #archlinux, I’m using #guix for electronics design, mostly #vhdl and #fpga related stuff.

I run simulations with help of #hdlmake using #ghdl compiler, #osvvm for verification, #cocotb for testbenches, #yosys for synthesis, #nextpnr for placement and routing and #openFPGALoader for flashing. Finally, I use my own Guix channel to package gateware and run #ci tests on #sourcehut Guix image. A demo toy example of this runs here

https://builds.sr.ht/~csantosb/job/1585413

@csantosb automatically building #guix packages on #sourcehut is really cool. Need to try this out!👍

@csantosb did you try to port some Yocto tooling to Guix?

https://www.yoctoproject.org/

The Yocto Project

The Yocto Project (YP) is an open source collaboration project that helps developers create custom Linux-based systems regardless of the hardware architecture.

The Yocto Project
@sharlatan
No, I'm not familiar with this project. Worth it ?

@csantosb a colleague of mine mentioned that it's quite a common and widely used tool in FPGA development

There was a FOSDEM talk https://archive.fosdem.org/2020/schedule/event/ggaaattyp/

FOSDEM 2020 - GNU Guix as an alternative to the Yocto Project

@guix Eventually I plan on creating a service to configure auto-start programs, and in general add more features to configure desktop environments from “within” #guix. I’ve also had an idea knocking around in my head for a feature similar to emacs’ use-package, where services, packages, and their effects on other parts of configuration (e.g. a CLI program and a shell alias for it) can be “enclosed” together for easier maintenance.

@wongandj oh wow, that would be cool and ambitious!

Building on Guix's services and packages concepts. There's a few interesting configuration ideas kicking around on guix-devel and the work @abcdw has done on #rde

@guix @wongandj @abcdw I indeed use RDE 'features' to group together related packages and services (including pieces of configuration).

So certainly look into those.

@wongandj @guix The latter sounds like what #guile modules are for.
@guix
Ive got a VM that does my routing. Handles a regular LAN, guest network, iot network, and DMZ. Provides squid proxy, nftables firewall, does queue management and traffic shaping via HFSC, yggdrasil endpoint, opens wireguard tunnels to 3 other sites, does nginx and let's encrypt for my homeassistant, and will do tor bridge and i2p soon. It uses keepalived to fail over to a separate VM, and handles dual WANs with failover. I plan to sanitize it and release the config on codeberg.

@dlakelan Sounds like your setup is getting quite complete and advanced. You should definitely write something up, because it has been interesting following your journey here since you started.

@guix

@simendsjo
Yeah its working nicely for me. I need to pull it apart from my other guix configs and get it into its own repo and remove the bits that are specific to me. But its working nicely now.
@guix
@dlakelan @simendsjo Even writing up your journey is useful. It's great to have content of any form as a lot of people are looking to learn how to do things in #guix
@guix mixing drum and bass with @mixxx #dnb

@guix I'd like to get the Guix config I've used on some other machines working on my Reform and Pocket Reform

Relatedly, I'd like to see if I can come up with a cleaner way to abstract away hardware-specific needs from the rest of the config. NixOS seems to do this pretty well with nixos-hardware, and it feels like we're lacking some of that on Guix. Other folks have gotten Guix running on the Reform, but integrating that into my own config feels harder than it should be

@guix Also on my list is figuring out how to start Guix Shepherd services with ocapn Unix sockets passed in via a well-known FD to bootstrap an ocapn connection without needing to interact with filesystem permissions for socket access. If the Spritely folks don't get to that before I do, anyway!

@guix I use #guix system as a system for about two years already. I use it on two home laptops and on one VPS. Before that I have used Guix as a package manager on the top of Debian GNU/Linux.

Now I'm trying to implement import (for guix import hexpm) from mix.lock for better BEAM packaging. The most parts of code are stolen from the work, related to cargo/crates. Still I'm not sure, if this approach will fit for BEAM.

guix

Transactional package manager, declarative GNU/Linux distribution, reproducible deployment tool, and more!

Codeberg.org

Building a new home server to replace my Mini-PC. It's getting too hot working as an offload server and Cuirass build server for my channels. And with a more stable build with RAID etc, I can get off Google Photos, Google Drive and Dropbox.

@guix

@guix packaging software for #Astronomy as all started initially ;-)
Now my wider goals overlap with Golang and Python packages maintaining
and bringing more cool stuff to that collection
btw go-team is looking for members ;-)
@sharlatan Yeah if you're into #packaging and #golang it would be great to have more people working helping out Sharlatan. There's lot of ways to get started ...

@guix
To learn guix (and C++) I'll try to implement a feature while developing on guix only. Kind of a real world usage test of both guix and my own configuration and workflow

Started strong by getting the thing to compile and implement some basic stuff! Hopefully all that's left is to finish it

https://codeberg.org/aninternettroll/biboumi/compare/e95bb7a6e7a734c867678bb3742cbb1628b91e32..user/luca/message-tags-tmp

Guix in particular also helps with this task because it can easily set up and manage prosody, which makes testing during developing trivial

https://git.lucamatei.com/dotfiles.git/tree/system-turret-config.scm?h=guix-system-turret&id=94b17ca4b1233c04761e780b19387c219ee57b75#n160

In addition running ergo with podman was really easy. Just following the manuals
(Not running as a full service as it's not really needed for development. But I could)

https://github.com/ergochat/ergo/blob/stable/docs/MANUAL.md#docker

https://guix.gnu.org/manual/devel/en/html_node/Miscellaneous-Services.html#index-rootless_002dpodman_002dservice_002dtype

biboumi

XMPP to IRC gateway

Codeberg.org
@luca Very nice - you're doing it all! That's such a great use of Guix System to make testing easy.
@guix I use Guix at work for a server with few containers (although I have an issue each time I reconfigure the system I need to redo the containers), on my work and personal laptop as well, also on a external nvme ssd with some custom packages for troubleshooting/fixing computers. Guix home is amazing ! I just wish there would be an easier way to deploy Guix without manual file system setup (btrfs + luks for my use case).
@4zv4l Nice! Having more container usage in Guix would be fantastic. Consider writing about your set-up on your blog or to guix-help - this really helps other users find the way to do things.
@guix Still working on the port to macOS. I have no idea how far I am. I only find a few hours a month to work on it and in between I forget what I did last time. I think the next step should be to populate the store with some prebuilt binaries to bootstrap it. I am not sure how that works yet. I also don’t know how easy it will be to switch out glibc for the macOS libc.
@dreamingInDminor There's been a few people interested in Guix on Mac in the past. Definitely share your work on guix-devel mailing list, maybe there's enough interest for a group to work on it together.

@guix

Currently, I'm just using it as my main desktop and laptop distro, but once I get some time I'd really like to get back into running it as my router OS again. The things that stopped me at that time were largely around building for aarch64 on x86_64. Many cross compiles didn't work, but what did work more often than not was running builds with Qemu user mode emulation, but this was slowwww. I mostly just needed a custom kernel configuration so my needs aren't that extensive.

When I get the time I'd like to look into what was going wrong with cross compilation, because it seems like something that should be doable.

@guix our team uses guix for everything - software development (in guix containers), deploying web services, and running the North American build 'farm'. This includes development on python, ruby, guile, c++, rust, zig, d, racket, r, and more. We run full system containers, but the base system is usually Debian stable. In my FOSDEM talks I always say guix allows me to sleep at night. Much of our work is tracked on https://issues.genenetwork.org/.
tissue issue tracker

@guix should have added guix search term: https://issues.genenetwork.org/?query=guix&type=all

Note this tissue knowledge base (written by the incredible Arun Isaac) with guile+xapian is hosted in a guix system container. It replaced the github issue tracker. Essentially a git repo is our knowledge base.

tissue issue tracker

@pjotrprins There's some really interesting knowledge for anyone using #guix in here! Nice job team! I just read some about #containers and #postgres - super useful for general users as well as #reproduciblescience
@pjotrprins
You're running full guix system inside a container on a Debian host? How do you build and boot the container? Is it LXC? systemd-nspawn? Something else?
@guix