IRC channel logs
2025-10-27.log
back to list of logs
<simendsjo>Finally took the time to add g-expression support to the emacs package lispy. No longer will formatting (#$x) result in (nil x)! How much time have I spent tracking down those nils?! https://github.com/enzuru/lispy/pull/17. But I guess there are few lispy users here, but I'm an old vim convert and need my evil ;) <apteryx>it looks like the new mmap binding I made in https://codeberg.org/guix/guix/pulls/3737 is not available when building a gexp? It looks like Guile's `dynamic-func` does not resolve the underlying `mmap` system call from glibc. Works in other enviromnents. <apteryx>this fails for example 2 of the tests/debug-link.scm tests. <apteryx>ah think glibc would need to be on LIBRARY_PATH <apteryx>I'm guessing perhaps because guile-bootstrap, which the test suite uses, is built statically or something. <apteryx>that happens because `open-connection-for-tests' in (guix tests) sets the %guile-for-build fluid with (%guile-for-build (package-derivation store %bootstrap-guile)) <apteryx>was there a way to test for the real guix-daemon availability and use it in a unit test? <apteryx>test-env.in sets a daemon which can't fetch guile-3.0 <apteryx>I think tests/store-roots.scm may be an example of how to use the actual daemon; in my case I'd also need to fix the substitute urls. <apteryx>the "appimage + localstatedir" test also uses the user's store to fetch guile-3.0 <vhns>Where do I see which filesystems, especifically for usage as /, are supported by Guix? Tried my hand at poking around the source tree to no avail. <vhns>The following code snippet: https://paste.debian.net/1402894/ is returning: error: (mapped-device (source "mainvg") (targets (list "mainvg-home" "mainvg-varlog" "mainvg-var" "mainvg-root")) (type lvm-device-mapping)): invalid field specifier <vhns>I'm not sure why, according to the manual lvm-device-mapping is a valid type. <vhns>nvm still the same error <vhns>I wasn't enclosing the (mapped-device) within a (mapped-devices) list <vhns>so (mapped-devices (list (mapped-device (source "mainvg")...)) <jlicht>I'm storing my declarative profiles in scm files, but my geiser goes to a farm upstate since I included texlive; is there a way to prevent geiser from 'printing' the full representation of entire manifest expression when eval'ing the file? <bdju>Does anyone have a system config I can look at/copy where docker is working? Someone's asked me to do something with docker and I'm worried the setup on Guix System will be unusually complicated. <bdju>I think it needs groups and stuff and isn't just a `guix install` away. <cbaines>bdju, this is why there's the docker-service-type, I think that should add the required groups <vhns>bdju: be sure to add iptables-service-type and containerd-service-type, last I checked the documentation doesn't mention them as a requisite <bdju>If I add those three services, is that sufficient, or do I also need to add docker as a system package? <bdju>Ah, I had to add a use-service-module. <bdju>I'm getting `docker: permission denied while trying to connect to the Docker daemon socket` when trying `docker run hello-world`. Do I need to log out or reboot or something? <vhns>bdju: did you add your user to the docker group? <vhns>that's one other thing you oughta do <bdju>I thought maybe the service took care of that. Okay, I'll do that then. <vhns>yeah, no, it has to be added <bdju>Nice! It's working now. Thanks. <vhns>really wish patching the documentation was somehow easier, especially for this sort of stuf... <futurile>Q: is there a way to run a procedure over an origin before it's placed in the store? I'm trying to download an ubuntu image, but I did to change it's size for the system tests to work. <cbaines>futurile, what do you mean by run a procedure? <cbaines>if you're looking to make the fixed output derivation do more, I think that's possible <futurile>cbaines: yeah I'd like to "process" the fixed output derivation before it's added: basically call qemu-img resize 'blah' on it - the distro image is too small for our tests. I'm searching through gnu/ as I'm sure someone has had to do this before <cbaines>futurile, the <origin> includes a field for this, it's the snippet <cbaines>if you use a gexp, you should be able to make use of qemu-img resize <futurile>cbaines: ah ofc, should have thought of that! thanks <linfan>have guix gnome on VBox now, although my ultrawide screen is not supported. <cdegroot>vhns: isn't patching the docs as easy as opening a pull request on codeberg? <cbaines>the bordeaux nars are going to be unavailable for a short while as I'm making some database schema changes... <jab>would someone confirm that "guix install ikiwiki" fails for them? I couldn't get it to work for me yesterday. If there is not an open bug report, then I would like to file one. <cbaines>it looks like some of the inputs don't build <kestrelwx>`perl-crypt-des` fails to build, I didn't bother with -K. <redacted>It appears to be MIT + what I assume is an unenforceable clause. <jab>I don't see a bug report, so I support I will file one. <futurile>people are idiots, they probably thought it was funny <futurile>You could consider it to be obvious satire and since it's clearly not an actual legal clause ignore it <jab>cbaines: but it's nice to know that I should be able to install an ikiwiki via guix time machine... <cbaines>redacted, I'm not a lawyer, and it doesn't seem to even be grammatically correct, but I think it could be read as a undue restriction on running the software, hence not free software <redacted>futurile, cbaines: it looks like it's worth asking the maintainer to remove the clause before updating the library in GNU Guix. <redacted>If it's just satirical, they might be willing. <jab>what are the other ones? <cbaines>there's a whole category of licenses that try to add clauses similar to this in to software licenses (e.g. https://firstdonoharm.dev/ ), but personally I think the license is an unhelpful place to try and address these issues <futurile>redacted: certainly worth asking; I'd have some questions about the maintainer adding that sort of thing. Personally, this kind of identity politics thing is a bad code smell to me heh <futurile>redacted: not because people aren't entitled to their viewpoint, but as cbaines says adding these sorts of clauses is super unhelpful and there's so many of them (e.g all the way back to the "don't use us in nuclear reactors" that Sun Microsystems used to have" <sham1>It's like that oh-so-funny "don't be evil" clause Crockford has in the license of the original JSON parser <redacted>I also disagree with restrictive licenses, regardless of their specific content or intent, and I don't want to package or include software that contracts Freedom 0. I just wasn't sure what counts. <ekaitz>these licensing issues happen to be so absurd somehow they make the license itself be considered stupid nonsense <sneek>Welcome back ekaitz, you have 1 message! <sneek>ekaitz, daviid says: libnotifyis introspectable: ,use (g-golf) then (gi-import "Notify") <ekaitz>i mean, if you add whatever to the document, it's because the document is not very important <ekaitz>and that might make the licenses invalid from a legal point of view <futurile>the reality is no court would look at that license and consider the last part to be real. It's just a stupid comment. <redacted>Sadly, I can't run licenses on a lawyer to see what happens, lol <ekaitz>I sympathize with the clause but also it is absurd to add it in the license <ekaitz>futurile: yes, but does it invalidate the rest of the thing? it might! <futurile>well even a 'lawyer' is just a view point; until something has gone to court it's just opinions <futurile>ekaitz: not that I'm aware of - if you search most contracts you'll find a clause that says something like "if any clause is found to be unenforceable this doesn't exclude the reast" this is actually pointless repetition, since this is the situation in every major jurisdiction. <futurile>ekaitz: that's so that if there is some stupid part that's in a contract for your house or something, the whole thing isn't found invalid. It's a consumer protection law. In general most jurisdictions have a "what would a reasonable human think" <futurile>ekaitz: you can do a search on it if you're interestd <ekaitz>anyway morally is kind of disturbing <ekaitz>imagine signing a contract with weird sentences in between <ekaitz>you wouldn't consider it very "professional" <futurile>many programmers think contracts are like code, and in some ways they are, but the 'environment' the contract is evaluated in has a lot of complex stuff in it. So you can't just write a contract saying "you will kill a person I name for 5 dollars" - the environment (other laws) prevents this. <futurile>yep moral statements and weird jokes don't look good in contracts for sure <identity>i think people adding clauses like «1. be gay; 2. do crime» really do not care about whether it is considered professional or whether you like it or not <redacted>It looks like Trial is very much a passion project, so I don't fault the author for being unserious. <ekaitz>identity: that's the point, yeah. But not of the project but of the idea of a license. Some people pay lawyers and stuff to make licenses reasonable and legally respectful. <futurile>yep, makes sense that that's the situation. Maybe they'd consider moving the commentary to the README <ekaitz>If people start to say that kind of invalid statements in licenses they are like saying: licenses don't mean shit, so you can just steal this code <ekaitz>and I don't like my licenses to mean shit to companies <ekaitz>(also, i'm sure they already don't mean much for them but I like to believe they do mean something) <futurile>ekaitz: do you know how I can refer to the <origin> itself in a snippet? I just posted on Mastodon ... <cbaines>futurile, regarding <origin>'s, what's in the cwd when the snippet runs? <ekaitz>i'm not good at snippets really, i'm not even sure if I get what you want to do there :S <ekaitz>for your case futurile (canonicalize-path ".") shouldn't also work? <futurile>cbaines: OK, so using --keep-failed it has the image itself (ubuntu-24.04-server-cloudimg-amd64.img) in the build dir <jab>can someone send me a link to the guix system configuration to ci.guix.gnu.org ? <jab>my friend has a Talos II and we are aiming to install it in a datacenter soon. & let guix use it to build software. <futurile>fuck me, I thought this was going to be done by 10am this morning - 6 hours later - grr the error messages we get are so absolutely bloody useless <futurile>gah I'm going to do something else, I'm just throwing mud at the wall <mrh57``>what is the best way to make a shepherd service (daemon) depend on another? <mrh57``>I'd like to run something like unbound and bind it to a wireguard address, but unbound panics if it tries to bind on a non-existant interface <ieure>mrh57``, The `requirement' field of `shepherd-service' does this, I'm certain it's in the manual if you look. <mrh57``>I noticed that, but I don't quite understand the man well enough to write the modification. <ieure>mrh57``, simple-service is for Guix services. Guix services can also start a shepherd service, but they're not the same. <cbaines>the bordeaux nars should be back available now :) <cbaines>(unfortunately the migration took longer than I'd expected) <mrh57``>ieure: hm okay, I think my question is about guix services specifically then <mrh57``>ieure: if a guix service starts a shepherd service, how do I create a modified form of that guix service which has e.g. extra requirements in its provisioned shepherd service (I think is my question)? <ieure>mrh57`` You need a new service with the extra requirements, I think. <mrh57``>ieure: is there any syntax or helper functions for this? something like how you can create a new package with (package (inherit pkg-name) ...)? <mrh57``>ieure: I know there is modify-services, but I only understand how to use that to change the fields of the service record, not modify how it extends services <ieure>mrh57``, Pretty sure you have to make a new one, or at least some helper code. <ieure>mrh57``, I think you can use inherit on the records for the service. The `modify-services' procedure isn't what you want at all, that's for changing lists of services, not defining/extending them. <mrh57``>ieure: okay thanks I'll look into that <FuncProgLinux>What would you consider a good language to write GTK/gsettings UI's? :s <ieure>Anything? Isn't there a D-Bus interface? <FuncProgLinux>ieure: I think on this particular case it's just gsettings. I'm tired of mate-tweak breaking between updates. <FuncProgLinux>It's a Python GUI that exposes some "dconf" settings not available on the MATE UI's. It also allows you to save panel layouts and change compositors easily. But it's been stale for years, many distributions ship it but I don't want to upstream it to guix because it's third-party MATE software. <chris0ax>i got my first guix service running somehow! its searxng as system service type, still very barebones but took some time <mrh57```>chris0ax: nice! I remember that feeling, very good <nmeum>what's the best way to test changes to guix.git that require redeploying the system? running `./pre-inst-env guix system reconfigure …` doesn't work great because I have additional channels in my config.scm. currently, I am using `guix time-machine -C channels.scm -- reconfigure …` where I refer to my guix git checkout as a local channel but that somehow tends to be very slow (presumably <nmeum>because it builds everything from source again). is there any other way? <Rutherther>yes, just add the other channel to load path via -L when you are using ./pre-inst-env <Rutherther>and other than reconfiguring your system you could also test in a vm <nmeum>but with -L I have to checkout the other channels locally as well <futurile>It's going to do the same thing isn't it, build everything <nmeum>hmhm, I guess writing a custom config.scm just for my guix.git change and then testing that using `guix system vm` is probably the best way to go <nmeum>I assume that's what most guix devs do? <ieure>I generally reconfigure on bare metal. <ieure>Or test the changes in my channel before I push to guix. <FuncProgLinux>nmeum: Someone gave me that same tip, but i also test on bare-metal. Since I recently got a second computer that I can break lol <FuncProgLinux>But I think that's a good approach for channels, to test before contributing. You get the latest changes and others benefit from your tested software :)