<florhizome[m]>oriansj afaik no, you can change the max number of jobs and of cores, and guix will allocate them.
<florhizome[m]>for some languages that’s also an reproducibility issue afaik…
<florhizome[m]>but maybe it’s something guix can kinda implement, if you want to do it^^
<oriansj>florhizome[m]: well I ask as it allows for more aggressive building of low memory languages and more conservative building of memory hungry languages on a machine with finite memory (such as 1-4GB)
<oriansj>as builds significantly slow down if they aggressively go into the swap
<oriansj>so for example doing a rust build with 1 job on a 4GB machine ends up taking 1/5th the time of the same machine doing the build with 2 jobs
<oriansj>but that same machine could easily do 4K parallel builds of a more memory efficient language such as M2
<florhizome[m]>Sounds reasonable! Implementing stuff that helps machines with less memory is on the todo list I think.
<oriansj>even if it isn't in the default feature set (like with gentoo) but something we could script would be useful
<florhizome[m]>people are getting pinephones etc and this is a major hurdle. I would commend you to take to the mailing list though to make sth happen.
<florhizome[m]>maybe you could have a set of predefined memory profiles. After all it will be an option you pass to the build daemon config. Or optionally really just an array or list…idk
<florhizome[m]>nckx could be someone having fun helping with this afaik he is kind of a swapspert :p what I have heard so far is people blaming guix memory usage on guile more though then on this.
<oriansj>florhizome[m]: well guix in my worst cases only uses 256MB of RAM
<oriansj>which if you only have 512MB is a serious problem
<oriansj>and the MB/s on microSD cards is terrible if you are lucky (some only average in the KB/s)
<florhizome[m]>I think atm the talk is that you better have 8 gb so if we can move that down to 4 or 2 that’s a lot more devices. 512 is a bit far fetched from this perspective probably
<oriansj>florhizome[m]: the second you do a Rust build with 2 jobs you need 24GB of RAM if you want it to be done in a single day but if you only have 8GB + 16GB of SD swap, it'll talke a week and half
<oriansj>and that is after you already fully bootstrapped rust; as it turns out you usally have to bootstrap it every freaking time you build some rust programs.
<florhizome[m]>well I am not an expert on this but I am getting a planet computers phone and I hope guix will be helpful on it some day so if you have concrete advice more power to you from my perspective :d
<oriansj>florhizome[m]: my concrete advice on low memory systems: substitutes
<florhizome[m]>oriansj I think this is something that the „antioxidant“ project is trying to help with perspectives
<oriansj>unless you have the patience of a saint or are a hardcore bootstrapper
<florhizome[m]>yes i thought so. No I’m not. I run a intel 11th gen laptop now with 4C/8T and when substitutes are failing and I’m building webkit or Linux I’m skipping :D
<florhizome[m]>But I really am going to go to sleep now. As inlaid, i think this would need to land in the mailing list to be discussed productively
<oriansj>with lots of great people having a fun time ^_^
<florhizome[m]>as i said i need to sleep and I am not the right person to help implement the things you suggested but I hope it can stick :)
***jesopo is now known as jess
<trevdev[m]>I have packaged an extension for stumpwm that depends on sbcl-ironclad. Ironclad is throwing an error because it can't load what appears to be a built-in function called sb-rotate-byte. There are other packages that depend on sbcl-ironclad that don't seem to patch anything. Does anyone know what the deal is?
<Declan>Hey guys, I've been playing around with Guix for a few weeks on Arch and just made the switch to guix as a system. This stuff is so unique and awesome, just wanted to say thanks, so THANKS! :) I'm sure I'll be back soon, I'm playing around with packaging some of my own software and want to try to grow Guix's repositories. Happy hacking!
<vagrantc>sneek: later tell Declan glad to hear you're enjoying guix, welcome to the community!
<nckx>The GRUB background image alone (and *in se* this is a good thing, it's just surprising) is built from source… using Inkscape. Just in case you're seeing wayland scroll by and wonder why GRUB would need that.
<Luk6655>I need a constructor that will run my service executable and stop until the executable exits.
<Luk6655>In the info manual both names are mentioned. Searching for make-systemd-constructor brings up a snippet about starting guix daemon. There make-systemd-constructor is a hyperlink to a Shepherd manual part about make-system-constructor....
***Dynom_ is now known as Guest399
<jpoiret>Luk6655: my bad, both are defined in shepherd
<jpoiret>it's further down on the same manual page
<florhizome[m]><jpoiret> "i believe it should be make-..." <- I think this procedure exists like that (like the system* procedure) but shepherd introduced too new socket types , one of which is actually named after systemd, and one after inetd, right? and so should be their constructors. Haven’t seen them used in guix but I’m curious for it.
<muradm>sneek: later tell apteryx, hi, in (gnu services security) you added generate-doc, how do you call it without *-fields symbols exported?
<Kabouik>That was the reason I was asking in the first place indeed
<jpoiret>`guix import pypi pynput` would produce a guix package definition to build pynput through guix, while `pip install pynput` will bypass guix and let pip do whatever shenanigans it's supposed to do to install a package
<jpoiret>package installed via pip lose all the advantages of guix
<Luk6655>what about using pip inside guix shell? (or maybe pip inside venv inside guix shell)?
<Kabouik>If I install something with the scheme file I get with guix import, should I add the .scm file to a channel and keep track of it, or can it just be a one shot file I put in /tmp and then install with guix build -f?
<Kabouik>I want to, I have a patch pending for some software already (I need to finish fixiing my submission), but am not comfortable yet to submit all the things I might use because I never know if I am doing the right thing.
<jpoiret>pkill9: you could consider adding a home service for sway then
<vivien>two[m], if you don’t get an answer, they may be a lot of reasons: noone that can help you saw it, maybe if you repost it you increase your chances, but it’s the weekend so maybe you won’t. If you don’t get a response, you may also want to ask the help-guix list: https://lists.gnu.org/mailman/listinfo/help-guix
<Luk6655>Is there some way in guix/guile to search for things defined in modules? For example, just now I got an error "error: define-record-type*: unbound variable" no doubt due to lack of use-module, but which module to "use"?
<Kabouik>Understood jpoiret, I'll probably submit more patches when I can use Guix as my main machine, as there are probably multiple packaes I'll want for my own use anyway. I am not going to dive into the pynput thing though, as I see the autoscroll script it is necessary for is only working for Xorg anyway, and I'm switching to Wayland at the same time as I'm switching to Guix.
<Kabouik>Now before I can make this my main machine, I need to fix audio. Pulseaudio only sees a dummy output.
<two[m]><Luk6655> "Is there some way in guix/..." <- i use `grep -Rr defined-thing $GUIX_PROFILE/share/guile/ | grep define`
<Numerobis>Hi #guix! For some reason my guix store weighs more more than 30Gb after a complete guix gc, although I have only a few packages and servers installed. Is there any way to reduce the size of the store?
<Luk6655>it seems it tries to pass the list to string-append internally, but it fails for some reason (one of the items not being a string? but they all print as strings)
<ytc>hello. i'm using guix system on librebooted x200. when i do "loginctl hibernate" it runs successfully but when i boot my computer again guix doesn't resume. instead, it starts like i haven't hibernated before and i have to run swapon to activate swap partition again. could you please help me? this problem doesn't occur on other distros.
<vivien>Now all shepherd does is invoke sh -c "/gnu/store/…-ldmtool-action", and that script will invoke ldmtool with one argument for each item in the action list, so they don’t need any escaping :)
<Luk6655>ok, I'm running it, we'll see, I hope it works, but at the same time I would prefer some code that is simple...
<Luk6655>it is just running an executable at startup in the end...
<vivien>Correct code trumps simple code every time!
<vivien>You should see in the console output that guix builds something called /gnu/store/…-ldmtool-action.drv
<vivien>If you copy it and run guix build ….drv, it will respond with the name of the file that shepherd runs
<Luk6655>perhaps I have a typo: "error: source-module-closure: unbound variable"
<sneek>GNUtoo, kaelyn says: thank you for taking a look at the patches! I've actually not done much with mingw & I updated it as part of an attempt to get newer versions of dxvk building (I'd hit an error that was fixed in 9.0.0)
<podiki[m]>Luk6655: take a look at the usual ones, like udiskie
<vivien>The second one gives you (list (string-append…) ("create" "all")) and it tries to call the "create" function (but it’s not a function, it’s a string)
<vivien>You can do '(#$@action) to get '("create" "all")
<vivien>Or (quote #$action) but sometimes this fails and I don’t understand why
<Luk6655>ok, I'll try that, I don't quite understand why append would try to eval the contents of a variable, but there are lots of things that go 100% against my intuition in guile so perhaps this too
<Luk6655>does it try to eval everything that's not quoted? (if that makes any sense in this context)
<vivien>It’s not append, it’s just that when you write (a b), scheme considers that a is a function and tries to call it with b as its argument. If a is a literal string, it cannot work of course.
<vivien>And yes, scheme evaluates everything that’s not quoted :)
<podiki[m]>vivien: you mean cups? probably depends on which template you start with? (haven't checked)
<unmatched-paren>antipode: fair enough about typosquatting; though since the Go pkg installer seems to lock versions to a single ref (unlike rust's semver thing), so i don't think you can unexpectedly pull in a new (possibly malicious) version
<unmatched-paren>antipode: that said, i'm not too familiar with go, so "locked to a ref" may be incorrect
<Andronikos>Ah okay. It is still helpful to me. Thanks for the help.
<mbakke>Andronikos: it may still be possible the "old fashioned" way of checking out that commit with git and running "./configure --localstatedir=/var --sysconfdir=/etc && make -j $(nproc) && ./pre-inst-env guix build python", if you are really determined :-)
<Andronikos>ux_man: There is "guix style --whole-file" for this purpose.
<Kabouik>Thanks anyway. The build spit other errors later though, I thought it would just be a matter of changing the hash and version to update the package (it's more than 1 year old and the current config examples they provide don't work with our current Guix package), but there must be new dependencies.
<pashencija[m]><Kabouik> "I also tried cloning the git..." <- guix hash -rx