IRC channel logs


back to list of logs

<alexanderbarbosa>time to port my bash scripts to Guix "scripts" :D
<gnutec>alexanderbarbosa: \o/
<apteryx>rekado_: I've simplified my mcron issue to solving this Guile problem:
<apteryx>I'm asking about it in #guile atm.
<apteryx>Q: Why don't we want to auto-compile the mcron Guile scripts used in Guix mcron service?
<apteryx>it seems it'd be more efficient to run compiled jobs that might run every minute forever.
*raghavgururajan is in love with Biboumi (software)
<apteryx>is there no easy way to use (use-modules) reliably inside a lambda?
<gnutec>apteryx: #guile
<apteryx>gnutec: indeed, but I thought of asking here since I assume this must be a relatively common use case for mcron jobs, used in Guix configs.
<trzcdev>A semi-productive, yet fun, night learning about Guix! Thanks for just being there #guix :)
<dftxbs3e>hi there, does anyone know if spice/qemu-guest-agents are packaged for GNU Guix?
<nckx>dftxbs3e: Our qemu package provides bin/qemu-ga , although I can't guarantee that it works.
<nckx>No idea what the Spice GA is or does so can't say.
<dftxbs3e>nckx: spice-vdagent is the SPICE agent, what can I do to start it?
<dftxbs3e>I'm trying to access my GNU GuixSD VM remotely
<nckx>(Aside: I'm sure Guix could use more magic glue to make these work out of the box in guix VMs.)
<dftxbs3e>SPICE will be fine considering x2go or xrdp isnt packaged
<dftxbs3e>so I need to install qemu entirely to simply use the guest agent?
<nckx>dftxbs3e: I don't use Spice, no idea. And yes, sounds reasonable.
<nckx>Looks like both Red Hat & Debian provide a separate qemu-guest-agent, so should be doable to separate it from qemu if you want.
<apteryx>can I nest gexps?
<dftxbs3e>nckx: It provides a better experience, QEMU is 100MB, the guest agent is very small in comparison.
<nckx>dftxbs3e: More like 500 MiB.
<nckx>apteryx: 'Yes.'
<nckx>I'm sure there are caveats & limitations.
<dftxbs3e>nckx: The entire package with dependencies certainly, I was just talking about the QEMU one, which was 130MB or so during installation
<nckx>No, just qemu is 500 MiB.
<nckx>130 MiB compressed, maybe.
<nckx>Not on-disc.
<nckx>With dependencies is 1366.9 MiB. \o/
<dftxbs3e>Compressed then, it said that during download
<dftxbs3e>Quite big, surprising, I'm sure compiler settings could drag that down
<nckx>dftxbs3e: How so?
<dftxbs3e>1366.9MB of compiled machine code is much more than what QEMU is
<nckx>I'm looking at the qemu package right now, I don't immediately see how. It's that we build every single supported system and chuck it in bin.
<dftxbs3e>or 500MB even
<dftxbs3e>You can do so much with 500MB of machine code
<nckx>dftxbs3e: You might be surprised. 491 MiB of that 508 (so basically everything) comes from files in /bin.
<nckx>The *largest* file in /bin is 16 MiB.
<dftxbs3e>are these files stripped?
<nckx>dftxbs3e: Yes.
<nckx>dftxbs3e: That is something you can easily find out yourself.
<dftxbs3e>I'm a GNU Guix noob so I'm not really sure how I'd find out about this
<dftxbs3e>It does not matter much anyways
<nckx>The point here is that magic compiler flags aren't going to bring down binary sizes by a factor of 5. It's the fact that we ship a ppc64, mips, m68k (!), alpha (!), s390x (!!!), and many other machine emulators as one 'monolithic' package (even if the binaries aren't monolithic, I don't know, but that's upstream's design choice, not ours).
<nckx>I'm only looking at the Arch package right now, but they seem to build *everything*, then split it into packages at install time. Guix can't really do that, not really. qemu already takes long to build.
<nckx>If the build system allows building only the guest agent, for example, it would be much more realistic to split off. Something to investigate.
<nckx><You can do so much with 500MB of machine code>: QEMU *does* do so much. Keep in mind that it emulates 31 different systems alone, in a mere 333 MiB of machine code (that's 10 MiB per system). That's *nothing*. They just need to be split up into parts.
*nckx → 😴
<Marlin[m]>hi guix
<Marlin[m]>How can i set up my desktop to serve as a build farm for my laptop?
<lispmacs>hi, educational question: when a binary is install by guix, what is it exactly that ensures that the dynamically loaded library dependencies are the ones from gnu/store rather than somewhere else? is the full path to the libary coded into the binary itself?
***MinceR_ is now known as MinceR
<efraim>lispmacs: I always thought of it as "it's dynamically linked to a static location", ie to /gnu/store/foo... and not /usr/lib or /gnu/store/bar...
<efraim>so yes, full library path
<lispmacs>efraim: I didn't know library path could be coded in at compile time, but my knowledge in the area is still basic
<efraim>lispmacs: actually, when looking through strace, it seems that we hardcode a list of paths to search for libraries, not the actual path of each library
<efraim>so when looking for libgcc_s (or whatever it's called) it'll also search /gnu/store/...-glibc/lib and others
<niten>sorry for the late: thanks nckx
<niten>no central channel config seems to mean that to add new packages organization-wide, one would have to mess with dotfiles for root and all users, on each host, right?
<efraim>currently, yes
<lispmacs>efraim: do you happen to know what gcc options allows hardcoding in the directories to search?
<efraim>lispmacs: offhand I don't know
<lispmacs>efraim: I'm rather curious because I was playing around with compiling some of my own source code where some the libraries were guix libraries and some were Debian libraries and this was creating a bit of havok when trying to run the compiled executable, getting the right libraries from the right places to load
<roptat>hi guix!
<user_oreloznog>Hi roptat!
<quiliro>what is your latest guix version?
<quiliro>is what i have
<kori>how do i czech
<quiliro>define it on your config.scm
<quiliro>kori: are you on guix system or on guix on a foreign distro?
<kori>guix system
<roptat>kori, there should be a "locale" field in your config.scm file
<roptat>you should use cs_CZ.UTF-8 in there
<roptat>(I think)
<kori>roptat: i meant
<kori>"how do i check which guix version im using"
<kori>it was a pun
<roptat>ok :)
<roptat>then, "guix describe"
<kori>pulled earlier today
<roptat>9af75a26308475f5fc9cf1c13bb0374b5a3345a6, from July 15th
<kori>jul 26 here
<kori>Generation 2 Jul 26 2019 23:43:41 (current)
<kori> guix 24446ce
<quiliro>dankon kori
<kori>no [B]roblem
<roptat>oh, the pull date is the date when guix pull was run, not the date of the commit
<kori>o ok
<roptat>and, the date at which the pull stopped, not started
<quiliro>guix describe gave me URL repository:
<roptat>cause I pulled an older guix on my server yesterday evening and it happily says it's from today morning (because it's a slow arm machine and there is no substitute for that commit it seems)
<quiliro>is this url the default?
<roptat>quiliro, yes
<pkill9>something that woud be neat is an ncurses GUI when guix is building packages that tells you which package is being built, and which other packages are going to be built
<pkill9>and displays the build output inside
<Marlin[m]>Do i need to make a menu entry in order to change kernel arguments?
<Marlin[m]>hi guix
<pkill9>Marlin[m]: no, you can specify kernel arguments in the os config with "kernel-arguments"
<Marlin[m]>my laptop's touchpad isn't working on guix
<Marlin[m]>It was before
<Marlin[m]>has there been changes with synaptics or something?
<pkill9>you could try using libinput
<pkill9>i think libinput is updated more
***Acou_Bass is now known as Acou_Bass_AFK
***byzoni[m] is now known as cyberwolf[m]
***cyberwolf[m] is now known as byzoni[m]
<keno>I'm having issues with the Xorg vesa driver. It gives me the error "Cannot read int vect", which seems to be a bug back from 2015 and should long be fixed:
<keno>My AMD Radeon definitely works with the VESA driver and an entirely free Kernel. Tested both on Debian and on Trisquel
<keno>Primary question: How can I force reinstallation of Xorg? Maybe that could help
<keno>Okay it seems like this bug is not actually fixed in the official xorg source, but has just been fixed in the Debian and Ubuntu releases by applying a patch
<keno>Nevermind it's in the official source
<roptat>keno, reinstalling xorg won't help, because you're going to end up in the same state, bit for bit
<roptat>are we using a patched version in guix?
<roptat>keno, how to find the fix in the upstream source?
<keno>roptat, it has to be a different bug and is solely related to gdm
<keno>I'm using slim now, and it works
<rekado_>roptat: I haven’t read all the backlog yet, but both issues you have with GNOME Software seem to be pretty normal for GNOME things.
<rekado_>icons might be related to rsvg (and/or variables pointing to it)
<rekado_>lack of TLS could be unavailability of glib-networking or similar
<rekado_>these problems are the same that have been reported for GNOME Boxes
<rekado_>oh, backlog says libsoup. Yeah, that would have been my second suggestion.
<roptat>rekado_, I already fixed these issues
<roptat>but actually running the thing on a guix system crashes immediately
<rekado_>I feel like pointing out the obvious in hindsight is my real life super power.
<roptat>it tries to access /usr/share, /etc/os-release ...
<rekado_>roptat: you probably checked this already: are you using GNOME? Is the version of that software matching the version of GNOME? We’re still on 3.28 on master.
<roptat>and it still can't show any package on my fedora system
<roptat>no I'm not using gnome at all, that's probably why it's empty
<rekado_>but the package uses gnome libs, no?
<rekado_>do the versions match?
<roptat>it's built as a guix package so I guess yes?
<rekado_>…I think we might be miscommunicating?
<roptat>ah, I understand, and the answer is no
<rekado_>if you built the latest version of GNOME Software but with the GNOME libs that are in Guix master then a crash is pretty likely
<roptat>I'm building a more recent version
<rekado_>might be worth trying some ~3.28 variant
<rekado_>that did it for GNOME Boxes
<roptat>well, that didn't change anything...
<rekado_>oh :(
<roptat>rekado_, do you know what #:substitutable? #f does exactly? does it prevent "guix publish" from publishing it, or only people from asking it on a substitute server?
<roptat>(if I just change it to #:substitutable #t on my end, could I get the version built on a substitute sever, even if they have the #:substitutable? #f flag?)
<rekado_>it prevents users from asking for a substitute. I don’t know if “guix publish” is affected by this at all.
<rekado_>I think “guix publish” doesn’t care.
<roptat>ok, what would affect guix publish?
<rekado_>it also operates at a level where that sort of information is no longer available.
<rekado_>“guix publish” doesn’t know about packages. It knows about derivations and store file names.
<davexunit>rekado_: speaking of 'guix publish', dustyweb, Jakob, and I were having a discussion about 'guix deploy' yesterday and the idea of being able to do an on-demand push to a substitute server came up. for example, you'd build an OS derivation locally, upload the closure to the substitute server, and then the 100 servers you manage would all pull down a pre-built version.
<davexunit>it was an interesting idea because it's easier than setting up a whole CI system for this purpose.
<efraim>Is the first part that different from 'guix copy'?
<davexunit>I guess it is just 'guix copy'. you'd just target a machine running 'guix publish'
<davexunit>so cool, we already have the pieces :)
<nothingmuch>i've written a few packages for BlockSci and i'm wondering if slightly obscure stuff like that should be contributed or not - the packaging guidelines in contributing section of manual doesn't have much to say about that
<rekado_>nothingmuch: don’t worry about obscure software or else I’d have to start worrying. Most of the stuff in bioinformatics is obscure.
<bandali>hi guix, this might be of interest to some of you:
<bandali>EmacsConf 2019 Call for Proposals
<apteryx>could anyone advise how to combine program-file or gexp->script and a mcron job definition, for use with the guix mcron service?
<efraim>I got a rust package locally, had to put together ~300 dependencies before I was sure it'd work, but I don't think it's enough to submit since all the cargo inputs are basically source, some of them I think are missing dependencies
<efraim>But some of the lower ones are ready
<efraim>* a rust package packaged locally
<apteryx>basically I want to combine #~(...), which is a gexp with gexp->script, which transforms a gexp into a derivation object
<nothingmuch>rekado_: cool, i'll try and clean up the mess i made so that it's reviewable. is there any point to soliciting feedback here first or straight to ML?
<apteryx>so that I can do #~(job '(time-funct) (gexp->script "script-name.scm" script-expr))
<rekado_>nothingmuch: the ML can be a little slow unfortunately
<apteryx>instead of passing just a lambda, which doesn't handle (use-modules) well in the presence of syntax
<rekado_>nothingmuch: if you aren’t sure about some things it can be good to ask here first.
<rekado_>ML should be enough, but we’re pretty far behind in reviewing patches, I’m afraid
<rekado_>(and I’m not able to do enough to offset this)
<nothingmuch>no worries, part of why i asked is that i didn't want to create a workload for others for something that is only valuable to me (but then again false negatives are easy here)
<nothingmuch>at any rate i'll factor out some of the deps that are currently inline in inputs, and then squash & ask for feedback here
<wschenk>hello everyone, I've been playing with getting guix up on my IntelNUC using the mainline linux kernel
<wschenk>I've managed to get it working building a custom disk-image inside of docker on my macbook
<wschenk>and written up the instructions
<wschenk>I'm using another channel to pull down the packages for this, but I don't know how to have that channel definition be passed through the resulting disk image
<wschenk>specifically I'm putting it in /root/.config/guix/channels.scm
<wschenk>how can I keep that the additional channel into the resulting images?
<wschenk>right now I'm just recreating it each time but that seems not great
<jonsger>wschenk: pro tipp, using openSUSE Tumbleweed as dockerimage base gives you guix 1.0.1 with just `zypper install guix` :P
<wschenk>jonsger: that's pretty cool, I'll check that out
<wschenk>i'm just making this up as I go along so there's a lot to learn
<Fzer000>hello everyone, how are you managing your dotfiles? Are you using Stow, a git bare repository, or something else? How are you managing your config.scm file?
<jonsger>wschenk: the post is pretty nice. There is also Debian packaging of Guix happening atm, but it didn't hit a debian release yet :)
<roptat>Fzer000, I use my guix-home-manager: :D
<roptat>Fzer000, and my configuration (system for every machine, and user only for one at the moment is at
<rekado_>roptat: I’d love to see the guix-home-manager or a variant of it in Guix proper. What do you think?
<Fzer000>roptat: I am pouring through your readme right now :)
<roptat>rekado_, I don't know how mature it is though...
<roptat>and I'm not sure it's in the scope for guix
<rekado_>probably more mature than the Nix importer ;)
<efraim>I use stow
<rekado_>roptat: I’d love to see more integration with other mechanisms such as “guix system” and/or manifests.
<rekado_>I think that user account management generally is in scope.
<rekado_>Guix currently only does the bare minimum, sometimes even less than that.
<roptat>rekado_, ok, I'll think about it then... it could also give me more contributions :)
<rekado_>one thing I’m worried about is managing secrets with your home manager.
<roptat>it's not possible, just like it's not possible for guix either...
<rekado_>I wonder if perhaps it *is* possible after all.
<rekado_>i.e. storing encrypted files in /gnu/store and checking them out upon booting by unlocking them with the user’s GPG key
<roptat>for instance, I have a ssh configuration, where I can tell it where to find the private key, but it's managed out of band
<roptat>if we have secrets for home management, we have to make sure we only unlock for the right user
<roptat>it should be up to the user too, not the administrator, to unlock secrets
<roptat>also, we should make sure they are not world-readable once unlocked
<quiliro>last thing after an all night reconfigure, I get this:
<quiliro>building /gnu/store/qaj5q79gbfp47fhgdr8gzdnn2kscdw8h-upgrade-shepherd-services.scm.drv...
<quiliro>shepherd: Evaluating user expression (let* ((services (map primitive-load (?))) # ?) ?).
<quiliro>was it a successful reconfigure?
<roptat>not nice, but I tihnk it's fine
<rekado_>roptat: I was thinking that this wouldn’t be so different from instantiating a system when booting. Stuff is copied out of /gnu/store, user accounts are created, etc.
<rekado_>perhaps this unlocking could even happen via some custom PAM service, so that it only happens upon authentication.
<quiliro>roptat: was that for me?
<roptat>quiliro, yes
<roptat>rekado_, I see
<quiliro>roptat: thanks
<rekado_>roptat: I don’t know… I just think that there are no crazy ideas when it comes to building something that breaks so hard with tradition as a read-only file system.
<roptat>quiliro, it's shepherd upgrading its services. It happens after system is successfully reconfigured
<roptat>rekado_, ^^
<quiliro>i will reboot now then :-)
<rekado_>roptat: but you know I’m just sitting here on a comfy chair, drinking some juice, and transcribe my unfiltered thoughts… Feel free to take this 1kg bag of salt to season my comments :)
<roptat>I'll send an email to taste the water and think about sending a patch series to add a guix home thing to guix proper
<quiliro>saluton aliafoje Guix!
***chris3 is now known as chrislck
<nothingmuch>is it considered bad form to make assumptions about the package being inherited? for example if i know something has no arguments, to just set them instead of substituting keywords?
<davexunit>nothingmuch: it's more brittle than doing the substitution, but honestly I don't substitute when I know there are no arguments in the parent package.
<nothingmuch>relatedly, i noticed most (all?) packages that change the source seem to duplicate all the logic for it instead of a transformation based approach, is there some reason for this that i'm missing?
<nothingmuch>davexunit: thanks
<davexunit>nothingmuch: not sure about that one. I usually inherit fields from source objects.
<davexunit>it's not a big deal, either way, since source records are small
<nothingmuch>i was briefly attempting to get a cmake 3.15.1 (but backed out of that), so the snippets there gave me pause
<nothingmuch>cmake-minimal i should say
<keno>I'm trying to create a python package with guix import, but it tells me that the variable "python-numpy" is unbound, even though it exists in the python module and I've used "(use-modules (gnu packages python)"
<nothingmuch>also is there any guideline for ordering package definitions in the various modules? i couldn't discern any pattern
<nothingmuch>keno: which package? fwiw i just used pypi import a few times (w/ other deps) and specifying inputs worked for me
<keno>and the inputs seem to have been imported correctly, it's just weird that python-numpy is said to be unbound. Shouldn't using the (gnu packages python) module bind that variable?
<nothingmuch>it should, and that worked for me with other packages
<keno>Here's a pastebin: Have I done something obviously wrong? I'm very new to this
<nothingmuch>keno: that only imports (guix build-system python) module which is distinct from (gnu packages python)
<nothingmuch>keno: sorry i'm an idiot, the indentation tricked me
<keno>Yeah sorry I mixed tabs and spaces lol
<nothingmuch>keno: ah, but python-numpy is defined in (gnu packages python-xyz)
<keno>Oh thank you!
<keno>That was it, thanks a lot!
<nothingmuch>keno: cheers!
<nckx>uh how to extract .rar archive on guixos?? thx a noob
<bavier>nckx: probably need to build your own unrar, guix's packages have been stripped of unrar source for licensing reasons
<nckx>Wow. Thanks bavier.
<nckx>So it's build proprietary software myself or send 121 GiB across the Atlantic to run it on a Ubuntu box.
<nckx>I sometimes feel great love for the human race but this is not one of those days.
<nckx>Present company excepted. Don't worry.
<nckx>I didn't realise there were 0 free unrars.
<nckx>Favourite pointless compression algorithm of the Internet :-/
<roptat>there are free implementations of unrar though
<xavierm02>I think I recall seing one somewhere, but it didn't handle all of it
<bavier>nckx: there are apparantly some free codes, but they do not support the recent rar3 format
<roptat>I even have a unrar.scm, but it can only parse the first header :p
<nckx>Thanks all. Judging by and some xxd, the file is not the 'older version', but I don't know if that means it's rar3.
<roptat>this is the signature of a rar2: #x52 #x61 #x72 #x21 #x1a #x07 #x00
<roptat>and a rar3: #x52 #x61 #x72 #x21 #x1a #x07 #x01 #x00
<roptat>(which I implemented as version 5 for some reason...)
<xavierm02>What's the expected way of letting some package use another one if it's there? So for example, LyX would want to see all installed texlive packages. The way I am currently doing it is having a separate lyx package which sucks. My understanding is that I could build a smart-lyx package with sustitutes disabled that just requires lyx and all currently installed texlive packages it can find. How bad of an idea would is be for a package
<xavierm02>to query the list of available packages?
<roptat>xavierm02, it's not bad, but it will create an unstable package (in the sense that the definition depends on an external state)
<roptat>I should have at least added the link to the documentation I was using in that unrar.scm file...
<nckx>roptat: It's 5261 7221 1a07 00, so that's good news. I find that The Unarchiver (which I seem to remember is a quirky GNUstep thing) and GNA unrar (which links to a dead home page) can open them freely.
<nckx>I like rabbit holes but not when I'm shoved head-first into one on a workday.
<nckx>roptat: Feel like adding your unrar.scm to Guix? 🙂
<roptat>nckx, it doesn't do anything actually
<roptat>it just reads headers ^^
<roptat>oh, I remembered having packaged a unrar, I thought it was non free, but it's the gna thing:
<roptat>downloaded from debian's repos
<roptat>if it can help you (not sure if it builds anymore)
<nee`>nckx: libarchive is supposed to support rar5. It is used by file-roller.
<nckx>I should be able to fix that if it doesn't build. Thank you so much.
<nckx>nee`: Ta, but does that work without X?
<nckx>It's in Guix, one way to find out.
<nckx>It does not ☹
<roptat>one could probably use libarchive to build a unrar
<roptat>it's a library, so I don't expect it to require X
<roptat>does guix deploy use the local guix to build the new system, or the remote guix?
<nckx>GNA unrar 'Failed' to unpack anything.
<roptat>I'm thinking about using guix deploy, but I'm a bit worried by what could happen if I try to manage an arm server from an x86_64 host?
<nckx>roptat: As *I* understand it, the right (remote) Guix is used (which would explain why old 0.1x installations must be 'manually' updated before you can deploy to them), but of course don't take my word for anything. Maybe mail Jakob to confirm?
*nckx gives up on rar, and just slightly on life, by sending 121 gigs to New York to be born.
<roptat>I'll do that, thanks
<rekado_>xavierm02: doesn’t LyX detect a TeX Live installation at runtime?
<rekado_>xavierm02: in that case all you’d need to do is install the TeX Live packages that you need.
<rekado_>in my very short tests LyX just did the right thing when I installed needed packages into my profile.
<xavierm02>rekado_: Well it's supposed to. But it doesn't find them for some reason.
<xavierm02>rekado_: The current lyx package doesn't work very well. To get it working properly, I had to move some inputs to propagated inputs, and also add texlive and the fonts I wanted to the propagated inputs.
<xavierm02>rekado_: The only thing that was really missing in LyX itself were the icons (which appeared once I moved the svg lib to propagated inputs), the rest failed one it tried to compile with latex.
<xavierm02>So maybe LyX sees them but latex doesn't. But then why does adding texlive to propagated inputs fix it?
<xavierm02>I tried insteall lyx with the config.scm instead of guix install and the error changes..
<xavierm02>Now it says xelatex error, while before it was that it couldn't find my font and amssymb
<minall>Hello guix!
<minall>quiliro: Bad news, the problem with my laptop isn't the battery\
<raingloom>hey, i'm trying to update the Idris package and I built Guix from source and ran make check, but some of the tests failed, what should I do?
<bavier>raingloom: some of guix's tests, or idris'?
<raingloom>bavier, guix
<bavier>raingloom: a bug report would probably be welcome :)
<raingloom>bavier: i'll send one, but otherwise if I wanna build Idris, I can just disregard them? like, they don't _seem_ critical for what I'm trying to do
<nckx>raingloom: Yep.
<bavier>raingloom: right
<rekado_>xavierm02: adding things to propagated inputs only means that they will be installed into the same profile automatically, just as if you had installed them yourself.
<rekado_>installing the things directly into your profile is expected to have the same effect.
<rekado_>feel free to write the details to and cc me (rekado at elephly dot net) and I’ll try to help you figure this out.
<rekado_>note that we’re about to merge wip-texlive, which should solve some of the texlive problems.
<minall>Does the font-awesome include the icons, or just the fonts?
<nckx>minall: Which icons?
<minall>nckx: o/
<minall>There are awesome icons right?
<minall>that 7
<minall>are you on spanish keyboard?
<nckx>minall: No, it's a salute 🙂
<minall>oh lol
<nckx>minall: Font Awesome (ab)uses a font file to provide scalable icons, that's all it does, so I'm not sure which distinction you're drawing.
<nckx>It's not a 'font' you can use to write letters to grandma.
<nckx>Unless she likes puzzles.
<nckx>(I found but those are just another name for glyphs, I think.)
<minall>I'm trying to follow this tutorial, using awesome WM, and in one part it says: the icons for Vertex (the one i'm trying to install) uses FontAwesome, I'm not sure if it refers to the icons, or the font: but when
<minall>Also, I don't know what every theme has a colotscheme, do I have to install somehintg?
<xavierm02>rekado_: Will do. After checking things more carefully, it seems to be a latex problem. I'll investigate a bit more.
<nckx>minall: There are no 'icons', just the font. The font is a hack (not one I like TBH) that replaces certain code points with Web-centric icons.
<nckx>I use colour emojies the same way in my i3bar.
*nckx hides behind 'at least those are standard!'
<nckx>minall: I don't use awesome, no idea about colour schemes.
<minall>So, if I have problems with the icons, I should install them manually right? since I don't see any other pacakge
<minall>How do I add unclutter to guix?
<nckx>minall: There are no icons, just install font-awesome (and maybe run fc-cache -r), that's it 🙂
<minall>oh, so they may be installed automatic?
<nckx>minall: …no? They are installed with 'guix install font-awesome', by you.
<nckx>minall: A search for 'unclutter' only returns 'Blah blah for the Mac', could you link to the home page?
<Fzer000>is anyone using the Jupyter package? I am getting: "The 'six' distribution was not found and is required by traitlets
<minall>Well, I installed unclutter, it does appear, but my question is, if I have to do something manually perhaps\
<minall>But when I type, the mouse disappears, so maybe it works normally
<atw>I would like to package Agda libraries. Agda can find libraries by using AGDA_DIR, per Are there other programming-language-specific packages that have a similar approach of setting an env var that I can refer to?
<nckx>minall: I guess so. You seem suspicious that you installed something and it just works. It happens!
<bavier>atw: use the 'native-search-paths' package field. See e.g. gcc, idris, perl, etc packages
<minall>Jaja welp, it works
<atw>bavier: thanks! I will read up :)
<minall>Guix, would you recommend wayland instead of xorg?, since debian and some distros are making default wayland, there may be a reason for it, and since debian put it default, a distro that tends to be OMG so stable, means that wayland is now something, and not a project like before...
<nckx>The Guix description for unclutter is the most upside-down thing I've ever read.
<minall>I found a way to use wayland in guix when I was reading the manual, but should I do it? is the question, be or not to be
<minall>nckx: Mhh a little, actually that's all unclutter does, so is not so bad as a descripotion
<atw>I do not understand enough X11 terminology to understand what unclutter does from its description
<minall>Then nckx is right, the description is bad, since all it does it literaly hide your mouse when you don't use it
<minall>that's all
<minall>So the description is not clear enough then
<atw>^ that I understand :)
<nckx>'Audacity utilises the widget and graphics primitives exported by the Qt toolkit library to render pixels and larger units to an Xorg or Wayland bitmap display. It also decodes raster images ('icons') using the j2big image library API for use in its user interface, and depends on MariaDB for no good reason. It can be used to edit audio.'
<quiliro>minall: hola
<minall>quiliro: hola!
<minall>nckx: no way that's the description
<nckx>No, I was making a silly point 🙂
<minall>Oh, I checked it and all lol
<nckx>The constructive thing would be to say 'unclutter's could use some editing' (and probably end up doing so myself) but this was way more fun.
<lispmacs>hi, I'm trying to understand better, on the level of compiling/linking, how guix ensures that the correct dynamically loaded library dependencies are loaded; rather then a similarly named library in /usr/lib, e.g.. Last night somebody said they thought the library search paths were somehow hardcoded into the binaries. Can anybody give me more insight into this?
<nckx>lispmacs: I'm not a low-level ELF guru, but this is correct. It's done by setting the RUNPATH (rpath) in all executables. Maybe some other ways as well.
<davexunit>that's correct
<lispmacs>nckx: RUNPATH, I'll have to look that up
<davexunit>there's data inside the binaries about what shared libraries are required. guix stores absolute file names there to ensure that an exact version of the library is used.
<nckx>There's also stuff like the location of the dynamic linker loader (ld-linux-….so.x), which I'm not sure is technically a RUNPATH. It might be its own thing. 🤷
<lispmacs>ok, I'm looking into RUNPATH. Looks like ther eis an -rpath option in ld(1)
<nckx>That's the reason for the mysterious and unhelpful './foo → foo: no such file or directory' error when foo clearly exists. foo came from a different system where that loader is in a different hard-coded spot. On FHS distributions, that's /lib, but on Guix it's a store path like everything else.
<nckx>lispmacs: Yes. If you grep the Guix sources for rpath you'll see it being explicitly set sometimes when needed.
<lispmacs>i'm rather curious about it, because I was playing around the other day with compiling something that needed some Debian and some guix libraries, which proved interesting during runtime
<minall>Talking about that, if you are going to install a package, you should say to the program which PATH the libraries are? since the difference of not having /usr/, but /gnu/store?
<nckx>minall: Installing a package how?
<nckx>Guix build systems take care of this in the vast majority of cases. When manual intervention is needed, it's more likely to be something else than PATH.
<minall>I mean, I'm trying to understand whats the downside of not having a /usr/ directory, since all the apps, libraries, dependencies and all are installed on /gnu/store
<minall>For example, I want to install a .tar.gz, should I just, build it? or it wont install since the directories are different, that's what I'm trying to figure out
<nckx>minall: The easiest approach on a Guix System is always to write a package. It saves you so much time in the long run. I've never even bothered './configure && make && …'-ing a package on Guix System (although I have on NixOS and it was a mistake).
<minall>Since, in a point, I want to contribute adding any package to guix, then I want to understand what should I do to install a package, if the directories are difference or something
<minall>So there's no problem thought?, building normally or using a package won't be a problem even though the differences of directories?
<roptat>if your goal is to contribute to guix, make a package from the start :)
<nckx>The biggest downside that isn't FUD would be: "/gnu/store" is not the same string as "/usr", this is something that seems incomprehensible to some upstreams, then things break. It's almost that simple.
<minall>roptat: I don't think I have that ability, YET, so all I can do to understand is to add packages to guix
<tchrzcz>Hello everyone. My Guix box stopped accepting ssh connections since I reserved an DHCP address for it. The ssh client says "Connection refused", even though I specified the address and port right. Ping works normally.
<tchrzcz>How do I troubleshoot this?
<roptat>there's nothing that prevents you to install stuff outside of guix to /usr and such, but it's not recommended, since you won't benefit from guix' properties
<nckx>tchrzcz: Can you log into the box without ssh?
<minall>nckx: That's what I mean, for example, the package installs, but inside the program it says: oh, to run, search for, anylibrarie, which is in the path /usr/share/anylibrarie.librarie, then the program won't work since it tries to load a librarie that it is installed, but on /gnu/store, under a hash, not on /usr/share as most other linux distributions use
<tchrzcz>nckx: yes
<roptat>minall, if it's a binary, that's expected to break
<minall>roptat: Exactly, I could create a librarie, but I won't feel it is installed on guix
<nckx>tchrzcz: Both my aarch64 boxes (but strangely no x86 ones) refuse to start ssh-daemon at boot. Maybe try 'sudo herd status' to see if it's started?
<roptat>minall, you should build from source, so the result at least knows where to find the library
<nckx>Not to confuse minall (minall: what roptat says is the truth and the light, stop reading) but do we still ship a modern patchelf?
<roptat>nckx, I think we do
<minall>I see
<roptat>minall, and if you're building from source, well, it's easier to do it as a guix package :p
<tchrzcz>nckx: Yes, it's started. In /var/log/messages it says it listens on port 2222 and :: port 2222
<minall>I should try to install any package like this, and fix if anything doesn't work, and then I'll be ready to make a package, and contribute to the project
<nckx>roptat: OK, cool.
<roptat>(not always true though)
<roptat>minall, great!
<minall>Thanks guys, thats was really explanatory!
<roptat>tchrzcz, can you "tail -f /var/log/messages" while you try to login on that machine with ssh?
<nckx>tchrzcz: Hm. That's the only Guix-specific snag I could think of. 'ip a' gives the right address & all? Then you're basically in 'regular' troubleshooting territory.
<roptat>minall, s/guys/guix/ ;)
<nckx>tchrzcz: 'nc <IP> 22' can also be informative sometimes.
<minall>lol, ok!
<nckx>(From the netcat package.)
<roptat>(or everyone, ...)
<nckx>(or 'sup nerds')
<tchrzcz>Strange, now ssh client is connecting, but the server's ECDSA key fingerprint is different.
<tchrzcz>And I didn't change a thing.
<nckx>tchrzcz: Hum. I've never seen that happen (and I've done some pretty stupid^Winteresting things with Guix on servers).
<nckx>Considering you have side-channel access it's not a security risk if you double-check it but it's still weird.
<tchrzcz>nckx: The fingerprint matches, I can login now. Weird, huh?
<nckx>tchrzcz: Kynda.
<tchrzcz>Well, thank you both, anyway.
<nckx>Happy ssh'ing.
<nckx>I'm years late to the party, but assuming 'guix offload test' passes, does that mean any guix command will be transparently offloaded from now on? What are the criteria? --max-jobs > nproc?
*nckx can but would prefer to not read the fine code for once if possible.
<nckx>My offload machine is only of (speed .25), not beefy but I'd like to use it as a 'fifth core'. I don't know if that complicates things.
<efraim>I always assumed the host machine had a speed of 1
<null_radix[m]>hiya! i have a question about sending patches
<null_radix[m]>i opened a issue here
<null_radix[m]>do i send the patch to
<null_radix[m]>or to guix-patches?
<null_radix[m]>ok thanks nckx
<nckx>efraim: OK, and is offloading completely transparent once I've set up machines.scm and successfully run 'guix offload test', or do I still have to flip a switch somewhere else?
<nckx>It doesn't *seem* to do anything but maybe I'm just not generating 5 independent jobs…
<efraim>I've heard it should just work, but I've never really used it
<efraim>try building something with perl
<efraim>or a lot of sources
<nckx>null_radix[m]: Just remember that guix-patches *always* generates a new bug number. (In practice it's more clever, but why rely on that. Keep it as a last safety net.)
<nckx>efraim: Will do later, thanks.
***jonsger1 is now known as jonsger
<tchrzcz>I ran 'guix pull' and then 'sudo guix system reconfigure /etc/config.scm' as per manual and...
<tchrzcz>1. It displays the following warnings: guix system: warning: /root/.config/guix/current not found: 'guix pull' was never runguix system: warning: Consider running 'guix pull' before 'reconfigure'.guix system: warning: Failing to do that may downgrade your system!
<tchrzcz>2. and then it is stuck downloading from
<tchrzcz>How do I unstuck it?
<roptat>tchrzcz, try to run guix pull as root
<roptat>guix pull is per-user, so if you run guix pull as a user, it's not visible to root
<nckx>tchrzcz: Are you on a non-Guix System?
<roptat>tchrzcz, you can also run ^C anytime in the process, since it transactional, it's just going to not upgrade anything if you do that (so nothing breaks)
<nckx>If so, use 'sudo -E guix' instead of 'sudo guix'.
<tchrzcz>nckx: I'm running a Guix System and am connected to it via ssh.
<nckx>tchrzcz: I wouldn't personally run guix pull as root if I could avoid it. What does 'sudo which guix' print?
<nckx>It's probably fine to ignore that error.
<tchrzcz>nclx: 'sudo which guix' prints "/home/tomek/.config/guix/current/bin/guix"
<nckx>tchrzcz: OK, so don't guix pull as root (it would serve no use) and that warning (which I mistakenly called error above) is bogus. I'd call it a bug.
<nckx>You can safely ignore it.
<tchrzcz>Do I need to run "sudo guix system reconfigure /etc/config.scm" after each "git pull" to update my system?
<nckx>I just 'C-r recon' in bash though.
<nckx>tchrzcz: That file downloaded fine for me in 3s @10 MiB/s. Maybe it was just the last thing to be printed and didn't actually 'freeze'?
<tchrzcz>nckx: Well, after I pressed C-c I got my shell back.
<tchrzcz>I mean prompt
<nckx>tchrzcz: But why do you think it was frozen?
<tchrzcz>The progress meter and progress bar and timer weren't moving for many minutes.
<tchrzcz>And stuff should be downloading at many MB/s
<alexanderbarbosa>tchrzcz: it usually happens in no so capable terminal as Eshell
***ChanServ sets mode: +o nckx
<alexanderbarbosa>^ damn :D
<nckx>alexanderbarbosa: 😃
<alexanderbarbosa>nckx: wat?
<nckx>Glad to see you're OK. I ready to kick you if I saw no signs of life.
<nckx>What happened?
<tchrzcz>alexanderbarbosa: Well, It's LxTerminal running bash running ssh running,,,I guess Guix runs bash by default?
<alexanderbarbosa>nckx: cant say... Im not a bot, anyway... haha
<alexanderbarbosa>tchrzcz: as most distro do, but that's hardly what is happening... maybe your RAM run out
<nckx>tchrzcz: Unix VT handling sucks, it's possible that it was frozen, it's (IME more) possible that line buffering was being silly.
<nckx>Hm, that's also a possibility. You'd notice a delay in getting your prompt back then.
<nckx>alexanderbarbosa: Oh, I know, but maybe your software was locking you out, HAL-style.
***ChanServ sets mode: -o nckx
<tchrzcz>nckx: I got the prompt back immediately after pressing C-c.
<alexanderbarbosa>damn ERC
<nckx>tchrzcz: So, that doesn't smell like OOM, but I don't think us guessing over the Internet what went wrong that one time is going to be very successful. How'd the second run go?
<tchrzcz>nckx: It's in progess, but guix package(?) got downloaded alright.
<nckx>Yep, that's what that was. Glad to hear it's progressing.
<tchrzcz>Ok, it finished this time.
<tchrzcz>This PC is acting like it's haunted or something. :)
<tchrzcz>Thanks for help!
<nckx>Heh. I had the exact same experience with the ARM boxes I mentioned above. Just… weird bugs.
<gnutec>Did Guix use GNUnet?
<nckx>tchrzcz: My pleasure.
<nckx>gnutec: No, it was considered as a P2P substitute distribution method (which we still don't have) but I don't think any code to that effect was ever committed. Focus seems to have shifted to IPFS now.
<nothingmuch>rekado_ (and anyone else who is interested): here's my first attempt at packaging blocksci for guix,
<nothingmuch>feedback/criticism most welcome, please be brutal
<nckx>nothingmuch: I'd love to, but you've done far too good a job. /s
<gnutec>nckx: Sure? Just read the front page. Even a payment system they have.
<gnutec> So nice
<nothingmuch>nckx: thank you kindly!
<bavier>nothingmuch: for the libsecp256k1 input, when using inheritence, it's better to use 'substitute-keyword-arguments'
*nckx glances over and can only offer nitpicks like 'the libsecp256k1 variant should probably be (define libsecp256k1/blocksci), not in-line', and 'try to keep lines <= 80 characters', but that's about it from just skimming the Web diff 🙂
<jonsger>nothingmuch: write every argument in a line makes it more readable
<bavier>nothingmuch: you don't need to use a list for the license if there's only one
<bavier>nothingmuch: put a newline before the pattern of substitute*
<bavier>nothingmuch: check indentation in the modify-phases form
<nothingmuch>re substitute-keyword-arguments - earlier i asked about that, because in this case the parent package has nil args - still appropriate?
<nothingmuch>i will get on all other feedback, esp. style stuff is valuable to me since i've only ever written lispy stuff in theory before this ;-)
<nckx>Hm, I can't link to lines. Things like '`(' on a line of its own and the subsequent indendation of #:phases is off in json-rpc-cpp.
<nckx>Put (delete 'phase) etc. on their own lines too.
<bavier>nothingmuch: I've found it's best to use it to safeguard against changes in the inherited package
<nckx>nothingmuch: Yes. It will future-proof your inheriting variant in case the original changes.
<nothingmuch>nckx: for libsecp256k1 variant - would you put that in gnu/packages/crypto.scm? based on "define" i suppose not, but next to blocksci package?
<nothingmuch>(and i suppose same style should apply for my boost-for-blocksci package? rename to boost/blocksci?)
<nckx>nothingmuch: No, just put it above blockci. (define …) instead of (define-public …) means it's not exported.
<nckx>It's just to get rid of the in-line definition for readability and avoid deep nesting & indentation.
<nckx>nothingmuch: Meh, that's just a matter of taste. foo-for-bar is fine, so is foo/baz.
<nckx>I hadn't noticed boost-for-blocksci. Why one in-line and one defined? Just curious.
<nothingmuch>i needed it for both blocksci{,py}
*nckx stops reviewing a HTML page since that's actually quite unpleasant, this is good enough for a first review on the ML and means that we won't have to say 'that place where you foo on line 211…'. Go for it. Or fine-tune it some more. But we don't review on GitHub.
<nckx>nothingmuch: There's no need to (list license:a-single-licence).
<nckx>Oh, that's been mentioned above.
<nckx>See? Chaos.
<nothingmuch>thanks so much everyone, i'll implement these suggestions right away
<nothingmuch>maybe i'll even have the courage to finally try emacs for email, i've never actually used git's email support and i'm ashamed to admit i use gmail ;-)
<nothingmuch>ah, in attempting to replace BlockSci's rocksdb with guix's one, i ran into a linker error i couldn't figure out - apparently rocksdb wanted pthread_create from glib 2.2.5 and i couldn't figure out why (this is all on top of core-updates because blocksci wants gcc 7.2, and i failed to get it to work on master with gcc-7 native input)
<nckx>nothingmuch: I heartily invite you to try a less monopolistic e-mail provider (Guix System even provides everything you need to build your own, minus Web mail, if you feel like a challenge) but no need to be ashamed.
<nothingmuch>nckx: the limiting factor is actually my family unfortunately, for years i've been asking them to review different UIs to see what might be acceptable, but they won't budge, and we all share a domain ;_;
<nothingmuch>at least i can use a better mua, that is on me
<bricewge>How can I use the output "doc" instead of the default "output" with the following `(file-append valgrind "/share/valgrind/html")`?
*nckx away I must be away on some quest… (so, coffee)
<nckx>Always test your auto-away scripts, kids 🤦
<nckx>nothingmuch: I feel your pain (I've been trying to wean my loved ones off of Windows with only partial luck).
<nckx>bricewge: #~(file-append #$valgrind:out "/share/valgrind/html") works.
<nckx>s/out/doc/ obviously. Would that fit into your use?
<nckx>nothingmuch: Maybe you can enlighten me: as someone who used GMail (not by choice, but I wasn't determined to dislike it at first), I never understood what people like about it. It's clunky. It's slow. It breaks off-line. It's not even purdy. Whyy?
<nothingmuch>nckx: in 2007 i needed to travel for 2 months, used to have squirrelmail+postfix on a machine in my parents' living room, to avoid outages when i was offline i moved the domain to gmail because it was the simplest hosted option
<nothingmuch>that's i think the closest to a rational justification i can offer
<nothingmuch>i also really like labels as opposed to folders and no free IMAP server provides that unfortunately... since family's constraints force me to use gmail for imap building on top of that with offlineimap/notmuch/whatever always seemed excessive
<nckx>nothingmuch: I didn't mean that you had to justify yourself, at all. I just wondered why your relatives genuinely prefer GMail.
<nckx>nothingmuch: Ah, labels could be such a feature, I guess.
<nothingmuch>labels, and single coherent state from web + mobile
<nckx>Is that not offered by mobile IMAP clients?
<nckx>(Warning: question may be nonsense since I don't own any mobiles.)
<nckx>Or is the notion of IMAP itself too techy already.
<nothingmuch>yeah if it were me it'd be a .maildir in git-annex ;-)
<bricewge>nckx: It doesn't works for me when creating a `simple-service`
<nothingmuch>i *think* mailpile-per-user with maildir shared by a custom IMAP server that fakes gmail style labels (there's a go imap-server-as-library impl i've been meaning to poke) might not be completely insane
<kori>does anyone have a working firefox-bin package?
<kori>i cant find one
<nckx>bricewge: I've never created a simple service so I can't help you with the implementation, sorry. But gexp-ungexp seems to be the key here. The :out isn't handled by file-append.
<bricewge>nckx: Thanks, now I'm on the right direction at least
<nckx>nothingmuch: I've heard of Mailpile but haven't tried it yet. Thanks for indulging me!
<nothingmuch>nckx: as far as webmail options, it seems like the most promising. at this point in my life though i'm pretty convinced email software is basically just a distributed denial of service attack on humanity
*nckx adores e-mail ☹ …but agrees about the general quality of user agents.
<nothingmuch>nckx: i used to love it, but increasingly i find it unreasonable complexity for the benefit, the federation aspect is built on a bad foundation (IMO ICANN/IANA is basically a protectionist racket) and proprietary vendors seem to have managed to force bad formats on everyone as de-facto not-quite-standards
<nothingmuch>since the decentralized aspects of it being a federated network effectively externalize the costs of such vendors' whims to humanity as a whole, but doesn't actually ensure permissionless access to all, in hindsight it's a bit of a disappointing tradeoff
<nckx>nothingmuch: That's one the sanest things I've heard in a while.
<nckx>Sorry, I mean: your ideas are intriguing to me and I wish to subscribe to your ARC-sealed newsletter.
<nckx>Ironinc detachment keeps the despair about the state of our Internet at bay \o/
<nothingmuch>nckx: ARC? and yes, i concur in theory, in practice i spend too much time obsessing and find comfort in projects like guix ^_^
<nothingmuch>ah, i see
<nothingmuch>i don't know if i forgot about that one or never learned about it
<nckx>Just keep throwing stuff on the pile.
<nckx>nothingmuch: It's the newest thing, I think.
<nckx>I would've said DKIM but DKIM actually pretty all right.
<nothingmuch>hmm, this is definitely new to me. i wonder how many corner cases it took to fill up 35 pages of rfc ;-)
<nckx>Oh, mta-sts, there's a fun one. Should've used that. Make SMTP depend on HTTPS!
*nckx implements it because $reasons so don't shame 'm.
<nothingmuch>i really want named content networking like 20 years ago
<pkill9>what's named content networking?
<nothingmuch>URNs not URLs, aka content addressing
<nothingmuch>i guess NCN is like the old name for it, there were a bunch of drafts before the terminology pivoted to blockchain centric stuff
<nothingmuch>thanks again for all the great feedback, i think i've implemented it all, will update commit message styles and submit to ML tomorrow I hope
<nckx>Guix offloading doesn't respect .ssh/config? Is this by design?
<nckx>Apart from that, it's the absolute bomb ♥ Why didn't I set this up earlier…
<bricewge>nckx: It works when replacing `file-append` with `string-append`: `#~(string-append #$valgrind:doc "/share/valgrind/html")`
<gnutec>SD is more fast then usb pen drive.
<roptat>bricewge, isn't file-append a gexp already?
<roptat>oh but with an output...
<roptat>nevermind :D
<nckx>roptat: Yeah, maybe file-append should be made to handle outputs if its intention is to be a gexp-wrapping helper?
***Acou_Bass_AFK is now known as Acou_Bass