*nckx notices grunewald is still idle. Not today, Satan.
<kwjc>nckx: well, thanks for clearing that up. I don't actually mind using something simpler like lynx, or w3m, or epiphany
<nckx>Epiphany hides it's complexity behind WebKit (which I would not call ‘simpler’ than IceCat, in fact I think it's the opposite) but there might well be a substitute for it, making it more suitable to your short-term browser needs.
<KE0VVT>hint: Did you forget a `use-modules' form?
<nckx>I think both are examples of poor questions: (1) vaguely claims you have to do something without explaining what, (2) omits any error that could be used to help you.
<nckx>You're making it needlessly difficult to respond.
<flatwhatson>I'm getting a "staging" commit from channel-with-substitutes-available. Looking at the API JSON, seems we should pass an extra parameter jobset=guix in the latest-builds routine in guix/ci.scm?
<nckx>You're mixing package name strings with variables in your list, which is fine and works, but using e.g. (map specification->package "nss-certs" "make" "etc") is easier. Guix will import any needed modules for you.
<nckx>And you'd use the package names as shown in the Guix CLI, not variable names, which can differ as you found out.
<KE0VVT>nckx I was going by (use-package-modules curl admin emacs vim ed tmux screen fonts version-control gnuzilla base python web-browsers)
<nckx>(map …) returns a list, not a single package; which is convenient but don't forget to adjust the surrounding code. For example (packages (append (map stuff we discussed) (list any remaining package variables or delete this list) %base-packages)).
<nckx>If you move everything to name strings, it would look like (packages (append (map specification->package "nss-certs" "emacs" "vim" "ed" … "cowsay" "torsocks") %base-packages)).
<vldn[m]>is it possible with some guile magic to make it Aware of all packages?
<nckx>I know it's not good, but considering icecat's unbuildability on a wide range of hardware & its importance, I'm starting a build manually…
<nckx>Well, you could use ‘guix weather’, but that can only answer ‘how many of these packages are available as substitutes’, not ‘which commit has over N% of these packages substitutable’.
<nckx>Modifying find-latest-commit-with-substitutes to return a commit that has >N% of *all* packages substitutable looks easy, but having it do so for a specific subset (like your manifest) less so. You'd have to make one HTTP request per package and manually calculate a good-enough commit…
<nckx>I don't mean the commit it happened to pull to then.
<nckx>mothacehe erased the database (all of it? some? no idea) so Cuirass might not be aware of all store items. However, I'd expect rediscovering them to be I/O busywork that shouldn't take 24 hours… even on I/O starved berlin.
<podiki[m]>i can share parts of /dev but would like to just have the whole thing in there...
<podiki[m]>ah, I guess it shares part of dev no matter what, so can't just do --share=/dev
<taterbase>I have a makefile that relies on the python executable. When I install python from the guix packages I get a binary called python3 but not just python. What is the proper way in guix to create a symbolic link for python to python3?
<bdju>can anyone recommend a program on guix for opening .ics files? it's something calendar-related. if opened in nvim it mentions microsoft exchange. I got one in an email
<bdju>I'm running Sway, so I'd rather not pull in a GNOME thing if I can help it
<jackhill>bdju: https://lostpackets.de/khal/ perhaps? Are ics files plain text? I use a paper planner, so my expericne has mostly been starting at the text reprentation of events until I could make sense of the data format and then writing it down on paper :)
<guixy>I'm trying to use tools in my guix home profile to learn things like autotools and ncurses. The program appears to compile correctly with the gnu build system, but ldd reveals the binary doesn't specify where the ncursesw.so.6 file is supposed to be.
<guixy>Is there something I'm supposed to include when I `./configure` or `make`?
<guixy>by "my guix home profile" I mean ~/.guix-home/profile
<guixy>At least I'm happy to report this is not the case in a container shell with the usual bash coreutils sed gcc-toolchain ncurses gawk grep and make packages
<apteryx>so the error that caused failure to SSH in my remote box is this at the end of 'guix deploy' is this: sshd: error: PAM: pam_open_session(): Module is unknown
<sozuba>jpoiret, disabling the systemd-reolved.service or any other dynamic dns configuration tool and specifying a working nameserver in /etc/resolv.conf would solve that network issue when installing guix in qemu vm. Thought i would share those, so this could serve as a work around for people who face the issue. This could be mentioned in the docs/wiki
<sozuba>Another bug i noticed was that, despite having chosen not to install any desktop service and cups, these packages appear in the generated configuration file by the installer. I could see cups, xorg and desktop. Just thought you should know, so you can raise a bug if you have time.
<guixy>apteryx: I found out the hard way putting guix in my guix home profile isn't the best idea. Packages added after the most recent version bump are unavailable, as are the security updates I mentioned. But it's an interesting idea to contemplate.
<guixy>I had to alias guix=~/.config/guix/current/bin/guix to fix a home that was configured between bumps.
<taterbase>Regarding my earlier question about installing another gcc-toolchain for 32 bit systems, I found this worked guix build --system=i686-linux gcc-toolchain
<bdju>I seem to get instantly disconnected when sshing to my computer running guix system. any ideas what could cause that? it lets me in but then disconnects me
<bdju>`sudo herd restart networking` didn't seem to change anything
<podiki[m]>bdju: that came up the other day here, unless that was you maybe search the logs over what was found
<lfam>You can also do `ps aux | grep sshd` and read the configuration file that is named there
<dhruvin>Hello. In recent guix we might have introduced something that requires guix pull to be run inside a terminal. I thinks this breaks automated guix image builds, as the function terminal-window-size raises "Inappropriate ioctl for device" when not running in PTY.
<dhruvin>update: by allowing downgrades, I saw that display-hint wasn't called. which made guix pull run successfully without terminal. display-hint seems to be assuming that we're running inside a terminal.
<dhruvin>podiki[m]: the ci build will only have 1 generation. since the images are built from scratch.
<cehteh>which prolly needs a lot work to be sane, you dont want your guixd as substitute server to blow your ssh keys into the world
<dhruvin>I think I found the problem. This was mind blowing. My channels.scm asks for a commit (of guix channel) for which `guix' is prebuilt on official servers. Somehow, the official guix servers returned a commit several months ago. This prevented guix upgrade, because it essentially is a downgrade.
<dhruvin>to summarize: my guix channels is configured to pull to a commit for which `guix' is pre-built on ci. CI returned a commit that is dated several months ago (issue 1). guix pull recognized the downgrade and tried to tell me to allow downgrades if that's what I intend. To do so, it called display-hint, which assumes that we're in term (issue 2).
<Kolev>It's hard to edit Lisp in Nano. Unmatched parentheses everywhere.
<rekado>jgart: not going to happen. There’s no good reason for us to revamp the bootstrap to work with musl instead of glibc. And doing both is just a waste of resources in development, maintenance, and compute time.
<dhruvin>It'd be great if someone from ci team can confirm weather channel-with-substitutes-available (from (guix ci)) returns latest commit or not.
<rekado>jgart: ng0 had many dreams of doing things differently, but few of them ever led to code, so there’s nothing you could continue.
<rekado>dhruvin: it uses find-latest-commit-with-substitutes
<rekado>it uses latest-build to check the substitute server’s API for the most recent build of guix.* derivations
<rekado>apteryx: is IO really that bad on ci.guix.gnu.org?
<rekado>there isn’t that much I could possibly do to improve it.
<rekado>the storage array is attached over just one of the two HBAs
<rekado>if we had multipathd in the initrd we could use both HBAs for redundancy or round robin access
<rekado>that’s the only medium impact change we could perform without having to replace disks
<rekado>if you have a workable, reliable btrfs config: we could use that. But note that someone would have to migrate all the existing files. And that takes space and lots of time.
<rekado>(we could probably copy things over to a SAN, but it would not be fast, and during the final sync we wouldn’t be able to use the system)
<rekado>this stuff is expensive, but less so when purchased through institute contracts
<rekado>and the reimbursal process with the FSF makes it difficult for us to just go and spend 30kEUR
<cehteh>rekado: do you run some test server (development workstation/personally)? ... you may play with dmcache and see if that gives any significant improvement, That would be a good opportunity to save some money with less SSD's
<cehteh>here with dmcache my workstation can walk 200Mio files 5TB in just about 1hr, and i am still optmizing the directory walk code
<rekado>I really don’t have the free time needed to play with systems.
<rekado>if someone has a patch for maintenance.git I’d gladly apply it
<rekado>and if that requires stuffing some SSDs in some empty server slots, I’ll do that too
<NicholasvonKlitz>Another question... there are several rust-gtk packages (Fractal, Authenticator, Shortwave, etc.) built with meson, that would be great to package. I'm looking through the various build system, but I'm not sure there is one that is well suited for this. With the current meson-build-system I have no idea how one would declare cargo-inputs or cargo-dev-inputs. Is it necessary to make an additional meson-build-system based of the
<rekado>got pretty far in building icedtea 2 directly (skipping the build of icedtea 1), but there’s an error when the built JDK is to be used to compile something.
<rekado>I’m hopeful that I can work around this. Would be lovely to get rid of the earliest icedtea package.
<jlicht>rekado: is there any additional benefit to this, besides having a shorter (and more easily maintainable) bootstrap path for java going forward?
***hollowman6 is now known as hollowman
<civodul>which already sounds like a great selling point to me :-)
***hollowman is now known as hollowman186
***hollowman186 is now known as hollowman
<clemens3>rekado/jlicht.. just finished bootstrapping rustc for my linux setup.. very much into doing the same for java later on, i hope you leave some document trace somewhere, also for people not knowleadgable about guile
<attila_lendvai>guix build issues a *warning* for this: "guix build: warning: failed to load '(nongnu tests swarm)'". now, this is less than useful. shouldn't this be an error (and preferrably with a backtrace)?
<paxton>curioser and curioser, guix size says the two programs i tried that on are not in the store, e.g. "guix size: error: path `/gnu/store/f85hm0xsh98z757vfci1476pa8lj032x-keepassxc-2.6.6/' is not in the store
<jpoiret>i'm wondering if we could instrument installer tests without qemu: my specific use case is adding a screen to manually configure things that might not be configured by DHCP, eg DNS if the server doesn't have one, or even the whole networking thing. To test that, we'd need to have a TUN/TAP interface so that we can run our own DHCP server, since
<jpoiret>QEMU's built-in SLIRP includes a non-configurable DHCP server
<jpoiret>so I was thinking of using network and user namespaces so that we could still run the tests unpriviledged
<mothacehe>jpoiret: yes newt programs work in a terminal. In fact I developed the installer on my host machine in a terminal. Just never took the time to integrate this mode properly.
<mothacehe>But doing so would definitely be great for people developing on the installer.
<jpoiret>oh, nice! do you think it would be useful to be able to test the installer in a container, rather than in a VM? I reckon we won't be able to test devices (or maybe we could, i'm not sure if we can emulate devices using disk images, qemu-nbd comes to mind)
<mothacehe>even if the installer tests are super fragile and hard to maintain, they have the benefit of an almost full integration
<mothacehe>but that doesn't mean we cannot have a guix command running the installer in a terminal for debug/devel purposes
<jpoiret>sure. I'll first look into adding the manual networking page first (maybe even just the DNS config one) as that was a blocker for a user. Maybe we could also document it in the manual for the manual installation process? It goes from `dhclient` straight to the install, maybe a heads up for common networking pitfalls could be great?
<civodul>this reminds me: we should remove the "GNOME" choice from the installer when on i686-linux
<mothacehe>jpoiret: yup, network configuration is definitely one of the cruxes with partitioning in the manual installation mode
<tralala_shalala>I need some help and would greatly appreciate it. I get an exit-status 2 for iptables-restore services ("start" command) when running guix system reconfigure. I've pretty much copy pasted the suggested iptables configuration as is from the guix info manual. http://ix.io/3IAU. Not sure what the issue could be
<rekado>dissent: what does “trouble with php” mean? Fails its test suite perhaps?
<attila_lendvai>my gedit is old, but i can't find out where it is coming from. guix package --profile=/run/current-system/profile/ --list-installed | grep gedit comes back empty. gnome, that lists gedit as its dependency, is v41.0, i.e. new. which gedit => /run/current-system/profile/bin/gedit
<attila_lendvai>i know i can install gedit explicitly, and it will (probably) update it... but shouldn't this happen automatically when i guix system reconfigure (and have gnome as a system package)?
<dissent>nckx: no but it seems its so long that termbin cuts it off.
<nckx>dissent: Try sharing the tail instead of the head.
<attila_lendvai>no, it's not the user either. it's something with terminals being open from before the update. although, i have sourced my user's profile and closed/reopened terminal windows multiple times. probably i confused myself, but i only had two terminals open.
<nckx>(Hm, x509… Could it be a system time issue?)
<attila_lendvai>nckx, i had two xterms open. then i did a `sudo -E guix system reconfigure`, which installed a new version of gedit. but in those two terminals `gedit --version` was still invoking the old gedit binary.
<nckx>I don't understand why, though. PATH isn't versioned. Unless you added gedit to a profile that previously lacked it.
<PotentialUser-30>It would be nice if there was a REPL workflow documentation / blog post about how to define a package, because sure, the new syntax introduced by https://guix.gnu.org/en/blog/2021/the-big-change/ is nicer, but I tried on and off to define a package in guix, and it's hard. Way harder than building directly from bash. Because with bash, when a step
<PotentialUser-30>of your build fails, you get a feedback about the error, then you can try fixing until it works, and once this step resolved, you can go to the next step of the build and repeat this debug process until achieving to build the package. Sadly I don't know how to do this noob friendly workflow in guix. When I try and fail to define or tweak a package
<PotentialUser-30>definition in Guix, I have no idea what I should fix or why it failed (except for missing libraries, where they give us a hint). Either I get everything right from the first try or I can't manage to build the package.
<PotentialUser-30>know how to replicate my bash build with guix & scheme functions. (I was really at lost with all this “declarative config” that uses so many replace without never telling how to know what it did)
<jpoiret>apteryx, civodul: to further complicate matters about the dbus/elogind issue, i don't think the Credentials error is actually related to what we're experiencing: the strace output from elogind shows that it successfully authenticated on with the dbus server, and the credential byte is read at the beginning of the authentication
<unmatched-paren>because the package is built with meson, but it needs a file copied somewhere
<opalvaults>nckx I mean that according to the error message. Sorry that was a miscommunication.
<PotentialUser-30>podiki[m] If you use emacs and geiser, how does you connect to `guix --repl`, because my geiser only connects to by foregin distro's guile (And in the past I tried to use the guile from guix, but I think to remember that it didn't have the guix modules) ?
<unmatched-paren>i know how to insert phases, but i don't know how to copy it, that's all -.o.-
<nckx>Thank you for the kind words. They're not quite cold hard bitcoin but they warm the heart.
<opalvaults>nckx happy to buy you a beverage if you ever do get one. pm me anytime. and to your point about openssl, that is actually the only thing different about this install that I've done. I explicitely installed openssl
<nckx>I'm afraid I must go AFK, but I'll catch up on any more findings later. I'll do some poking around of my own if I have time, because I want to learn more about how SSL cert bundles ‘work’ (often: don't) anyway.
<podiki[m]>you can follow symlinks to see that file comes from ca-certificate-bundle, but I'm guessing that comes from some default somewhere (or nss-certs being installed in a system?)
<opalvaults>podiki[m] gotcha, that's good to know. I'm not sure if it was pulled in as a dep on another system. This is my first time with a successful guixSD install so I'm getting used to where things are and how guix-package works in regards to dependencies
<podiki[m]>the certs are a bit mysterious to me, but all I have (if I remember) is nss-certs in the system config, which I've seen everywhere
<podiki[m]>opalvaults: in general, packages only make available to a user themselves (e.g. on PATH), while dependencies are there for them to run with; some do "propagate" inputs, essentially the same as you having also installed them to your profile
<lfam>If you want the certificate bundle, then you should make nss-certs available at the system level. That is, by adding it to the 'packages' field of config.scm and reconfiguring
<opalvaults>lfam I have nss-certs in my config.scm and I don't have that file?
<opalvaults>well..I have specification->package "nss-certs" at least
<lfam>Did you reconfigure your system since adding nss-certs to config.scm?
<rekado>speaking of the cookbook: I guess we need to update the tutorial to the new style.
<nckx>jpoiret: Could you elaborate a bit? As written it's a just-so story that I don't follow.
<lfam>The 'package Reference' manual section says "native-inputs is typically used to list tools needed at build time, but not at run time, such as Autoconf, Automake, pkg-config, Gettext, or Bison."
<jpoiret>well, the difference is: do we need a host version or a target version, to me the answer is clearly that we need a target version (in theory) but there won't even be a difference between a host and source version
<podiki[m]>opalvaults: it is a bit confusing, especially since I use both guix system and on foreign distro; just keep an eye out if you were expecting an env variable that it won't magically be available anywhere right away
<unmatched-paren>i'm doing it for guix, but i put my patches in my channel too because it generally takes a bit of time to merge stuff into guix
<bdju>I restarted the tty services and that fixed logging in on other ttys. I restarted ssh and then was able to ssh in, but I see some odd errors after sshing in. `error: XDG_RUNTIME_DIR not set in the environment.` and `Failed to connect to a Wayland server`. I just use base-services and don't have gdm/sddm.
<unmatched-paren>i've already published my channel, so i guess it would be easier to add it there (with appropriate permission and credit ofc)
<nckx>So is Swayfire like Sway with more eye-candy?
<apteryx>a seemingly rare, but really annoying bug
<bdju> apteryx: in my case ssh wasn't working either, it logged me out immediately. I had to restart the service for it. (last night I mistakenly restarted networking instead of ssh and was worried when it didn't work)
<florhizome[m]>it's a better tiling plugin for wayfire ;) not necessarily exactly like sway.
<florhizome[m]>it's just fedora silverblue without rpm in the end. but i find intresting he came from nix and went for ostree as system basis. since ostree is way more pluggable for distros it could become a quasi standard for easy system maintenance. so my question is if guix could be compatible with it in the system part.
<mbakke>well, diffoscope mainly because it runs tests that are sensitive to the file version, and thus needed to get 'file-next' as an input to select the correct tests for the patched python-magic (which needed an actual patch)
<nckx>Well, if the code was explicitly shared in response to a ‘could you share your code so I can put it in my channel?’ that would be enough, but it's not much to rely on and you've have to prove the convo happened and oh god just licence your non-trivial code properly everyone.
<singpolyma>If we wanna be picky now we have to ask where you work and if maybe your employer actually owns your snippets... 🤦♂️
<jackhill>I also came across some channel the other day that lifted some code out of guix, and then removed the copyright headers. I thought it was unfortunate for a while, but decided I had better things to do than complain. Hopefully for the best, and we can all strive to do better in the future :)
<florhizome[m]>*has thought about contacting wayfire maintainer to switch to the apache license
<nckx>Imagine a lawyer barging into a hackathon, writing a clearly broken piece of code on the whiteboard, scoffing ‘there, you nerds, I've solved the halting problem’, and leaving before anyone knows what to say.
<nckx>This is what programmers like to do with licences for some reason.
<unmatched-paren>a project that does not allow pseudonyms in their copyright attribution would not get many contributors
<singpolyma>Copyright headers are dead outside if GNU anyway. Most projects have no names *directly* attached to the licensing at all and rely on eg commit attribution. Probably need expert testimony about industry practise to make anything stick, but in practise no one sues so it's all pretty meh
<unmatched-paren>how many average free software programmers, of the kind that often does not wish to give away their real name (i.e. people not associated with linux or any of the companies that support it like ibm, google, etc) actually contribute to linux tho? i'm guessing not that many, i'd suppose it's quite a complex codebase for your average person to just contribute to casually
<unmatched-paren>obviously i have no idea, but 'not many' would be my first instinct guess
<singpolyma>jgart: probably. I have exactly one purescript project right now
<nckx>Corporate contributions dwarf individual ones, but I have a hard time blaming a real-name policy for even a fraction of that.
<nckx>It's a valid question but I don't think the answer can be determined either way.
<jackhill>jgart: I'm slightly interested. I think it would be super need to have guix on additional kernels than linux-libre and hurd, but relize the cost/benefit analysis might be off. I have not particular thoughts about hyperbola, but think it could be interesting to add an additional kernel that is more mature than hurd.
<nckx>unmatched-paren: That is indeed one of their opinions.
<jgart>singpolyma, How did you get slim templates working with purescript?
<nckx>I agree a port would be unlikely to be well-supported upstream.
<singpolyma>unmatched-paren: well, that just means we need to improve the importer
<f1refly>I'm sorry if this is annoying, but I have no idea where I could ask for help besides here: my clipboards don't work and it's very cumbersome. I tried setting both the primary selection and the clipboard with xclip manually, but nothing happens. I never encountered this behaviour before and no search engine returned anything useful yet. has anyone here any idea what can cause this?
<jackhill>unmatched-paren, singpolyma: it's not just the importer. Guix can't track reference and inputs in the same way it does for other languages for reasons that I don't unserstand, but it makes some of Guix's neat tricks not work
<nckx>And you're still missing the list call I suggested earlier.
<nckx>I wouldn't say you have to be able to ‘programme’ in Guile to use Guix, but following a very basic tutorial to get to know basic language concepts might be in order here. If you just randomly slap () around things you don't quite understand (a logical and common way to start), you could be slapping for a rather long time.
*nckx slaps Kolev around with a large unmatched-paren.
<unmatched-paren>i recommend you use a good linter or you will indeed have unmatched-paren problems