<RavenJoad>I know I asked this before, but I don't think I found an answer. Can I get dhcp-client-service-type's default dhclient instance send the system's hostname with the request? Has someone done that?
<RavenJoad>dhcp-client-service-type does not have any real way to configure it, despite dhclient having a configuration file.
<lechner>later tell hwpplayer1 / sorry, i have to go. tonight is a jewish festival called rosh hashanah, which is also sometimes called the birthday of the world. it lasts two days. i'll be back on monday. many folks here will be able to help you in the meantime
<lechner>sneek / later tell hwpplayer1 / sorry, i have to go. tonight is a jewish festival called rosh hashanah, which is also sometimes called the birthday of the world. it lasts two days. i'll be back on monday. many folks here will be able to help you in the meantime
<MattBeshara>Hey, does anyone here use the EVDI package/kernel module? I've added it to 'kernel-loadable-modules' in my 'operating-system' declaration but it doesn't seem to build properly when I do 'guix system reconfigure'. Version 1.14.1 is the newest version of EVDI available, but the version packaged in Guix is 1.12.0. Maybe it needs to be updated for newer kernel versions?
<mbakke>janneke: the guix derivation is still failing, but now because a different test that seems unrelated (but why only that branch?)
<mbakke>gnu-maintenance.scm:159 "rewrite-url, without to-version" fails with (getaddrinfo-error -8)
<cow_2001>Is there a ``guix gc --but-save-common-dependencies'' command? Each time I gc I need to redownload a ton of stuff.
<vivien>cow_2001, what do you mean, "common dependencies"?
<cow_2001>I don't know, really. Just stuff that keeps being redownloaded each time I install stuff. Maybe ``guix system'' stuff? Maybe ``guix install'' stuff.
<cow_2001>I don't remember their names right now, but I see them.
<vivien>Something that kind of work like that, is the -F flag, it will only collect the required amount of garbage and nothing more. It will certainly collect a few of what you mean as common dependencies, but not that many of them.
<nckx>There are the ‘--gc-keep-outputs’ and ‘--gc-keep-derivations’ arguments to guix-daemon.
<zamfofex>I imagine “dependency” just means “thigns that are frequently used and dependend on (by the user)” in this case.
<zamfofex>I.e. things that you’ll want to use anyway, even if it isn’t explicitly dependend on by a profile or root.
<vivien>I submitted a patch to enable i686-linux builds of ocaml to be applied to core-updates (because it changes the derivations of everything written in ocaml) but it got applied to master instead. Is it OK?
<vivien>Oh well, ci says there are 56 changes, so I guess it’s OK
<janneke>i found that the newly added "rewrite-url, to-version specified" test to fail on the Hurd unless i do: guix shell -D guix nss-certs openssl; does that mean guix is lacking those as dependencies/inputs?
<janneke>ACTION is adds nss-certs to bare-hurd.tmpl for now to see how that goes...
<janneke>sneek: later ask apteryx: i found the newly added "rewrite-url, to-version specified" test to fail on the Hurd unless i do `guix shell -D guix nss-certs openssl'; does that mean guix is lacking those as dependencies/inputs?
<radio>Hello, is anyone here using fish within guix? I couldn't set up fish-foreign-env to work and for some reason /bin (yes, the folder with only sh) isn't in my PATH when using fish or bash, but I still can run sh from bash and not from fish
<zimoun>Any troubles with Debbugs? I have sent a cover letter to email@example.com and I do not get back any number after 20 minutes of patiently waiting.
<radio>This is giving me some problems, with emacs (and some other software I couldn't remember now)
<janneke>zimoun: Subject: bug#63986: [PATCH 0/2] Fix bug#63986: Julia is very slow?
<sneek>Welcome back hwpplayer1, you have 1 message!
<sneek>hwpplayer1, lechner says: / sorry, i have to go. tonight is a jewish festival called rosh hashanah, which is also sometimes called the birthday of the world. it lasts two days. i'll be back on monday. many folks here will be able to help you in the meantime
<nckx>References here including In-Reply-To and other hidden goodies.
<zimoun>Well, my aim is to trigger some rebuild by the QA.
<zimoun>from my understanding, there is two mailing lists (guix-patches and bug-guix). If I send something to guix-patches containing a reference in the subject as Debbugs-ID, I am not expecting that it appers under this Debbugs-ID.
<nckx>We'd be fighting a lot of bogus/duplicate bugs if it didn't do that.
<nckx>People *constantly* reply to NNN@debbugs.gnu.org with guix-patches@ in CC. Constantly.
<nckx>Treating these as mailing lists would lead to chaos.
<zimoun>Because from my perspective we have two separated “packages“ (Debbugs definition). One is guix-patches and the other is bug-guix.
<nckx>I've added a ‘patch’ flag to 63986. If QA honours that, I wonder if it will do so retroactively. If it doesn't, smells like a QA bug.
<zimoun>Yes, it makes sense to have the reply to NNNN@debbugs.gnu.org with firstname.lastname@example.org in CC assigned to NNNN. However, it does not make sense to send a message to email@example.com without anything else except in the subject #NNNN and assigned that to #NNNN.
<zimoun>The current config does not makes sense for me. It is similar as mixing the “issue number” with the “pull request number” in some kikool world. Anyway, I can live with that current config. I was just not aware. :-)
<hwpplayer1>nckx hi how are you doing ? what do you mean by no sorry ?
<janneke>well, their questions were not overly specific either
<pastor>good morning. If I wanted to use a fixed version of a package using grafts (as it explains on the manual). How should I make the changes on the guix checkout. I'm trying to swap one package for another but to provide the `replacement` package I need to include code from another channel (#:use-module). And using `./pre-inst-env` does not find the module.
<pastor>How do you guys test a package that you have defined in a separate channel in the guix checkout?
<nckx>I have questions: something graft-worthy sounds like we might want to have it upstream? Is it a security or other significant bugfix? If you're editing Guix anyway, why not simply add your fixed version to Guix for the duration of the graft?
<nckx>Guix doesn't depend on any other channels, by design, so this isn't something I've ever done or tried.
<somenickname>geri: Could you please send again cli.scm? The paste from yesterday doesn't work anymore
<pastor>nckx: Well. I was trying to experiment with plasma desktop but sadly I require `evil drivers` since with nouveau the compositor Is not working propperly. So I wanted to graft mesa over the whole system.
<janneke>pastor: we have known for many years that nvidia is evil, i've always wondered why people keep supporting them?
<pastor>Because I order to program `non-evil` things I require a working enviroment and this is the hardware availeable.
<pastor>janneke: But In anycase I would assume its ethical to make your own driver. And the problem will be the same. I will need to graft my `ethical driver` into the system. Is there a way to do it?
<somenickname>janneke: Probably because they have the best hardware for graphics.
<andreas-e>nckx: QA only takes action when the number of rebuilds is not too high. And once it has finished, there is no point in not committing to master, since all builds have already taken place (well, they will then cause the rebuilds on CI as well).
<janneke>somenickname: they do not have any useful hardware that works without compromising your freedom
<somenickname>janneke: This may be true but you need to remember that not everyone is aware of the problem with proprietary hw/sw
<pastor>janneke: its about trade-offs. Plus the fact that most people already have a PC before the get to know whats ethical or not. People without resources to buy whatever hardware should also be allowed to have access to ethical software
<janneke>pastor: i would support you in getting your problem fixed, i just cannot see why you wouldn't choose to run 100% free software and go fix other problems
<janneke>pastor: yeah, that last bit makes some sense
<somenickname>Ah you question was dedicated more to him. Thought you meant generally
<janneke>selling and re-buying hardware after you've become aware it's troubled that requires some resources, i can aprreciate that
<pastor>janneke: when we have availeable hardware that does not require microcode, completely open-source firmare for disks, ram, wifi, etc. I would do that. But is there that much difference if the firmware is still non-free?
<janneke>ACTION had a friend who kept cursing guix for not supporting their non-free wifi card until they realised they could really "buy" their freedom for "just" $50 (an atheros wifi card)
<pastor>yeah. I have a fully librebooted thinkpad x200. But at the end of the day this freedom is just a 15 year old brick that does not allow me to do tasks suited for 2023
<nckx>pastor: In your case I *guess* I'd use input rewriting to traverse my system packages and substitute mesa with a mesa/xxx defined in my channel. That might require adding a few (foo-service-configuration (foo-package foo)) lines too. If that's not deep or comprehensive enough, then I guess you do want to patch Guix, but simply include a copy of your forked mesa there. Adding a circular guix → my-channel → guix channel relationship is just not go
<pastor>janneke: I would asume that not every body is well informed. And is not reasonable to expect they will be. The best you can do is help them transition with what they have. And maybe their next purchase will be more ethical
<exc>has someone made (hosted) a Texinfo or info version of R6RS?
<pastor>janneke: So. Why would you be against helping people run guix. Even if they have to rely on one or two binary blobs? Maybe the next purchase they make is one that is fully supported by the system they use and brings less headaches. Don't you think is better?
<mirai>though I've given it some new tweaks in the meantiem
<pastor>janneke: Is totally fine to not have unethical software on the main distribution. But a question which is not even related to non-free software. Which is only about grafting custom packages, already creates this negative reaction. I don't see how the thought of giving support on how to use a feature that could be used for non-free software is enough to not help. If I would have said that I'm implementing a custom ve
<pastor>rsion of mesa you would have answered (I guess).
<pastor>janneke: Yeah. I've read the 50$ wifi. I have 2 of them. Know how much is a GPU in your country. In mine are not very affordable
<janneke>pastor: i believe nckx has tried answering you?
<mirai>not sure what remains of the original but they do deserve credit
<pastor>janneke: But I'm worried about newcomers that will get a negative impresion on who is entilted to run Guix
<nckx>mirai: Okay. Is that public somewhere? (That's my personal condition for adding such ancient copyright lines, that the original be ‘published’ back then.)
<janneke>pastor: i just don't know much about grafting and channels, my question only was a digression
<nckx>I know it's not intentional and I'm not offended, but yeah, focussing on the answer you don't like when someone did answer you (even if you're not impressed with my answer, in which case, sorry) is a bit dampening.
<mirai>nckx: original submission is mentioned in the cover letter (so you might want to cc -done to both issues)
<pastor>nckx: I'm trying to anderstand what you meant with input rewriting. Do you meant to use `option->transformation` or `package-input-rewriting`? As I understand the later requires rebuilding the world
<nckx>I meant package-input-rewriting but with a graft. Which to my mind shouldn't rebuild the world, only graft it, but I didn't test it.
<nckx>So (define my-mesa …) (define mesa/grafted (replacement my-mesa)) → use mesa/grafted in your substitution, not my-mesa.
<pastor>nckx: How could the syntax go for that? The manual gives this example. Which I assume rebuild the package `(package-input-rewriting `((,openssl . ,libressl)))`
<nckx>`((,mesa . ,(package (inherit mesa) (replacement my-mesa) […]))) ; but again, I didn't *test* this, it's just an idea
<nckx>If it does rebuild the world, then I'd be disappointed and have to sit down & have another think.
<pastor>And is there a way to apply this `package-input-rewriting` to every package on the system?
<pastor>nckx: As I'm reading in the manual. Using the `package-input-rewriting` with the argument you gave will only give a procedure to apply to the world. Is it posible?
<janneke>oh my, something is pulling-in glibc-2.33
<nckx>pastor: I'm not at a computer right now, so all my answers/code are approximate hints.
<janneke>ah, locale-2.33 -- hmm, do we really want/need that for the Hurd?
<pastor>Yeah. That's fine. You seem to be right on point. The last mistery. Will be how to apply the procedure: (define-public replace-package (package-input-rewriting `((,my-package . ,my-package/fake)))). To all package definitions
<pastor>nckx: specially. How to apply this procedure elegantly to a `gnome-desktop-service-type' or a `plasma-desktop-service-type'
<panosalevro>hey all, there's a package name conflict that was recently introduced. there are two packages named "helm", one is the package manager for Kubernetes and the other is a synthesizer. i'd suggest the latter be renamed "helm-lv2" to fix the issue
<pastor>Seems that the problem is related to my `GUIX_PACKAGE_PATH` variable
<zamfofex>Quick question: Is there any reason i586 is used for the Hurd (as opposed to i686)? As far as I know, the only difference is that i686 CPUs support some more instructions, and thus the compiler has more room for optimisation. (I’m not even sure there are genuine i586 CPUs in use anymore. Or rather, not a significant enough amount.)
<pastor>I forgot to update the name of one dependency that is no longer availeable in the master branch. Weird that all other `guix` commands did not issue a warning and the `-T` flag crashed
<janneke>zamfofex: why do we use i686-linux instead of i386-linux?
<pastor>janneke: I see that the `guix refresh -T` outputs the transitive dependencies but is there a command to get the output derivation on the store? Each store path I mean.
<janneke>pastor: i don't know; what about something like: guix build -d $(guix refresh --list-transitive cowsay)
<rdrg109>[Question] I did the system installation without including nss-certs packages. Now, I have included it in my /etc/config.scm, but whenever I run "guix system reconfigure /etc/config.scm". I get "Git error: the SSL certificate is invalid". What should I do to be able to execute "guix system reconfigure /etc/config.scm"?
<lilyp>vivien: perhaps a formatting error, it ought to be PATCH qt-team
<rdrg109>lilyp: The error "Git error: the SSL certificate is invaliid" when I execute "sudo guix system reconfigure /etc/config.scm", but it doesn't appear when I execute "guix system reconfigure /etc/config.scm" (Of course, this fails with another error because I'm not root user: "guix system: error: symlink: Permission denied: /var/guix/profiles/system-2-link.new")
<vivien>65903 has no feature branch, but targets 07d43c66d5c11fef61f9846fefb97fa18e4764f1, and has been applied on top of e5f7c14ef6c951f02ca710fad1869db3aedff4b5 instead, as far as I understand
<lilyp>well, once you reconfigure and reboot you can uninstall nss-certs from the regular user again
<RavenJoad>Would the baseXX.scm files in Guix ever be worked out to a separate library? I ask because they are useful, but I do not want to pull in all of Guix for my tool.
<sneek>Welcome back RavenJoad, you have 1 message!
<sneek>RavenJoad, angry-sneek says: absolutely not >:((
<lilyp>sneek, why so angry? no botstnack for you :(
<vivien>ulfvonbelow, I think the easier way would be to inherit the packages and then replace the #:configure-flags argument with substitute-keyword-arguments, for instance, see libnode in (gnu packages node)
<rdrg109>lilyp: I did build the system with "guix system /etc/config.scm" as a regular user and the command exited succesfully. However, when I execute "sudo guix system reconfigure /etc/config.scm" I keep getting. "Git error: the SSL certificate is invalid".
<rdrg109>^ I did build the system with "guix system build /etc/config.scm"*
<RavenJoad>Ok. I just don't keep up with all the bots here and what they do.
<vivien>But you can still introspect a package and modify all its inputs, propagated inputs and native-inputs
<rdrg109>lilyp: When I run "guix system build /etc/config.scm" ass a regular user, I get: "/gnu/store/hsv3bc9s8jikp47l05kcwx3czqqjl75w-system". What should I do with this path?
<ulfvonbelow>yes, I just have to wait a week every time I do it for the world to rebuild
<vivien>The thing is, some build systems may not understand a specific configure flag the same way
<ulfvonbelow>right, and I can make the transformation conditional on what the build-system is
<ulfvonbelow>right now it's looking like the closest thing I can do is use grep or something similar to identify all the packages with that flag and apply the transformation conditionally depending on whether the package name matches
<nckx>rdrg109: Little, but you should be able to sudo guix system reconfigure now, no?
<vivien>But since you will have to change the package inputs anyway, your algorithm would be like: 1. Remove the xxx flag from configure-flags; 2. Recursively process the inputs, propagated inputs, native inputs; 3. Return a new package with the new configure-flags and inputs
<liberalartist>In a shepherd action or destructor, is there a way to waitpid with a timeout? Ideally I'd like a `waitpid-operation`, but blocking the fiber would be ok, just not blocking the shepherd. I've found how (shepherd service) does this internally, but it's complicated and not exported.
<ulfvonbelow>currently there isn't really a good way to use waitpid from shepherd.
<nckx>rdrg109: Hm, if SSL_CERT_DIR and GIT_SSL_CAINFO do work in the sudo shell, _FILE might not be required.
<nckx>Not what I expected. What's the full output of ‘sudo -E guix system reconfigure /etc/…’?
<nckx>The -E is almost certainly redundant, we're just being too cautious because IRC.
<liberalartist>lilyp: Maybe I'm not translating my Concurrent ML to fibers correctly. When I say "block the fiber", what I mean is the kind of blocking `perform-operation` would do on a `get-operation` until the channel gets a message. Like, in Racket I can `sync` on a subprocess value.
<ulfvonbelow>what you need is to wait for the process monitor to report child termination
<rdrg109>nckx: Thanks. That got rid of the problem, but now another problem aroused: http://0x0.st/HONd.txt This one is my own fault, because I have installed Guix in an EFI partition created by w1nd0ws
<ulfvonbelow>but there are several issues with that in current shepherd
<ulfvonbelow>e.g. what happens if process dies and is reaped before I ever tell the process monitor about it
<nckx>rdrg109: I don't see why that would be a problem? Is that ESP (‘EFI partition’) mounted at /boot/efi? (I.e., does /boot/efi show up in ‘mount’ output?)
<liberalartist>ulfvonbelow: yes, I'd seen (put-message (current-process-monitor) `(await ,pid ,reply)), but it's not public. And I guess the complexity I didn't understand in `process-monitor` is because Guile has you do all of this with just posix apis.
<bumble_>to simplify my xdg home services configurations, rather than copy multiple ./config/qutebrowser/* files, I tried instead to only (local-file "/path/to/config/qutebrowser" #:recursive? #t) and a symlinked ./config/qutebrowser directory was created but qutebrowser fails to start when it is unable to write to that directory... has anyone else tried this does anyone have a solution?
<rdrg109>nckx: Thanks for the detailed information. I'll add it to (operating-system (file-systems ...)). Do you know what values should I use for (file-system (device (uuid "BE1B-A35F" <<here>>))) and (file-system (type <<here>>)) for an EFI partition created by W1nd0ws?
<bumble_>the destination directory of the symlinked qutebrowser directory is owned by root, so qutebrowser process cannot write
<liberalartist>mirai: I saw that, but (shepherd service) doesn't seem to provide a public api for to get an operation from a pid. Though in my case maybe I could just sleep for the initial timeout, at the cost of never stopping earlier than that ...
<geri>bumble: check if you can configure qtb not to put anything into that directory
<nckx>rdrg109: blkid should tell you the UUID. I think the type is vfat. I don't use UEFI.
<rdrg109>lilyp, nckx: Ok! Thanks for the help. I've learned a lot.
<mirai>liberalartist: you can use waitpid WNOHANG and do a loop + sleep (sleep from (fibers) module that is)
<animah>Hi, I'm a newbie with guix but eager to learn. I would like to know a way to list all the modules included in my current initrd. Any pointer would be appreciated.
<animah>I've tried editing config.scm with (kernel-arguments '("gnu.repl")) but once in the bootstrap stage at the initial RAM disk before it tries to load kernel modules and to mount the root file system, I'm not sure how to ask for the currently loaded modules.
<nckx>animah: The kernel decompresses itself, does some early init stuff, decompresses the initramfs, then execs /init (a Guile script in our case). Kernel subsystems will keep initialising in parallel, but the Linux kernel is running the whole show.
<geri>just gotta somehow get rid of those \n's at the end...
<geri>or maybe i just need to abandon emacs' linting for this file
<geri>well, i broke it into 3 files and using includes, gg
<RavenJoad>I know I asked this, but I had my VPNs disconnect me. Would/Can the baseXX.scm files in Guix ever be worked out to a separate library? I ask because they are useful, but I do not want to pull in all of Guix for my tool.
<geri>can you give an example path to baseXX.scm file? i don't think i've seen one of those before
<RavenJoad>I want the bytevector->base32-string function to generate path names for files from their contents (after running through guile-gcrypt's file-sha256 function), but not grab all of Guix, like I said.
<nckx>RavenJoad: You certainly can, but I think Guix will keep using these copies. They are both tiny and too central to Guix.
<nckx>I mean, feel free to fork 'em but don't expect Guix to use your library.
<RavenJoad>Ok. I'm curious, why wouldn't Guix use a separate library for those functions? Would it make the bootstrap harder or something?
<lilyp>I mean, splintering stuff into too many tiny useless libraries may be the final state of software according to NPM, Rust et al., but we are aware that you can just copy code around.
<RavenJoad>I'm fine with both, but I reasoning is that I want to get the same quality patches to the base32 code as Guix gets.
<mirai>there's always another option: if the procedures are “general enough” get them in Guile
<lilyp>RavenJoad: you can use the "unpack after unpack" pattern
<RavenJoad>ulfvonbelow: I have tinkered with that. But there is a circular dependency here.
<mirai>ulfvonbelow: it doesn't work too well if you don't add labels to everything
<mirai>(native-inputs (list hello `("foo" ,(origin …)) gtk …)) doesn't work
<RavenJoad>I have scripts that users can provide, and I am adding an environment variable to them, APCCONTROL, which points back to the apccontrol script. That script needs to know the output path of the file-union of those scripts.