Write Guix package definitions in a breeze: Introducing Guix Packager
guix.gnu.org
guix.gnu.org
One day I hope to return to Guix, I've never had such high introspection ability as with Guix.
Currently, one has to source the failed build environment and hope they're replicating the same steps
I actually feel the opposite, the fact that guile does not have edebug-style step debugging support or better tooling in general in Emacs, when both are GNU projects, is nutty to me.
Makes more sense to stick to Nix IMHO because of the better package ecosystem, bigger community, and general pragmatism.
I had a use for it sometime ago that I needed to compile Tcl, and it was a breeze to do! But outside of such niche things I haven’t found a use for guix
It's neat to be able to use some program without having to install/uninstall it.
I find it useful to be able to programmatically declare a set of packages (& lock their versions) that I want available when working on a project.
`guix shell --container` is also very useful.
Nix makes this much easier and you're much more likely to find ready made packages for even esoteric software. Nix has over 3 times as much software as Guix.
Nix also goes for a lot more composability than guix with nix flakes. It makes it nearly trivial to package any software you want.
You may want to give Nix a try if you had trouble with Guix.
https://gitlab.com/nonguix/nonguix
Also as kdtsh mentioned, Flatpak.
- on the one hand you have the general warm fuzzy feelings associated with a considerately-designed graphical tool to lower a barrier to entry
- and the fact that this tool was as trivial to implement as a cursory glance at the repo suggests vindicates the whole guix/nix declarative packaging idea. the ease with which ten lines in a text editor turned a new piece of software into a first-class citizen on my system was the thing that hooked me on nix forever
but that's just it: is this really lowering the barrier to entry all that much? the audience guixsd/nixos is courting is someone sick and tired of managing config files strewn across the filesystem. by definition that is someone who knows how to operate a text editor, at which point "look at how few keystrokes/memorised file paths you need on our system vs debian/arch/whatever to gain the same thing" feels like enough of a sales pitch
in terms of attention economy, this is like going "what costs you a dollar on debian costs you a dime here... hey check this out now it's 9 cents if you want. neat, huh?"
An update is coming "soon" where you'll be able to mount 9P2000.L servers from guix containers, something that is currently impossible due to Linux mount namespaces not allowing anything but basically fuse.
You'll be able to try all the new packages you'll create with the GUI tool from TFA.
Isn't there a 9P FUSE client to bridge the gap?
The non-guix repository and their substitute has you covered in the non-gnu side of things. You can use a regular kernel (read:not linix-libre) and it downloads all the required microcode and drivers.
Guix is a known language scheme.
nix is off - I can't work out what parameters are needed for any one function call they all appear to be in a global namespace.
Unfortunately I need to be able to use non Linux systems
If you are talking about something you saw in the nixpkgs repo, then that is probably the callPackage design pattern [0], which is basically a form of automatic dependency injection.
It definitely made it hard for me to grok how nixpkgs package definitions worked at first - there was so much stuff getting injected dynamically, without any trace of where those dependencies lived.
The callPackage pattern is an important piece that allows you to override a dependency with a different version, though, which is essential when customizing existing packages for your own needs.
[0]: https://nixos.org/guides/nix-pills/callpackage-design-patter...
How files all each other and the parameters is odd. You call a function with two parameters but the file starts with many
1: And this is perfectly fine; communities can and should have such standards, but it will be off-putting to those who do not share the same values.
That is pretty much where the similarities end though.