<Andronikos>podiki: No, I just saw at the logs from the CI. I wonder if it may failed because the machine had RAM issues or something? Sometimes I read that they run out of it because something breaks and so on.
<podiki>failed locally here now too; perhaps a finiky test
<Andronikos>maybe it has it's positives running old hardware
<Andronikos>I did a make check on master today and it had no fails. So it must be really recent.
<ieure>How can I get the store path for an installed package?
<dcunit3d>so i'm trying to build a perl-text-markdown package, but i'm getting a failure with perl-b-keywords which is a test dependency. the latter package is in Guix proper. does anyone else have problems building it?
<dcunit3d>also, i was thinking of submitting an regpg patch to Guix for review. it otherwise req. zero deps and is generally useful IMO. but i think i need to build the docs, which is what perl-text-markdown and it's other native inputs do
<dcunit3d>--substitute-urls gets me past the errors though
<ieure>I made a package for jellyfin-mpv-shim which I want to contribute. It's implemented in Python. Should that go into (gnu packages python) or (gnu packages video)?
<ieure>It relies on some unpackages deps, those obviously go into (gnu packages python) -- but wondering about the actual application.
<dcunit3d>The `make install` step is failing to create /homeless-shelter/bin, so i'm googling around to figure that out
<dcunit3d>pre-building the perl-text-markdown, trying to skip the check step and forcing substitutes for everything gets me to the install step on regpg. i just need it to work for now, then i can clean it up to submit as a patch later.
<ieure>dcunit3d, Error seems (in my limited experience) to mean that the install step needs to set DESTDIR, PREFIX, or whatever other environment variable controls the installation location.
<dcunit3d>also, since perl is pretty much ubiquitous and there are zero runtime deps other than perl, i'm unsure of whether it should be included as propagated-input or input... i think input.
<dcunit3d>i think this regpg script is extremely valuable (almost zero deps, etc), especially when you want to avoid centralized services (either for offensive security or for when you want to avoid cloud altogether). it's generally useful as an gpg interface for ansible-vault and to dump secrets from ansible where you don't leave a filesystem trace.
<dcunit3d>for me, just its documentation was fairly enlightening, as it gives you an indication of how to handle secrets using GPG for various scenarios. it illuminated quite a few missing pieces, like whether you care to use shred for files (i didn't realize you could), how to generate/protect TLS with keychain, how to use stdin/stdout with GPG generally, etc.
<dcunit3d>i'm not sure ieure. how is the selection of build system separate from the package inputs?
<dcunit3d>i know the specifications of outputs has changed over the past few years. i've encountered similar issues, but i've been in ansible-land far too long (i reallly wish guix had more support bc guix deploy circumvents the need for ansible in many cases)
<ieure>dcunit3d, I don't know if that's a rhetorical question or not, but I'm just getting my bearings here and don't really have any idea about any of this.
<ieure>In the absence of experience, I'm leaning on the docs/manual. Part about guix lint _seems_ to indicate that this linter error is to report "old-style" input labels. But I'm not using those. So I don't know what's wrong.
<podiki>i've had to write regexs here that had like 6 backslashes....took me more than 6 tries I bet
<dcunit3d>phew i got it ... at least for me. it was replacing the newline at the end of the file. half the calls to (substitute* ...) were to avoid the need for the perl package.
<dcunit3d>but then i remembered `guix import` which was like 99% of the work
<podiki>ah yes the newline; I think that at least has a hint in the manual
<dcunit3d>god i wish people would think for themselves. the capital for tech investment is too restricted and under the control of idiots that refuse to experiement with anything.
<dcunit3d>well i've read the manual at various levels of detail. it's actually what convinced me that i should try guix. there's so much info about services/packages in it, stuff i don't know. it blows the archwiki out of the water.
<dcunit3d>however, some details are less sticky for me until i go to actually work with the concept or its details. so i guess i need to re-read and re-re-read.
<podiki>the source is also a great resource; pretty much anything you want to do in a package has been done, in my experience
<dcunit3d>for some reason, "^prefix = .*$" wasn't matching until i replaced the spaces. idk. i should've pulled back and ran the code directly on the makefile. i need better habits.
<podiki>and if you have the hang of the changelog format for commit messages, it is very quick to search
<dcunit3d>yeh, it really is. i tried building a cura 5.x once though and they moved from python/c++ hybrid to python/conan hybrid and that's outta my league. mixing build systems is one thing, but making new conan build system and also mixing it with python? yeh that's a project for much, much later.
<podiki>yeah that sounds a bit much to jump into right away
<dcunit3d>i build XML for projects to git pull using google git-repo. when i learn a new language or something and i'm going to commit a lot of time to it, then i'll build the XML for it. i can usually do it with graphql (i have copies of almost all of KDE's repos on my machine)
<dcunit3d>so i also have a bunch of copies of guix channels and people's dotfiles. i otherwise don't get much feedback. i hate to cargo cult, but i'm bouncing around too many languages/frameworks too quickly enough for things to set in.
<podiki>i'm still constantly copying/adapting, often from my own old commits :-)
<dcunit3d>builds in general are something i lack experience in. i wish i had explicitly been taught: "write a package to solve those linux problems; when you reinstall, use your packages", which then implicitely acts as well-structured documentation.
<dcunit3d>it's so easy to get by in linux with packages and i had many noob problems because i was separated from that
<dcunit3d>nix/guix solve this and their home functionality is great
<podiki>glad you are enjoying it! I've been pretty hooked myself
<dcunit3d>and there are many open source projects where it's just not easy to become a contributer. Cura is one example. the build tooling is what it is, but then some upstream changes to code aren't readily acessible to a contributor .... this means "good luck getting your patches accepted"
<podiki>we have quite a backlog but I think are friendly and try to help out new contributors; the patch/mailing list might be foreign to some people but has some nice features I've found (I prefer it after using it)
<KE0VVT>podiki: I like the simple process of "Pull my work from example.net/alice/guix."
<dcunit3d>podiki: i'm trying to get used to it. i'm in the middle of working on improving visibility in email. i just need to manage labels and filter rules better. i have what i need set up for Guix and it shows in Gnus/Thunderbird, but i've gotta figure out how to check it more frequently.
<dcunit3d>i like the patch-based workflow for some things. the younger generations need to be taught how to use email. it's something that can really empower you later on. other notification-based apps just don't give you the power/ability to intelligently define what you want to see.
<podiki>I think the very basic level of "just send a diff/patch via email" for simple contributions is pretty low barrier, but admittedly not what many might be used to
<dcunit3d>for me, the barrier to entry was primarily around being confident that my secrets for email-based workflow would be secure (so understanding how to setup access to IMAP/etc and ensure that GPG-encrypted secrets would make access available to apps as needed)
<dcunit3d>otherwise, it was fairly straightforward. another stumbling-block was how to use git to generate patches, but magit makes that easy.
<podiki>sure, to do it well, but I think simply using one's regular email and attaching a file is pretty simple. though i'm one of those that has my email in emacs so i guess my perspective is skewed
<podiki>even the output of regular diff would be okay for someone starting out with a simple change
<podiki>mumi has some send patches features now to take out some of the steps
<podiki>(which still needs git send-email, but automates some talking to debbugs)
<dcunit3d>more structured mentorship would help accelerate the learning process. identifying coachable noobs who really want to learn and find someone who can be their "sponsor" or something. the linux user groups and universities seem to do this well.
<dcunit3d>learning about how email actually works was challenging, but well worth it. otherwiese, i don't think i ever would have learned about the five types of MXA agents or their purpose
<podiki>we do have a mentors team of some sort; I think they should get emails of first time submissions? i'm not sure the details
<podiki>it is a good idea though, a little personal help pays off for everyone
<dcunit3d>jgart helped me out alot in the beginning. i was in school so i didn't really have enough time to do it though.
<fnat>If I'm on Emacs 29.1, do I have to install emacs-modus-themes separately? I can definitely load the themes with the sole Emacs package, but then I feel I'm missing something re why emacs-modus-themes is packaged separately.
<futurile>fnat: I'm not an emacs user. But, it looks like there's a few different emacs themes. Why do you think you're missing something?
<fnat>futurile: Hi, thanks. Because the theme is already in Emacs and I don't see why having a separate package. But also, I seem to miss some of Emacs' modus-themes-* symbols that are mentioned in the theme documentation, so now I'm no longer sure I don't need the theme package :)
<fnat>Or maybe it's because the theme version packaged in Emacs 29.1 is slightly out-of-sync with respect to the upstream documentation, which is of course fine and understandable - it's just that I'd like to be sure I'm not missing anything else
<fnat>It might be more of a #emacs question as opposed to a #guix question, but I thought of asking here first
<nckx>It sends pages to the kernel via ioctl or other syscall, IDR which.
<f1refly>fair point of view for something not maintained since 2010
<nckx>Frustrating answer, but: this isn't hard, conceptually, the pieces are all there and mostly in the kernel. (1) You echo 'suspend' into /sys/power/disk (the action the kernel will take after writing the image; defaults to 'platform' shutdown-with-maybe-pretty-LED). (2) Then you echo 'disk' into /sys/power/state to hibernate. You can optionally (0) use rtcwake to set an alarm and trigger some script to hibernate again, but this time shut down. Due to Linu
<nckx>kernel ideology you must hibernate twice if you choose this. So must systemd. Hence my attempt to add it directly to the kernel. But you don't strictly need to.
<nckx>Just make sure your script can tell the difference between rtcwake alarm and the user opening the lid :)
<nckx>If you implement only steps 1-2, you at least don't lose data when the battery runs out, but it will still drain & wear the battery down.
<f1refly>I can't even get it to resume from hibernate x)
<f1refly>is there a problem when my swap partition is on an lvm in a luks device?
<f1refly>the system seems to write the correct swsuspend signature to my swap partition and i set the resume=/dev/myvg/myswaplv on my cmdline which is correctly reported in /proc/cmdline
<lars`>I need help debugging a strange network problem I'm having on my Pinephone Pro. I have a very minimal Guix image installed on it, and have wpa_supplicant and dhclient. I can successfully connect to my wifi, and dhclient gets an ip that looks correct, and I can ping the router. But the weird thing is that I can't ping anything else on the same network, and the phone itself is not pingable or visible from other devices on the same network
<ekaitz>i'll need some mentoring to become a commiter and be actually useful but... i want to do it
<nckx>f1refly: I know that the last commit to the hibernation code was supposed to allow more swap-on-foo scenarios, but I think the aim was LUKS. I don't know enough about LVM to say.
<f1refly>i'm on lvm on luks, so it should ask for a password regardless, no?
<nckx>Well damn, I was about suggest passing a raw offset to resume=, but with LUKS in the mix that won't work either.
<f1refly>yeah and because i don't have much space left I can't really repartition...
<nckx>Did you set it as a 'dependency' as you would for a file-system? (Probably, but that's my only idea.)
<f1refly>my root is unencrypted because /gnu/store resides there and i think it was not possible to have FDE with root encrypted when I set it up, but its only 100GiB and I need that space for the store and can't cut out a 32GiB-shaped hole to accomodate my ram :(
<f1refly>did you set it as a 'dependency' <- I'm not sure what you mean? i have (swap space (target ...)(dependencies (mapped-devices)(discard? #t))) in my swap definition list
<nckx>Linux hibernation fails if your RAM is >50% full, so your maximum size is 16GiB, and it's LZO-compressed.
<nckx>f1refly: (dependencies (mapped-devices)) was what I meant.
<f1refly>the swap gets picked up properly as well on boot, given I did not hibernate in which case it fails to activate swap because there's a hibernation signature in there
<f1refly>so everything is well, its just that the kernel tries to resume before the disk is available
<nckx>Except commit ec16f88522041dc285a35705ff9ee95672b78143 should have addressed that.
<nckx>Although my thought earlier about (dependencies ...) was silly. Those don't get resolved until much later.
<ekaitz>efraim: the --tune mechanism, how does it work?
<nckx>But what's odd is that it should still work accidentally, because these dependencies should be smuggled in through your root file system. Does it also have (dependencies (mapped-devices))?
<nckx>We don't do any more set-up between trying to resume from hibernation and mounting root.
<ekaitz>in cross-compilation, should the strip step be removed automatically?
<efraim>ekaitz: half of the magic is in guix/cpu to parse /proc/cpuinfo for the --tune option (without an architecture listed). The rest is in guix/transformations which often wraps the compiler so you'd have 'gcc --march=foo'
<ekaitz>probably because zig doesn't support it very well idk
<ekaitz>i tried with aarch64 and it doesn't break the binary
<lechner>ekaitz / also, the objcopy manual page states Note that objcopy should be able to copy a fully linked file between any two formats. However, copying a relocatable object file between any two formats may not work as expected.
<efraim>I suppose like that it's most similar to go, which has goarch and goos flags in guix, so I suppose you could add the zig-cpu option like you suggested, have it set to baseline by default, and let the tuning-compiler override it
<lars`>lechner: I've tried both wired and wireless devices. All of which are pingable from my laptop. There is a lot more wrong here than just a separation between networks.
<lars`>But I finally managed to ssh into it now, so there is some networking working. It was only possible to do from the router itself (luckily my router is just a Linux computer), any other device is not able to communicate with the phone at all.
<lars`>I've also tried to connect the phone with a ethernet adapter, but it still behaves the same way
<lars`>The route is being set up correctly by dhclient, so I should be able to access the internet, but for some reason I am not. When trying to ping 184.108.40.206 I get a redirect from an ip address belonging to my subnet, but this is an ip that does not exist. It does not belong to any of the other devices on the network and the ip is not present in the dhcp leases on the router.
<elevenkb>Hello there, I broke my laptop's screen so I'd like to use it over SSH. The main thing I would like is the capacity to refer to my laptop over SSH using its hostname as opposed to e.g. its IP address.
<mwette>I'm trying to debug why some packages in a module in my channel are not showowing up. I'm `guix repl' I have been able to get my channel object. Any idea how to extract available packages as guix would?
<civodul>mwette: there’s a longstanding bug/annoyance: you need to ,use(gnu packages) at the REPL to make channels show up
<renato>Ah! I had not done `guix pull` on my system yet. After doing it, I get the packages alright.
<mwette>As root, what's the difference between the current Generation listed by `guix describe' and `guix package -l' ? The `guix describe' one has a much larger number.
<nckx>They are unrelated, so the numbers don't really matter. 'guix describe' describes the currently pulled guix; every time you 'guix pull' that number will increment. 'guix package -l' describes your default user package profile (here: root's); every time you install/remove/update packages its generation number will increment.
<ieure>Just wasn't sure whether I could get away with the patch for the one in the series that needed the change or not.
<nckx>IMO that would complicate things for reviewers/committers for no reasonable benefit on your end.
<lechner>lars`` / this is a bit out of scope for this channel but the folks here usually don't mind. by "ip from your subnet" do you mean a private address or an address within your (or rather, your isp's) public ipv4 address block? https://en.wikipedia.org/wiki/Private_network
<lechner>the DNS thing probably does not matter, actually
<jbnote>hi guix, is there a simple way to execute a patched guix from a modified source tree without pushing a commit to git and doing a 'guix pull' from it? i'm trying to patch WSL image creation and the whole git commit; git push; guix pull; iteration is very slow. I've tried guix system -L ~/src/guix image build ... but it fails somehow.
<Andronikos>ieure: Did you setup git-credentials with pass? Does it actually require that password=<your-password> notation or can I only have the password itself?
<ieure>Andronikos, I haven't set it up yet. My understanding is that it has to have the password= stuff in its output, but I sure would love to learn otherwise.
<ieure>I forget the name, but I used to run a local MTA that only forwarded messages to my mailhost's SMTP box. Thinking of setting that up again, since I have multiple programs that need to send mail and configuring each of them is irksome.
<zamfofex>Is there any way to define a suffixe for search paths? E.g. for Lua search paths.
<ieure>Kolev, You probably want trivial-build-system with all the phases other than install removed, and to use install-file to copy the script to the output dir.
<Kolev>Sounds complicated. I'll just shove it into ~/.local/bin.
<Andronikos>Kolev: If it is just a simple shell script, there is copy-build-system which basically just copies the shell script in the output. Therefore you have it in your path and can run it like a executable.
<Kolev>Hm. Looks like it depends on `jhead` which Guix does not have.
<Kolev>Is there another photo album generator I could use that's in Guix?