IRC channel logs

2025-09-04.log

back to list of logs

<gabber>FuncProgLinux: WDYM with `use inheritance for the "next" variation'?
<gabber>first you need to craft the (updated) package definition. if you create a patch as a direct update for the perl package or a new package called perl-next only makes a difference in how fast that package definition will land on upstream guix' main repository
<loquatdev>Hello, everyone. Has anybody here gotten wine-mono working on Guix? I have to run a certain Windows application and wine states that it requires mono.
<FuncProgLinux>gabber: I meant something like (package (inherit perl) ...). guile-next does this :) but if others apart from me will benefit from this, should this be done as an entirely new package definition?
<FuncProgLinux>Rutherther: btw thanks for your insight about the CI/QA
<ieure>I finally got mad enough to diagnose why emacs-guix tab completion in *shell* buffers is broken: https://codeberg.org/guix/emacs-guix/issues/6
<ieure>Not sure what the fix is, or why Guile is working the way it is. If anyone's compelled to opine, I'd love to hear it.
<gabber>FuncProgLinux: ah, yes. this is the easiest way forward. your perl-next inherits from the current perl package and you only update the relevant parts. you only need to craft a completely new package definition if too many fields need overhauling and it is easier/cleaner as a new definition
<gabber>ieure: \o/
<gabber>> articulating the problem feels like a good start
<gabber>ACTION completely agrees
<gabber>thank you!
<FuncProgLinux>gabber: I just hope perl doesn't take ages like PHP to compile
<gabber>it doesn't!
<gabber>or does it? `time guix build --no-substitutes perl` is quite fast but maybe that does not really rebuild the package?
<identity>gabber: try --check
<gabber>identity: thanks!
<gabber>it takes not too long (on my not too slow machine)
<FuncProgLinux>gabber: I'm building v5.42.0 already, all it took was 20 lines of Guix Scheme :)
<FuncProgLinux>No way: /gnu/store/2zdzzdmq7zb9la8id8km3afnymbsp0j7-perl-next-5.42.0.drv construido satisfactoriamente
<FuncProgLinux>It's very sus that it was too easy... maybe I need to test it with a couple scripts first
<elpogo>I just migrated to an unprivileged guix-daemon on debian(12 and 13). In addition to the instructions at https://guix.gnu.org/manual/devel/en/html_node/Build-Environment-Setup.html#Migrating-to-the-Unprivileged-Daemon , I also had to run "sudo chown guix-daemon:guix-daemon /var/guix/profiles/per-user/" in order to get "guix gc" to work properly
<apteryx>would someone have an idea why adding #:disallowed-reference *arguments* can cause top level cyclic dependency problems? The 'arguments' field being thunked, I didn't think this could happen.
<FuncProgLinux>Can channels have "priority"? I think the latest merge on mate.scm undid some of my overrides which should have a "-1" revision appended, but to no avail :(
<ieure>FuncProgLinux, No, there is no priority mechanism for channels.
<ieure>What exactly is your problem?
<FuncProgLinux>ieure: I want to test some env var changes I did to the mate-panel package, I had to do a derivation of the guix package to add my own inputs and test before upstreaming to Guix. But the latest update somehow overwrote those changes
<FuncProgLinux>And now no matter how much updates i try to force into a particular package it's not getting installed in the profile :(
<FuncProgLinux>I do find it weird because mate.scm (latest commit) has various dependencies as propagated inputs. I'm doing (inputs (modify-inputs (package-propagated-inputs mate) and replacing some of those like Atril where Guix has 1.28.0 I have 1.28.1 but it's not getting replaced but added twice: dependencies: at-spi2-core@2.52.0 atril@1.28.0 atril@1.28.1
<apteryx>if you didn't already, you might want to slap (goto-address-prog-mode) in your emacs config
<apteryx>ouch: qtdeclarative-6.8.2-debug 842.1MiB
<efraim>who do I ping about cuirass.genenetwork.org being down?
<csantosb>Hi Guix ! I wonder if emacs-team branch in running now ... https://qa.guix.gnu.org/branch/emacs-team
<csantosb>Just curious about why it takes so much time to build emacs itself and all emacs-build-system packages
<PotentialUser-57>I'm trying to understand how `dconf-service-type' works, but I can't get it
<PotentialUser-44>Ideally, I'd like examples to understand
<PotentialUser-44>Currently, I'm just trying to do the equivalent of `dconf write /org/gnome/desktop/interface/color-scheme '"prefer-dark"'`
<PotentialUser-44>could someone pls help me with the above?
<gabber>FuncProgLinux: no, this is not particularly suspicious! usually package definitions of updated packages work quite similar to the previous iterations ;)
<gabber>PotentialUser-44: are you the one who previously posted here as PotentialUser-57?
<PotentialUser-44>gabber: yes
<gabber>AFAICT there is no dconf-service-type?
<gabber>do you mean dconf-profile?
<gabber>sorry, there *IS* dconf-service-type
<gabber>i have no experience with dconf. what happens if you do `dconf write /org/gnome/desktop/interface/color-scheme '"prefer-dark"'` ?
<identity>gabber: it sets /org/gnome/desktop/interface/color-scheme to "prefer-dark", so GNOME (and more broadly GTK) apps are going to use a dark theme
<PotentialUser-44>gabber: apparently it turns GTK apps to dark mode
<gabber>yes, i figured that. but PotentialUser-44 does not seem to be doing that successfully in guix? is there an error when attempting that?
<PotentialUser-44>gabber: I can set it using the command line, but I'd prefer using `dconf-service-type' to declaratively do it
<PotentialUser-44>but the problem is that I don't really understand the documentation
<PotentialUser-44>it would greatly help if there were an example somewhere for me to understand from
<gabber>i see
<gabber>guessing from my quick look at the service definition i think you could copy whatever is generated through your command-line invocation into the service configuration
<gabber>but i am not sure
<civodul>o/
<civodul>not sure i mentioned it here but my workplace has 2 open positions related to Guix 👉 https://recrutement.inria.fr/public/classic/fr/offres/2025-09146
<civodul>feel free to get in touch with me if you’re interested :-)
<civodul>(should i email guix-devel?)
<gabber>civodul: hi and \o/ and yeah, why not—the list usually has more reach than this channel
<gabber>PotentialUser-44: it is suboptimal that there is *no* section in the manual for this service. if you wouldn't mind, could you open an issue? without testing i now am fairly confident that you can add your `dconf.ini' files in that service as <dconf-profile> objects and that they will land in your system's /etc/dconf/ directory
<gabber>also, i think this would more optimally be a home service? since "the dconf system profile, which should match the name of a user for which the profile is to be used with"..?
<PotentialUser-44>gabber: Unfortunately, it appears that for some reason, I am unable to create an issue in Codeberg (it is giving some weird issue related to JavaScript)...
<ColdSideOfPillow>PotentialUser-44: If you don't mind, I guess I can create the issue on your behalf?
<PotentialUser-44>ColdSideOfPillow: yes, I would love that!
<PotentialUser-44>Since Codeberg isn't working, it _would_ be nice
<ColdSideOfPillow>👍
<Deltafire>civodul: the remuneration is a bit insulting :|
<gabber>Deltafire: maybe that's as expected in france?
<ColdSideOfPillow>PotentialUser-44: https://codeberg.org/guix/guix/issues/2484
<ColdSideOfPillow>Never mind, they left.
<ColdSideOfPillow>also, I'm having some problems
<ColdSideOfPillow> https://bpa.st/2FNQ
<ColdSideOfPillow>I have this snippet of code in my bashrc `home-bash-service-type'
<ColdSideOfPillow>and sometimes when reconfiguring my system, it randomly decides to combust with an "<invalid G-expression input>" error
<ColdSideOfPillow>it's very weird, as it seems to happen even when I make that don't even touch those lines
<identity>ColdSideOfPillow: could you paste the whole ‘home-bash-configuration’?
<cbaines>civodul, regarding https://notabug.org/cwebber/guile-gcrypt/pulls/9 is maybe the first stop to move guile-gcrypt to Codeberg, since I'm guessing notabug.org is struggling under scrapers?
<civodul>yeah, we should check with cwebber
<civodul>cbaines: 0.5.0 is out!
<ColdSideOfPillow>identity: https://bpa.st/UCJQ
<cbaines>civodul, ah, great, I hadn't seen this
<identity>ColdSideOfPillow: you should not use ‘when’ and ‘unless’ for returning values, they are used only for side effect and do not return anything useful
<ColdSideOfPillow>identity: Ah, thanks for the heads up
<ColdSideOfPillow>what should I be using instead?
<identity>well, i guess in guile they do return something useful, but only if the test is true or false respectively
<identity>ColdSideOfPillow: you could just move branch up, out of the ‘mixed-text-file’, and then share the other stuff with a ‘let’ or something
<cbaines>I haven't adapted at all to the lack of guix-commits emails, so I'm kinda in the dark about stuff that gets pushed at the moment
<pinoaffe>When I run guix pull, I see Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'... guix pull: warning: pulled channel 'guix' from a mirror of https://git.guix.gnu.org/guix.git, which might be stale
<pinoaffe>is that a sign of misconfiguration? or just guix picking a mirror?
<cbaines>pinoaffe, this is a reflection of https://guix.gnu.org/en/blog/2025/migrating-to-codeberg/
<pinoaffe>cbaines: that much I know, but does it mean my channels configuration is somehow outdated, or is this just behavior as usual?
<cbaines>assuming you're using the %default-channels in your channels configuration, then it's not out of date
<identity>it might be out of date, but it should get fixed after a pull and reconfigure
<bdju>Having massive performance/thermal issues since my last reboot and my computer is barely usable. Anyone else running into issues recently? linux-libre 6.15.10
<bdju>Trying to watch videos in mpv as I often do and after a couple minutes my CPU hits 97C and I get really bad thermal throttling. It was fine just a few days ago.
<bdju>Maybe my CPU fan failed...
<nikolar>that could be the case
<nikolar>happened once on my laptop (it was just stuck, i had to poke it and it worked fine after that)
<nikolar>but the cpu overheated and the laptop even rebooted under relatively light load
<nikolar>so check if you can reach your fan and just poke it abit
<nikolar>*a bit
<bdju>`sensors` output shows it think it's at 65535 RPM, but I've never looked at it before now to know if it could tell the speed before or not.
<identity>that is a *lot* of RPMs, i doubt that you fan actually goes that fast
<identity>that is like, 1100 rotation per *second*! that fan would make your laptop fly away
<demindiro>Little does it know penguins can't fly
<identity>“With sufficient thrust, [penguins] fly just fine. However, this is not necessarily a good idea. It is hard to be sure where they are going to land, and it could be dangerous sitting under them as they fly overhead.”
<bdju>Well, yeah I don't think it's right, but I don't know if it ever knew the actual speed.
<bdju>Plus that's one of those special numbers. Probably the max possible speed it can measure or something.
<bdju>Or max it can store in an int.
<nikolar>*int16
<bdju>Yeah, I'm not a programmer, I don't really care. But I've seen that number around is all I was saying at.
<nikolar>and it's definitely not max speed, no fan you'll ever see in a laptop is designed to run at 65000+ rpm
<nikolar>it's an error
<nikolar>of some kind
<bdju>I know it's an error...
<bdju>It's just unfortunate I had never thought to check the speeds this way before to have a comparison.
<nikolar>just poke the fan if you can reach it through the grills
<nikolar>it might just be stuck because some dust got in or whatever
<demindiro>It should say 0 RPM then though
<bdju>It's 10 years old or more now and it was making some nasty noises since I last cleaned it some months ago. I think I dripped some isopropyl alcohol in the area where the lubricant goes.
<nikolar>demindiro: assuming it ever reported the speed correctly
<nikolar>bdju: oh that's definitely not good
<nikolar>you might need to regrease it or whatever
<nikolar>or just replace it outright if the bearing is dead
<bdju>The fan is most likely dead I'm thinking.
<bdju>The docking station blocks most of the vent, I sprayed some canned air at it but I can't poke anything in there easily.
<nikolar>wait what laptop is it
<nikolar>is it a t400 or whatever
<bdju>ThinkPad T440p
<nikolar>yea close enough
<demindiro>Easy way to check: hook up a 5v (or 12v) source directly to the fan after unplugging it
<nikolar>you can probably find replacement fans pretty easily online
<bdju>I did indeed already find one for $15 or so on eBay. I was just hoping to become more sure I needed a new one before ordering it.
<nikolar>if you got isopropyl into it and if it was making noises, it's probably smart to replace it regardless
<nikolar>even if you unstuck it, who knows how long it'll last and you'll need to replace it anyway
<bdju>Yeah, I figured it might not last a lot longer after that happened. Been saving up to get a T14g5 or something but wasn't quite ready yet.
<demindiro>I'm trying to run `guix system reconfigure` on an Aarch64 Hetzner VM, but guile-fibers fails on "epoll: file not found" https://paste.debian.net/1394836/
<demindiro>I also tried guix build guile-fibers, which gets stuck with a different error https://paste.debian.net/1394836/
<identity>bdju: 65535 is 1111111111111111 in binary, biggest number you can fit in 16 binary digits; generally you see such a number when somebody does x - 1, where x cannot be negative and is 0, so it wraps around
<nikolar>(or to report errors)
<identity>so it is probably an off-by-one error that turns into off-by-16-magnitudes error
<demindiro>My hunch is a stuck bit
<nikolar>my hunch is a deliberate `return -1;` to signal an error
<demindiro>Looking at git logs it seems that guile-fibers got updated yesterday, I wonder if that's related. Although that says "guile-fibers@1.4" and mine tries to compile 1.1.1 ...
<jfred>civodul: that looks like a fun position, if only I lived in France and not the US ^^;
<bavier>with this new profile check for conflicting entries, are there now packages that literally cannot be installed into a profile?
<bavier>e.g. I try to install `gnome-boxes`, but its propagated dependencies propagate their own conflicting package versions.
<yelninei>profile contains conflicting entries for libxml2 : evolution-data-server and mutter in my system profile
<lfam>Howdy Guix! I'm curious if we have any automatic building of Codeberg pull requests
<ieure>I believe we don't yet, but it's being worked on.
<lfam>Specifically I'm wondering if I should arrange to build this Chromium PR <https://codeberg.org/guix/guix/pulls/2485> on one of the CI machines or if it will just "get built"
<lfam>Okay, thanks ieure
<ieure>lfam, You just want substitutes available when the PR merges? Or to test the change?
<lfam>To test the build
<lfam>In my experience, it's a crapshoot if the substitutes from such "hand built" packages survive in CI's store until a commit lands on the master branch
<civodul>lfam: we don’t have CI, which means we’ll have to shut down soon
<ieure>civodul, What do you mean by "we’ll have to shut down soon?"
<ColdSideOfPillow>I appears Codeberg is temporarily offline on my end...
<ColdSideOfPillow>*It
<ColdSideOfPillow>Is anyone else experiencing this?
<civodul>ieure: i mean that it’s not sustainable
<ieure>civodul, Okay, thanks. I agree. :)
<civodul>like ‘master’ sometimes breaks several times a day
<civodul>yeah :-)
<ieure>ColdSideOfPillow, I was getting some 502s for a minute, but it seems to be working now.
<ColdSideOfPillow>never fucking mind, it came back rn...
<lfam>Well... it is at heart a build-from-source distro :)
<lfam>I don't think I have a machine that can build Chromium
<civodul>oh sure
<civodul>who does? :-)
<lfam>rekado ;)
<lfam>Well, if CI isn't working, is there any harm in me testing the build of a package "by hand" on Berlin? Or should I avoid trying that?
<gnucode2>heyo guix!
<gnucode2>I keep seeing guix giving me a hint after I install a package. (I'm using guix on Chimera linux).
<gnucode2>guix hint: Your paste can be seen here: https://bpa.st/LFZQ
<gnucode2>my ~/.profile: Your paste can be seen here: https://bpa.st/ES7Q
<Rutherther>gnucode2: if you install particular packages giving you new search paths, you're going to have to reload the profile. That's essential what it is telling you
<gnucode2>how does one go about "reloading the profile"? Open up a new terminal? logout ... login ?
<Rutherther>exactly the way it is telling you in the hint. Yes, logging out and in is going to ensure it's everywhere and not just in the terminal session
<Rutherther>no, opening a new terminal is not going to do it. That's not a login shell, you would have to source it yourself, or open login shell yourself
<FuncProgLinux>I think (modify-inputs (package-propagated-inputs mate)) doesn't work if the propagated inputs are conditional :(
<gnucode2>Rutherther: But didn't I set those necessary environmental variables in my ~/.profile ?
<Rutherther>gnucode2: no, ~/.profile is sourced on login. New env vars have been added in the meantime so you couldn't have sourced them
<Rutherther>FuncProgLinux: wdym that they are conditional?
<gnucode2>Rutherther: is there a way to automatically add these new environmental variables after I install new packages (I'm using guix on a foreign distro)? So that I don't have to think about it? I'm guessing the answer is...no.
<FuncProgLinux>Rutherther: mate.scm at the metapackage has (propagated-inputs (append (if ... (list <list-of-inputs>))) yesterday I was asking about duplicated inputs on a derivated package I was making
<Rutherther>gnucode2: no, Linux doesn't have a general support for changing environment of other running processes
<gnucode2>gotcha...so you're saying I should use the Hurd ? I actually don't know if it supports changing environmental varables of other running processes...
<gnucode2>:)
<Rutherther>gnucode2: I don't know a single thing about Hurd, but I would doubt Hurd supports this
<FuncProgLinux>I have (inputs (modify-inputs (package-propagated-inputs mate) (replace "atril" atril-1.28.1))) but when building & installing the dependencies are...funny: dependencies: at-spi2-core@2.52.0 atril@1.28.0 atril@1.28.1
<Rutherther>FuncProgLinux: I would doubt modify-inputs doesn't support it, the modify-inputs doesn't even know something like this is in there, it's evaluated prior to getting into modify-inputs. And I have actually tried this in repl and it is working fine as I would expect, there is just one atril package when I replace it, and its cdr is the package I chose instead of it.
<FuncProgLinux>Rutherther: I don't know what am I doing wrong though. There's "dual deps" everywhere: mate-applets@1.28.0 mate-applets@1.28.1
<Rutherther>FuncProgLinux: I can't tell you that without seeing the source
<FuncProgLinux>Made a paste :) https://paste.debian.net/1394868/
<Rutherther>so you're inheriting the package... and then putting propagated-inputs to inputs, but of course the old propagated-inputs will stay. So you will indeed have all inputs twice
<FuncProgLinux>Oh no 🤦 I understand now
<FuncProgLinux>I'm essentially duplicating dependencies myself :/
<FuncProgLinux>Rutherther: gssdp-1.4 (gnome.scm) has an example of what I should be doing. Thanks for the help :) I'm grateful for it.
<ieure>FuncProgLinux, package-mapping might be helpful, it'll rewrite the whole dependency tree. So if say mate-applets@1.28.0 depends on mate-foo@1.28.0 depends on mate-bar@1.28.0, you can rewrite all of them.
<ieure>And you can write a fairly generic transformation function, like a procedure that takes the MATE version and returns a procedure that operates on any package with a name matching ^mate-.*$ and updates it to the provided version.
<FuncProgLinux>ieure: Is that in the package reference? I did that code because I wanted to update the components, there are also several missing pieces of the desktop not present in Guix there
<FuncProgLinux>well...if several is a number like "4" at least
<ieure>FuncProgLinux, I don't understand what you mean by "in the package reference."
<FuncProgLinux>ieure: https://guix.gnu.org/manual/en/html_node/package-Reference.html I was talking about the manual. Or I could search in the source tree to see an example :)
<ieure>FuncProgLinux, Oh, it's in the manual, not sure where. But it's easy to explain: given a function which accepts a package as an argument, and returns a possibly-modified package as an output, package-mapping applies it to some object containing one or more packages.
<ieure>It's a monad. I know that's a helpful thing to say.
<Rutherther>ieure: what makes it a monad?
<ieure>Rutherther, The transformation is monadic, package-mapping applies it.
<Rutherther>FuncProgLinux: package reference is a reference for the package record. package-mapping is not something related to the record directly. It is somewhat documented here https://guix.gnu.org/manual/devel/en/html_node/Defining-Package-Variants.html
<Rutherther>ieure: I mean I don't really get functional programming terminology, but it's surprising to me it's a monad, because it's just a 'trivial' procedure, while I also hear working with the store is monadic and that is much more complicated
<identity>you may be surprised, but something as simple as an Either sum type also forms a monad
<Rutherther>:)
<ieure>Rutherther, The store monad is more complex, because (I believe) it's used to represent the IO of the communication between the Guix daemon and a client, which is the same kind of escape hatch you use to do IO in a purely functional language like Haskell.
<FuncProgLinux>I got lost after the word monad. Given the example I'm assuming it's the section at the end right?
<ieure>FuncProgLinux, Yes.
<ieure>FuncProgLinux, Here are some real-world examples. This procedure rewrites Emacs packages to use the full Emacs package (which enables native compilation): https://codeberg.org/ieure/atomized-guix/src/branch/main/atomized/packages/emacs.scm
<FuncProgLinux>So this means I could save myself from the gazillion (insert ...) & (append ...) I'm doing in my derivative package?
<ieure>FuncProgLinux, Yes, if you want to reuse the same set (or subset) of operations across multiple packages.
<ieure>FuncProgLinux, And this procedure uses package-mapping to apply the transform to a home-environment: https://codeberg.org/ieure/atomized-guix/src/branch/main/atomized/home/profiles.scm#L238
<FuncProgLinux>I have trouble understanding the second one. But the first one showed me things I didn't know :O
<FuncProgLinux>I guess it takes more than the crash course to be a real scheme hacker
<dcunit3d>if i do `guix shell -D guix --pure`, i can't quite ./bootstrap because autoreconf isn't found. however, if i drop the --pure, `which autoreconf` shows it exists. is that normal?
<ieure>dcunit3d, `guix shell -m manifest.scm --pure'
<dcunit3d>ah i see cool
<Rutherther>dcunit3d: what does --check tell you when you use pure?
<dcunit3d>i had written a tree-sitter-hyprlang package, but the tests were failing, so i didn't try to push it up. now they're not (but i can't build in my dotfiles), so i thought i would walk through that
<dcunit3d>one sec
<dcunit3d> https://0x0.st/KX4e.txt
<dcunit3d>maybe it's zsh
<Rutherther>"guix shell: warning: variable 'PATH' is clobbered:" this is definitely not good for pure environments
<dcunit3d>k, i haven't used --pure much unfortunately. let me try from another profile and with the manifest
<Rutherther>I don't know why the manifest would fix this, the manifest still uses development dependencies from guix, it adds a bit extra, but not autoconf
<dcunit3d>i have PAM enforcing PATH, i think
<dcunit3d>i'm not 100% sure. i'm using uwsm and my setup needed to pass PATH through sessionVariables on nix, so that may be it. i may be able to get it to work on another user then
<Rutherther>no, this is not pam, this is your rc file
<dcunit3d>hmmm... k, sorry things get a bit mixed up. i haven't properly set that up yet on this system
<dcunit3d>i'm not used to zsh and i'm also mixing a few other files I ported over from another system. i need to trace through how the environment is being set up by nixos for bash & zsh.
<dcunit3d>thanks
<podiki>do we have any rules or customs on when to specify e.g. release build for meson-build-system?
<euouae>Hello
<ieure>Hello.
<euouae>had some fun with `make-string' and `substring/shared' yesterday. It's funny that I was trying to get a "single buffer" optimization but by (initially) using `substring' I ended up cloning the buffer per-line anyway
<podiki>interestingly, pixman has "disable-static" but i see a static library in the build
<podiki>anyway, guess i'll find out if anything is using that since when i update it there is no static library now
<euouae>oops -- wrong channel
<dcunit3d>Rutherther: thanks for helping earlier. for some reason i blanked out on fully reading the message... i just zipped on to looking into potential path problems. i'm using --container --pure now and it's building
<ieure>I think I remember seeing some way you could specify a Guix commit / additional channels in a manifest, so you could reproduce a package set more easily than `guix time-machine --commit=abcd123 -- shell -m manifest.scm', but I don't remember how do that -- anyone have a link handy?
<Rutherther>dcunit3d: using pure with container is not really doing anything
<ieure>There's the "Reproducible profiles" section of the cookbook, but I'd like a way to have a single file have both the channel and package definitions.
<identity>ieure: (info "(guix) Inferiors") ?
<ieure>identity, That looks like it, thank you!
<pastor>Hi, does anyone know if `/bin/sh' is available during Guix builds?
<podiki>shebangs are usually all patched early in the build process, to refer to a store path
<pastor>Well, I have some tests running in the check phase which try to use that path, it's not a shebang
<podiki>then you'll need to patch those paths probably
<pastor>I guess, although I'm wondering why we have `/bin/sh' available in Guix system then...
<Rutherther>a lot of scripts use /bin/sh shebang
<podiki>there's plenty of examples if you search for bin/sh in the source of this patching if you need
<Rutherther>and users are likely to use such scripts from the internet
<podiki>yeah, i think /bin/sh is just for basic system compatibility; /bin/sh is a symlink to sh from bash package in the store on guix sytem
<FuncProgLinux>I think the source for gnome-keyring has this patch for /bin/sh
<pastor>yes yes, I'm familiar with how to do that. The software is mine, this is the test we have (it's scheme): `(path-exists? (path "/bin" "sh"))'
<podiki>and then old debate of what is the best shebang, posix, etc.
<podiki>(guix system also has /usr/bin/env too)
<pastor>We want to support Guix as a first class citizen, so I'm wondering if we should modify this test somehow
<podiki>maybe check PATH instead?
<podiki>(not sure what is set in build environment)
<podiki>but i think that would be more robust
<podiki>or use "which"?
<pastor>Alright, thanks for the suggestions!
<podiki>welcome, hope that helps! perhaps a better guix build environment/scheme expert has a good standard
<pastor>Oh, I just realized that this test is a unit test for the `path-exists?' function, hum. I just need a file that will be present in normal systems as well as Guix environment. Chosing `/bin/sh' is arbitrary. Do you know of a file like that?
<Rutherther>"/"
<pastor>Obvious, haha. Thanks Rutherther
<Rutherther>imo that's not a good unit test design though. You should rather make files in directory for tests and check those files, why depend on exernal environment if you can make your own
<pastor>right, we have some utilities to do that.
<Rutherther>you don't need any utilities for that, you can just keep it in the repository with the software
<euouae>using /bin/sh is fine
<pastor>Rutherther: I cannot, the directory where the check runs can change
<Rutherther>pastor: so the test script doesn't know path to itself? And if really not, why don't you pass it to it so it knows it?
<pastor>I guess I could use `(getcwd)'
<pastor>Oh, no. Actually, I'm not sure, it's a Guile script, can I know what's the path to the current unit?
<Rutherther>so then possibly (current-filename)
<pastor>Rutherther: that seems to return #f for whatever module I'm in
<Rutherther>so you're using module system then?
<Rutherther>you didn't say how you're running what in the first place...
<pastor>My bad, I'm using `(srfi srfi-64)'
<Rutherther>pastor: that's a library with test functions as far as I know, but how are you running the scripts with the library, that is the important question
<pastor>Rutherther: It's quite involved but Guile runs another Guile subprocess to execute it. But don't worry, you've given me enough hints, I will look into it, thanks for your suggestion on not relying on the environment for a more reliable unit test.
<jonsger>uff, fixing the guix-daemon security issue on a desktop system is hard. Can't get "guix system reconfigure" go through either a package is broken (qtwebengine) or profile conflict (
<jonsger>#2495 :(
<pastor>jonsger: yes, I'm also quite blocked due to qtwebengine being broken...
<Rutherther>propagated inputs are the scourge of humanity
<ieure>heh
<simendsjo>I'm unable to reach the mailing list web interface, thus posting here to avoid potential duplicates. I'm having problems reconfiguring with gnome-desktop-service-type: https://paste.sr.ht/~simendsjo/344a4a0cf57f578e9b987fde06063d5005453fad
<jonsger>simendsjo: there is already an issue https://codeberg.org/guix/guix/issues/2495
<podiki>sounds like i should send an email about ungrafting, i can take it on mesa-updates as that should be soon-ish to merge
<Rutherther>I have actually made myself a procedure for making a package that stops propagated inputs in profiles by wrapping the binaries with search paths of originally made profile https://git.ditigal.xyz/~ruther/guix-exprs/tree/main/item/modules/ruther/environment.scm. Can't really vouch it's going to work for all cases, I am not really using it on my system yet. Also should be useful for making stuff like python wrapped with dependencies, allowing for...
<Rutherther>... getting multiple pythons with unrelated packages not clobbering each other, in the same profile
<simendsjo>jonsger: Nice, thanks. Looks like a patch is coming soon: https://codeberg.org/guix/guix/pulls/2501
<sleepydog>ugh, Google's AI search answers hallucinate completely wrong answers for guix, like all the time. It's really annoying :(
<Rutherther>Google's AI search answers hallucinate completely wrong answers for most stuff from my experience
<sleepydog>yea i guess that's true. i'll just have to learn to ignore it
<simendsjo>sleepydog: In DuckDuckGo, I can disable AI features to avoid getting all the confident lies. Maybe it's possible to remove it in google too?
<ieure>simendsjo, It is not.
<Rutherther>it's not actually xD
<Rutherther>you can of course use extensions for that, but it's not an officially supported feature to turn it off
<ieure>I use SearxNG, both Google and DDG are awful IMO.
<simendsjo>I'm quite tired getting force-fed AI down my throat in every product.
<Rutherther>ieure: and what search engines do you use with searxng?
<Rutherther>I have switched to brave search for some time now, but realized it's giving me even worse search results than ddg (and ddg is also usually not giving me results I would like to see) :(
<ieure>Rutherther, Both those! But with an interface that doesn't have the AI garbage and copies the real link to the actual thing instead of a crapped up one that tracks when you click through.
<podiki>if anyone wants to ungraft something, i'll take it on mesa-updates, let me know
<ieure>Brave Search is just Homophobic Bing.
<Rutherther>why homophobic
<ieure>Because the company is founded and led by Brendan Eich.
<ieure>Who is a homophobe.
<Rutherther>I see
<identity>try asking brave search “what is a woman” and the like, it will give you a certain kind of answers to such questions
<ieure>Not defending Brave here, but many so-called "AI" systems have this kind of problem, because their training set is "whatever we could infringe from the whole internet," which is not a high-quality data source.
<identity>ieure: pretty sure it was this way even before they started pushing their llm chatbot
<FuncProgLinux>Is it possible to use a package on a channel in the channel's own manifest?