picnoir,
@picnoir@social.alternativebit.fr avatar

Guix day 1:

I spent most of the day getting comfortable with Guile and the basics of Guix services.

Followed the "perfect hacking setup" manual section (I'm lucky, I'm using Emacs). Geiser is okay-ish, but fails a lot of times (can't jump to definition in g-expressions for instance). Overall, the builtin yasnippets, and paredit are good and useful, geiser fails to jump to definition too many times to be really useful.

I have a fully functional sway/pipewire/xdg-desktop-portal setup. Costed me quite some headaches.

Guix home is super nice and definitely more integrated than home-manager.

I migrated ~60% of my laptop NixOS configuration. The remaining 40% are going to be pretty painful to migrate, Guix is currently lacking some features to do so (writers, secret management). I'll probably have to write the missing features to continue the migration, but I'm not comfortable enough with Guile/Guix to do so yet.

I packaged my first package (power-profiles-daemon) and wrote a service for that.

I really like the Guix service system. A lot more than the NixOS module system.

Tomorrow, I'll have to face my nemesis: mailing-list-powered patches. I'm 6 commits ahead of my Guix channel, it's time to reduce the stack and start cleaning/upstreaming the changes.

I'm not in love with Guile yet. Part of it probably comes from my inexperience, using it is still painful and slows me down a lot.

I hit a massive roadblock at some point: the guile error message was lying to me. I had a module with an error in it, and instead of throwing an error message, Guile was lying to me and telling me I was not loading this module, and giving me a hint explaining me how to load the module. But, I was already loading the module!! Gazlighted by the interpreter :D

Took me a good 2h before realizing the interpreter was lying to me. I need to find a minimal reproducer to send to the email list.

Massive kudos to @ekaitz_zarraga who helped me in the process :)

mrak0,
picnoir,
@picnoir@social.alternativebit.fr avatar

@mrak0 @ekaitz_zarraga Nice! That's exactly what I was looking for, thanks a lot!

Cc @mic92 : sops-guix is actually already a thing.

mic92,
@mic92@toot.matereal.eu avatar

@picnoir now we also need a sops-spackos.

mangoiv,
@mangoiv@functional.cafe avatar

@mic92 @picnoir while you’re on it, can you make guix-disko, i will not install a single OS without it anymore. 😅

Profpatsch,
@Profpatsch@mastodon.xyz avatar

@picnoir @ekaitz_zarraga I might follow, but I'm somewhat certain that vscode does not work 🙈

ekaitz_zarraga,
@ekaitz_zarraga@mastodon.social avatar

@Profpatsch @picnoir I do all in NeoVim, almost without plugins.
I wrote some help for the parenthesis but you don't even need that.

picnoir,
@picnoir@social.alternativebit.fr avatar

@ekaitz_zarraga @Profpatsch I gave up on minimalism wrt. editors.

Adopting LSPs/more automation has been a true force multiplier for me.

Sure, you don't need them, a plain editor and ripgrep are good enough to move around a codebase.

However, a nice jump-to-definition and show-documentation-for-symbol-under-the-cursor are true game-changers. It makes everything more self-discoverable and reduce the mental load. It helps me focus on what really matters.

abcdw,
@abcdw@fosstodon.org avatar

@picnoir @ekaitz_zarraga

Take a look at
https://git.sr.ht/~abcdw/emacs-arei/

https://git.sr.ht/~abcdw/rde/tree/309db6a7/examples/Makefile#L22

The version in guix is a bit behind, but probably we will make a minor release and I'll update it this week.

picnoir,
@picnoir@social.alternativebit.fr avatar

@abcdw @ekaitz_zarraga Nice! I'll give it a try tomorrow. Thanks!

abcdw,
@abcdw@fosstodon.org avatar

@picnoir @ekaitz_zarraga We sneakily released 0.9.4, it have most of the latest features, including goto definition, eldoc, completion, friendly buffers for project and so on.

It's on guix master, BTW :)

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • kavyap
  • thenastyranch
  • mdbf
  • DreamBathrooms
  • everett
  • magazineikmin
  • GTA5RPClips
  • Youngstown
  • cisconetworking
  • ethstaker
  • slotface
  • ngwrru68w68
  • rosin
  • cubers
  • JUstTest
  • InstantRegret
  • Durango
  • osvaldo12
  • modclub
  • tester
  • Leos
  • khanakhh
  • normalnudes
  • tacticalgear
  • megavids
  • anitta
  • provamag3
  • lostlight
  • All magazines