IRC channel logs


back to list of logs

<jlicht>mekeor[m]: I believe there was someone, either on IRC on on the ML, using rustup in a `guix shell -CF <something>'
<gabber>wdkrnls: what's the context? in what sentence/where was it used?
<wdkrnls>It was mentioned around package transformations and package variants.
<wdkrnls>I am trying to figure out how to actually use guix as a better alternative to conda.
<wdkrnls>As part of that, I'm trying to figure out how to define a profile which uses a particular python package built against a particular python package.
<wdkrnls>gerr... that didn't make sense.
<wdkrnls>Let me try that again. I have a python package like python-numpy, but not python-numpy. It only works with a few python version configuration.
<wdkrnls>I got a couple leads on the help-guix mailing list.
<vagrantc>well, an implicit input *might* be, say, using libraries from, say, /usr/lib ... if upstream code makes such assumptions, you may need to patch it
<sneek>Welcome back vagrantc, you have 1 message!
<sneek>vagrantc, efraim says: do you know if u-boot provides a UEFI interface for aarch64 and riscv64 by default? I'd like to redo some of our images
<wdkrnls>The most promising one it appeared to me was to somehow use package-with-explicit-python.
<wdkrnls>Presumably, I could use inferiors to get the python package 3.6.5 from 2018 and then pass that to this procedure.
<vagrantc>efraim: most modern boards support UEFI ... but ... last i looked most implementations appear to not have any way to save environment variables and such ... so you have to use the EFI/boot/bootaa64.efi or whatever it's called
<wdkrnls>There is this python?-variant property thing which I don't actually understand.
<wdkrnls>But that was giving me some errors.
<vagrantc>efraim: i have used u-boot's EFI implementation on occasion, but it still is a little quirky in some ways ... very actively improved in u-boot, though (for both better and worse :)
<wdkrnls>I thought maybe this whole thing was too complicated, and since the PyPI entry suggested the package would work under python-2 I thought maybe I could just use that. Unfortunately, that resulted in a ton of other errors, especially around tests.
<wdkrnls>Plus, even when I used package-with-python2 I still found scripts were running which used python3 features.
<vagrantc>efraim: it would be good to provide a UEFI image for aarch64 for sure, though, maybe riscv64 ... but it is going to need a more sophisticated module handling in the initrd for that to actually be useful :/
<wdkrnls>So, I gave up on that and am looking for ways I can use python 3.6.5 directly.
<vagrantc>efraim: that said, i think more sophisticated module loading would be a huge win all around :)
<gabber>wdkrnls: i haven't worked much with python in Guix (but i feel like i will follow that white rabbit a bit in the coming days). if you want more practical input/feedback it is always a good idea to share error messages
<gabber>but yeah, some packages (especially from the ancient python2 realms) tend to be a real pain - which might not even be Guix' fault
<wdkrnls>That definitely tracks with my experience.
<gabber>yeah, the deprecation of python2 was pretty heavy - glad it's over (although i have the dim feeling that the ghost of Python2 might haunt us for a long time)
<gabber>soooo, are you gonna share some logs?
<wdkrnls>Yeah, that's my plan. I think though it will be better to share those on the mailing list.
<wdkrnls>The reason I am trying to use Guix is that it should be straightforward to test this stuff.
<apteryx>jackhill: I get the same
<apteryx>regarding ungoogled-chromium supposedly available as a substitutes... but not
<podiki[m]>sneek: later tell mekeor re: rust nightly, see one of the examples here
<sneek>Got it.
<apteryx>is it expected that I can't C-c out of a running job in a Guix container?
<apteryx>it interrupted back to make, and then it seems to have hung
<lechner>is this in qemu?
<apteryx>no, just guix shell --container, which calls make
<apteryx>it looks like:
<baklava>"debian Pastezone"
<jackhill>apteryx: thanks for the confirmation
<apteryx>fancy sweets
<apteryx>jackhill: I'm not sure what's up with the build farm; I've restarted cuirass earlier but it seems to not be able to evaluate guix
<apteryx>it's been 3 hours; this usually takes less than 1 h
<apteryx>it started with, which doesn't look problematic
<jackhill>oh, weird, thanks for taking a look
<lechner>Hi, is it possible to compile custom kernel modules in Guix?
<lechner>okay, i found linux-module-build-system
<lechner>zfs is a mess!
<unmatched-paren>hello guix :)
<thanos_apollon><unmatched-paren> "hello guix :)" <- Hey 👋
<thanos_apollon>What you use to run virtual machines in guixSD? Gnome boxes so far isn’t ideal
<unmatched-paren>thanos_apollon: Probably just QEMU, but boxes is just a frontend to that
<apoorv569[m]>Does anyone has rustup packaged for Guix?
<unmatched-paren>apoorv569[m]: it doesn't work on Guix iirc
<apoorv569[m]>How to get rust tools then?
<unmatched-paren>it's difficult to get the nightly and latest versions, but you could try ``guix shell rust rust:cargo''
<unmatched-paren>add rust-analyser etc as necessary
<apoorv569[m]>near the end it shows getting a shell with --container --emulate-fhs flags and install rustup inside that
<unmatched-paren>that apparently works with rustup too, but i'm not sure how, since i've hardly used it
<unmatched-paren>oh, cool :)
<apoorv569[m]>--share=$HOME/temphome=$HOME what is this ? Why do we need a temphome?
<unmatched-paren>i don't know...
<apoorv569[m]>This might work... but you have constantly add/remove stuff inside this container that you need..
<thanos_apollon><unmatched-paren> "thanos_apollon: Probably just..." <- Just started using qemu directly from the terminal with virtio etc. the performance is day and night compared to gnome boxes, not sure why is that
<abrenon>hello guix !
<futurile1>Morning all
<apoorv569[m]>Hello. I was trying make a package definition for rustup...
<apoorv569[m]>Would this work?
<apoorv569[m]>I get this error ATM
<apoorv569[m]>I have very little knowledge of lisp languages in general most of this code I wrote by looking at other definitions and copying
<unwox>apoorv569[m]: try adding coreutils to your inputs
<efraim>hello guix!
<apoorv569[m]>unwox: I added this
<apoorv569[m]>still same error
<nckx>apoorv569[m]: You can remove coreutils, it's unrelated to Guile's CHMOD procedure. If you run the build with --keep-failed, you'll see that the build directory is totally empty when this error occurs! The t-b-s makes you do almost everything yourself, including unpacking the source. It's a trivial build system, but not a trivial (or fun) experience :) IMO it's for advanced users, or truly trivial packages where you're installing a simple shell script or so.
<nckx>Hullo unmatched-paren, abrenon, everyone :)
<nckx>unmatched-paren: I woke up to the unprecedented number of 47 Mastodon notifications after sharing your blog post. By my sad standards, you've gone viral. \o/
<nckx>futurile1: …and to you!
<nckx>apoorv569[m]: I'm a bit confused by (copy-file "rustup-init" (getcwd)) too, but that aside. If ./a exists, copying it to . seems unproductive.
<nckx>(with-directory-excursion (getcwd) …) is equally tautological.
<abrenon>: )
<apoorv569[m]>Well this rustup-init is a binary we download from their website which on most standard systems you don't download it directly but instead use a curl command they have on their site that fetches a script that checks the cpu and os type and downloads this automatically.
<apoorv569[m]>I just grabbed the direct URL for my cpu type
<apoorv569[m]>you just need one binary rustup which will install other tools like compiler linter cargo and all under RUSTUP_HOME env var.
<apoorv569[m]>It should not be that difficult to get this..
<apoorv569[m]>Nix package manager has rustup too so it must work under Guix as well.
<nckx>Sure, but that binary from (source …) doesn't magically arrive in the build directory. You have to copy it to "." first. The gexp equivalent would be (copy-file #$(package-source this-package) "."). I don't remember the non-gexp, non lambda* version.
<nckx>The (source (origin (uri "https://some.random/rustup-init") …)) creates /gnu/store/haaash-rustup-init, nothing more.
<lechner>Hi, any chance we can demote the Guix manual for the most recent release and publish only the 'devel' manual online? For anyone using Guix, it's only a 'guix pull' away. The old one is still available via the Info system.
<lechner>Hi, do we ship the kernel header "linux/init.h" anywhere?
<baklava>"linux/init.h at master · torvalds/linux · GitHub"
<nckx>We ‘ship’ it in the sense that yes, we do, as (package-source linux-libre). I'm sure it's also provided as part of the linux-module-build-system, since modules are ‘legitimate’ users of such internal headers. Others might be… questionable? Since it's not UAPI.
<nckx>I guess what I'm asking is: why?
<nckx>lechner [manual]: Yes, 100% chance, I was going to do this but got distracted by trying to add a ‘This document describes a stable release of Guix, which might be…’ banner to the generated HTML, which ended up going nowhere. My fault.
<nckx>I'm really ignorant about Texinfo.
<lechner>bad boy
<nckx>I'm a bad boy and need to be punished, so I'm updating a Rust package.
<lechner>i am just kidding. thanks for all your hard work, and keeping up the community. you are doing a super job
<lechner>did i mention i have a few patches waiting
<nckx>Hehe, I'm sure you have. I'm going to do some patches later if I have time. Yours might get lucky.
<zimoun>yesterday, I wrote “#~( #$@%“ then Schemer says that Haskell is unreadable because they use many meaningless symbols. Hum?! Not convinced! ;-)
<lechner>nckx / i was just pulling your leg. i know you are super busy
<lechner>nckx / sorry, both legs---if you have two
<graywolf>Did the progress bar change (recently)? I seems that I get some kind of full white block instead of the [###] that used to be there. Is there a way to switch back to the previous style?
<nckx>nckx: I do, but currently neither are used to contribute to Guix. I'm not using my full potential. My time management *has* got better, but I still need to improve.
<nckx>graywolf: The blocks aren't the main feature, it's the granularity (▏▎▍▌▋▊…). Setting a non UTF-8 locale will fall back to ASCII.
<nckx>lechner: Sigh. I meant you, not nckx.
<graywolf>I see. Sadly I need utf8.
<nckx>But you don't need old-style progress bars.
<lechner>ACTION hopes nckx lives up to their full potential
<nckx>Let me disappoint you right there.
<lechner>half potential?
<bjc>my favorite thing about potential is that as long as i never do anything, i'm always full of it
<nckx>I have about as much potential as my vintage ThinkPad batteries, which is ‘suprisingly much, and yet never enough’.
<nckx>ACTION goes back to work… o/
<lechner>wow that URL just dumped enough pages of bytevector data into my terminal to exhaust the scrollback buffer
<lechner>new name, new luck
<bost>Hi. Is it worth it to (buy & install &) use in my Emacs to hack on Guix?
<gulab-jamun>"GitHub - zerolfx/copilot.el: An unofficial Copilot plugin for Emacs."
<bost>Or FWIW, any other emacs plugin?
<bjc>you're probably not going to find a lot of love for copilot around here
<graywolf>Well, sure, I do not *need* the old style progress bars. But the new one feels so much brighter to the point of being distracting. Oh, I guess I can just alias guix to `LANG=C guix` and that should suffice. I do not need utf8 inside guix, just for my system in general. I'll give that a try.
<lechner>graywolf / i was also taken aback, but let's embrace change for the time being
<bost>bjc: That's not surprising here on this channel :) But I'd like to hear you opinions, anyway.
<bjc>you don't need anything, but geiser and paredit/smartparens are pretty nice to have
<bjc>there's even at least one oddball here who uses vi
<minikN>Hello, anyway to keep Guix from building ungoogled-chromium during reconfigure? guix weather says substitute should be available, I'm on latest Guix channel.
<lechner>i usually wait for a few hours when that happens and use guix shell for whatever i need in the meantime
<bost>bjc: It's not about editing comfort but about snippets. I've been all the time in situations that I need to know, eg. how to check if a string contains a substring in Guile/Emacs Lisp and it costs too much mental power to memorize such if the function I need is called `string-append` or `str` or `concat` etc.
<apteryx>does setrlimit work from a user application on Guix System?
<bost>bjc: or `string-match` in that particular example.
<bjc>yeah, i know the pain. it's the biggest problem with working in a bunch of different languages. still not going to use copilot, though
<graywolf>bost: Out of curiosity, you don't mind that copilot is sending your code to microsoft? Or is that not the case?
<bjc>i'm pretty mad that ms took my code in the first place for it, without asking
<bost>graywolf: I use github and gitlab to backup my code and exchange it across the machines I use.
<bost>graywolf: so no I don't mind. I actively use it. It's OS and I greatly profit from such services.
<minikN>lechner: Seems like this is what I'll have to do. Still painful :/
<graywolf>bost: But I would assume you still use *some* license instead of just public domain. And copilot completely ignores that. Like, I'm not trying to start a flamewar here, I'm just honestly surprised (and bit sad) that people find that ok :/
<bjc>lots of people find it ok, because it benefits them, and the sequelae aren't thought about, if not actively dismissed because they would prevent the comfortable use of the tool
<minikN>lechner: But is there an explanation why that happens? The substitute is 3 days old now.
<graywolf>Now for guix/guile question: 1. Why the first does not work? 2. Is there a way to make it work so that I don't have to repeat the condition 3 times?
<bost>graywolf: I'm not a big corp with a team of lawyers extorting patent-licensing money from other corporations. I'm on my own so all that licensing is just a extra work for me.
<bjc>graywolf: because the kernel/initrd/firmware are field declarations in the struct, not arbitrary sexps
<graywolf>So there is no way to do a conditional field declaration?
<bjc>the immediate children of a struct constructor (in this case ‘operating-system’) need to be its field names (eg ‘kernel’)
<bjc>you can have conditional field declarations, but it's either going to look like what you have already done (or something like moving the values to a separate variable), or using ‘apply’ on ‘operating-system’
<graywolf>I see, so I have basically two options: 1. helper defines so that I can do just (kernel %my-kernel) without the conditions 2. another layer with (inherit), that would have two branches and patch just these fields?
<bjc>i'm not familiar enough with inherit to tell you if that'd work, but it seems reasonable
<graywolf>Cool, thanks. Now all that remains is figuring out why it does not boot :D
<bost>graywolf: From my POV the deal is: Microsoft provide me free and reliable backup & exchange medium and a huge code library for which they get my code.
<bjc>microsoft *stole* that code they give you for free
<bjc>llm training is a moral cesspit and the entire industry is corrupt
<lechner>bost / that's exactly right. it's the MIT/Expat model that allows capital to do its thing. As a creator you may not care. i think most folks simply realize too late what it happening. everyone is different
<lechner>i personally chose to migrate away from Github, in a personal exodus
<bost>bjc: not really. There's a plenty of people like me who write OS - this code is not stolen. And yes, there are probably several important projects from which M$ has been stealing... On the other hand it's not like I had been paying every non-free SW all the time in the past.
<bjc>it was stolen from me and many many others
<bjc>open source does not mean free-for-all
<bjc>and, whether or not you have done something immoral does not give license to others to do the same
<bost>bjc: OK, since about 18 years or so I'm on Linux so now it's easy, but before... ¯\_(ツ)_/¯
<bjc>lemme put it to you this way: when your business model relies on a lack of informed consent to operate, you're the bad guy
<lechner>doesn't that cover pretty much all of them?
<bjc>yes. like i said, llm training is a moral cesspit and the entire industry is corrupt
<bost>bjc: Hugh. Ok. Then all you need is my GPS coords to call an air strike. Ok :)
<bost>bjc: to do some justice
<lechner>i think we are against the military-industrial complex around here
<lechner>well, i am
<abrenon>so am I
<bjc>i think it's fair to expect strong opinions on software licensing in the chatroom of a gnu project
<bost>lechner: abrenon: well I used to be too. Like one year ago. But the situation changed. You know, it's not that wise to be a pacifist when there's a war around the corner.
<graywolf>"around the corner" I guess depends on where you live
<graywolf>For me personally it is "around the corner"
<lechner>sorry, i don't see the connection
<graywolf>I think the connection was that we actually need weapons to protect from Russian agression
<bost>lechner: yeah. we're drifting away from the original topic. hmm.
<lechner>i meant the part about Microsoft
<lechner>sorry, Microshaft
<lechner>people have different perspectives, that's all
<abrenon>you can see the importance of a strong military without endorsing a military-industrial complex, especially in the form it currently takes
<lechner>well, i was going to say that my grocery store feeds me but that does not mean i have to love the price
<bost>abrenon: ??? and where should then the military get the weapons from if you don't support the M/I complex?
<abrenon>you could fear war and call for an entirely public military industry: is it moral to make money off the security of the citizens ? if the army itself is public, shouldn't their equipment be produced by the state itself ?
<abrenon>(but that was a digression, just to answer your precise point, these are not necessarily my views)
<lechner>well, right now Copilot isn't declaring war on anyone. It's just that the world is changing, once again, and we all have different opinions on where that's going, and whether it is good. What's good is then another debate
<bost>abrenon: lechner: sure.
<lechner>just make sure you get your Guix tattoo, everyone :)
<florhizome[m]>hi guix
<florhizome[m]>gpodder seems to be broken
<apoorv569[m]>I installed some icon packs like papirus and also have lxappearance installed but I don't see any theme and icon pack I installed here..
<apoorv569[m]>Do I have to install themes and icons on system level or something? I only installed in my user profile for now.
<abrenon>both of them ? theme and lxappearance ?
<apoorv569[m]>you asking if I installed both in user profile?
<abrenon>like, isn't lxappearance already there from having a lxde desktop or something ?
<abrenon>(I had that with xfce4-appearance once I think)
<abrenon>but forget it, I just checked with lxappearance from a guix shell and it's seen my installed icons without any trouble
<mirai>the icon stuff is strange
<sneek>Welcome back mirai, you have 1 message!
<sneek>mirai, podiki[m] says: re: rust nightly, see one of the examples here
<mirai>it's broken in a myriad of ways
<mirai>xdot is one of the things that also has its icons broken
<mirai>GDM I suspect does too
<mirai>stracing xdot under guix and fedora (where it works) shows a lot less directories are being searched
<graywolf>How can I configure system-wide inputrc under guix? I'm looking at operating-system reference page in the documentation, but do not see a attribute I could use for generic configuration under /etc.
<mirai>graywolf: through a etc-service-file service-extension
<mirai>there's actually multiple ways to achieve the same effect
<graywolf>Thanks, will check that out.
<mirai>through special-files-service-type,through the procedure extra-special-file (which simply extends special-files-service-type) or through (simple-service 'some-name-here 'etc-service-type (list '("name under /etc" file-like-obj))) << (that is, a service-extension on etc-service-type)
<graywolf>I like the second one, looks simple enough :)
<mirai>graywolf: note that the services are slightly different
<mirai>the special-files-service-type allows you to use arbitrary paths
<mirai>the etc one is for files under /etc
<andreas-e>To build my big ungoogled-chromium on a stronger machine than my laptop, I need to send its dependents there. "guix archive" should be able to do it, but I do not see how; it requires the list of packages, not its dependencies.
<andreas-e>Something like "guix shell -D", but with "guix archive".
<andreas-e>Or is there a different approach?
<lechner>dependents or prerequisites?
<andreas-e>Dependencies, sorry; so prerequisites.
<lechner>i would run guix publish from the laptop, import the key one your stronger machine and then build there. that should collect your built prerequisites from the laptop
<andreas-e>Good idea, but it requires a lot of networking work: Open a port on my home router, and deal with the firewall at the destination. scp works...
<andreas-e>The stronger machine is far away and not in the same network.
<lechner>then i would just build everything there
<graywolf>Hm, 4 GB are not enough for guix system init? How would I debug why it eats so much memory?
<mirai>what's wrong?
<lechner>i would downscale the init (i.e. no X) and then 'deploy' from there
<ekaitz>unmatched-paren: hey you are doing a great job with the blogposts about guix!
<lechner>but i have run init on cloud instances with 1 GB RAM and 2 GB swap
<graywolf>I don't even have a X in there yet.
<graywolf>Spins for a *while* and ends up with Killed and OOM in the log
<mirai>did this ever worked before?
<mirai>better, what was the last config that worked
<graywolf>Good question. I think it worked before putting there the substitutes. I will try to backtrack until it works again.
<graywolf>I hoped it would be something obvious :)
<mirai>I've triggered OOMs before but that was with packages
<mirai>package definitions to be precise
<mirai>where I accidentally caused infinite recursion due to incorrect macro uses
<mirai>and I believe you're using channels here
<mirai>you'll have to try disabling that out to narrow down the source of the problems
<mirai>occasionally channels can cause issues
<graywolf>It's true that this all used to work before me starting to mess with nonguix, sadly I need the hw support from there (and firefox would be nice as well).
<graywolf>Will return to the starting point and try to add it all in again making sure every step works :)
<graywolf>Was there any debate regarding supporting firmware (non-free) in the base guix, basically same way the debian voted?
<mirai>idk but guix is FSF endorsed
<mirai>(I think?)
<nckx>Yes, because & as long as we abide by the FSDG.
<mirai>why do we use license:gpl3+... variables for package definitions instead of SPDX identifiers?
<mirai>is there any reason for "inventing" our own naming here?
<gabber>does the issue tracker not notify OP by default?
<mirai>gabber: you have to CC
<bjc>the issue tracker will send you an email when the ticket is updated
<gabber>andreas-e: i just saw your review, thank you! i did some manual testing with my python-scapy package and it seemed to run fine so far (at least it started in it's own "shell"). i guess actually finding out how well it works needs some users, i will do that (and fix the package as necessary) since i'll need it for work
<gabber>bjc: it didn't, apparently
<bjc>it might be stuck in a queue somewhere? i'm pretty sure i've always received an email
<mirai>you have to CC whoever you're answering
<mirai>the receipt is for opening a new issue
<andreas-e>gabber: You can already use it at work now by adding it to a local checkout or a channel and see whether it does the work. That would be useful information.
<andreas-e>Indeed I did not cc, just send a message to the bug.
<andreas-e>I did not know it was necessary.
<gabber>andreas-e: np (: also, i'm like 40% sure (which is supposed to be a lot) that those requirements you listed are optional dependencies:
<andreas-e>It might still be interesting to add them, or if we do not have them as packages, add a comment to the source,
<andreas-e>Guix policy is usually to create packages as complete as possible.
<apoorv569[m]>abrenon: Yes lxappearance is from LXDE but I use a DWM and use tools that don't have much dependencies and is lightweight.
<apoorv569[m]>I also use lxpolkit from LXDE instead of gnome-polkit..
<mirai>core-updates maintainers, could this get a review?
<apoorv569[m]>Where do you install your themes system config or user profile?
<AwesomeAdam54321>Can this patch also get a review for core-updates?
<gabber>andreas-e: is that policy written down somewhere? i'll test some more, update my patch and (probably) answer fully via the tracker. thanks for your time and effort!
<andreas-e>I do not think it is written down. And it is certainly not absolute.
<gabber>i would have guessed so (:
<apoorv569[m]>Which module to include for lightdm-service-type I am getting a unbound variable lightdm-service-type
<mirai>apoorv569[m]: lightdm
<gabber>apoorv569[m]: `guix system search lightdm`
<apoorv569[m]>Ok found it its (gnu services lightdm).
<apoorv569[m]>Is this correct BTW I am getting error
<apoorv569[m]>guix system: error: invalid value %unset-marker% for field 'name'
<mirai>that shouldn't happen
<mirai>are you sure its coming from lightdm?
<apoorv569[m]>Not sure, before let me change back to slim service type and see if I get error.
<mirai>I don't see any record here that has 'name' as a field
<apoorv569[m]>reverting to slim service works
<mirai>when you say "revert"
<mirai>do you mean switching that snippet
<apoorv569[m]>I mean commented it out
<mirai>or do you mean reverting a configuration
<apoorv569[m]>and ran system reconfigure again
<apoorv569[m]>this is slim configuration
<mirai>can you show both working and non-working
<mirai>to diff them side by side
<apoorv569[m]>full config or just the slim and lightdm service section?
<mirai>that error is strange
<mirai>for starters, your lightdm-seat-configuration is missing the 'name' field
<mirai>or at least it should complain about a missing value
<lechner>Hi, would someone be so kind and help me with this error message for a new service? Both are here
<gulab-jamun>"debian Pastezone"
<apoorv569[m]>That was it ... it needed the name field
<lechner>Wrong type to apply: (no serialization)
<apoorv569[m]>I put (name "*") I get new error now :D
<apoorv569[m]>`machiney.scm:290:46: error: invalid value "/home/apoorv/.guix-profile/share/backgrounds/gnome/LightBulb.jpg" for field 'background'`
<apoorv569[m]>doc says background needs file-like type and not a string
<apoorv569[m]>what is file-like type?
<mirai>apoorv569[m]: things like (plain-file ...) (local-file ...)
<apoorv569[m]>whats the different between plain and local file?
<mirai>they're documented near the manual section "G-Expressions"
<mirai>local-file takes a path to a file
<mirai>plain-file is to create a file containing some strings
<mirai>there's more variants
<mirai>see the manual
<apoorv569[m]>Ok found the docs
<unmatched-paren>hello guix :)
<apoorv569[m]>I used `(local-file "PATH_TO_FILE")` it works now
<graywolf>Lol I figured out the memory usage problem. this-operating-system seems to be tricky to used combined with (inherit) :D Yeey recursion
<mirai>graywolf: yeah, you can't do that
<apteryx>can't with-source be used with with-patch?
<apoorv569[m]>`guix home: warning: cannot determine provenance for current system`
<apoorv569[m]>What is this warning about?
<lechner>Hi, I am trying to finish the cachefilesd service, which I use extensively (but manually). What does this error mean, please? #<<cachefilesd-configuration> cachefilesd: #<package cachefilesd@0.10.10 gnu/packages/linux.scm:9212 7fd6d514ff20> debug-output?: #f use-syslog?: #t scan?: #t cache-directory: "/var/cache/fscache" %location: #<<location> file: "/home/lechner/config/system/host/lechner-desktop/../../service/cachefilesd.scm"
<lechner>line: 185 column: 31>>: invalid G-expression input
<dthompson>I wish the certbot service also installed a one-shot shepherd service for when you want to run it manually and not wait for cron, such as after a 'guix deploy'
<graywolf>Any idea what could error `guix archive: error: mkstemp: Not a directory" on boot be about? The ,bt does not seem to give anything useful (I could post a screenshot, but unsure what is a paste service for those)
<lechner>dthompson / there is certbot certonly --standalone (after herd stop nginx)
<apoorv569[m]>is the #:export not equal to (export )?
<dthompson>lechner: but you'd have to put certbot in the system profile and all that
<dthompson>`herd start certbot` would be much easier
<apoorv569[m]>Why this works.. and this doesn't?
<lechner>you may need to run certbot on other occasions, as well
<pjals>on very few occassions, so its probably more practical to do guix shell anyway
<lechner>i can't because my root cannot my user guix, and i do not wish to pull as root, too
<lechner>use my user's guix
<lechner>tongue twister
<vagrantc>sneek: botsnack
<unmatched-paren>i think i'll start writing the third blog post now. hopefully explaining gexps won't take so long :)
<dthompson>the totem provided by the gnome desktop service doesn't seem to be able to play any videos. I tried mkv and mp4. are we expected to add in gstreamer packages or something?
<dthompson>ah I just found a mailing list thread that seems relevant! question potentially answered!
<apteryx>try something like theora or ogg
<apteryx>otherwise install gst-plugins-*
<dthompson>ah totem depends on gst-plugins-base and gst-plugins-good but not gst-plugins-bad
<nckx>graywolf: Pure guess based on what little info we have, but is /etc/guix a directory?
<lechner>Hi, conceptually please what does "invalid G-expression input" mean?
<unmatched-paren>lechner: what's your G-expression look like?
<unmatched-paren>post 4 will be "Packages and Build Systems", I think
<unmatched-paren>then 5, about "Inputs and Grafts"
<nckx>lechner: Not sure if this is conceptual enough, but ‘you tried to gexp something that can't be gexped’. More useful is probably ‘you tried to gexp something that doesn't have a gexp compiler’.
<lechner>i wish the "you" were true
<nckx>It usually just boils down to ‘you didn't gexp what you think you gexped’, though.
<nckx>lechner: Guix?
<unmatched-paren>nckx: s/you tried to gexp something/you tried to ungexp something/, surely?
<lechner>okay, if it's not too much of a burden, here is my update cachefiled service. The error is line 184
<gulab-jamun>"debian Pastezone"
<unmatched-paren>there doesn't look to be any invalid ungexp in there...
<unmatched-paren>oh, i think i might see the problem?
<unmatched-paren>line 152
<unmatched-paren>(configuration-file #~(serialize-cachefilesd-configuration #$config)) should be (configuration-file (serialize-cachefilesd-configuration config)), i believe
<unmatched-paren>the ungexping of ``config'' is causing 'Invalid G-expression input', I think
<PotentialUser-0>hey to open a bug report to I send an email to just or do I send an email to a specific number from there? because I sent an email around 2 hours ago but nothing in the issue tracker
<PotentialUser-0>and there is a new issue since then
<lechner>the mysteries of email
<unmatched-paren>PotentialUser-0: -- create new bug, -- reply to bug NNNNN
<PotentialUser-0>hmm then maybe its stuck in spam
<nckx>unmatched-paren: I see your point. I think we mean the same thing though.
<nckx>PotentialUser-0: Nope. But it can well be stuck elsewhere, the GNU mailing server gods are cruel and unusual, but usually relent after at most a few hours.
<nckx>Don't file a new bug just yet, go do something fun, although I do apologise for the inconvenience.
<PotentialUser-0>I will wait until tomorrow morning and see then
<PotentialUser-0>the bug fyi is that the chromium example here doesnt work
<PotentialUser-0>or its missing context
<lechner>unmatched-paren / thanks! that fixed that error
<gulab-jamun>"GNU Guix Reference Manual"
<lechner>Hi, when is "no-serialization" from g/s/configuration.scm be surrounded by parens, please?
<unmatched-paren>lechner: no problem! remember -- the only things that can be #$ungexped are: things that can be ,unquoted, like lists, numbers, strings, etc, and any record that has a gexp compiler defined with the DEFINE-GEXP-COMPILER macro
<unmatched-paren>for instance, the <package> object has a compiler defined through something like this: (define-gexp-compiler (package-compiler (package <package>) system target) ...)
<lechner>now i get Wrong type to apply: (no serialization) Anybody seen that?
<nckx>PotentialUser-0: Probably just out of date. I'd try it, but due to another (unrelated, reported) bug it wants to build chromium and I don't have an existing binary.
<PotentialUser-0>it also is reproducible in icecat
<unmatched-paren>lechner: that looks like you forgot the dash...?
<PotentialUser-0>and lagrange and nyxt
<unmatched-paren>(no serialization) rather than (no-serialization)
<PotentialUser-0>nyxt has a more thorough error though
<unmatched-paren>PotentialUser-0: what's the error?
<lechner>unmatched-paren / i didn't. it got unquoted
<gulab-jamun>"guix/configuration.scm at master · guix-mirror/guix · GitHub"
<nckx>ACTION downloads IceCat.
<gulab-jamun>"debian Pastezone"
<nckx>IceCat loads fine here.
<gulab-jamun>"debian Pastezone"
<nckx>Any difference if you remove the ^ from the regexp?
<nckx>I'm running Xwayland, perhaps you're not?
<PotentialUser-0>its X here. With stupmwm
<PotentialUser-0>without container it works fine
<unmatched-paren>lechner: you need to use EMPTY-SERIALIZER, not NO-SERIALIZATION, i believe
<PotentialUser-0>i saw some solutions about xhost and giving permissions in a xinit file. But I dont think it could work. And also its guix so maybe it could work
<nckx>Heh. I was just grepping for forgotten xhost invocations in my dotfiles…
<elevenkb>yah about my error build daemon related error `invalid option name/value` from yesterday...
<elevenkb>it is still there, I can bring it back by reconfiguring my operating system.
<PotentialUser-0>i tried adding xorg-server to the packages available in the container but nothing
<lechner>unmatched-paren / i think that's getting super close. (i see parts of the generated config). now i get this error, however: Wrong type (expecting string): #<gexp gnu/services/configuration.scm:124:2 7fcbe1498660>
<gulab-jamun>"debian Pastezone"
<nckx>PotentialUser-0: That shouldn't make a difference, but it's not like I have any better suggestions at the moment.
<ieure>Atari Battlezone > Debian Pastezone
<nckx>I copy-pasted your command just in case. Still works.
<PotentialUser-0>but why? hmm
<nckx>I'm not confident that Sway isn't doing some automatic authorisation for its clients, somehow.
<nckx>‘What’ is in that's a stupid hypothesis?
<nckx>*as in
<nckx>I know nothing about Xwayland.
<lechner>no, i think i did not appreciate the complexity of the issue when i wrote that
<PotentialUser-0>and its in a container so the only thing that should be affecting it is the system
<nckx>ACTION tries the other browsers, maybe one of them will fail.
<PotentialUser-0>so looks like an x specific issue
<nckx>Nyxt fails to render anything (empty light-grey window) but it does not look related. I'm pretty sure your auth errors are not red herrings. Did you try ‘xhost +’ or anything similarly desparate/insecure, just to test?
<jlicht>hey guix
<mirai>how/where/what do I do to propose turning a kernel option on?
<lechner>which one?
<mirai># CONFIG_NET_DROP_MONITOR is not set
<mirai>won't hurt to have this turned on by default no?
<lechner>nckx did the BPF thing recently via email
<nckx>Asking me or lfam is the fastest way.
<mirai>I'm packaging dropwatch for guix
<mirai>which depends on the kernel having that
<unmatched-paren>lechner: you seem to be trying to string-append a gexp
<apoorv569[m]>I got lightdm working but the session list on top right is empty and I can't login because there is no session
<unmatched-paren>actually, i think the error might be in one of the serialiser procedures
<lechner>unmatched-paren / yeah, except my position is that my computer is trying, not i
<mirai>nckx: for reference, the message I get is 'Unable to find NET_DM family, dropwatch can't work' and <>
<gulab-jamun>"dropwatch not working anymore with latest kernel 5.17.4 · Issue #68 · nhorman/dropwatch · GitHub"
<nckx>mirai: This looks OK to me. I'm usually quite happy to enable tristate options as m.
<PotentialUser-0>nckx: still nothing guix shell --container --network --no-cwd icecat xvfb-run xorg-server-xwayland xorg-server xhost --preserve='^DISPLAY$' -- xhost + && icecat
<PotentialUser-0>Authorization required, but no authorization protocol specified
<PotentialUser-0>xhost:  unable to open display ":0.0"
<lechner>unmatched-paren / which one, please?
<PotentialUser-0>thats the correct way right?
<nckx>Eh, not quite but I'm distracted by the display error.
<mirai>nckx: I've no idea what the module may be called
<nckx>As written (maybe you ran something else) icecat does not execute in the container.
<mirai>the doc for it doesn't say
<unmatched-paren>lechner: i don't know
<PotentialUser-0>that was the command i executed
<gulab-jamun>"Kconfig « net - kernel/git/torvalds/linux.git - Linux kernel source tree"
<unmatched-paren>maybe try to add #~ to the format call in one of them and ungexp the variables inside
<PotentialUser-0>short version with the error still there: guix shell --container icecat --preserve='^DISPLAY$' -- icecat
<PotentialUser-0>Unable to init server: Could not connect: Connection refused
<PotentialUser-0>Error: cannot open display: :0.0
<nckx>PotentialUser-0: You could either add bash to the container & use
<nckx><long guix shell command> bash -- sh -c 'foo && bar’
<nckx>Or just leave off the ‘-- …’ entirely and run both manually.
<PotentialUser-0>@anon ~$ guix shell --container icecat --preserve='^DISPLAY$'
<PotentialUser-0>@anon ~ [env]$ icecat
<PotentialUser-0>Unable to init server: Could not connect: Connection refused
<PotentialUser-0>Error: cannot open display: :0.0
<PotentialUser-0>@anon ~ [env]$
<nckx>And xhost fails with the same ‘cannot open display’ error, right?
<nckx>‘xhost +’ to be exact.
<lechner>mirai / nckx / is it "drop_monitor" ?
<gulab-jamun>"LKML: Masahiro Yamada: [PATCH] net: drop_monitor: make drop_monitor built-in"
<PotentialUser-0>@anon ~$ guix shell --container icecat xhost --preserve='^DISPLAY$'
<PotentialUser-0>@anon ~ [env]$ xhost +
<PotentialUser-0>xhost:  unable to open display ":0.0"
<PotentialUser-0>@anon ~ [env]$ icecat
<PotentialUser-0>Unable to init server: Could not connect: Connection refused
<PotentialUser-0>Error: cannot open display: :0.0
<PotentialUser-0>@anon ~ [env]$
<mirai>lechner: that link seems to say that building as a module fails
<lechner>unmatched-paren / thanks, i'll try that again but folks have told me it should make no difference
<nckx>lechner: Yes it is.
<lechner>mirai / sorry, above my paygrade :)
<mirai>and that =y is the right way
<nckx>PotentialUser-0: Sorry, that was a bot quieting you for what appeared as spam (many lines at once). IRC culture is to use a paste site like for that.
<mirai>well, the OP retracts it later
<nckx>PotentialUser-0: No need to be.
<mirai>but in either case, I'd be good to have CONFIG_NET_DROP_MONITOR set in guix
<mirai>whatever the value, as long "it works"
<PotentialUser-0>so what i got was:
<gulab-jamun>"debian Pastezone"
<PotentialUser-0>with everything manual
<nckx>PotentialUser-0: Does --share=/tmp work?
<nckx>Also, is this a Guix System or something else?
<bdju>is it possible when trying to guix install a newer commit of something than is packaged to tell it to build with just one thread?
<nckx>mirai: Sure, sounds reasonable.
<nckx>bdju: I'm not sure if ‘--cores=1’ is what you mean…
<bdju>I don't know what I mean either. I'll give it a go
<bdju>how can I tell if it worked? I mean it's trying to build again but for all I know it could have silently dropped that argument
<bdju>I put it at the end
<nckx>There's also --max-jobs with determines the number of ‘Guix builds’, where --cores is supposed to be honoured by the builds themselves, i.e. the equivalent of ‘make -j’ etc.
<nckx>bdju: Guix should not silently drop arguments.
<bdju>I did: guix install foo --with-commit=foo=bar --cores=1
<nckx>Can't you look at {,h,…}top?
<nckx>Yes, that is correct.
<nckx>I have to go. Might return. o/
<bdju>cpu% of the build process is under 100% so maybe it worked.
<PotentialUser-96>the --share=/tmp worked. I can start icecat now
<lechner>unmatched-paren / i had forgotten a single (with-output-to-string (lambda () (...))) in a crucial place. Thanks again for your invaluable help and friendship!
<unmatched-paren>lechner: happy to help :)
<PotentialUser-96>if I add --no-cwd it doesnt work for some reason but without it works
<bdju>okay the --cores=1 worked (build log shows -j 1 now) but the build still failed. oh well.
<PotentialUser-83>i'm having some issues installing, i'm getting the error message "the selected network does not provide access to the internet and the guix substitute server" even though it was working fine the other day on this network, does anyone know what could cause this?
<nckx>PotentialUser-96: OK! I suggested that because there's a socket in /tmp/.X11-unix that talks to your running X server (you could try --share=/tmp/.X11-unix to test that assumption, and for more isolation). However, that's only half of the story: I do not have that socket exposed in my container, yet icecat can talk to X. I don't know why, but I suspect socket (‘@’) namespace issues and the --share ‘fix’ working because it falls back to using the file.
<nckx>I hope the current state is good enough for you for now.
<lechner>that's sad
<lechner>Hi, what's a good way to compare a value declared with 'define-maybe' to %unset-value, please?
<lechner>ACTION sometimes longs for overloading in Guile
<ieure>lechner, I legit really like CLOS, it's pretty great.
<lechner>Hi, should 'guix system roll-back' warn if the current generation (and the one before it) were created with much more recent guix versions (via guix deploy)?
<lechner>error: #{% <setuid-program> rtd}#: unbound variable
<lechner>ieure / thanks for that pointer! i thought i said good-bye to objects when i drank that functional cool-aid. i'll have to have a look
<Guest6329> why is contents a list of strings instead of variables?  Kinda looks weird
<gulab-jamun>"Web Services (GNU Guix Reference Manual)"
<jackhill>best bot name! yum!
<ieure>lechner, It's the best OOP system I've ever used, honestly. I suspect performance isn't terrific, but the flexibility and de/composability is unmatched.
<jackhill>ieure: cool. I've never used it. Do you know how it differs/exceeds goops?
<lechner>ieure / after some time with declarative systems like SQL and Haskell, the issue may be on the other side of my eyeballs!
<ieure>jackhill, I've never looked at goops, so I have no idea.
<ieure>You can write very generic classes that get mixed in with others via multiple inheritance, which lets you write very focused code which nevertheless is widely applicable. Almost like function composition, but with objects. It's great.
<mirai>gulab-jamun: you are right, it doesn't look too nice
<mirai>Guest6329: ^^
<mirai>there's one (two?) reasons for it
<lechner>gulab-jamun says thank you for that recognition of personhood, despite the multiple personalities issue
<ieure>jackhill, Just skimming the GOOPS docs, it looks like it's similar to CLOS, even has a MOP.
<mirai>the httpd config structure doesn't lend itself too well to be expressed as scheme records
<lechner>patches welcome, i think
<mirai>the second reason I suspect is that httpd doesn't get that much attention?
<mirai>I think nginx is picked more often here
<jackhill>ieure: yeah, I thought it was at least inspired by, but not knowing CL as much ist's hard for me to judge what I'm missing :)
<mirai>though it still suffers from the string-itis but to a lesser degree
<ieure>jackhill, If it has a MOP, probably there's little to nothing missing.
<mirai>lechner: the difficulty isn't exactly "too much work" here
<lechner>i know
<mirai>it's how should you represent that data structure
<mirai>not exactly trivial
<ieure>Support for MOP is the quickest way to judge a CLOS-like, IMO. If it supports MOP, it's likely a very full and reasonable implementation. MOP is the corner that gets cut on many CLOS-likes.
<jackhill>cool, thanks!
<mirai>lechner: did you figure out the issue with your service?
<lechner>Hi, should new services show up in 'herd status' after a deploy/reconfigure but before a reboot?
<lechner>mirai / it's deploying but i am reluctant to reboot during a productive day
<mirai>I think they should
<lechner>not goof
<mirai>lechner: have you tried running them through a vm first?
<mirai>that is
<mirai>guix system vm --no-graphic "/path/to/config.scm"
<mirai>you can create a dummy config.scm just to see if it "works"
<mirai>better yet, write a system test for it
<Guest6329>mirai: Thanks for the explaination
<lechner>i don't know how to do any of those things
<mirai>see gnu/tests/audio.scm or gdm.scm for simple examples
<mirai>just see the files under gnu/tests
<lechner>at this point, the service is declared in my config
<mirai>to get them running: make check-system TESTS=mympd (for example)
<mirai>Guest6329: anytime
<lechner>mirai / i see this %exception #<inferior-object #<&action-exception-error service: root action: eval key: unbound-variable args: (#f "Unbound variable: ~S" (debug-output?) #f)>>
<lechner>i know
<lechner>mirai / unmatched-paren / thank you! success! docs and tests are next
<elevenkb>does anyone run guix system on a VPS?
<elevenkb>maybe docker?
<pkal>anyone or anyone here?
<elevenkb>i'm here but an utter n00b.
<elevenkb>what's up?
<pkal>What I mean is do you want to know if it is feasable or if anyone here has experience.
<elevenkb>yah i'm interested in whether it is feasable and what the best way of doing it would be.
<elevenkb>i'm aware of Tropin's way of replacing ubuntu with guix system
<elevenkb>seems like a good approach but the issue is that i don't want to get into trouble with my cloud provider
<elevenkb>mostly because i don't want to lose the free credits i've got.
<yewscion>I run Guix on Linode/Akamai. I have two systems running constantly, one for personal substitutes and one for my various web/gemini/wesnoth/etc servers.
<mirai>anyone willing to critique this documentation revision? <>
<gulab-jamun>"Untitled - Pastebin Service"
<elevenkb>thanks yewscion
<lechner>mirai / looks great. i might avoid the "you" in line 15 and use more passive language, as in "should satisfy most usage cases."
<yewscion>elevenkb: Sorry if that's unhelpful; Unsure of what You are asking, really.
<elevenkb>yewscion: it is kinda helpful. for more context, my current VPS provider is
<elevenkb>the issue is that they only provide ubuntu variants and a "docker" option that only lets you load ubuntu as a base image.
<elevenkb>so i either:
<elevenkb>1. switch cloud providers to, e.g. Linode as according to your suggestion
<elevenkb>2. find a way to convert a running ubuntu vm into a guix system vm.
<mirai>lechner: imo rewriting it to something "These default values should satisfy most usage cases" subtly alters the meaning
<mirai>you might wonder to yourself "what is 'most usage cases'?"
<lechner>my replacement wording did not receive the same scrutiny or thought as your wording
<mirai>its non-descriptive and doesn't help the reader
<lechner>i believe the direct you style is inappropriate. in debian we also had that issue in package descriptions
<mirai>because it introduces non/ill-defined elements into the phrase ('most usage cases')
<lechner>this is about the 90% of communications that does not involve facts or being accurate
<lechner>i think there are many nice ways you can advertise utility without confronting the reader
<lechner>Hi, how may I require the explicit setting of a configuration option, please?
<mirai>when it comes to using the direct style, in general I don't think the reader should be handled with mittens (overly done its either infantilizing or results in a boring read)
<mirai>though that's not really the issue at hand here
<lechner>you are doubling up but that's okay. it's a common reaction to a review
<f3n1x>My question to the guix community today is the following: How do you guys run 'guix home reconfigure' guix home configure' so that it does not eat all your CPUs power ? thanks, thanks, thanks beforehand!
<yewscion>elevenkb: Hmm, looking at the docs for that provider, I understand why You hesitate to do a swapover like in the cookbook. They seem more focused on running various applications on top of an Ubuntu host, rather than hosting arbitrary OSes.
<lechner>f3n1x / it's a big problem?
<f3n1x>well, lechner ... not thaat big
<elevenkb>aww thanks for the effort yewscion. i'll try just asking (TM) and see what happens.
<lechner>f3n1x /
<gulab-jamun>"Cute Dinosaur Card T-rex I Love You This Much Love Card - Etsy"
<nckx>ACTION made it back.
<mfs5173>Hello guix, Can someone explain to me what the difference between packages listed in ~firmware~ and packages listed in ~packages~ when declaring an operating system?
<nckx>ACTION brushes feathers, brownie crumbs, and octopus ink off shoulders as if nothing happened.
<nckx>As a reader, I prefer being addressed if the alternative is the hegemony of the passive and a less pleasant read. There's no policy mandating either in Guix.
<mirai>lechner: I am actually wondering how to rewrite this in the passive without introducing ambiguities
<mirai>and I have no clear idea how to without having to resort to vague things like 'most usage cases'
<lechner>mirai / it's probably because, as a technically brilliant person, you prefer direct speech. good writing is hard, and good technical writing is a separate job
<lechner>but with nckx weighing in, you should feel affirmed
<nckx>mfs5173: Both are handled by a different service and I don't think they have anything in common: the firmware service tells the running kernel (through /sys) where it can find firmware when a driver requests some. The packages field makes packages available in your system profile, i.e. available in PATH etc. No overlap really.
<nckx>lechner: I'm sure you could find someone who agrees with you! I just wanted to confirm that there's no rule, as I took your statement about Debian to imply they do have one.
<mfs5173>nckx: I see. Firmware are packages which provide their contents to the kernel though a special mechanism similar to kernel modules?
<lechner>mirai / i do not accept your precision point, however. how are "most usage scenarios" different from "For most setups this is what you want" if you please?
<nckx>‘Readability wins’ is our (admittedly prone to bikeshedding rule), although there's a little bit of GNU-ish ‘let's be conversational, friend’ thrown in compared to other projects, especially Big Serious Projects.
<lechner>unless whispered into an ear, "you" is not generally perceived as friendly
<nckx>mfs5173: Basically, yes! If you ignore the details (as most users should).
<mfs5173>I am trying to port guix to an fpga so these are exactly the details I'm interested in learning
<lechner>that is going to work?
<mirai>lechner: it may seem that the phrase is ambiguous, but it is deliberately so, and it is up to the reader to challenge whether they are happy with the arrangement.
<nckx>mfs5173: Well, it won't teach you *that* much about kernel internals, but see <> for a bit more detail. :)
<gulab-jamun>"activation.scm\build\gnu - guix.git - GNU Guix and GNU Guix System"
<mirai>the passive one simply leads to the question "what is 'most usage cases'
<mirai>direct one places the onus on the reader
<lechner>mirai / so it's okay for you to be ambiguous, but not for me. plus, you are shifting a burden on the reader, not i
<lechner>in my reading, your version forces the reader to choose right then an there
<mirai>though I stand by my original point that this is not a you vs passive at game here
<mirai>its that the phrases are semantically distinct
<lechner>i'd also like to test nckx's "conversational" point. do we have a lot of instances of "you" in GNU documentation?
<wdkrnls>Dear guix, I keep hearing about all the introspection capabilities in Guile, but I'm have a lot of trouble finding them.
<mirai>lechner: the reader doesn't really choose right and there though, the reader has to "choose" straying over the common path
<mirai>from the**
<wdkrnls>I am still trying to package up my workflow and I have been pointed to an unexported procedure.
<nckx>There is a lot about this discussion that will never be resolved (for example, *I* fundamentally disagree with ‘you’ being unfriendly—we are simply different). Without trying to be a mediocre mediator here: I find the passive vs. ‘you’ irrelevant here. Both contain ‘most setups’, both are vague, I honestly can't tell a difference, and I agree that it *could* be improved.
<wdkrnls>For the life of me I cannot figure out how to get at it.
<wdkrnls>I know about @@, but it doesn't work.
<nckx>Whatever that improvement is can be prefixed with ‘you want’ or ‘suitable for’, it hardly matters as much as is implied here.
<nckx>I'll stop now.
<wdkrnls>I want to get at (@@ (guix build-system python) package-with-explicit-python)
<lechner>mirai / it is not necessary for you and i to disagree in this forum. i do not have an axe to grind and only responded when you asked. i am, however, entitled to my opinion, and you are to yours
<lechner>as you are entitle to yours is a better ending
<mirai>no axe grinding here
<nckx>lechner: Beware that I am biased by (and in favour of!) Guile, and then the answer is ‘absolutely hell yes’ 😉
<wdkrnls>I can run `,in (guix build-system python) ,binding`.
<wdkrnls>But that doesn't show unexported bindings.
<mirai>for a replacement here, it has to meet this "simple requirement": its up to the user to decide that he wants to change the default values
<nckx>And it didn't take any getting used to for me to prefer it. It was immediately more readable. I'm sure that's 100% subjective, and that's fine, but I'm happy to falsify any claims to generality.
<mirai>under what conditions should/does he is left unanswered
<mirai>the example provided is "informative"
<nckx>wdkrnls: I'm not a Guile developer, but could this be due to declarative modules? The definition's not used anywhere else and *may* be inlined when Guile sees fit. That's all I know.
<mirai>we do not want any text that can be interpreted as a suggestion
<nckx>wdkrnls: I don't mean to imply you're wrong for wanting/needing it, but note that ‘@@’ *is* a hack, not a guaranteed-to-work feature, and there are known cases where it doesn't.
<f3n1x>ACTION is wondering if there is 'a third way' ... in his current guix workflow
<nckx>wdkrnls: My unsatisfying answer is to copy the procedure or argue for its usefulness to see it exported.
<f3n1x>is there a way to somehow limit the number of maximum computing resources that commands like "guix system reconfigure .. " or "guix home reconfigure .."" ? thanks, thanks, thanks
<f3n1x>ACTION head rings a bell about 'cpulimit' or something like ?
<nckx>ACTION .oO Does ‘@@’ look like X-ray specs — (@_@) — to anyone else? …no? Just me? OK sorry never mind.
<wdkrnls>nckx: Thanks, I think you are right. I probably just need to copy the whole file.
<mirai>lechner: nckx How about plainly erasing that paragraph?
<mirai>Will the example suffice?
<lechner>mirai / please don't be so hard on yourself. just keep it the way it is!
<mirai>for context <>
<gulab-jamun>"Re: Untitled - Pastebin Service"
<lechner>you are a technical genius. it is far more important that all of your changes make it into the repo
<mirai>the example looks self-documenting to me?
<mirai>I'm a proponent for "proper documentation"
<nckx>f3n1x: I think the next step up from ‘nice’ is cgroups. The API for that has been completely redone since I last used those, and it (also) requires a single piece of software to manage them. On most systems that's systemd (slices). Guix/Shepherd have no such thing built in. Maybe there's a stand-alone one.
<mirai>what is undocumented doesn't exist
<mirai>what is poorly documented should be rectified
<lechner>bugs exist so they can be fixed later
<lechner>let someone else complain, and take the plunge
<mirai>the documentation should reflect the desired behaviour
<lechner>the author should not be hindered in important work
<f3n1x>thX nckx , nice to know !
<nckx>Muh, I probably made a mistake by diving into this. My personal opinion is that I prefer ‘You’; I find the sentence hard to read because of the lack of commas, no other reason. I don't personally object to ‘most setups’ at all.
<nckx>It's OK to say something is common when you're very sure it is. And until I push my telemetry commit tonight when everyone's asleep, that's the best we can do.
<f3n1x>the situation i'm trying to alleviate is the one in wich the system stays (almost) irresponsive while in processes like building a derivation.
<f3n1x>It could last lots of hours ...
<nckx>I'd expect nice to address this provided the reason truly is CPU contention, and not RAM (swapping).
<mirai>the example looks self-documenting to me but there's <>
<mirai>whatever, we can bikeshed this later
<mirai>lets get the important parts out first
<mirai>out for review that is
<nckx>f3n1x: For completeness, don't forget that you can set Guix's --cores & --max-jobs too. They are very blunt hammers but better than nothing.
<nckx>You can even pass them to the daemon, and override them on the CLI only when needed.
<nckx>We could CONFIG_PREEMPT_VOLUNTARY → CONFIG_PREEMPT on a distro level to make our kernel feel slightly snappier. There's also that automatic process group scheduler whose Kconfig name I forgot.
<f3n1x>oh . Niiice to know . Renice xD
<mirai>nckx: I've noticed I didn't use --base=auto for <>, does that patch need resending?
<nckx>Not on my account.
<nckx>Just set it in your Guix .git/config so you don't have to remember each time.
<mirai>btw, I CC'd you to that one since it's what brought the NET_DROP_MONITOR kernel config thing up
<nckx>I have format.useAutoBase = whenAble.
<nckx>I'm currently test-building all kernels with it.
<mirai>thanks for the git config suggestion
<nckx>lechner: I forgor! What was ‘sad’ earlier? :)
<graywolf>So, I had my first try at debuging failing boot after being dropped into the repl. I have to say, once I got over the cultural shock of it not being emergency posix shell, It was quite an experience. Being able to ,bt separate frames of the failed boot script feels crazy powerful. And even I, with my noob level skills in guile and guix managed to figure out what the problem was (it did not like
<graywolf>/etc/guix being file).
<graywolf>I don't really have deeper point to make, I was just really taken aback by how smooth it all was.
<nckx>Oof, I suggested as much earlier, sorry that you missed it :-/
<nckx>…I mean it was all part of my plan to make you learn!
<mirai>I'm surprised that you could get something meaningful from the backtrace
<futurile1>Q: I have a Rust create (rust-if-addr-sys) which is an input to another crate (rust-if-addr). How would I find that out - I thought that guix graph --type=reverse-package rust-if-addr would show this, but it's not showing it. Where I'm updating a crate, I want to find all the other crates/apps that depend on it and make sure they build.
<mirai>most of the times guile has crapped itself on me I only got gibberish for bt
<graywolf>,bt 2 #:width 120 have me the paths is is trying to symlink, from there on stat and stat:type
<nckx>I find that REPL to be an unusable horror and always try to escape it ASAP. I'm surprised but very happy you made it work for you.
<unmatched-paren>futurile1: the problem is that Cargo is evil so we need to do other evil things to make it work with Guix so ultimately we end up with a system where cargo inputs aren't Real Inputs.
<nckx>graywolf: Do you know why /etc/guix was a file?
<unmatched-paren>Garbage in, garbage out, as they say.
<nckx>A bit stronger than even I would have put it and yet… can't say you're *wrong*, exactly… dammit… :)
<graywolf>Yeah, in my install script I'm doing cp channels.scm /mnt/install/etc/guix ; usually it copied it under that directory, but since the directory did not exist yet... At least that is my hypothesis, testing it out now
<unmatched-paren>futurile1: so guix doesn't actually recognise cargo inputs as inputs per se.
<graywolf>So definitelly my fault :)
<nckx>Graceful of you to accept the blame, but if you were to file a UX improvement bug you'd be justified.
<mirai>unmatched-paren: the out part needn't come entirely scrambled so that it bears no resemblance to the input
<graywolf>I mean, I would definitely prefer the system to boot right, but when I compare it with my experience of debugging failed boots for alpine or archlinux, it was interesting experience (and better imo)
<futurile1>unmatched-paren: it definitely feels like Cargo is "evil: - from my massive dependency tree of packaging - so basically just have to do a grep. Thanks for the answer.
<unmatched-paren>futurile1: it'd probably be possible to write a program to output a cargo input graph, though
<nckx>By the way: there's an answer to this! The ‘new’ antioxidant-build-system replaces cargo-, and doesn't suffer from this issue. It also brings other improvements.
<nckx>Unfortunately, development and merging has stalled, but if anyone's looking for a project…
<ae_chep>I feel like rust+cargo is going through what node+npm did with yarn and then npm again
<apteryx>upstream is
<nckx>lechner: So the bot parses images/binaries, prints it to your IRC client, and crashes? What if someone posts the complete Bee Movie MP4?
<mirai>it gets stung to death
<mirai>and quits
<lechner>nckx / i have to test for text/html but so far i have not done so because i fear they could be lying
<mirai>for what the bot does, I think BEAM is the perfect fit for it (i.e. write in Erlang/Elixir)
<mirai>or LFE?
<apteryx>there's a coreutils re-implemnted as rust; it has a Cargo.lock file that makes 3.6kloc:
<mfs5173>I think it will be in the bootstrap in no time
<lechner>the whole thing would be no big deal if people would stop posting pictures here. what happened to all that technical discipline, anyway? did this place get to light-hearted?
<lechner>we are doing french again, #1234
<lechner>it does not do unicode nicks
<crepe-suzette>"28.1; Tramp prompting for password even with an existing .authinfo.gpg file"
<ellysone[m]>hey guix!
<ellysone[m]>Does anyone knows if you can include arbitrary files via the guix system image api ?
<ellysone[m]>the idea would be to create a vm with nginx serving the webist eform the get go, no need to rsync,ansible...
<rekado>apteryx: a colleague dusted off his old Guix installation from 2019, and ‘guix pull’ fails because ‘raise-exception’ does not exist
<rekado>my guess is that the changes to the platform code make assumptions about the (minor?) version of Guile that is used by Guix, but we cannot reliably make these assumptions as the Guile version used to compute the pull derivation may differ.