IRC channel logs

2023-07-18.log

back to list of logs

<mirai>sneek, later ask civodul: hi, which comment do you mean? (re: <https://issues.guix.gnu.org/64471>)
<sneek>Will do.
<azzamsa[m]>Hi,
<azzamsa[m]>Where to find development package in guix, I am playing with `guix shell` to avoid polluting my system. One of my Rust dependecies require `libssl-dev` (debian) or
<azzamsa[m]> * Hi,
<azzamsa[m]>Where to find development package in guix, I am playing with `guix shell` to avoid polluting my system. One of my Rust dependecies require `libssl-dev` (debian) or `openssl-devel`(fedora).
<azzamsa[m]>I can't find *-devel in guix packages. using `openssl` doesn't work.
<azzamsa[m]>Thanks!
<azzamsa[m]> https://docs.rs/openssl/latest/openssl/#automatic
<ChocolettePalett>There is an option to fetch stuff needed for developement, using a command line option "--development". It might work but I am not sure, never used it myself.
<ChocolettePalett> https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-shell.html
<azzamsa[m]>ChocolettePalett: > <@chocolettepalette:matrix.org> There is an option to fetch stuff needed for developement, using a command line option "--development". It might work but I am not sure, never used it myself.
<azzamsa[m]>>
<azzamsa[m]>> https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-shell.html
<azzamsa[m]>Okay, will try.
<azzamsa[m]>ACTION sent a code block: https://libera.ems.host/_matrix/media/v3/download/libera.chat/309a57407d0b6ef7631a5d40350e3d7d54cde220
<azzamsa[m]>Doesn't work.
<distopico>Hi Guixers, I appreciate feedback in this patch, is my first one and I forgot add the science team to cc: https://issues.guix.gnu.org/64688
<stevenroose>There is a doc page on package transformations. But it doesn't tell me how to change the name of the resulting transformed package
<stevenroose>Like, I'd like to install a transformed version of a package alongside the regular version
<stevenroose>Is there a flag to guix build/install that allows one to change the output name
<lilyp_>stevenroose: inherit the transformed package and change the name
<lilyp_>distopico: substituting free with open is weird, but substituting it back without doing the right thing of writing a patch for upstream is even weirder
<lilyp>there's also the lgpl2.1-only thing that many folks do not knowing the implications
<stevenroose>lilyp: yeah I don't know how to write package definitions though, I was hoping for a CLI option for that, like --with-source does
<lilyp>I don't think that'd be necessary. If there's a conflict, just evade it with guix shell.
<distopico>lilyp: yes, I was thinking about the open/free substitution, I inspired bye the Debian package definition that do something similar in the main page, but not for free/open..so thanks for the feedback I'll remove that part
<mirai>distopico: I'd try contacting upstream first
<mirai>to see if they're willing to change it there instead
<HiltonChain[m]><ChocolettePalett> "There is an option to fetch..." <- > <@chocolettepalette:matrix.org> There is an option to fetch stuff needed for developement, using a command line option "--development". It might work but I am not sure, never used it myself.... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/5ba1367e0fce2e97cb0fd1e3b25422961d76861b>)
<HiltonChain[m]>azzamsa: You may try "guix shell gcc-toolchain openssh", which should set $LIBRARY_PATH properly.
<HiltonChain[m]>openssl*
<rekado>azzamsa[m]: we don’t separate packages into “development” packages and “library” packages
<rekado>they are all the same
<rekado>if your package isn’t finding it you should check how it’s looking for it
<rekado>some packages use pkg-config to find libraries, others look at LIBRARY_PATH, etc
<abrenon>hello guix
<jpoiret>sneek, later tell civodul: Uploading a mig tarball LGTM
<sneek>Got it.
<jpoiret>sneek, later tell civodul: But we'll need one for gnumach and hurd as well because we use git fetch for them I think?
<sneek>Will do.
<civodul>Hello Guix!
<sneek>Welcome back civodul, you have 3 messages!
<sneek>civodul, mirai says: hi, which comment do you mean? (re: <https://issues.guix.gnu.org/64471>)
<sneek>civodul, jpoiret says: Uploading a mig tarball LGTM
<sneek>civodul, jpoiret says: But we'll need one for gnumach and hurd as well because we use git fetch for them I think?
<nmeum>hi! how can I skip the check phase when installing a package? for example it seems that unicorn from gnu/packages/emulators.scm does presently not work because of a failing test in the check phase. as such, i can't run `guix shell unicorn` succesfully. is it possible to skip the check phase without editing emulators.scm?
<cbaines>civodul, regarding guile-gnutls, am I correct in saying that it needs a few tweaks to work with non-blocking sockets? I tried using it that way, and I got some exceptions that I guess should have been handled through waiting.
<civodul>cbaines: i haven't tried, but i think it should work with non-blocking sockets, provided you use set-session-transport-fd!
<cbaines>civodul, I've lost the script I used, but I think I got some exceptions, I'll have a futher look though
<civodul>ok, lemme know how it goes
<civodul>it would be good to make it work
<civodul>nmeum: hi! yes, you can run "guix shell unicorn --without-tests=unicorn"
<civodul>see https://guix.gnu.org/manual/en/html_node/Package-Transformation-Options.html
<nmeum>thanks! one more follow-up question: if I use unicorn as inputs for a custom package how would I specify that I want to use it as an input without checks?
<civodul>on the command line, it's the same
<nmeum>but it's not possible to encode this information in the scheme file?
<civodul>yes, you can also do that, by defining a package variant where tests are disabled: https://guix.gnu.org/manual/devel/en/html_node/Defining-Package-Variants.html
<civodul>meaning something like: (arguments '(#:tests? #f))
<nmeum>ah, cool! thanks!
<civodul>yw! :-)
<civodul>Cuirass keeps getting things like: "Git error while fetching inputs of 'master': SSL error: syscall failure: Connection timed out"
<civodul>(on ci.guix)
<civodul>i wonder what's going on there
<civodul>plain "git pull" seems to have similar problems
<civodul>rekado: hi! are you aware of networking issues at the MDC?
<cbaines>civodul, since running the nar-herder on hydra-guix-129 I've see quite a few networking issues, although given I'm using Guile it was hanging rather than crashing
<cbaines>I did some hacky stuff which I think has helped https://git.cbaines.net/guix/nar-herder/commit/?id=836812dbff93f3c670903720d04129be60873e22
<civodul>cbaines: yeah i guess setting a reasonable timeout can't hurt
<cbaines>I guess Git doesn't hang, which is great, but maybe whatever is failing needs some retrying
<civodul>but still, looks like we can't access git.sv.gnu.org from there
<civodul>for me, "git pull" does hang (started it a few minutes ago)
<civodul>could be that the Savannah admins banned our IP, too
<civodul>which, you know, would be understandable ;-)
<cbaines>maybe, although I spotted networking issues around the tex-team-next changes https://issues.guix.gnu.org/64324#1
<cbaines> svn: E000110: Can't connect to host 'www.tug.org': Connection timed out
<cbaines>and this is only on ci. I worked around it by adding nar-download support so ci could fetch the nars from bordeaux
<civodul>ah yes, i've seen those svn issues too, but i think it's more that svn is often blocked by firewalls and whatnot
<cbaines>I guess it could be intentional
<davidl>guix has multiple guix.info files - how can I merge them to one info file?
<rekado>civodul: no idea about network problems. Anything in particular?
<rekado>there were problems with the debbugs sync yesterday
<rekado>no idea why
<rekado>SVN could be blocked by the firewall
<nckx>civodul: curling http://git.sv.gnu.org from berlin failed (hung) the first time, then I installed mtr, successfully mtr'd it, tried curl again, and now curl http://git.sv.gnu.org consistently succeeds. curl https:// consistently hangs.
<nckx>So no, Savannah's not blocking berlin.
<rekado>I’ve opened a ticket to unblock SVN
<civodul>thanks, rekado!
<civodul>nckx: that's weird though; what conclusion can we draw from that?
<nckx>I've asked Savannah just to be sure, but it sounds like a funky (MDC?) firewall to me.
<nckx>ACTION AFK.
<rekado>I’m still struggling with ibus + ibus-libpinyin on Gnome. Any ideas how to debug this?
<rekado>ibus-libpinyin works in the gnome-shell input field, but the input method doesn’t work in any of the applications
<rekado>e.g. icecat, console, soffice
<rekado>the GTK_IM_MODULE env var is set to ibus
<rekado>I export it in the shell and launch soffice or icecat from there
<rekado>ibus and ibus-libpinyin are installed in the system profile as well as the user profile (they don’t need to be, but I want to be sure that env vars are set in all contexts)
<rekado>nckx, civodul I can reach https://git.sv.gnu.org (with curl) from other MDC servers
<rekado>…and now we see timeouts again when talking to debbugs.gnu.org
<rekado>I’ll open a ticket
<PurpleSym>rekado: Sorry, I think I was unclear about #64573. It’s not in a state that I want to see it merged yet.
<PurpleSym>But if it was, we should add it to that branch (later).
<rekado>oh, sorry
<rekado>I’ll recreate the branch with just the pygments upgrade
<civodul>all this is one more reason to stop polling
<rekado>set up sourcehut?
<rekado>PurpleSym: the python-team branch now only has the pygments update
<PurpleSym>Thanks and sorry again for the confusion.
<nckx>I've asked about berlin's IP specifically.
<PurpleSym>I wonder how teams can organize todo items like this one and make their work more transparent.
<rekado>ACTION packages https://git.sr.ht/~sircmpwn/core.sr.ht
<latex>Why does Guix SD install webkitgtk and all this other stuff when all I want is i3?
<latex>I only selected i3 in the installer but it installs a bunch of unnecessary bloat packages
<latex>Anyone know what's going on?
<rekado>latex: the i3-wm package doesn’t need webkitgtk. What does your configuration look like?
<latex>I think my laptop is hanging in the installation of webkitgtk
<latex>Ctrl+Alt+F* is not working
<latex>it is unresponsive
<latex>But the configuration was basically whatever the installer spat out
<msavoritias>are you using gdm (gnome login screen)?
<msavoritias>to login
<latex>I didn't tick it
<latex>I didn't even see gdm in the installer
<latex>So I'm not sure what it was doing
<latex>Does it force gdm on you?
<msavoritias>if you have installed guix and you want to see the system config you can cat /etc/config.scm to see it
<rekado>if by “force” you mean that the default desktop template contains a gdm service, then: maybe.
<msavoritias>if not you can see the config in the installation.
<msavoritias>but yeah probably it has it. because its the default login
<latex>I'm gonna do a manual install then
<latex>I don't want big bloated fatty packages on my system
<latex>I don't want my laptop to go to mcdonalds
<rekado>latex: my recommendation: install a bare system, no desktop stuff. Then boot the system and reconfigure it however you want.
<rekado>a Guix System installation is a better environment for fiddling with the config than the installer
<msavoritias>yeah. also you can edit the config from the install i think
<latex>It would've been cool if the installer had more options but alright
<latex>I suppose the key thing of guix is to fiddle with the scheme configs
<msavoritias>it should have. something something few people
<msavoritias>working on guix*
<rekado>I think it’s just not very important to map many more options to the installer UI. The installer gets you started. If you want to customize things you can edit the configuration.
<nckx>You'll have to do so eventually, anyway.
<civodul>rekado: on your way to packaging sr.ht?
<civodul>this whole sr.ht thing looks very attractive
<civodul>i wonder why we don't see more instances out there
<civodul>this design as independent yet consistent services is very cool
<xd1le>yeah it's nice and refreshing
<civodul>cbaines: what's the right incantation to get qa to retry https://qa.guix.gnu.org/issue/64299 ?
<civodul>hey people, two weeks to the PackagingCon CfP deadline: https://cfp.packaging-con.org/2023/cfp
<civodul>who's in? :-)
<bjc>is it possible to configure debbugs to auto-cc everyone involved in a ticket?
<bjc>and if so, can we? =)
<cbaines>civodul, I was planning on putting a PackagingCon propotal in
<civodul>cbaines: yay!! awesome
<janneke>jpoiret, civodul`: headsup, i've sent the bottom of hurd-team as a patch series to fix hurd cross and native builds
<janneke>=> https://debbugs.gnu.org/64708
<janneke>ACTION resets branch hurd-team
<efraim>cbaines: also going to the reproducible builds meetup this year?
<moelogism>i specify packages in the home profile, in this case git, guix home container has git in it, reconfigure however creates a new generation and git is not installed, am I doing something dumb?
<apteryx>hi Guix! I just got: substitution of /gnu/store/nyy8k0qnkyjm9j79arjsg6cfay2r9y14-transmission-4.0.3 failed -> guix package: error: corrupt input while restoring archive from socket while attempting to update
<moelogism>apteryx: probably network issue, try again
<apteryx>not on my end (wired network at the office), and I could reproduce a couple time
<apteryx>seems to be triggered by multiple downloads happening in parallel (I have max-jobs 10 or something)
<apteryx>building the transmission derivation in solo succeeded though
<formbi>hi
<formbi>python-shiboken-6 is broken
<apteryx>civodul`: hello! Could you (or someone else in the know) shed some light on the 'procedure' vs 'function' word choice for Scheme?
<apteryx>for example, we always seem to use 'procedure' in our ChangeLog commit messages to mention even pure functions (procedures without side effects)
<formbi>the file sources/build/libshiboken/embed/.signature_bootstrap.py contains a spurious indent
<formbi> http://ix.io/4ATc/python (on line 64)
<formbi>how can I remove it?
<ngz>sneek: later tell rekado I see two issues with propagated inputs from python-sphinx. 1. They include some texlive packages, de facto forcing modular TeX Live onto user; 2. they are not sufficient to compile any ".tex" file on their own since they lack, at least, texlive-bin. WDYT?
<sneek>Welcome back ngz, you have 1 message!
<sneek>ngz, rekado says: The artistic2.0 -> gpl3+ thing looks like a mistake
<sneek>Okay.
<formbi> http://ix.io/4ATd tried this, but it didn't work
<formbi>what would be the proper way?
<ngz>sneek: later tell rekado In particular, would it be reasonable to assume python-sphinx consumers have to provide their own texmf tree as a native input (i.e., using texlive-updmap.cfg)?
<sneek>Will do.
<formbi>sorry, I meant sources/build/libshiboken/embed/signature_bootstrap.py (without the dot)
<ngz>formbi: maybe you made a mistake in the number of spaces (or tabs?) before the import?
<apteryx>ngz: The texlive propagated inputs of python-sphinx make it much easier to build the tex files it produces
<ngz>formbi: perharps something like this will work (("[ \t]*(import importlib\\.machinery.*)" _ suffix) suffix)
<ngz>apteryx: How so? You still need to provide a proper TeX Live tree anyway, don't you?
<apteryx>basically just texlive-bin, I think
<apteryx>hunting all the packages it wants is a pain in the rear
<ngz>Since any consumer needs to throw in texlive-bin anyway, couldn't they just add, e.g., (texlive-updmap.cfg (list texlive-cmap texlive-collection-latexrecommended)) instead?
<ngz>(to native inputs)
<apteryx>I haven't checked what's in the later package, but since it's not sphinx-specific, it might miss some packages that would need to be manually hunted, no?
<apteryx>or include too much stuff
<ngz>I think the latter is more correct, but OTOH, we're using propagated inputs at the moment, which is not great either.
<apteryx>how is it "more correct" ?
<ngz>I mean, the example I gave is probably a superset of what python-sphinx currently propagates, not the other way.
<apteryx>moelogism: another instance of the same problem: https://paste.debian.net/1286235/
<apteryx>ngz: "probably" :-)
<apteryx>they are not related, so it'd be down to luck
<formbi`>ngz: no, I put the right amount (just copied it from the file)
<formbi`>and the code you gave doesn't work either :/
<apteryx>ngz: are the tex inputs on sphinx causing a size issue?
<ngz>apteryx: The list in python-sphinx is not optimal either, just have a look at hypre package. It adds a ton of texlive packages on top of what python-sphinx already bring in.
<ngz>apteryx: No that is not my point. My point is that they are propagated, so they force a TeX Live installation on the user, and they are not "standalone" anyway.
<ngz>formbi: That's usual for the code I write anyway ;)
<apteryx>they cause a few lightweight (in binary form) tex packages to be propagated along, yes
<apteryx>these provide value for users keen to generate PDF documentation for example (see python-ipython-documentation as an example)
<ngz>If you take python-ipython-documentation, dropping the propagated texlive inputs from python-sphinx would add two additional native inputs to the python package (assuming I was right on the superset above). IOW, we would trade propagated inputs for a (reasonable) bloat of native inputs.
<ngz>Reasonable as in "measured in ko".
<apteryx>what if a new release of python-sphinx make use of something that has no place in texlive-collection-latexrecommended?
<ngz>You would have to fix all consumers, obviously. But, what are the odds of this?
<ngz>We can also bring even larger supersets, which would reduce the risk of what you mention
<rekado>apteryx: “function” is only used for pure functions, whereas “procedure” could be pure or not. Calling a pure function a “procedure” is fine, but calling a unit of code with side effects a “function” would be incorrect. We just default to the more generic term.
<sneek>rekado, you have 2 messages!
<sneek>rekado, ngz says: I see two issues with propagated inputs from python-sphinx. 1. They include some texlive packages, de facto forcing modular TeX Live onto user; 2. they are not sufficient to compile any ".tex" file on their own since they lack, at least, texlive-bin. WDYT?
<sneek>rekado, ngz says: In particular, would it be reasonable to assume python-sphinx consumers have to provide their own texmf tree as a native input (i.e., using texlive-updmap.cfg)?
<apteryx>ngz: the easier alternative I'd see is have a python-sphinx-minimal which lacks tex-related inputs
<rekado>what is wrong with “forcing modular TeX Live”? We want to only offer the modular thing anyway.
<ngz>rekado: 1. user may not want TeX Live at all (e.g., no additional process in the profile, limited size on the machine), 2. it might conflict with a different TeX Live installations (a custom TeX Live installed from tlmgr, etc.)
<ngz>when building a profile, I mean
<ngz>Besides, modular TeX Live, on the tex-team-next branch, provides around 13% of the packages from a complete TeX Live installation. It cannot cover all use cases.
<ngz>I have the feeling that python-sphinx is not supposed to install Tex Live packages. But I may be biased: I don't user python-sphinx.
<ngz>use*
<ngz>Fair enough. Since no one seems to share that feeling, I'll just give up on this topic.
<Rovanion>Does Guix have recommends like Debian? I.e. optional dependencies.
<ngz>Rovanion: No it doesn't. Packages do have propagated inputs, tho, and leaf packages tend to be maximum on the inputs they bring (but this is no absolute rule).
<civodul>ngz: i'm all for pushing for modular texlive, but as you write, 13% means it's insufficient
<apteryx>rekado: thanks for the explanation!
<rekado>the 13% coverage is not a problem once we’ve got a good importer
<rekado>in the monolithic texlive package we don’t build any of the files from source
<ngz>The importer is good enough. Adding tons of packages is relatively easy. I'm more concerned about an updater.
<rekado>so we can quickly gain parity by importing everything from SVN and installing the files as is
<civodul>ngz: there's some importer/updater convergence
<civodul>we should now be able to make "guix refresh" produce a result equivalent to "guix import"
<civodul>(modulo synopsis/description)
<ngz>civodul: I have doubts about TeX Live packages due to how versioning works there, but I didn't look at it much either.
<ngz>What I know, tho, is that when switching from TeX Live 2021 to TeX Live 2023, I imported each existing package manually. It was possible for a few hundreds of them, much less if you count in thousands.
<civodul>yeah
<ngz>If only <https://qa.guix.gnu.org/branch/tex-team-next> would build something… Numbers of packages in Unknown state have not been moving for a while now. =/
<cbaines>efraim, re the reproducible builds meetup, I'm planning to (but haven't actually done any planning yet...)
<cbaines>ngz, the bordeaux build farm is down to just two x86 machines at the moment, and at the moment they're busy building things from the master branch
<shanemd>Is there a way to install packages system-wide with guix? I tried running the install command with sudo, by that just installed the packages in root's home guix profile.
<mfg[m]>If you are on a foreign distro, i don't tjink so
<ngz>cbaines: You probably explained it to me already, but where can I get this information? I assume <https://bordeaux.guix.gnu.org/activity>?
<apteryx>yes, otherwise the operating-system's packages field
<cbaines>ngz, yep, if it ever loads...
<shanemd>mfg[m]: Thanks. I'll stick with my distros pkg manager for system-wide installs then.
<nckx>You could always edit your system-wide shell configuration file(s) to source root's profile first. At least, it sounds plausible.
<ngz>cbaines: OK. For the record, I will be mostly offline during 3 weeks starting Saturday. I would really appreciate being able to merge this branch before. Do you think it can be done? (the branch is just waiting for the build farm to catch up).
<cbaines>ngz, the information from QA about the effect on aarch64-linux and armhf-linux (where the bordeaux build farm seems to do well) is pretty positive
<cbaines>substitute availability isn't bad either, i686-linux is above 80% from ci.guix.gnu.org
<ngz>cbaines: I was concerned about the 5k unknown packages in i686-linux. Are they not an issue?
<cbaines>ngz, it's hard to tell for sure, but the substitute availability looks OK (at least from ci.guix.gnu.org)
<cbaines>ngz, waiting more isn't going to help much as the bordeaux build farm lacks hardware, and CI is unreliable and hard to get information from
<ngz>OK. Let me merge this branch at once!
<cbaines>civodul, I've put a retry in for http://data.qa.guix.gnu.org/revision/685da4d6982713bbdf1ff4ba2d1769a9a8c64dbf now as well, unfortunately that's something that requires access to beid (the machine running data.qa.guix.gnu.org) currently
<cbaines>ngz, along with getting tex-team-next merged, it would be good to continue the conversations around branches/QA (probably on the mailing list) so that we can make things easier and better for the future
<mfg[m]><shanemd> "mfg: Thanks. I'll stick with..." <- I also use guix on a foreign distro, but i never felt the need to install something ystem-wide as i'm just using a single user.
<mfg[m]>Though there may be use-cases for thast 🤔
<ngz>Merge done.
<ngz>cbaines: Sure. It was an "interesting" experiment we can build on ;)
<latex>Anyone know why the installation medium kernel panics?
<latex>I get kernel panics saying "not syncing"
<latex>It happened once when I ran `cryptsetup benchmark` and another time when I ran `guix pull --branch=master`
<latex>I'm on a librebooted ThinkPad X200
<mfg[m]>is your drive encrypted?
<latex>I'm trying to
<latex>But it kernel panics before I get the chance to properly do anything to it
<mfg[m]>Ah so you are installing and want your drive to be encrypted?
<latex>Yes
<mfg[m]>afaik you have to create the luks device before installing then mount it then install to that and configure your operating system description accordingly, you should be asked on boot to type in the passphrase
<latex>But why does the kernel panic?
<mfg[m]>if that doesn't happen then the kernel won't see anything meaningful on the device and panics because VFS can't sync
<latex>Oh
<latex>But cryptsetup benchmark isn't supposed to panic
<mfg[m]>what does your operating description look like?
<latex>What is that>?
<mfg[m]>the config file you created? should look like: https://paste.debian.net/1286257/
<mfg[m]>this is my operating-system description. I'm also using full diusk encryption
<mfg[m]>yours won't look exactly like this, but it should be similar
<mfg[m]>the key items are the file-systems and mapped-devices field
<latex>I didn't even get to creating a config file yet
<mfg[m]>It sounds to me that you used the installer to install the system, then try to boot it to change the config? is that correct?
<mfg[m]>Because with encryption i think that's impossible. I installed manually iirc; let me search if there is a relevant chapter in the cookbook or manual
<mfg[m]>Hm, i think the manual is lacking some examples in that regard. You pretty much want to follow https://guix.gnu.org/manual/en/html_node/Keyboard-Layout-and-Networking-and-Partitioning.html
<mfg[m]>but then the initial config has to crafted manually afaict
<zacchae[m]>I appriciate whoever changed the icon for the now dead libera.chat matrix channel to a bovine skull
<mfg[m]>Nice one, i haven't noticed that :D
<latex>I literally didn't do anything yet
<latex>All I did was use cryptsetup and guix
<latex>these two commands
<latex>and both of them can cause kernel panics
<mfg[m]>i fail to understand that. If the system is running and not rebootet the kernel won't try to remount VFS, so i don't know how it could panic in that situation.
<mfg[m]>also which guix command did you run?
<mfg[m]>just running guix doesn't do much afaik
<mfg[m]>latex: have you tried installing without encryption before?
<mirai>Rovanion: I think the rule of thumb is to have the default package with as much features enabled as possible
<mirai>some packages might be missing some “optional” dependencies but its usually because no one cared enough to enable/use them yet (mpd package for example)
<mirai>you can also define your own “lite/phat” package variants by inheriting the original package and removing/adding dependencies & arguments
<mirai>Is it possible to run the vm used by a system test alone? (iow manually inspect the VM as if it were generated with a guix system vm <config.scm>)
<dadinn[m]>I have a problem with my Debian Bookworm installation, such that it upgraded git from 1.2.30 to 2.39.2. This update broke the --preserve-merges command on which my Magit version relies on.
<dadinn[m]>I would like to revert to install the old git version with guix, but not sure how to find the hash for time-machine which has this old version of git.
<dadinn[m]>I know it's possible to query this but don't know how.
<mfg[m]>as the git messages follow a regular format i'd just grep the git log?
<tschilp>hi guix!
<vagrantc>ACTION waves
<mfg[m]>Hm the oldest git i can find in the log is ff212a5cdfd9bb06532781e98f5d1145ef269ec0 which is an update to 2.1.2 this is from 2014, i'm not sure if 1.2.30 was ever packaged in guix 🤔
<mfg[m]>Ah, my grep was stupid. The oldest i can find is: 1.8.4: d1f30e9943bf59fa0eefe40bb9aea64df2e7a594
<dadinn[m]>where is this guix git repository located?
<mfg[m]> https://git.savannah.gnu.org/cgit/guix.git
<nckx>There's no nicer way to query this.
<mfg[m]>It's pretty nice tho, that the committers are that disciplined ALL THE TIME, literally every commit follows a known structure. THis makes grepping actually fun :D
<nckx>It is fun.
<nckx>(Unironic.)
<mfg[m]>yes, i'm actually surprised that 10 year old commits look the same as today structure wise :D
<dadinn[m]>so does Guix automatically clone this repo, and I can find it in my local machine?
<vagrantc>ACTION keeps inserting apparently extraneous indentation in commit messages
<mfg[m]>you may find it under .cache/guix/checkouts i think
<mfg[m]>though the name of the folder under that is just a hash (don't know what it means)
<mfg[m]>and i'm not sure if this is just a shallow clone
<latex>Do I need a bootloader target if I have libreboot with grub payload?
<nckx>It shouldn't be shallow.
<mfg[m]>which package contains mktexfmt? i just wnated to try out the new texlive with some documents
<mfg[m]>and i get: mktexfmt: No such file or directory
<nckx>latex: I don't know exactly what Libreboot's GRUB looks like, but if it configfiles Guix's grub.cfg, you don't.
<mfg[m]>Ah i can't read error messages, the missing file is something else: lualatex.fmt
<rrobin>mfg[m]: texlive?
<mfg[m]>i'm trying out the modular packages, yes using just the texlive package will work
<nckx>latex: Use (installer #~(const #t)) .
<ngz>mfg[m]: You need at least texlive-latex-bin, but more realistically, something like texlive-scheme-basic.
<mfg[m]>Ah i just had: texlive-collection-luatex and texlive-latexmk
<ngz>You should have a look at the description of texlive-collection-luatex package.
<ngz>It will explain the issue you're having.
<mfg[m]>👀
<dadinn[m]>mfg[m]: I've tried to run: guix time-machine --commit=d1f30e9943bf59fa0eefe40bb9aea64df2e7a594 -- install git@1.8.4
<dadinn[m]>but got this error:
<dadinn[m]>guix time-machine: error: open-file: No such file or directory: "/home/dadinn/.cache/guix/checkouts/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/build-aux/build-self.scm"
<latex>Hey, en_US.utf8 sucks. Is it possible to set LC_TIME to en_DK.utf8?
<latex>Also what is (installer #~(const #t))?
<mfg[m]>dadinn[m]: I'm not a time travel expert, sadly :-(
<mfg[m]>This error doesn't make sense to me
<nckx>latex: The field to add to your (bootloader-configuration …) to disable GRUB installation. Guix will still generate a grub.cfg at each guix system reconfigure.
<mfg[m]>ngz: the modular texlive is amazing :D
<mfg[m]>thanks for merging
<ngz>Thanks
<nckx>latex: Add (locale "en_IE.utf8") to your operating system to select the whole locale. If you want LC_TIME *only*, you can probably use (simple-service 'the-environment session-environment-service-type `(("LC_TIME" . "en_DK.utf8"))) or so, but I haven't tested that.
<nckx>Er, _DK.
<nckx>Which is a strange way to spell _IE, the only correct locale.
<latex>What is en_IE?
<latex>I only know of the en_DK trick
<nckx>I thought _DK was a deprecated half-joke.
<nckx>en_IE is a ‘proper’ Irish English locale, which means sane units and nice spelling.
<latex>But en_IE doesn't have ISO 8601
<latex>I want ISO 8601
<nckx>Then try _DK?
<nckx>If it works, great.
<latex>Seriously why is ISO 8601 not the default
<mfg[m]>i don't even know what that is; have to google it
<latex>i3 is nearly ISO 8601 compliant by default, which is amazing
<nckx>mfg[m]: YYYY-MM-DD etc.
<latex>ISO 8601 is yyyy-mm-ddThh:mm:ss
<latex>aka the big endian date and time format
<nckx>It has its uses.
<latex>It's the standard way to represent date and time in a textual format
<mfg[m]>hm, i always use dd/mm/yyyy ... 👀
<nckx>You misspelled ‘a’.
<latex>And ISO 8601 is also the nicest to read (except for the T perhaps)
<mfg[m]>or with dots instead of slashes
<latex>little endian date and time is a joke
<nckx>You can pry my ss:mm:hh out of my dead, American hands.
<latex>LE dates cannot be sorted easily
<tschilp>do you have a recommendation how to display emojis in emacs/erc on guix, I also seem to be dropping quite something in chromium...
<nckx>I have colour emoji in emacs-next-pgtk with font-google-noto installed.
<tschilp>Thanks!
<nckx>It also emojifies the © in Guix source files, beware. So it begins.
<tschilp>Sounds like what I need :P
<latex>Are btrfs subvolumes automatically mounted or do I need to manually add them to the config.scm?
<nckx>Out of curiosity, how would Guix know where to mount them automatically?
<apteryx>latex: if they are flat you need to mount the automatically
<apteryx>if they are nested and already at the right place without a mounted parent, then there's no need
<apteryx>within*
<nckx>Those show up as directories, but they aren't ‘automatically mounted’.
<apteryx>yes. I'm extrapolating the actual meaning/use case, to my perils :-)
<latex>what do you mean not automatically mounted?
<nckx>apteryx: I'm not very good at that. 😉 The meaning wasn't clear to me.
<latex>Do I have to put them in the config.scm?
<nckx>latex: Btrfs subvolumes can show up as subdirectories in the file system structure, without Linux ever seeing them as a ‘mount’ (e.g., ‘btrfs sub cre /home/latex’). Or you can mount them somewhere else.
<nckx>It's not clear (to me) what you mean.
<nckx>An example would elucidate.
<latex>Well it automatically mounted when I created the subvolume
<nckx>If you want to use, say, ‘/@root’ as your ‘/’, you will have to mount it explicitly.
<latex>It's in the root of the btrfs so is it fine if I don't specify it in config.scm?
<latex>Oh no I don't have weirdness like that
<nckx>Yes. No need to mount.
<nckx>These really aren't mounts, and won't register as such to any tools.
<nckx>Or the kernel.
<latex> (bootloader (bootloader-configuration
<latex> (bootloader grub-bootloader)
<latex> (installer #~(const #t))))
<latex>Is this correct?
<nckx>Looks it. I'm not sure off the top of my head if ‘targets’ is mandatory, but Guix will complain if it is.
<nckx>Yes, it's correct.
<nckx>(Or my system is extremely slow at throwing an error. :)
<latex>Also how can I set Terminus as console font?
<latex>I'd love to have an actual decent font at boot time
<latex>And not have to squint my eyes to read
<latex>and nearly nuzzle the display
<nckx>s/near/gent/
<latex>*sniff sniff*
<nckx>Something like (kernel-arguments (list "fbcon=font:TER16x32"))
<nckx>That would give me an 85x24 display. Retro.
<latex>How will it even find the terminus font
<latex>There's no /usr
<nckx>It's built into Linux.
<nckx>The kernel image.
<latex>terminus is not built-in
<latex>I want Terminus
<latex>it's my fav font
<nckx>Then why deny its existence?
<mfg[m]>i'm pretty sure there is an example in the manual for exactly that case that's using a service...
<mfg[m]>let me see
<latex>I don't know where it is
<latex>I found it at some point too
<nckx>mfg[m]: That won't kick in until relatively late in the boot process. Linux has it built in.
<mfg[m]>i never realised that
<nckx>There's a font-terminus package if you think that Linux's copy was planted by the NSA and refuse to use it.
<mfg[m]>but i also have never seen to small fonts when booting, well grub is way to small for 4K displays, but linux was never too small and i also don't see it changing fonts... weird
<latex> https://guix.gnu.org/manual/en/html_node/Base-Services.html
<latex>I found it I think
<mfg[m]>i guess it's booting to fast for me
<nckx>Anything could be hiding in there: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/lib/fonts/font_ter16x32.c
<nckx>mfg[m]: It's fine until you're debugging boot issues 😉
<mfg[m]>latex: yeah the console-font-service-type is what i meant
<latex>okay now I gotta figure out where I have to put it
<latex>I'm new to scheme
<latex>or guile
<mfg[m]>nckx: well, true. Haven't had such issues since a long time
<nckx>mfg[m]: Actually, the kernel might do some auto-detection of ‘high DPI’ displays and boot with Terminus automatically. I don't have any such machines so I haven't seen it.
<mfg[m]>Magic 😆
<nckx>The algorithm is… uhm… brutally pragmatic: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/lib/fonts/fonts.c#n109
<mfg[m]>oh, that's actually readable (even for me) :D
<latex> https://bpa.st/3H7A is this correct?
<nckx>Anyway, Guix includes CONFIG_FONT_TER16x32 so there's no reason to do it in user-space IMO, but then I'm anti-userspace on a good day.
<latex>I feel like this is not right
<latex>what is CONFIG_FONT_TER16x32?
<mfg[m]>that's the KConfig option name i think
<nckx>Assuming the /share/… file exists, quote it.
<nckx>…"/share/terminus/ter-132n")
<latex>I'm not sure
<nckx>latex: CONFIG_FONT_TER16x32 is the kernel's copy of Terminus you said didn't exist 😉
<mfg[m]>it has to be quoted
<nckx>Yes.
<nckx>It's a string.
<latex>I don't get it
<nckx>Guix has no magic inbetween ‘stringy’ types like Nix, if that's where you're coming from.
<latex>I don't know Nix
<mfg[m]>(file-append font-terminus "/share/....") instead of (file-append font-terminus /share)
<latex>This is literally from the manual
<mfg[m]>then your editor stripped the quotes
<latex>oh nvm
<mfg[m]>as i can see them in the manual (i cloicked the link you sent)
<latex>it's glitchy paste
<latex>in the editor the quotes are there
<latex>How do I apply CONFIG_FONT_TER16x32?
<mfg[m]>i think this is correct then.
<latex>And how do I apply it to all ttys?
<mfg[m]>you don't need to
<latex>how so?
<mfg[m]>this is a KConfig option and it's enabled in guix's default kernel
<nckx>latex: The font file name is "/share/consolefonts/ter-132n.psf.gz". Unless the paste also stripped the extension.
<mfg[m]>so this is an option that gets set before compiling linux utself
<latex>But the live OS still has a small font
<latex>So I doubt it'll be good
<nckx>Did you try booting with that kernel argument I gave earlier?
<nckx>Maybe your screen resolution is too ‘low’ for Linux to consider it ‘high resolution’, but who knows. I don't.
<latex>I guess Linux doesn't take DPI into account too well
<latex>At least not too well for visually impaired people to feel comfortable with the font size
<mfg[m]>so the thing is: what you specify in the config.scm is what the live os uses to install the actual system, it doesn't change anything in the live os.
<nckx>If you looked at the C snipped I shared above, you'll see it's not an advanced algorithm.
<nckx>*snippet
<latex>No I want it changed in the final OS
<mfg[m]>is it possible to setfont a bigger font in the live os?
<nckx>Yes.
<mfg[m]>what would be the font-name?
<mfg[m]>or does it take a full path?
<latex>unable to find file
<latex>idk
<nckx>mfg[m]: I'd use ‘setfont $(guix build font-terminus)/share/consolefonts/ter-132n.psf.gz’, but I'm not familiar with setfont.
<mfg[m]>ah yes, guix build does return the path... i always forget that and find /gnu/store ... anything...
<latex>setfont: ERROR setfont.c:298 kfont_load_fonts: Unable to find file: /gnu/store/v8wn3z6a8da9yaplrbyrm51pdxrx0y49-font-terminus-4.49.1-otb
<nckx>Problem is: the Guix live ISO explicitly changes the console font (using the console-font-service-type) to something *smaller* because it supports UTF-8.
<nckx>My bad, multiple outputs strike again.
<nckx>I guess setfont $(guix build font-terminus | grep '[0-9]$')/share/consolefonts/ter-132n.psf.gz
<nckx><Problem is: …> So booting with ‘fbcon:font=TER16x32’ won't work on the live ISO. Should work fine on a regular system without console-font-service-type, though.
<latex>Alright that looks good
<mfg[m]>why is it impossible to specify the out output of a package?
<latex>What is the default font anyway? Is it big?
<nckx>Because you don't build outputs.
<latex>And how do I set fbcon?
<latex>is it a kernel param
<nckx>I think it's GNU Unifont.
<nckx>latex: Yes.
<latex>and what is TER16x32?
<nckx>Terminus…
<latex>Oh it's the built-in one
<latex>And is it the big big one?
<latex>Or is it smol terminus?
<mfg[m]>16x32 should be big
<nckx>Well, it's 16x32. Big or smol depends entirely upon your resolution.
<nckx>On an 16K laptop screen it'll be smol.
<mfg[m]>is it 16x32 pixels? or what is the unit?
<nckx>Yes.
<mfg[m]>ah, okay
<nckx>There is no unit but pixels at this level 😉
<bmildh>Using guix as package manager on void linux, just trying to learn. I'm trying to get a feeling for guix shell, by doing this: "guix shell --development dwm gcc-toolchain make autoconf automake libtool", I git clone the dwm window manager, change dir into dwm, type "make" and it starts running the Makefile, but only get's to line 18: ${CC} -c
<bmildh>${CFLAGS} $< and errors out with: "make: cc: No such file or directory". The $CC is not set in this shell. How do I set it? Should I?
<latex>Also how do I add an OpenSSH authorized_keys globally?
<latex>to root and users
<nckx>latex: Here's mine (you can add another entry for "root"): https://paste.debian.net/plainh/fd35ff1f
<nckx>I do recommend reading the manual at some leisure first, or at least grepping it.
<nckx>ACTION AFK.
<latex>What does `(( mean?
<nckx>bmildh: Yes, set it to CC=gcc. Bye!
<latex>and I need to put id_ed25519.pub in /etc?
<latex>Also how do I mount encrypted /boot without having to type in the password again?
<nckx>latex: Put it wherever you keep your system configuration file, and use a relative file name from your system configuration file, or an absolute one. I use (and recommend :) /etc/guix/system.scm, where /etc/guix is a git repository that contains all your system configuration files.
<nckx>`() in Scheme is a quasiquoted list, and `(()) is just a nested list. It's too complicated for me to explain here, but it will be explained in any good Scheme tutorial. It's simply shorthand for this: https://paste.debian.net/plainh/63bf4e2b (I've added a "root" example).
<nckx>latex: For now: use a different distro, or add (secure!) initrd keyfile support to Guix.
<latex>use a different distro?!
<nckx>Yes.
<latex>Why?
<nckx>Or type it twice.
<latex>Oh well
<nckx>Those are the 3 choices I see.
<nckx>Maybe I'm missing one.
<nckx>bmildh: Get any farther?
<necrophcodr[m]>I've currently been trying to get JupyterHub working using some OCI/Docker images created using Guix. The point was to have a JupyterHub + JupyterHub-SingleUser (or JupyterLab) instances with the Guix kernel running. However, after struggling for about two days with it, I can't seem to find a way to get it working. Both containers are running on the same virtual network, but after I log in and it starts the jupyterhub-singleuser
<necrophcodr[m]>application using DockerSpawner (a container image I've setup with Guix and the Guix daemon running inside), it simply throws a 404 back at me.
<necrophcodr[m]>If this is entirely the wrong place, I can try to pester the Jupyter folks, although it looks like both their chats and forums aren't very active these days.
<mfg[m]>Haha, I didn't even know that it's possible to get down to a single passphrase prompt...
<latex>also why initrd? Can't I store the keyfile in root and have it unlock the /boot from there?
<nckx>mfg[m]: Most other distros manage, but it ain't pretty (IMO).
<latex>after GRUB loads the kernel in /boot
<nckx>Do you have a working separate /boot?
<nckx>latex: That would work, too, but you'd still be typing two passphrases on boot (one for /boot, then one for /).
<latex>I don't care
<mfg[m]>Ok, I see
<latex>That's what I want
<necrophcodr[m]>nckx: It's not an easy problem to solve, especially if you don't design for it initially.
<latex>How can I achieve it?
<nckx>I guess you could write a system service that mounts /boot at (late) boot using a keyfile stored in /etc or so. Guix doesn't have such a service.
<nckx>necrophcodr[m]: Assuming you mean the initrd hack: agreed.
<bmildh>nckx: nae, if I go into the dwm folder and type "make options" I can see that CC = cc  .. so if try to run "CC=gcc make" i still get the same error, that is CC is not set. Also tried to export CC=gcc inside the guix shell, but no dice.
<nckx>And ‘make CC=gcc …’?
<nckx>Weird that it says it's not set?
<bmildh>nckx: Ah! Progress!
<nckx>Excellence.
<janneke>so, why does, on current master, this:
<janneke>./pre-inst-env guix build libreoffice -d
<janneke>start to build libreoffice?
<nckx>To graft it?
<apteryx>raghavgururajan: would you like to join a new telephony team?
<janneke>yes i saw that without grafts, the deriviation is returned
<nckx>janneke: LibreOffice depends on a lot, so it's likely that there's a graft in its closure *somewhere*, and -d will be the grafting derivation—which has LO as an input.
<bmildh>nckx: thx
<janneke>nckx: okay, thanks -- makes sense
<nckx>janneke: It will return a derivation without --no-grafts as well, just very slowly…
<janneke>but that means we have no substitutes for libreoffice, currently?
<janneke>nckx, yeah hehe
<nckx>Is this related to a recent tex-team merge, perhaps?
<ngz>It seems so.
<janneke>yeah, probably
<janneke>thanks!
<latex>I'm reading the Guix docs but I'm having trouble to get an idea of how to simply write a service that just luksOpens a /boot with a keyfile and mount it
<ngz>Anyway, who needs LibreOffice when you can write a .tex file? :)
<rekado>latex: when should that service run? Before the root file system is mounted and the system is booting?
<latex>after root
<latex>it should use a keyfile on root
<janneke>"someone" suggested to use checking the libreoffice derivation to verify you didn't accidentally trigger a (near-)world rebuild
<necrophcodr[m]>latex: Then it ought to work? But yeah if you need it for Grub and to find the kernel, that's a slightly different story.
<latex>I don't mind GRUB
<latex>It'll figure its way I think
<latex>I hope
<latex>But I'm really unused to configuring my system with Guile
<latex>At least it's probably better than sysvinit right?
<latex>sysvinit gives me headaches
<apteryx>I have leptonica failing its build
<apteryx>which breaks qemu
<latex>/mnt/etc/config.scm:16:14: error: (bootloader-configuration (bootloader grub-bootloader) (installer (gexp (const #t)))): extraneous field initializers (installer)
<latex> (bootloader (bootloader-configuration
<latex> (bootloader grub-bootloader)
<latex> (installer #~(const #t))))
<latex>Guess there's something wrong here?