<cbaines>NieDzejkob, being able to prioritise builds is also something I wanted for the Guix Build Coordinator, and I have a basic prioritisation thing working <Gooberpatrol_66>(pulseaudio-configuration (script-file (file-append pulseaudio "/home/nathan/.config/pulse/default.pa")))) <emys>hey I wanted to install the d compiler and found the ldc package <emys>but installing it doesn't appear to give me the `dmd` executable <guix-vits>emys: `guix package -I| grep ldc`. Then you can `ls THE_STORE/bin`.. Do this package has any binaries? <emys>aha, it seems its there as ldmd2 <roptat_>mh... how do you reschedule a build in cuirass? <cbaines>roptat_, you might be able to change the state in the database, but I don't think Cuirass supports rescheduling generally <cbaines>also, something I learned recently, the canceled state of builds means that the derivation disapeared, so watch out for running guix gc, as you maybe cancel some builds <cbaines>I'm not sure Cuirass creates gc roots for the derivations it hasn't yet built <cbaines>You might have already noticed, but looking at one of the evaluation logs suggests you could do with more build users <cbaines>Anyway, it's exciting to see more substitute servers! It feels like there's been a trend recently :) <cbaines>What's your hypothesis? I guess you must have one given you're a proper scientist :D <roptat_>no, I just want to see what happens :p <roptat_>"how long does it take to build everything" and "can I keep up with guix's rate of updates" <cbaines>It took me a few weeks to build everything from scratch, but I'm finding it actually pretty easy to keep up <roptat_>I also want to help with checking reproducibility <cbaines>Great, the numbers are low at the moment, but that's just because fetching substitutes is unreliable, I'll work on that more at some point <cbaines>At some point soon I'll get guix.cbaines.net building more than x86_64-linux, so hopefully there will be more data for other architectures as well <roptat_>is there a way to force refreshing substitutes? <nixfreak>probably wrong channel , but does anyone have or know of any resources or books on how to start developing decentralized web sites and apps ? <nckx>jackhill: Not ungoogled enough for my taste 😉 I should remove ‘Google's’, that is true. <nckx>roptat_: I just rm /var/guix/substitute/cache/ & ~/.cache/guix/substitute/. <ryanprior>nixfreak: what level are you at / interested in? Would info about offline-first apps, local cacheing and data retrieval be interesting? Federation? Fully distributed peer to peer zero trust architecture? Something else? <apteryx>ah. I sent a guix pack'd guile to an embedded board (ARM), it fired up (yay!) but when trying to do anything at the REPL it segfaults. <apteryx>when used interactively only it seems! when I pass the same dummy script as an argument with -c, it works <apteryx>what's the oldest kernel linux that our glibc (2.31 currently) will accept? <janneke>slow...i was almost sure that i got rid of the (with-store store (run-with-store store bits, using (with-parameters .. os) instead -- but it seems that i was mistaken <janneke>can't get it to work -- hopefully mothacehe can shed light on it <janneke>it did test mbakke's vm-in-vm suggestion and that seems to work <janneke>so...my first hurd-vm prototype just used (const "/gnu/store/.../image-dir/disk-image") for the 'image' thunk procedure and from that i worked backwards, picking the relevant bits of code from guix/scripts/system.scm *janneke wonders if the Guix overlords would consider declaring fridays free 20% hurd-hacking-time <civodul>hey marusich, could you add a test case for your latest 'guix lint' change? <janneke>but only for those that don't do hurd hacking the rest of the week, instead they get free blog post writing time ;-) <marusich>I was just about to go to sleep, so I'll do it tomorrow evening. <lisbeths>I am going to install guix on windows terminal preview. <damo22>has anyone created a docker base image for guix? <damo22>for example, so you can run CI tests in gratis providers that allow docker images? <bricewge1>damo22: There was a thread recently about guix in docker image on 'guix-devel' <bricewge1>You can also build docker compatible image from Guix directly, depending on what you want to do <rekado_>I’m going to turn one of our build nodes into the new berlin.guix.gnu.org <rekado_>the biggest problem is going to be the external storage <rekado_>the store for berlin.guix.gnu.org is on the external storage; this includes the system <rekado_>so I’ll first reconfigure berlin.guix.gnu.org and then reconfigure the new head node with the same variant of Guix <rekado_>then I’ll shut down both nodes and the storage, swap the cables and boot the new node up from the external storage <thorwil>hi! after a recent update, trying ‘Save As’ from Inkscape causes a core dump and the message: 'org.gtk.Settings.FileChooser' does not contain a key named 'show-type-column' <rekado_>thorwil: is this on a foreign distro? <thorwil>i guess the same will happen with other gtk apps. it does not happen with gtk apps belonging to ubuntu. <rekado_>it’s probably caused by XDG_DATA_DIRS or similar <rekado_>one of those variables may cause the Guix-installed application to load plugins from that are installed on the system. <rekado_>can you show us the values of the XDG_* variables? <thorwil>if so, that didn’t happen 2 or 3 days ago <rekado_>what happens when you unset XDG_DATA_DIRS? <Formbi>does someone have an idea how to fix it? <mbakke>apteryx: officially Linux 3.2.0 is the minimum supported kernel, but we have a patch to accept the RHEL6 2.6.32 kernel <mbakke>Formbi: it looks like it tries to load some old package in your profile built with Python 3.7 <Formbi>is there something wrong with the package definition? <mbakke>Formbi: indeed, the wrapper script just prepends to PYTHONPATH, so if you have a conflicting PYTHONPATH it might cause issues. Probably the wrapper can be changed to just override PYTHONPATH instead of adding to it. <mbakke>Formbi: can you file a bug (or patch)? :-) <guix-vits>Is anyone else fails to connect to paste.centos.org over httpS? <thorwil>rekado_: when i unset XDG_DATA_DIRS, inkscape will not even start <thorwil>rekado_: with just XDG_DATA_DIRS=/home/thorwil/.guix-profile/share, it starts and crashes on Save_As already <thorwil>rekado_: the same with XDG_DATA_DIRS=/usr/share/unity:/usr/local/share/:/usr/share/ <thorwil>all 3 store items for org.gtk.Settings.FileChooser.gschema.xml do have a <key name='show-type-column' type='b'> ... <thorwil>the only other version of that file is /share/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml. Adding that key to it does not help. <thorwil>That path begins with /usr, of course <roptat_>hi! how can I tell cuirass to buid everything except a few derivations? <civodul>i think there's an option to give it a manifest, no? <roptat_>yes, but I want to build everything, except a few packages <civodul>when building Guix proper, we use build-aux/cuirass/gnu-system.scm <civodul>that file specifies all the packages, system tests, etc. <civodul>but you could come up with your own file <roptat_>so where should I put the manifest? in an input, or is it fetched from the filesystem? <mbakke>looks like armv7 offloaded builds to dmitri are failing <mbakke>can one-shot services have a 'stop' action? <mbakke>I have a one-shot service that runs a script, and I tried adding a stop action like (lambda () (system* "reset-script.sh")), but it does not seem to do anything <nckx>mbakke: Both are up, dmitri's idle. But armv7? Do you have a log? <mbakke>nckx: the symptom was that the build process did not find ARMv7 libraries, or the dynamic linker, or otherwise exited with 127, but I don't have a log at hand <mbakke>nckx: I've commented it out, but you can hop on to Berlin and enable it and try performing some ARM builds <mbakke>or even just 'guix build -s armhf-linux' locally on the machine <nckx>OK. Tonight or tomorrow. <apteryx>ah, the Guile 3 segfault from my guix pack on ARMv7 must be Guile's bug #40737 <apteryx>good to know it's not specific to Guix <apteryx>guile-readline@2.2 is not available from CLI API. Bug? <apteryx>we have to specify guile2.2-readline <civodul>apteryx: it's consistent with what we do for the other Guile packages <apteryx>OK :-) I wasn't sure, given Guile itself can be specified "normally", e.g., guile@2.2.7. <roptat_>I might be doing sometthing wrong, I have two machines I want to use to build stuff, so one machine is configured to offload to the other <roptat_>however, unless I pass --no-offload, it will always offload to the other machine, and build nothing locally <roptat_>so I also added "localhost" to the list of machines, but when the firsst machine offloads to itself it is "waiting for build locks" indefinitely <roptat_>no, I want a to offload to either itself or to b <bricewge1>+1 I would like to know how to offload on-demand only, not by default. Something like --offload maybe <guix-vits>roptat_: "parallel-builds (default: 1)": maybe a need to have at least 2 to offload to itself? <guix-vits>bricewge1: (?) already there 6.9: "When local-build? is true, ... not ... offloading ... This is the case for small derivations where the costs of data transfers would outweigh the benefits." <bricewge1>If understand correctly this feature is present at procedure level, but it's not yet available at the CLI <guix-vits>IDK; just saw leoprikler's `(call-with-input-file "manifest" (@@ (guix profiles) read-manifest)) ;parse files like ~/.guix-profile/manifest` recently. Probably 'local-build?' can be influenced somehow. <roptat_>guix-vits, but I want to locally build offloadable builds if my offload machine is busy with something else <roptat_>and since it's a CI system, I don't want to tell it what to do <roptat_>just "build everything on yourself or this other machine" <zzappie>I was installing guix on one of my machines and got error during bootloader init. It probably has something to do with it's werd "bios" I duno. I want to restart machine and rerun system init until I get bios settings right but "guix system init" fetches packeges and populates the disk even though everyting is already in place <zzappie>Anyone knows Is there a way just to run bootloader init? <leoprikler>you could potentially write something, that just builds the bootloader stuff, but I'm not sure, how well that would work <lispmacs[work]>hi, I was just wondering if there is anything magical about the config.scm being stored in the /etc directory. If I'm system administrator, I might as well keep it in my home directory, right? <leoprikler>a workaround would be to use a minimal config.scm analogous to bare-bones <apteryx>mbakke: thanks for the info w.r.t. the oldest kernel Linux supported by our glibc <leoprikler>I think the rationale is, that it should be at a well-known location where only the privileged have access <zzappie>leoprikler: well I'll try to do I by hand then :) <guix-vits>roptat_, bricewge1: "<nckx> Parallel-builds limits how many jobs an offloader will even attempt to send to a node. If it's 2, it doesn't matter that the node is running with --max-jobs=88 internally." What about reducing the parrallel-builds? <roptat_>ok, I think this is what happens: a starts a build for foo.drv, so it locks the store item. It is configured to offload, and chooses localhost because it's not busy. it offloads to localhost. a's guix-daemon receives the build but sees that the store item is locked, so it simply waits for the build to complete <roptat_>I think it's a deadlock, and it's probably unrelated to the number of parallel build it is allowed to do <rekado_> lispmacs[work]: yes, you can have the config wherever you want, or nowhere at all <rekado_>for the build farm nodes we generate the configuration record with a procedure and use that directly <guix-vits>roptat_: if the localhost isn't in machines.scm, and the parallel-builds set low: same? <roptat_>if localhost is not in machines.scm, then it doesn't do anything locally, it offloads every offloadable build <mroh>what is the kernel param to get into the initrd guile? --repl? <civodul>reepca`: it's fine if i update guile-sqlite3? <guix-vits>So parallel-build mean 1 "build" 1 machine, and building of packages happens one-by-one (even if there is 10 packages to be build)? (IDK, just have a 2-core machine.) I was though: p-b 1, one need 2 packages: 1 offloaded, 1 locally built. <rekado_>does anyone happen to have a package for v8? <rekado_>one of the R packages in my huge Bioconductor upgrade needs it ***MSavoritias_ is now known as MSavoritias
<apteryx>Can a profile manifest such as the one in ~/.guix-profile/manifest can be used with the -m switch (to reproduce the exact same profile?) <rekado_>apteryx: no, they just share the same name <apteryx>so users must derive a *user* manifest with the information it contains to recreate such profile, right? Such as the channels used, their version, and the package names. <roptat_>one hour ago: `(call-with-input-file "manifest" (@@ (guix profiles) read-manifest)) ;parse files like ~/.guix-profile/manifest` <bdju>if I'm partitioning a new drive and I start out in cfdisk to make the partition table + partition(s), does the partition "type" matter here? <bdju>it defaults to "Linux filesystem" <bdju>and then I think I do the actual file system part in another program <bdju>I want to make it btrfs and I want to use luks fde <nckx>bdju: ‘Linux filesystems’ all the way down. <leoprikler>Since a lot of users have recently been rediscovering my hack, please let it be known, that if you have a real guix profile – which you should if you're asking yourself this question – then (profile-manifest "/path/to/profile") does the same, but without relying on @@. ***sneek_ is now known as sneek
<roptat_>I'm tryin to do (inferior-package-derivation (open-connection) p) where p is an inferior-package, but I get In procedure fport_write: Broken pipe <roptat_>actually, same with inferior-package-synopsis, I might be doing something wrong <roptat_>we have 5.12.7 on master and 5.14.2 on staging <guix-vits>roptat_: "(define* (inferior-package-derivation store package #:optional (system (%current-system)) #:key target)" <guix-vits>i'd seen (paramet-thingy-rize (%store (open-connection))) <roptat_>but actually the issue seems to be with the way I create the inferior <roptat_>it works better when I do it from a channel specification <roptat_>ok, it seems to be busy now instead of crashing, so it's probably working ^^ *guix-vits ok: %store is parameter that holds a "socket" returned by open-connection(). paramet-thingy() prevents %store from modification. <roptat_>mh... there's still an issue: when I use the same store connection, I can only get the derivation of two inferiors. On the third, it just hangs with all CPUs at 0% <roptat_>(even if I already have asked the derivation of that inferior package, so it can't just be busy creating .drv files) <Bryophyllum>Hello everyone. I need an advice on exporting system-wide environment variables in my guix config; namely, what's the most practical way of doing that? ***janneke_ is now known as janneke`
<Bryophyllum>I'd like to have my guix config self-contained so that there were less manual steps to be taken during installation process. <guix-vits>Bryophyllum: i'm not a developer. What are you want to achieve (with e. variables)? <Bryophyllum>guix-vits: Set essential shell env vars, such as "$EDITOR" to, for example, specify my text editor of choice. Nothing fancy. <guix-vits>hmm.. i'm using only bashrc.. Should be some service for that? <guix-vits>Bryophyllum: `guix system search environment`: maybe "session-environment"? <Bryophyllum>guix-vits: Oh, that's what I'm looking for. And hey, I didn't know about this command. Thanks! I'll give it a try right away. I find it odd that this isn't documented in the manual, though <guix-vits>Bryophyllum: see also: `guix COMMAND --help`. <Bryophyllum>I need to figure out how to incorporate it into my config now.. <guix-vits>Bryophyllum: "8.14 Invoking guix system". Also note that the "release" versions of the Manual can be somehow old. This is a most current one: https://guix.gnu.org/manual-devel/ (at least English version should be :) <guix-vits>Bryophyllum: This particular service can be found (aside from Guix's git clone) in ~/.config/guix/current/share/guile/site/3.0/gnu/system/pam.scm. <Bryophyllum>Thanks for all your help, especially pointing out that there's "guix system search" and the development version of the manual <Kozo>Hey, where do I put (static-networking-service...) if I am using Gnome desktop? When I put it alone in my services, it says it's defined twice. When I add it to "Modify %desktop-services", it says "Source expression failed to match any pattern" <Kozo>Gnome desktop in Guix System <guix-vits>Kozo: in %desktop-services it's used to make a "lo" interface (127.0.0.1). How do You use modify? <Bryophyllum>guix-vits: I can confirm that with (simple-service 'name session-environment-service-type (...)) my $EDITOR env var is now globally visible. Thanks again for your help <leoprikler>you'd have to use something along the lines of static-networking-service-type config => <Kozo>OK. Manual needs to be updated then. Thanks leoprikler <leoprikler>Hmm, I think you're talking about "This procedure can be called several times, one for each network interface of interest." right? ***roptat_ is now known as roptat
*guix-vits actually in %desktop-services it is a "static-networking-service-type" with `(list (static-networking (...`, not static-networking-service. *guix-vits in %base-services! <Kozo>leoprikler: I'm talking about the pictured example. How would I know I need that other code based on the example? <Kozo>guix-vits: Thanks, trying it out right now <leoprikler>It mentions, that modify-services matches on service type, whereas static-networking-service is a procedure. <Kozo>OK, thanks for the clarification =] ***janneke` is now known as janneke
<leoprikler>so we can use hurd translators in linux after this is applied? <rekado_>I wrote a little something to generate commit messages <rekado_>to use it stage all hunks affecting one updated package <rekado_>then run it and it spits out a changelog-style commit message, listing changes in all inputs <rekado_>it’s still pretty rough, and it hard-codes a few assumptions, but I’m going to use it for the rest of my Bioconductor upgrade