r/GUIX • u/dikzy405 • 1d ago
Questions about the Guix system and Non-free Software going forward
Hey everyone, I’m a huge fan of Guix. It just blows everything away. I love guile and the improvements over NixOS features.
My question is what does Guix look like for people that know they will use and have to use a lot of Non-free software? I know about the non-guix channels, flatpak, and that you can build things from GitHub but I guess I’m just wondering if it’s somewhere I should end up if I know I’m gonna use a lot of non-free stuff. Is development pretty active for Non-free software/packages on Guix? I just love the system so much I’d like to get more educated to make it work.
Thanks
8
u/Chitoge4Laifu 1d ago
Most software I need works on guix, or I end up packaging something.
You can use nix as well on it. Some stuff would take a lot of work, or you'd be unable to package.
I have since moved one computer back to nixOS for various reasons.
1
u/dikzy405 1d ago
Yeah, that’s what I’m doing with my work computer. I might just need to wait and move to Guix some other time when I have more time to learn the system. I kinda want to learn Emacs too so I might have to do the hard thing and be patient and practice guile and EMacs on my NixOS machine
3
u/output_broadcast 1d ago edited 1d ago
Making your own channel and writing packages is easy enough that I wouldn't even bother with building manually (in 99% of cases). Things can get rather complicated if you need propietary enterprise software, though (e.g. Matlab).
1
u/dikzy405 1d ago
OK, that sounds awesome! I’ve never known how to do this in Nix or Guix so this sounds like where my time needs to go!
2
u/output_broadcast 1d ago
No idea about Nix but channels in Guix are just git repos with a somewhat specific directory structure. This includes the main Guix channel, which is only "special" because it supplies the
guixcommand itself. But if you wanted to, you could fork that and have your own base channel too.
1
u/bullhaddha 1d ago
For some software (mainly based on Java) I ended up containerising it with guix shell --container --emulate-fhs --network ... so it's easier to setup search paths that it might expect..
There's lots of other options you may need for env vars to be reexported, or other paths to be remapped, so my solution is putting the command line into a shell script wrapper.
11
u/Powerful_Attention_6 1d ago
There are very few programs I use that isn't included in Non-Guix repo.
You have listed the various ways you can get additional programs, and for the last resort you can build the software from source