Oooh, interesting! Guix is so cool. I wish I knew Scheme.
comments
Please feel free to post any problems you have, maybe slightly accumulated if you find yourself having many
Um I would genuinely just read through the manuals for guile and guix, they contain most of the information needed. The guile manual does explain in an introductory section all the basic building blocks you will need. If you will be writing packages, first make sure you have learnt about s-expressions ( they are very cool, think python ast library but foundational to the language), and then read the section in the guix manual about g-expressions.
Probably just download the guix, guile, shepherd and guix cookbook pdfs to have them on hand, or just use the internet to get the ones synced with master branch
There is a guix guile primer available: https://guix.gnu.org/cookbook/en/html_node/A-Scheme-Crash-Course.html
Make sure to read other peoples configs if you can. There are blog posts on the guix website explaining more complex concepts if you ever need them like the monad implementation and how the store works, also how to package rust packages.
Dont worry if youre original asahi setup takes a long time to get together, it took me about 3 months or more before my guix setup was all on par with my fedora one ( waiting for things to be packaged and stuff). But after that 3 months, i have it for life, so when I die I will have saved quite a bit of time i think
temple os reference? ( it had a section for unfun games iirc)
Systemcrafters have very hands-on videos on Emacs and Guix. They have a Guile course for a fee too.
apple is unfun hehehe
also partitioning makes me veryyy scary since i bricked once my laptop by accidentally erasing firmware partition
ah ok probably meant to write "unvendors"
sorry what is "uncendors"?
Huh. I just checked and guix uncendors go. Very impressive.
It looks like they let you override cargo crate deps with different versipns but they haven't managed to compile without cargo or crates yet.
but yes having it compile without cargo at all would be super swell
for example i packaged "regreet" in my channel and all i had to do was use the auto-import tool and then add the c dependencies to the gtk stuff
i wouldnt say they are impossible, unless you are specifically refering to doing everything by hand
but there are a decent number of times when with python, rust or go, the auto import will work first try or with very minimal adjustment
at the minute it is quite quick for importing the skeleton of the project and then then things such as non internal-language dependencies can be manually fixed, but it does lack in the scope of updating these imports whilst avoiding repeated work imo
the best way for these langs is to do as much as possible with the importer tool
guix import
and i think future easing of the process would be good to carry out in the scope of this importer tool
yes i believe the way that records are set up, binds the fields of the records in the record scope as their set specifiers
I'm not sure about your specific problem but this is the guile-guix API reference
(But as another new guixer, I agree the docs are pretty confusing and hard to navigate)
https://guix.gnu.org/manual/1.5.0/en/html_node/Programming-Interface.html
Do you actually have mapped-devices declared in your operating-system declaration anywhere? Cause i think that's what that variable is referring to instead of it coming from a different module. I don't use mapped-devices myself so not sure, but i have something similar in my swap-device configuration:
(swap-devices (list
(swap-space
(target "/swapfile")
(dependencies (filter (file-system-mount-point-predicate "/")
file-systems)))))
In this snippet file-systems is referring to the file-systems field in my operating-system configuration, i think in your case it might be the same for mapped-devices.
Oh dang, i had no clue. I've only been using guix for a few months now lol
It would be very interesting if guix-transfer worked the other way around, since realistically everything you find in guix already exists in nixpkgs, but guix could benefit from having a tool that can help create packages based on nix derivations.
Python is pretty easy. I don't know about guix but nix makes it easy to unvendor python dependencies.
Rust and go are basically impossible. Guix is doing some work:
https://guix.gnu.org/en/blog/2025/a-new-rust-packaging-model/
But they are the only people (afaik) who are doing work for rust. Most of the other similar projects (gentoo, debian) have given up.
Go is even worse. I don't know of anything like antioxidant or cargo2guix (linked in article above) but for go.
Here's a thread on the Framework forums where people spent years talk about how to get HiDPI working: https://community.frame.work/t/tracking-state-of-hidpi-on-linux/8301
Granted it's a few years old now. Last time I tried HiDPI was a few years ago as well. I definitely had lots of little annoyances. The blurry fonts don't bother some people, so maybe it's fine. idk.
I've run Guix on my main desktop witch is an Intel i9 and an ARC B570 and I'm trapped in a frame buffer without nonguix. Part of me was hoping that with a non-duscrete GPU I could get away with it.
As for the hidpi that's the first I've heard of it actually. My desktop's monitor is a 5120x1440
I can't speak for intel chips since i only have experience with amd, but from my experience if you have an amd apu you'll still need proprietary firmware from nonguix, that was the case with my laptop atleast. The other thing that can be iffy is wifi cards. On both my laptop and desktop i needed firmware for that. Everything else just worked.