So I use a refurbished T480 thinkpad as my machine and when I want to
contribute to guix. I open a guix shell in my guix local checkout
` guix shell -D guix git-absorb -m manifest.scm --pure `
As it takes around 40 mins to build scheme bytecode files, I don't do
that and this makes feedback loop hella slow.
Every guix command `import, build, shell` will take around 10mins just
to first find the <package,file> and then start the operation.
for instance, `./pre-inst-env guix import -i <some file> go -r <some-package>`
would
take over 20 mins or more depending on the package, it doesn't even
matter if you use `-e "(@@ (gnu packages <file>) <package>)"` to
pinpoint stuff while building.
This makes it really hard to do actually do something because you would
have to run the command again even if you made a typo error, its
frustrating.
For this very reason, I mostly package things in my own channel but if
there is a important package I need to contribute, I first do the whole
import, build, shell stuff in my own channel and then copy paste things
in guix proper local checkout. Basically I am doing the whole stuff two
times, and its even more excruciating with Rust and Go packages where
you have to import a whole lot of packages and then go through each of
them will the time consuming feedback loop. This is not the
experience I want to have.
Summary:
- `make` takes upto 30-40 mins to compile guix checkout
- {import,build,shell} takes upto 10-20 mins
- It decreases my will to contribute day by day.
Rant of a Guix Packager. (メ﹏メ)
--
~ Untrusem ~
In this cruel world, Kindness is punk.
https://untrusem.party