IRC channel logs


back to list of logs

<nckx>Guile: rmdir (directory must be empty!) or Guix: delete-file-recursively (guix build utils).
<The_tubular>Thanks, nckx. I planned to make my own emacs package and have it remove games and obsolete fodlder
<vldn>somebody uses gash as his/her standart bash replacement?
<nckx>Doubtful. It's not intended as a standard bash replacement.
<nckx>Some day ♪
<nckx>Oops, -utils, not gash.
<nckx>Still, I doubt it 😛
<nckx>The_tubular: Cool!
<The_tubular>nckx You've got any example of  delete-file-recursively (guix build utils) being use somewhere ?
<cbaines>don't know if this is a guix thing or more of a guile thing, but the core-updates-frozen merge seems to have changed the behaviour of sleep in guile in a way that seems broken
<cbaines>post the core-updates-frozen merge, it seems to indicate that it was always interupted immediately and didn't spend any time sleeping
<nckx>The_tubular: That's hard to answer because it's used bloody everywhere, it's hard to recommend just one 😉
<vldn>got somebody guix system running on raspberry pi zero w?
<nckx>The_tubular: It's so trivial (‘type delete-file-recursively and the directory you hate, done’) that asking for an example makes me wonder whether I sufficiently answered your question.
<nckx>If you hate multiple directories, you can use for-each:
<The_tubular>Thanks nckx, think I got it
<vagrantc>vldn: it could technically be done if you bring your own firmware, but with a slow processor, limited disk i/o, and only 512MB of ram... it may not be a good match for guix.
<vldn>i actually run this raspberry with nixos since a year and use morph deploy / nixos -rebuild with my local laptop
<vldn>building on raspberry would be a pain :D
<vldn>so guix deploy would be handy
<vldn>with a bit crossarching
<vagrantc>there is some support for cross-compilation, though it may not support all packages
<vldn>good to know
<vldn>there is some opensource firmware for the pi if i remember correctly
<vagrantc>there was a proof of concept replacement for the non-free stuff, but i don't think it's been actively worked on or got to a fully usable point
<vagrantc>yeah, that
<vldn>quite active
<vldn>but never tried
<vagrantc>yeah, looks a bit active
<vagrantc>looks like someone else stepped up
<vldn>whats the problem with linux-libre? uboot?
<vldn>never fiddled much with the pi
<vldn>what non-free stuff is needed beside graphics?
<vagrantc>well, the GPU is used to boot the CPU, for one ...
<vagrantc>and so you need the GPU firmware just to be able to boot the thing
<lilyp>what the...
<vldn>so linux-libre is not persee armv6 compatible? sorry for my noobness :D
<vldn>- v7
<vagrantc>there are plenty of platforms considerably less unusual, but few that are as well known
<singpolyma>rpi was good to open the market but I find the competition does better quite often
<vagrantc>vldn: guix has an aarch64 port (~armv8) and an armhf port, (~armv7)
<vagrantc>aarch64 ~= armv8, 64-bit and armhf ~= armv7+vfpv-something, 32-bit
<vagrantc>in theory there are 32-bit armv8, but i don't know of any actual hardware
<vldn>i had a phone that wasnt a real aarch64 i think
<vldn>lot of trouble with custom roms
<vldn>some personal armv6 substitute servers known or do i have to build every package?
<nckx>The issue isn't Linux ARMvX support. It's not CPU support. The Raspberry Pi folks didn't design or commission their own chip (they were trying to make a cheap board, not spend a billion dollars). They used an off-the-shelf GPU chip made by Broadcom. Why? Because when Broadcom designed this GPU they had a tiny bit of die space left, so they put a little ARM ‘CPU’ there. The chip is 98% GPU. It's not a ‘C’PU at all.
<nckx>You're booting a GPU with a silly ARM coprocessor thrown in for free, so you need GPU firmware.
<nckx>Such a pity.
<vldn>thank you for the insight!
<nckx>I just like telling insane stories.
<nckx>Esp. if they are true.
<vldn>haven't read much about the pi, just use it as as a kodi mediaplayer what, to concede, works pretty well with more gpu then cpu :D
<nckx>I admit to owning a few myself, but I swear I got them all for free.
<nckx>So all mine are free hardware at least.
<vldn>and lately running my crypto trading bot on this little thing, and run everything that my esp is not capable off
<Kolev>nckx: haha free
<Kolev>nckx: are you sure i would not be able to have a beagle bone black or a raspberry pi that runs guix system
<nckx>I was talking specifically about the rPi (and then specifically the ‘old’ ones I own). I don't know. I would *hope* they are better, and less an afterthought built around a proprietary GPU.
<nckx>But 🤷
<nckx>I thought someone did run Guix on the BBB, slowly, but I'm not 100% sure.
<lilyp>They're now built around two proprietary GPUs :)
<vldn>xD yeah
<nckx>Probably. For VR.
<Kolev>nckx: yeah somenoe built around the beagle bone black
<Kolev>it was good i just hope the code is up to date
<nckx>Without my Guix/‘FSF’ hat on I'd like to thank the rPi folks for actually getting *anything* to market and helping to bootstrap an entire product segment. That is *hard*. Had they tried to be ‘open’, I believe we would have never heard of them.
<nckx>(There is, apparently, no wizard hat emojo, so this is inaccurate.)
<Kolev>(replace-string "Guix/'FSF'" "GNU") ;; nckx
<nckx>I mysteriously lost my GNU hat. Very odd.
<nckx>I swore it was here somewhere.
<lilyp>I have it now 🧙
<Kolev>agh you are right no wizard hat emoji in my bemenu emoji thing
<Kolev>nckx: you mean like an actual gnu hat
<nckx>lilyp: If you got the smell out, you deserve to keep it.
<Kolev>guix is gnu so you can say gnu hat
<dissent>the icons i'm packaging has no version or release, what should be input for the version variable?
<vldn>do we use efibootmgr in the normal bootloader generation with uefi? if so, why do we use grub in this use case, can't we skip grub?
<nckx>dissent: (let ((revision "0") (commit "abcd…")) (package … (version (git-version "0.0.0" revision commit)) …))
<nckx>Then use (commit commit) in the source field.
<nckx>I'm assuming it's a git project, because that's a safe assumption today.
<Kolev>i wish gnu bazaar would have caught on
<dissent>nckx: great thanks. yes a git project.
<nckx>vldn: efibootmgr and GRUB do not overlap?
<Kolev>bazaar has a nice graphical ui
<nckx>GRUB use efibootmgr to register itself with the vendor firmware.
<Kolev>also bazaar used intuitive version numbers like 1 2 3
<vldn>i had used efibootmgr without grub on my arch install before, and i think nixos does the same
<vldn>just configured uefi directly to boot my linux
<singpolyma>nckx: i know this is reaching back a bit, but the main reason rpi1 used that brordcom chip was the rpi founder worked for broadcom
<nckx>You're confusing efibootmgr with EFISTUB, where you turn the Linux into a Windows PE executable so the UEFI firmware can boot it without a bootloader.
<nckx>efibootmgr is not a bootloader.
<nckx>singpolyma: Thanks! I'll file that away. I knew they had ‘contacts’; I didn't know that.
<nckx>vldn: This has no advantages for Guix, only disadvantages.
<nckx>You lose the generations menu, and your boot becomes UEFI-only.
<vldn>turn into a windows pe? don't know what you refer to, i just meant, that i use efibootmgr to create a boot entry within uefi like this: efibootmgr --disk /dev/sdX --part Y --create --label Arch Linux --loader /vmlinuz-linux --unicode 'root=PARTUUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw initrd=\initramfs-linux.img' --verbose
<nckx>GRUB *does* that.
<vldn>nixos keeps the generations menu without grub, just with the efibootmgr config i think..
<nckx>You're still confusing efibootmgr with something that in some way boots Linux.
<vldn>you just can add entrys like in my example
<vldn>yeah i refer to efibootmgr as the tool to config it, sorry
<nckx>You need to wrap Linux in a (MS) Windows binary because UEFI can only boot Windows binaries.
<nckx>That's what the UEFISTUB is, plus some code to, er, boot.
<nckx>vldn: I thought NixOS used systemd-boot?
<Kolev> ew nix
<nckx>I say windows twice and you say ew nix.
<nckx>No, you nix.
<nckx>Ho lee sh, I actually found the source for my 98% claim:
<vldn>i'll read a bit more about systemd-boot (hear it the first time :D and give response if i just meant this thingie)
<vldn>woo ty
<vldn>and yeah, lot of complications with skipping grub i'll think
<vldn>for just saving one package install >.<
<nckx>vldn: My ‘I thought they used systemd-boot’ was no more than that. I haven't used Nix in years and they very much used GRUB when I did. I just remember sd-boot being mentioned at some point.
<nckx>I don't even know how it works.
<nckx>Is it a refind clone? Or something else?
*nckx shrug!
<vagrantc>ok, successfully ran "make dist" and build a .deb package out of it ... you know what's next ... typo, grammar and spelling correction patches! :)
<nckx>If they have to store each generation's kernel + initrd on the (frequently cramped) ESP, that's another drawback of not using GRUB.
<vldn>ah systemd-boot it the old gummiboot with a new name
<vldn>and you are absolutly right, they are using it on uefi systems standartly (you can use grub too if you like)
<nckx>Anyway, since we drifted from your original question (mainly through me): <why do we use grub> I don't think any alternative provides any serious advantage to Guix, while posing some potentially serious disadvantages.
<nckx>GRUB boots the same OS on both non-UEFI and UEFI systems in the exact same consistent way.
<nckx>Yes, the bootloader ‘targets’ a different ‘architecture’ on each, but there's no nonsense like ‘if you have a foo computer, you'll have to create a weird FAT32 partition now for $weird_reasons’.
<nckx>vldn: Indeed! Gummiboot was what I mean, not rEFInd. Apologies.
<nckx>The German should've tipped me off.
*nckx glares at the German.
<vldn>*verneigt sich*
<vldn>good night all! i'll try to run guix on my little raspberry zero the next days, let's see :)
<nckx>Good night! And good luck.
<nckx>My <if you have a foo computer> reasoning sounds bogus because what I actually meant to type was ‘…put your kernel+initrd on a…’. My point was that all the firmware-dependent stuff is nicely quarantined before GRUB, and everything after GRUB is nicely uniform.
<nckx>I should also go to bed, and will. Good night Guix.
***Newfangled_ is now known as Newfangled
<nergal>i wish to host peertube on guix. any advice on where to start?
<vagrantc>what is it written in? ... start packaging the dependencies, etc.
***sam_ is now known as hppa_two_sparc
***hppa_two_sparc is now known as sam_
<Kolev>vagrantc: Packaging is hard.
*vagrantc noticed a load of "node" packages just landed
<The_tubular>Is there a way to automatically compare packages with upstream if I built that package ?
<Kolev>i wish that emacs-guix worked
<AwesomeAdam54321>The_tubular: Do you want to check if they are bit-for-bit identical?
<lilyp>It's either `guix refresh' or `guix challenge' depending on whether you want to check if there's a newer version or you want to pick a fight with substitute servers.
<The_tubular>Yes, well I would like guix install to do it
<Kolev>it just stops at "Starting Guix REPL ..."
<lilyp>The new node packages sadly still miss rightpad :(
<Kolev>oh i should check if leafpad is in the packgaes
<Kolev>i dont get why the fedora i3 spin uses mousepad and not leafpad
<Kolev>leafpad is more generic and mousepad is xfce specific
<Kolev>I like having all my packages listed in the home-configuration.scm file.
<nergal>>what is it written in? ... start packaging the dependencies, etc.
<nergal>vagrantc is written in javascript.
<nergal>why is there a double post???
<dckc[m]>does guix keep a log of what I installed manually (as opposed to dependencies)?
<dckc[m]>to wit: I'm trying out ungoogled-chromium-97.0.4692.71-1 65.0MiB
<dckc[m]>hm... `guix show` doesn't show any checksums
*nckx sweepwess.
<nckx>nergal: If it's any consolation, I have no idea which double post you're talking about.
<nckx>dckc[m]: Guix does not ‘install dependencies’ like traditional package managers so you're good from the start. Everything in ‘guix package --list-installed’ was explicitly installed.
<nergal>nckx, seems to be a glitch in my matrix. my insertion repeated. carry on!
<dckc[m]>bingo! that's just what I wanted
<Kolev>Does the Guix package `font-terminus` incl. TTF/OTF versions? Sway/PANGO do not seem to want to use Terminus.
<nckx>Kolev: font-terminus is a bitmap font, so no.
<nckx>You can view the contents with ‘guix build font-terminus’.
<nckx>otb, pcf, psf only.
***califax- is now known as califax
<zoglesby>Is there away to search for what package has a binary in it? I am trying to find `gsettings` but not sure if is available or where it would be.
<dckc[m]>is the guix seed a fixed-point? can it build itself?
<nckx>zoglesby: Not yet. gsettings is in the glib:bin package.
<zoglesby>thanks, and thanks!
<nckx>dckc[m]: I completely lack the theoretical background to answer that with certainty, but… I don't think so? Wouldn't that imply that {bootstrap-mescc-tools, bootstrap-mes, bootstrap-guile}, alone, could rebuild those three packages?
<nckx>Or am I mistaken?
<dckc[m]>yes, that's my question. whether then can rebuild it directly or indirectly
<nckx>By first building GCC and friends.
<dckc[m]>it's it's not the case that we have some holy binary blobs created long ago that we take on fait
<dckc[m]>s/it's/so/, s/fait/faith/
<nckx>That's what ‘seed’ means here.
<vagrantc>i think bootstrap-mescc-tools and bootstrap-mes are good, but bootstrap-guile not so much
<dckc[m]>(I have worked on at least one project that needed artifacts from a previous build to do a next build)
<vagrantc>or at least, could be good in theory
<nckx>I agree vagrantc.
<nckx>dckc[m]: Once the full source bootstrap is here (see further in your linked article), there will be no seed.
<nckx>Only source.
<vagrantc>i think the next leap forward for bootstrappability for guix is to actually build guile with mes, but that's a long way off :)
<vagrantc>ah, yeah, or just go all the way :)
<dckc[m]>only source... starting with the magic 512 stage0?
<dckc[m]>* magic 512 byte stage0?
<vagrantc>it's not magic, it's source code
<dckc[m]>("magic" meaning wonderful, not mysterious)
<dckc[m]>* not mysterious. ironically poor choice of words)
<vagrantc>there's bursts of discussion on #bootstrappable too ... there's been considerable progress from what i've seen
<nckx><way off> In a sense, yes, but I certainly didn't expect us (by which I mean the insanely hard-working and scarily productive bootstrap gang) to have got this far by half, so I do believe ‘way off’ is possible in reasonable time scales.
<dckc[m]>((matrix lets me edit. I wonder what it looks like on the other end of an IRC bridge))
<nckx>dckc[m]: It just re-sends the message.
<nckx>It's not a value-add, so please don't feel urged to use it.
<dckc[m]>I used IRC for years (decades?) but I'm pretty spoiled by stuff that lets me edit (discord, keybase, ...)
<nckx>I wish the bridge could do something clever like, if the message is over ~50 characters and nearly identical, automatically construct and send a s/foo/bar/ line instead. This seems like something modern technology should be capable of 😛
<nckx>dckc[m]: REVISIONIST
<dckc[m]>quite! I keep version controlled history of most of my life. (calendar, finances, ...)
<nckx>(I assume these programmes offer some way to see previous history, but it still makes me vaguely uneasy. Chats go so fast as-is, it's too easy to edit a message & get away with it. But I'm paranoid.) (And if they don't, well, that's just evil.) (Anyway, enough parentheticals.) (This isn't #commonlisp.)
*dckc[m] wanders off, greatful for the help and inspiration...
<nckx>Be sure to check out #bootstrappable if you want authoritative & up-to-date answers.
<ryanprior[m]>Anybody know which package if any has the update-initramfs tool?
<bricewge>Hello Guix!
<bricewge>ryanprior: Looks like there is no such binary in guix, also it look specific to Debian
<ryanprior[m]>bricewge: thank you! is there a tool you used to look that up?
<bricewge>I looked in the repo with "rg initramfs", then un ArchLinux packages website and finaly in Debian's
<bricewge>And found the source of initramfs-tools in Debian's Gitlab
<bricewge>And it seems there is no upstream for it, so I guess it is upstream
<bricewge>Also there is this bug report by vagrantc
<efraim>hello guix!
<florhizome[m]>hello efraim!^^
<asdf-uiop>hi guix!
<jpoiret>hello guix
<asdf-uiop>hello jpoiret
<fproverbio>hello guix
<roptat>hi guix!
<roptat>I just updated translations, which added a Finnish manual; you'll need to run "./bootstrap" before you can run "make" again
<abcdw>Hi guix! Is down?
<muradm>hello guix
<muradm>is there any problems with
<muradm>or is it just me?
<muradm>ping - ok - timeout
<vldn>timeouts for me too
<muradm>stuck at guix system reconfigure
<vldn>seems down
<fproverbio>muradm: had timeouts yesterday
<abcdw> Hi muradm, asked the same question two minutes ago =) Seems something wrong with the server.
<vldn> is still online
<vldn>maybe just get your subs from there for the install @ mura
<vldn>may not cover all needed subs
<abcdw>vldn: Thank you very much for the noting it! Will do --substitute-urls=
<vldn>worth a try :)
<bdju>hey, guix. ran into this issue while doing routine updates. might be the first I've seen it.
<muradm>sorry, i waited few minutes after login to see if people discuss timeout :)
<fproverbio>can confirm, bordeaux is up and healty
<bdju>oh I see others are getting it
<fproverbio>actually for me it's faster than ci ^^
<muradm>seems like, bordeaux requires to build too many things for me, which normally are available..
<muradm>but i will try now
<ennoausberlin> seems to be down
<rekado>same server
<rekado>this must be the same problem as yesterday
<vldn> also @enno
<rekado>even is unaccessible
<rekado>so it’s not our servers but the site
<muradm> (web site) also down
<vldn>no mirrored server for
<vldn>i'd like to get the rpi patches
<roptat>vldn, the patches are on guix-patches mailing, so it's not as nice, but you can browse the archives
<abcdw>vldn: I use this mirror and sync the archive locally with l2md, so I always have access to it with notmuch and Emacs.
<vldn>super nice, ty both!
<muradm> seems to be back
***carlos is now known as Guest4610
<lilyp>how does the --localstatedir argument to `guix pack' work? Does it copy my localstatedir or does it copy the bits required to deal with the `guix pack'
<jacereda>I can't ssh when connected wifi. AFAICS there's no firewall running on this laptop. I've tried to use a hotspot on my phone instead of the home wifi, same result. When using ethernet it works fine. Prior to installing Guix, it was working from macos. Any idea?
<lilyp>jacereda: you'll have a different IP on wifi vs. cable, perhaps there's a relation there
<lilyp>other than that there might be a problem with zeroconf lookup
<rndd>hi guix!
<sneek>Welcome back rndd, you have 1 message!
<sneek>rndd, nckx says: ‘guix install git:send-email’ assuming you also ‘guix install’ed git (for implementation reasons, both must be installed to the same profile).
<rndd>i tried to compile cpp hello world but faced this error "errno.h:26:11: fatal error: linux/errno.h: No such file or directory"
<rndd>maybe somebody had same issue
<efraim>rndd: do you have gcc-toolchain installed?
<jacereda>lilyp: I don't have the ethernet connected, I connected it just to test. I can ping the target machine without problems, it's just it won't ssh into it, it gives a connection timeout. Not even when trying to ssh to a machine in my LAN.
<jacereda>rndd: what's the command line you're using?
<rndd>oh, my bad i installed gcc instead gcc-toolchain
<rndd>now it works
<rndd>thanks everyone
<jacereda>lilyp: I can also `nc target 22` and it will display the SSH version message
<pinoaffe>`guix shell -p /path/to/profile` gives an odd warning "warning: no packages specified; creating an empty environment" but otherwise does what one would expect, is this a bug?
<jacereda>I was trying to install `lsh` to check if it made a difference, but looks like it doesn't build
<jacereda>Now I tried with dropbear and dbclient connects without problems, something going on with openssh
<mfg>i just created a vm with guix system vm using the desktop template (removing desktop environments other than gnome) and gnome doesn't start.
<mfg>gdm starts, but gnome doesn't
<mfg>i can't read /var/log/gdm/greeter.log because less: error loading shared libraries: cannot open shared object file: No such file or directory
<mfg>does anyone know why this happens?
<mfg> is the config
<mfg>i'm also sure that this exact config worked a few days ago ...
<cehteh>curious question: what encoding do the store names use for the hash part? i just notice that thus encoding does not use the 'e'
<mfg>ah nevermind, my fault
<rekado>yesterday I submitted a support request to IT, so maybe tomorrow we’ll know what went wrong there. It’s not our services that were at fault here.
<nckx>cehteh: Naughty words. <>, page 89.
<nckx>mfg: What happened?
<florhizome[m]>For some reason the crate importer just does nothing for me
<florhizome[m]>Tried it a couple time now
<florhizome[m]>Maybe it is my stuck–in–2010 wifi + crates–io slow download speeds
<robin>cehteh, nix-hash32, roughly [0-9A-Za-z]+ excluding e, o, u, t
<florhizome[m]>„guix import crate rust–guile“...
<robin>"to reduce the possibility that hash representations contain character sequences that are potentially offensive to some user" according to dolstra's thesis
<robin>er, nix-base32
<nckx>robin: Uppercase is not used.
<cehteh>nckx: omg :D
<vldn>any use in rewriting the whole nix/guix daemon with guile?
<vldn>could spend a few weekends for this... :D
<nckx>vldn: Very much! The current daemon is noticably untouched compared to the rest of the code, since few people feel comfortable dealing with C++. And the code's too old to easily backport patches from Nix, so there's no advantage to C++ at all.
<nckx>vldn: Some progress has been made, and there's <>, but it's stalled again for now. Any initiative would be much appreciated.
<vldn>that would have been my next question, alright! i'll see what i can do
<florhizome[m]>nckx: is there currently work being done on improving shepherd, or the „system“ and service interfaces?
<florhizome[m]>i know shepherd is external but guix seems to be the major driver
***sebbu2 is now known as sebbu
<robin>nckx, ah, indeed. i guess that avoids some common homoglyph pairs (0/O etc.)
<jpoiret>pinoaffe: what are you trying to achieve with the -p option to guix shell?
<jpoiret>guix shell doesn't operate on profiles iirc
<vldn>though the same @ jpoiret, but the help page suggests the other
<Kolev>jpoiret: Where in the manual is the information about making a manifest.scm?
<vldn>here @Kolev
<nckx>robin: Indeed. Also, I wasn't there so can only Guess, but I suspect ‘running on a certain ~case-insensitive operating system’ was seen as an advantage and a reason not to design a ‘nix-base64’ that would need uppercase.
<Kolev>vldn, sounds different from Guix Shell.
<mekeor[m]>is it true that someone is working on packaging tree-sitter for guix?
<cehteh>lets implement emoji128 encoding! 💩👍😱🤮
<vldn>don't know for sure, but i think these manifests are working with shell too..
<ytc>hello. how can i query the variables like %desktop-services? via `guix repl'?
<sneek>ytc, you have 1 message!
<sneek>ytc, podiki[m] says: probably something to do with gtk cursor themes; on a plain WM you need to manage more yourself (maybe look into an xsettings daemon too)
<asdf-uiop>According to 'guix lint', the description of most packages I write is way too long. I don't see the sense in artificially inserting line breaks, especially since it is prose. Should I still do that before submitting them?
<aru>when my system fails to boot and it drops me into a guile shell, what would be the easiest way to spawn a good ol' sh, if possible?
<ngz>asdf-uiop: Line breaks are not meaningful in descriptions. The text will be reformatted anyway.
<jpoiret>well, there's no easy way to do that, but if you know that there's a bash in the store and its path, you can always do (execl "/gnu/store/path-to-bash/bin/bash")
<jpoiret>note that you're in the initramfs so your whole store won't be there
<nckx>asdf-uiop: Yes, please do.
<nckx>Most editors do this automatically for you if you ask.
<jpoiret>ytc: you can look up their definition in the code (here that's in gnu/services/desktop.scm)
<jpoiret>i'm afraid guile will do a poor job at printing its complicated value in the REPL
<ngz>mekeor[m]: Yes, see bug#49946
<ytc>jpoiret: yeah i know. emacs-guix has lots of cool features help me to do it. but using REPL would be awesome.
<jpoiret>well you can just do `,u (gnu services desktop)` `%desktop-services` in the guix repl
<jpoiret>but trying to print services will be pretty ugly i reckon
<ytc>jpoiret: "Unknown meta command: u"
<jpoiret>ehm, that's ,use, sorry
<jpoiret>I use readline, that may be why
<asdf-uiop>ngz, nckx: Alright. I guess Emacs should be able to do that for me ;)
<mekeor[m]>ytc, jpoiret: you can (use-modules (gnu services desktop)) and then run ",a desktop" to search for something containing "desktop" but unfortunately ",d %desktop-services" doesn't show much
<jpoiret>only procedures have docstrings (and macros, but guile won't let you see them easily)
<ytc>jpoiret: it's pretty messed up like you said.
<gnoo>hello, say i want to make a package which is related to another package defined in gnu/packages/video.scm, how can i make a package so that i don't have to redifine all the (use-modules)?
<nckx>asdf-uiop: M-q could do it, but it does a (to me) bizarre thing where it wraps the first line at fill-column characters… starting from the ", not the start of the line.
<nckx>I'm not gud enough at emacs to understand this behaviour or how to fix it.
<jpoiret>nckx: do you use paredit? I remember it happening but I haven't see it since i've switched to smartparens instead
<mekeor[m]>gnoo: just (use-modules (gnu packages video)) and then you can use the packages from there
<Kolev>Did I do this manifest.scm right?
<jpoiret>(and smartparens doesn't override M-q)
<nckx>jpoiret: I do.
<nckx>Sigh, another *paren* mode to try 😛
<Kolev>I'm not touching Paredit.
<Kolev>Paredit confuses me.
<jpoiret>Kolev: that should work imo
<jpoiret>i found paredit to be a bad emacs citizen (despite being included in the default emacs distribution)
<jpoiret>also, smartparens works for all delimiters in any mode, ie LaTeX
<gnoo>mekeor[m]: no, i mean i'm building a package similar to smplayer. it depends on a lot of things but video.scm has them already imported. (use-modules (gnu packages video)) will only import the packages defined in that file but not the modules that were used there
<Kolev>jpoiret: Paredit is not incl. by default. There is an `emacs-paredit` package.
<pinoaffe>jpoiret: I'd expect that `guix shell -p /path/to/profile` starts a shell where all packages installed in the profile are available
<pinoaffe>that's also what it does
<pinoaffe>"-p, --profile=PATH create environment from profile at PATH" < this is what `guix shell --help` has to say about `-p`
<gnoo>mekeor[m]: for eg, using only (use-modules (gnu packages video)) gives me this error: hint: Did you forget `(use-modules (guix packages))'?
<rekado>vldn: a lot of the features we need for the daemon already exist on the Scheme side.
<rekado>but they may not be exposed in a way that is easy to reuse
<jpoiret>gnoo: you need to re-use every module you need
<Kolev>Should I name it `manifest.scm` or `guix.scm`?
<gnoo>jpoiret: can't i have guix pretend that the package definition was concatinated at the end of video.scm?
<rekado>Kolev: depends on what you want to accomplish
<jpoiret>pinoaffe: my bad, I didn't know about that feature. But it looks like `guix shell -p /path` ends up with `guix shell` thinking it has no packages to put in the profile, weird
<rekado>paredit vs smartparens: I never got smartparens to work just how I wanted it.
<jpoiret>gnoo: you could (load-file "/path/to/gnu/packages/video.scm") but I wouldn't recommend doing that
<rekado>I’ve been forcing myself to use it for about a year
<gnoo>jpoiret: why?
<rekado>but now I’m back to paredit and with a few tweaks it’s much more comfortable for me
<jpoiret>gnoo: Module systems exist for a reason
<gnoo>ok i guess, thanks!
<nckx>rekado: Any tweaks you'd recommend as killer?
<nckx>I'm not wed to paredit yet.
<podiki[m]>smartparens strict all the way for me
<rekado>nckx: (define-key paredit-mode-map (kbd "\\") nil) because I got annoyed by paredit hijacking \
<rekado>and I made it work with delete-selection-mode
<pinoaffe>jpoiret: i mean, it kinda makes sense that it'd think so, because it doesn't need to "add" anything to the environment, but it's still somewhat of a weird warning
<rekado>with smartparens I often found myself selecting the sexp or marking it to delete it because C-k couldn’t be trusted
<podiki[m]>you can set up smartparens to be (exactly?) the same as paredit, at least my config took what the author gave as tweaks; I think my on olther stuff is for lisp-mode
<rekado>podiki[m]: I used that as well
<aru>what would be needed to support / on xfs? Just the uuid/label reading stuff?
<rekado>strict mode and paredit tweaks
<rekado>still had major differences that tripped me up for a year
<podiki[m]>rekado: what did you not like that is not there? what about the other one people like...lispy? I forget the name now
<rekado>I tried lispy only very shortly
<rekado>I use dvorak and the default keys are all vim-like
<podiki[m]>(never used paredit much, mostly was smartparens to start, so that's probably why I didn't have issues)
<rekado>and that’s not really comfortable for me
<florhizome[m]>Is there a way to alter what cargo builds? I don’t want to build the examples of what I’m trying to package
<rekado>and changing them was a bit too much effort for me
<podiki[m]>all these seem really powerful but I only ever got as far as the basics (slurp, barf, occasional splitting or transformations)
<nckx>rekado: Oh, OK. Thanks! But a bit radical for me :)
*nckx tries to accept paredit hijacking into their life.
<jpoiret>convoluting sexps feels good once in a while i have to admit
<podiki[m]>I even use the slurp/barf when writing text; I love my parentheticals!
<podiki[m]>jpoiret: feels like magic when you do some of the more complicated things, I bet if spent all day in lisp it would become more natural to use them
<rekado>podiki[m]: I even got a use out of paredit-convolute-sexp
<rekado>slurp, bark, split, and join is what I use all the time (join mostly for strings, though)
<podiki[m]>convolute it! :-)
<podiki[m]>split/join great for strings, or just the default escaping of quotes within a string is handy too
<nckx>podiki[m]: I think that's my favourite part. The rest is great too, but has the unfortunate learning curve of C-d… C-d… C!-d!!!… sigh, I have to look up how to delete a ( again.
<podiki[m]>pasting in random code can be a pain for that reason, since I so rarely need to unbalance the parens I never remember the key either
<char>how do I make complaints about .po files go away? " warning: AM_GNU_GETTEXT used but 'po' not in SUBDIRS"
<nckx>Sometimes I paste problem snippets from IRC, paredit whines about unbalanced parenthesis, and I feel all smug and ‘well, see, there's your problem’.
<nckx>Then I spend 5 minutes trying to fix it.
<nckx>Randomly mashing keys.
<nckx>char: Isn't that warning aimed at upstream (us)?
<podiki[m]>nckx: :)
<jpoiret>just bind a key to open nano in an emacs console buffer
<jpoiret>problem solved
<podiki[m]>char: I thought I saw a message about a new translation here, something about doing a ./bootstrap again before make?
<podiki[m]>(if related)
<nckx>jpoiret: You should see my trying to use nano. It's like watching a dog drive.
<nckx>podiki[m]: Well, I get that message *during* a bootstrap && ./configure && …, so that's why I asked.
<nckx>The checkout is not very clean however.
<char>Yes I'm getting it from bootstrap
<podiki[m]>I'm due for a new checkout later for some more patches, so I'm curious what to do as well when seeing these messages
*podiki[m] tries now
<asdf-uiop>clog.scm:114:14: sbcl-clog@0-0.c4c1b8a: can be upgraded to 1.0 <<-- sayeth lint
<asdf-uiop>The commit I used is newer that v1, so I should probably write (version (git-version "1" revision commit)) in the package definition?
<podiki[m]>same warning here
<char>then I get the slightly more concerning error in make: PO4A doc/guix.pt_BR.texi
<char>Your input po file po/doc/guix-manual.pt_BR.po seems outdated (The amount of entries differ between files: 11568 is not 11114
<char>). Please consider running po4a-updatepo to refresh it.
<podiki[m]>those I've seen before
<podiki[m]>but I don't have your solution
<char>My main problem is that these PO4A and POXREF take kind of a long time to run.
<sash-kan>hi all! is it normal that the guix codebase doesn't pass the tests?
<asdf-uiop>clog.scm:116:6: sbcl-clog@0-0.c4c1b8a: scheduled Software Heritage archival <<-- I assume this is just a piece of information, not something I have to deal with?
<nckx>sash-kan: I think I know what broke this, and how to fix it…
<nckx>asdf-uiop: Purely informational. The linter asks SWH to archive the source.
<nckx>Maybe it should be silent.
<asdf-uiop>Or be tagged with 'info' or sth like that if it is shown?
<nckx>error: cannot open < ./doc/ No such file or directory
<nckx>Now. What.
<nckx>touch the magic dragon ♪
<florhizome[m]>Does SWH have space for all that? like every package version that someone lints
<florhizome[m]>archived and compressed
<sash-kan>nckx yes, it is not compiled from the master at all. that's why i chose an earlier commit.
<nckx>sash-kan: A squishy work-around is to ‘touch’ each non-existent file and try again.
<nckx>florhizome[m]: SWH archives VCS repositories, not tarballs. But yes, still a lot of heritage to store!
<nckx>I hope they have back-ups.
<podiki[m]>nckx: I did not get that error, make ran successfully as far as I can tell
<nckx>The Finnish one or the warning about po subdirs?
<florhizome[m]>I mean, for every guix lint that’s run somewhere, that could grow much more then stuff that’s submitted to guix
<nckx>florhizome[m]: True. I don't think SWH ingests any old arbitrary content, though; Guix's polite ‘requests’ are just that.
<podiki[m]>nckx: on make did not get the error about missing fi.texi file
<podiki[m]>this was for make in a guix checkout, not sure if you were building something ele
<podiki[m]>quesion: transformation --with-latest will replace the whole source part of a package? i.e. no longer use the patches field?
<nckx>podiki[m]: I'm running make check TESTS="tests/" but the effect should be the same.
<podiki[m]>nckx: that completes for me too
<podiki[m]>I'm on commit 4255e2cf1702ab70fa961480446f954cedfbeee5 but maybe our trees are both dirty in different ways?
<nckx>podiki[m]: It completes? Why the hell am I bothering to debug it then.
<nckx>I'm on 4255e2cf1702ab70fa961480446f954cedfbeee5 with 26 commits on top of if, about half of which begin with ‘XXX!’.
<nckx>But ‘git status’ comes up clean.
<nckx>Apart from ‘.worktree/’. That shouldn't affect anything, right?
<podiki[m]>nckx: someone else had reported a test failure, that test? I was only seeing if the new translation failed in making guix, but it did not
<xelxebar>What's the "correct" way to copy a custom script into a package's output? I have a blob of scheme that wraps the executable (so it needs to know the output path). At the moment, I just create a wrapper package that has the script and parent package as inputs, but I'm curious if there's a better way.
<nckx>podiki[m]: sash-kan reported
<nckx>I haven't even got around to getting that far yet.
<nckx>Had to reboot twice for unrelated reasons.
<nckx>./doc/ warning: `.' or `,' must follow @xref, not p
<asdf-uiop>Are the linter messages "warning: not tags found for $package", "updater 'github' failed to find upstream releases" and "label '$label' does not match package name '$label:lib'" also purely informational? The last one comes from me importing another package as a base, so I guess it would make sense for me to also update that one to the current style of input declarations?
<nckx>WTF. If the Guix gods do not wish me to build Guix today, the Guix gods could just send me a friendly e-mail.
<xelxebar>Guix gods are hungry. Must feed them first.
*nckx feeds the Guix gods some tasty errors in finalisation thread: success.
<asdf-uiop>Maybe the Guix gods have abandonned ship and are now only communicating through facebook messages on (or 'microsoft 'apple) systems
<sash-kan>nckx to clarify: i follow the instructions
<sash-kan>and i got to the `make && make check` step, where i got the error described above.
*nckx points at the ‘no blasphemy’ sign.
<florhizome[m]>xelxebar: There is a procedure called „wrap–program“ that creates a wrapper with environment variables.
<florhizome[m]>It doesn’t execute arbitrary stuff though afaik, if that’s what you need
<xelxebar>florhizome[m]: Thanks. Unfortunately, I need a bit more logic inside that wrapper than just envar settings.
<nckx>xelxebar: Your way sounds like a good way, since you're just wrapping an existing package. If you don't want to maintain an ‘upstream’ for your script you could just write it in-line, (with-output-to-file (string-append #$output "/bin/wrap") (lambda _ (display/format/whatever "my cool wrapper"))) style.
<nckx>I recommend format over string-append if you need to substitute variables, but the Guix code-base suuure loves its strings-append :-/
<podiki[m]>nckx: so your repent reflect and reboot was successful then?
<nckx>‘make’ in my filthy ~/guix and ‘git clone /tmp/fresh-new-guix’ are currently racing each other.
<nckx>My old ThinkPad CPU is winning.
<nckx>Go Savannah.
<nckx>podiki[m]: I still haven't got to a point where the test even starts running 😒
<asdf-uiop>nckx: I don't get it, I didn't say anything about discordia. But do have this virtual golden apple [insert golden apple emoji here] as a symbol of reconciliation.
<nckx>The Guix gods do not use Discord!!!!1
<podiki[m]>nckx: well on my front channels.scm test fails, but I may have made a mess of my checkout as well
*nckx takes a bite, dies.
<nckx>You are forgiven.
<nckx>podiki[m]: Aren't we just a pair.
<podiki[m]>I felt better the other day when I asked people's workflow on the checkout and it was all "I just make" maybe a few steps when that fails, and here we are
<nckx>I said ‘a few’, not whateverthefuck this is. (Savannah won by the way, and is currently bootstrapping).
<nckx>If my clean checkout produces an error where yours didn't I believe I'll cry.
<xelxebar>nckx: Hrm. with-output-to-file just writes out a string blob, correct? What about reify some gexp and copying that over at install time? Sounds dirty.
<podiki[m]>unrelated, am I reading this correctly that --with-latest would replace the whole source field with just the latest upstream source? no longer having patches from original definition?
<nckx>Oh, you can do that too. It is cleaner indeed.
<nckx>podiki[m]: That is how I read transform-package-latest.
<lilyp>yes, it voids all your warranties
<xelxebar>Thanks :D I'm bumping up against the limits of my Guix understanding here. Would you mind pointing me in the right direction for how to turn some gexp into a file from within a build step?
<podiki[m]>darn, so a simple --with-latest=lua hid that the lua patches don't apply on the newest source; which I would expect but was misled by that until I actually did the definiton update
<podiki[m]>nckx: not to add to the confusion/problems, but my only failing test is "FAIL: tests/channels.scm - channel-news, one entry"
<CaoCao>Hello everyone
<CaoCao>For some reason, the behave package is not passing the tests. I checked the CI, and there was a (#modify-phases) argument that passed the CI but was removed in a commit, now it fails the CI. The actual software has not been updated since 2018 so I don't know why the (#modify-phases) argument as removed from the Guix package
<CaoCao>Look at commit 25c18d5385eabc0be627655628c026b0477a7c96
<podiki[m]>nckx: will check back in (ha) later
*podiki[m] must be fed
***Xenguy_ is now known as Xenguy
<vldn>the packages were linted with guix style while the big merge, maybe because of this? @CaoCao
<CaoCao>vldn: No, a lot of packages around Jan 2021 were changed to remove any modification of PYTHONPATH
<CaoCao>vldn: By Maxim Cournoyer
<rekado>CaoCao: if it had not been removed it would have been wrong code.
<rekado>(getenv "PYTHONPATH") always returns #f since the switch to GUIX_PYTHONPATH
<The_tubular>Umm, guix upgrade just froze on me :(
<opunix>hi, does somebody know how to remove a /gnu/store read only mount point ?
<podiki[m]>The_tubular: possibly the slow sub server right now?
<opunix>i wanted to remove guix ... but i can not delete the /gnu/store
<opunix>and i found out it is a mount point in read only mode
<nckx>Sorry for dropping of the face of #guix. Definite hardware problems at this point. However, sash-kan, tests/ succeeds here.
<The_tubular>That is probably related to it, should I just let it run, it's says it's downloading something, but the size isn't increasing and it's downloading at less than 1mbps :(
<podiki[m]>opunix: make sure to stop the guix daemon (assuming you are on a foreign distro, so systemctl) first
<nckx>opunix: You need to unmount the bind mount. I think it's called gnu-store.mount?
<nckx>Stopping the daemon as podiki[m] is also needed. systemd should do the right dependency thing when you stop gnu-store.mount, or else it's probably our fault.
<podiki[m]> may also help
<podiki[m]>nckx: same thing on my other computer: warning on bootstrap, make completes, make check has error in channels.scm (news test)
<nckx>The_tubular: That does not sound like ‘freezing’ at all.
<nckx>Just say it's slower than you'd like, then we can agree.
<nckx>Good bonding excercise, that.
<The_tubular>Well I mean, guix says it's downloading, but the progress isn't moving
<The_tubular>So I'm pretty sure it's not really downloading
<phodina[m]>Do you experience slow speed when downloading substitutes from https://ci.guix.gnu/org? Just tens of kBps in my case. Otherwise my max download is about 52 mbps
<nckx>phodina[m]: Yes.
<podiki[m]>The_tubular: I was seeing that too on a pull, after very slow other parts downloading. I stopped and redoing my guix pull
<The_tubular>475KiB/s 02:10 [####              ]  27.0% Been stuck at 27% for about 10 minutes
<nckx>It's been like that since $forever.
<nckx>The_tubular: Oh, sorry, I thought you said it was still downloading, just slowly, above.
<phodina[m]>The_tubular: I have something similar
<podiki[m]>you can use --no-substitutes The_tubular
<podiki[m]>(take your pick on whatis faster/slower for you)
<The_tubular>Well guix says it's downloading... But is it ...?
<sash-kan>nckx very strange. i rebuilded from master (4255e2cf1702ab70fa961480446f954cedfbeee5) and `make check TESTS="tests/"` still fails.
<nckx>The institute that hosts ci.guix has been having network troubles today.
<phodina[m]>podiki[m]: Thanks. I just appended the switch
<The_tubular>Ohh :/
<nckx>The_tubular: My guess is, not.
<nckx>I'd restart it to see if it ‘helps’, else try --substitute-urls=
<The_tubular>The whole report seems a bit wonky, here's another part : 3.01GiB/s 00:00 [##################] 100.0%
<nckx>Unlike --no-subs this will give you some subs.
<The_tubular>I highly doubt I download at 3.01 GiB/s
<nckx>The_tubular: That's normal for tiny files.
<opunix>podiki[m] , nckx ... ok nothing is running any more device is busy now
<nckx>Mathematically, it did.
<The_tubular>Ohh, ok
<podiki[m]>opunix: something may be using a file in there? there's some command to check what is holding up an unmount...
<nckx>sudo lsof
<nckx>But in your case, if you've removed those systemd services, I'd just reboot, then remove the now-unused /gnu/store.
<podiki[m]>sash-kan: I don't have that fail on c9f9e78dc0e911d693138b36a192aced0e2f0c75
<opunix>ok i will restart now ... cu you after .-)
<opunix>ok i will restart now ... cu you after  :-)
<nckx>It's a bit sus that sash-kan's failure results in a backtrace, not a FAIL, but I don't immediately see the culprit.
<nckx>sash-kan: could you run ‘export COLUMNS’ in the test environment and make check TESTS="tests/"again?
<ardon>Hi, I'm very new to packaging on Guix and I'm attempting to package a payload dumper which requires some Python libraries. Here are the two relevant package definitions . However, when I invoke `payload_dumper' I get a 'ModuleNotFoundError: No module named 'bsdiff4'.
<nckx>I think `guix hash -S git "$tmpdir"` should be quoted regardless, that would probably fix the FAIL reporting at least.
<nckx>If you're comfortable making that change, try it.
<sash-kan>nckx i've already done `make clean`. now I will do as you ask.
<nckx>ardon: Welcome.
<opunix>ok that worked now after the reboot i could delete the /gnu/store folder .. thx ... :-)
<nckx>I suspect you need to wrap the payload_dumper executable with GUIX_PYTHONPATH, so it can find its modules. This is relatively easy to do with wrap-program. However, I'm not sure if all the examples of doing so in Guix are actually correct when cross-compling (getenv GUIX_PYTHONPATH looks suspect).
<nckx>opunix: Great!
<nckx>ardon: I also don't recommend using the trivial-build-system for anything but trivial packages.
<phodina[m]><ardon> "Hi, I'm very new to packaging on..." <- Hi, why do you prefer trivial-build-system to python-build-system?
<sneek>wb notmaximed!!
<notmaximed>sneek: botsnack!!
<nckx>Hm. (wrap-program (string-append out "/bin/payload_dumper") `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))) is ridiculously common to be wrong.
<nckx>It will definitely work, for now.
<nckx>phodina[m]: Some people are masochists.
<notmaximed>new git-fetch updater patches:
<ardon>nckx: Thanks! Will give it a shot 🙂
<notmaximed> is down (or overloaded?) for me
<nckx>The MDC isn't feeling to good.
<nckx>Works for me.™
<ardon>phodina[m]: I thought the program being a single executable and not using was a fit for trivial-build-system, but please feel free to correct me otherwise.
<nckx>Once every N requests, issues.guix likes to return a blank page. Was it that notmaximed?
<SeerLite[m]>Hi, ardon nckx, yeah wouldn't it be better to let python-build-system handle GUIX_PYTHONPATH for you? I was also trying to package a Python program the other day and just used that. If it's because it doesn't use setuptools you can just disable it with whatever argument is needed for python-build-system. You have to remove the check phase too iirc
<nckx>ardon: You are almost always better off using a less Spartan build system.
<nckx>There isn't a right or wrong answer here because a moderately skilled packager can always get trivial-b-s to *work*, it's just seldom worth the trouble IMO.
<notmaximed>nckx: it was a ‘connection could not be made’-kind of problem (I don't remember the error message)
<notmaximed>now I get a ‘blank page’ problem
<nckx>I'm mildly DoS'ing it right now but can't reproduce. (I have also stopped the mild DoS.)
<notmaximed>ardon: trivial-build-system is only trivial in the sense that its functionality is trivial: it does almost nothing and won't help you (except setting some paths, runpath validation, etc.)
<notmaximed>it's rather non-trivial to use
<nckx>notmaximed: Proximus-Telenet 1-0? 🤷
<opunix>ok ... i tried now to reinstall the guix on my fedora system and i can not start the guix-daemon
<opunix>it says permission denied
<opunix>but I am already root
<nckx>Is SELinux enforcing things?
<nckx>If so, er, something. I can't help further.
<notmaximed>SELinux doesn't fit the /gnu/store/... model well
<nckx>I know Guix includes a ‘policy file (SIL)’ but no idea what that is or how to hold it.
<notmaximed>There's some documentation in the manual about SELinux but it is rumoured to be outdated
<nckx>I'm a bit overwhelmed by multitasks ATM but just noticed ‘SKIP: tests/channels.scm’ in a terminal I was about to close, podiki[m].
<opunix>well i found it but it seems that the mentioned file is not in the expected place ;-)
<jacereda`>anyone using the --tune feature? Does that mean it'll compile everything locally?
<nckx>I did not yet investigate why it was skipped.
<podiki[m]>nckx: interesting. I'm also multitasking and not looking at it right now
<notmaximed>jacereda: Only tunable packages would be compiled locally
<notmaximed>There's a blog post with some information
<nckx>I'm going to suspend the ‘glancing at IRC’ task since it fires a lot of interrupts :) TTYL.
<notmaximed>(+ some grafting I suppose)
<jacereda`>notmaximed: thanks
<opunix>ok, now the selinux is permissive ... it seems to work now :-)
<opunix>i want to go for the guix home environment setup ... :-)
<sophrosyne>Hello guix, I was wondering if anyone could help me figure out how to export environment variables to guix shell from a guix.scm file?
<jacereda`>anyone has researched what would it take to have build caches in a DHT (IPFS or similar), so that even if everything was tunnable, you'd have chances of avoiding most recompiles based on the fact that someone else has probably compiled it? I guess it's tricky to make that secure, just wondering...
<opunix>is there some already working basic home environment config in some unknown git repos?
<sophrosyne>I am trying to setup a development environment for rustc by basically converting their setup of a nix shell file they have into a guix one, but the only thing I can't seem to figure out is how to export environment variables to the shell itself. I can post the doc example of the environment if it helps to clarify.
<sophrosyne>opunix: I've have a very basic one working but I don't have it in a repo. I can try to find the one someone showed me before in the logs, and if you need help I can try to help with the perspective of a new guix home user :)
<opunix>sophrosyne perfect ... thx! ;-)
<jacereda`>would be cool to have home-configuration recipes somewhere, it took me quite a while to setup mbsync+notmuch
<opunix>sophrosyne i think should work for now
<sophrosyne>opunix: the dotfiles that they had show me must be private now so I don't think I can share them, but yeah I can show you my current setup on pastebin although it is very basic.
<opunix>jacereda`if you can provide the config i can create a gitlab repo for that
<opunix>jacereda`and i can also put the one from sophrosyne in there too ... so we would have 2 configs for now
<sophrosyne>opunix:, this is what it looks like now so there are things in there I can do to certainly clean it up a bit since I am still testing things with home.
<jacereda`>opunix: wouldn't it be better if it was section of, say, Guix cookbook?
<sophrosyne>but basically I've made a directory called ~/.home, placed my home config in the root and then placed all my other dotfiles in separate directories inside of it. Then I create those simple services to write in the configs into the config locations in my actual home directory.
<jacereda`>this is what I used notmuch+mbsync, all I can tell is that it seems to work
<sophrosyne>When you write a config that way it creates a symlink to the store so you can rollback between different dotfiles with guix home switch-generation, which is very useful when you're testing things and just completely break it.
<opunix>jacereda` of course but i would link from the cookbook to the repo ... so you always get the newest one ... docs tend to be a little bit delayed ;-)
<sophrosyne>I haven't played with any shepherd service management really though so I wouldn't know much about that.
<opunix>sophrosyne that sould like what i was searching for ... i am also interested in the user space services with shepherd ... that sounds really good for me
<opunix>sophrosyne that sould like what i was searching for ... i am also interested in the user space services with shepherd ... that sounds really good to me
<sophrosyne>opunix: The docs do talk about some ways to go about handling services with shepherd among other things, I'd start here if you wanted to look into that; It seems like a good place to start:
<sash-kan>nckx `export COLUMNS && make check TESTS="tests/"` => fail
<nckx>I did not expect it to pass.
<nckx>Is the backtrace now complete?
<nckx>Also, did you add "" around all the (buggy) ‘test `foo`’ around line 56?
<jacereda`>wouldn't it be better if `guix system reconfigure` didn't require sudo? I'm thinking it could perform everything as your user and only at the final stage it could invoke a `doas` to perform the final install.
<sophrosyne>But is there really no way to declare environment variables to be exported in a guix shell with a guix.scm file? I've done some digging on the repos and I saw when they were adding guix shell they mentioned adding an <environment> record type later, I am assuming it would be for this kind of purpose?
<nckx>(Let's stick with sudo or go full pksu but otherwise) mm, interesting. Note that ‘guix system reconfigure’ doesn't perform much anyway, but the small number of things it does do might be convenient to do as root (reading keys, etc.)
<GNUtoo>Hi, if I did guix reconfigure ./system.scm long time ago, how can I know the git commit of guix at the time I did that?
<nckx>Basically, your /etc/guix/system.scm (or however you wish to name it) can assume it always runs as root, not as random_user.
<sophrosyne>The issue I am having with Guix Shell is that I don't want to specify a particular package to work on and inherit its inputs and what not, really I just want to declare particular inputs, system commands and environment variables to work on a particular project (like the rustc workflow example in their development docs with nix).
<nckx>GNUtoo: guix system describe or guix system list-generations for all.
*nckx stops handling interrupts again. No point in feeling superior to Facebook or smartphone users if I get just as many endorphins this way.
<opunix>sophrosyne ... ok i did it right now .. so if you need to download your basic config from somewhere we go: :-)
<sophrosyne>opunix: Very nice!
<opunix>well .. i will add mine to the repo to if somebody else is interested in sharing ... pls go for a merge request :-)
<djeis>So... I have an idea for a bit of an odd setup and was wondering if I could have a sanity check and maybe some guidance? I have a btrfs partition where I've already got arch installed but with a guix store and var/guix on dedicated btrfs subvolumes. I have two thoughts: could I share the store and var/guix with a guix system install on another subvolume, and would it be possible to install that guix system from my existing arch install (without needing
<djeis>to put guix on a usb etc.)?
<djeis>I'd only be booted into one or the other at a time ofc, it just would seem a bit silly to have two guix stores on my one laptop.
<avp>Hello Guixers. It seems that the hash for 'java-snakeyaml' distro differs from the one that is written to the Guix package definition:
<sash-kan>nckx i have added debugging output: `guix hash -S git "$tmpdir" 2>&1 > ./some.log`, but file `some.log` is empty after `make check TESTS="tests/"`
<nckx>guix hash producing no output is the reason for the crash. So basically we have no information, and this happens only on your machine AFAICT.
<lilyp>avp: you found an upstream that has shaky tarballs, the solution is to convert to git-reference
<avp>lilyp: It seems that when Guix tries to download "java-shakeyaml" it is redirected to a "login" page on bitbucket.
<lilyp>either way, it's "reliable upstream not found, try a different route"
<nckx>Promise I'm not as grumpy as I sound.
<opunix>is the guix executable updated by the guix pull command?
<nckx>If this is the first time you run ‘guix pull’, note that the location changes (to ~/.config/guix/current/bin).
<nckx>opunix: All packages are part of guix, there is no separate executable + ‘package repository’ as with some package managers.
<avp>lilyp: Okay, I'll try to prepare a patch.
<opunix>nckx. yes ... i reinstalled the guix environment as you helped me with the /gnu/store ... so after playing around for some days i want to give it a try and then after a while I will be ready to move to the OS i guess
<opunix>nckx, ok now i got the message that i need to define PATH and run hash guix
<GNUtoo>nckx: I'm a bit confused on how to get the git revision from that, guix system describes says:
<GNUtoo>canonical file name: /gnu/store/v7hwkkhpiiffrxk1jhapas7yzkxb7a81-system
<GNUtoo>And there is a /gnu/store/v7hwkkhpiiffrxk1jhapas7yzkxb7a81-system/profile/manifest
<nckx>GNUtoo: Does it not list ‘channels:’?
<GNUtoo>it doesn't
<lilyp>It might be missing provenance then
<GNUtoo>I always used save-provenance though
<GNUtoo>/gnu/store/v7hwkkhpiiffrxk1jhapas7yzkxb7a81-system/provenance has something
<lilyp>hmm, did you do this with pre-inst-env guix or something of the sort?
<GNUtoo>(provenance (version 0) (channels) (configuration-file "/gnu/store/j9anw5swkxfy7x2amcf7bxr0mfd1y14d-configuration.scm"))
<nckx>I never use save-provenance.
***roptat is now known as Guest2835
<GNUtoo>The issue I have is that I can't guix system reconfigure with the current revision, so I tried some ./ with other revisions but I don't remember which ones worked and which ones didn't
<GNUtoo>And it's not possible for me to fix the bug that prevents me from using reconfigure with master
<nckx>I'm not sure the commit of the repository you were in when you pre-inst-env'd is saved at all.
<GNUtoo>(I'd need to make mrustc fit into 3GiB and after days of work I hit a dead-end on that)
<GNUtoo>ohh ok
<nckx>I can't prove a negative however ;)
<GNUtoo>I'll try other hacks then, like guix package -i /gnu/store/<hash>
<GNUtoo>Thanks a lot still
<nckx>If I were desperate I might loop through each local commit and ‘guix system build -d’ it or something similarly silly until I hit a familiar hash.
<nckx>I'd feel pretty silly and as suggestions go it's quite poor.
<GNUtoo>I already tried that for almost 1 week
<GNUtoo>So I'll try to reconfigure without the package that don't build anymore
<GNUtoo>and guix package -i them from /gnu/store
*GNUtoo needs a somewhat working system that I can somewhat configure
<ardon>I slightly tweaked my payload-dumper package definition to use python-build-system, but the problem now lies in that it imports a module which is defined in the same repository. Thus, I tried prepending the payload-dumper checkout to GUIX_PYTHONPATH in the install phase and the path seems to be correct in the executable, but I still get a NoModuleError for that local module.
<sophrosyne>I suppose I am just going to look into how to define record types to see if I can extend guix shell's capabilities. Hopefully as a person whose never written any serious Scheme/Guile before it'll be somewhat doable.
<GNUtoo>Though master doesn't work either as guix fails tests
<GNUtoo>but ./ should work
<GNUtoo>(I also tried to bisect that but there were too much merges)
<jacereda>udev was the answer, I can now hotplug the ethernet adapter and the interface will appear
<avp>Uh-oh, the java-snakeyaml upstream does not have any release tags (I checked the GitHub mirror.)
<avp>The closest thing I found is this commit that more or less looks like the 1.18 release:
<avp>And it's pretty old.
<avp>lilyp: Nevertheless, here's the patch for 'java-snakeyaml':
<lilyp>avp that URI doesn't appear too trustworthy
<civodul>hey! i'm going to merge "guix style" for reformatting:
<lilyp>"snakeyaml" version ".tar.gz" -- am I the only one missing something here?
<lilyp>avp: btw. bitbucket is still live
<podiki[m]>civodul: looks helpful!
<sophrosyne>lilyp: what is wrong with that syntax of "snakeyaml" version ".tar.gz"?
<lilyp>might be just me, but it looks neither like a valid git repo nor a filename
<sophrosyne>seems like you're right
<opunix>does anybody know something about that error: just get it right now: ```ice-9/boot-9.scm:3329:6: In procedure resolve-interface: no code for module (guix i18n)```
<sophrosyne>opunix: What did you do that outputted that error?
<opunix>i just added the required shell lines: to my .zshrc file
<opunix>first i got the missing locale error but i installed the locales now i get this one
<sophrosyne>opunix: What does your home config file look like?
<avp>lilyp: Oh wait, I forgot to update the patch.
<opunix>ahh i also needed to setup the PATH for my new created guix-home/profile/bin
<avp>lilyp: I've sent the fixed patch as a reply to my previous email.
<opunix>otherwise the installed pkgs were not found ... so i guess that is also different with the home env or is only the guix command in another location? ~/.config/guix/current/bin/guix
<sophrosyne>opunix: Yep, I opted to just let home setup my shell for me so I didn't have to worry about configuring the shell.
<Nazar>HI there, i want to use this WM in guix -> i can resolve it by creating my own package, but how i can setup a service for that ?
<opunix>ahh ok .. but you have bash installed right? so is that the same for zsh?
<sophrosyne>opunix: I believe there is an equivalent for zsh, let me see.
<sophrosyne>opunix: but with respect for your packages not showing up, you might have to source setup-environment inside of .guix-home since the shell you're currently using hasn't done it yet.
<sophrosyne>opunix: I remember having to do that atleast when I made changes
<lilyp>opunix: in your ~/.zprofile source /etc/profile.
<lilyp>that ought to set up your guix-relevant envvars correctly
<opunix>ok ... now i need to understand which /etc/profile you mean?
<opunix>the one in ~/.config/guix/current/etc/profile?
<sophrosyne>opunix: At the bottom of this page you'll see a data type for zsh called home-zsh-configuration. You can use it with home-zsh-service-type like I use home-bash-configuration with home-bash-service-type in my configuration.
<lfam>It's time to remove blender-2.79b, because it doesn't build anymore and hasn't been supported upstream for a while. Should we just remove it or is it possible to deprecate it? The tricky thing is that the replacing package has the same name, "blender"
<opunix>sophrosyne thx!
<nckx>It's possible, you'll just get a confusing message (blender has been superseded by blender). Why deprecate?
<lfam>I don't know why, nckx. Just a thought. I suppose that `guix upgrade` would have already upgraded most users already, unless they did `guix package -u . --do-not-upgrade=blender`
<lfam>In which case, they can handle this themselves
<nckx>This won't affect CLI users though.
<nckx>I don't see how a deprecation would help.
<sophrosyne>opunix: No problem! let me know if other problems come up.
<nckx>I thought you meant people using blender-2 (or whatever it's called) in Scheme, and I don't think we deprecate every foo-N. These are ‘expected’ to go stale with certainty, eventually. My €2 anyway.
<lfam>I suppose that deprecation only works for packages with different names
<nckx>I'm rambling. My answer to ‘Should we just remove it or is it possible to deprecate it?’ is: ‘both’.
<nckx>package `ploink’ has an invalid input: ("_" #<syntax-transformer libjpeg>)
<nckx>When the abstraction leaks all over the floor.
<nckx>I wonder if it used to work with labels.
<The_tubular>opunix, there's a few packages that looks cool in this :)
<The_tubular>I'm confused by a few, but I'll read up on them
<avp>lilyp: Alright, I've sent another patch for 'java-snakeyaml'. Thanks for your assistance.
<phf-1>Hello Guix! I've setup a server on digital ocean running GuixSD following
<phf-1>My `system-config.scm' so far is:
<phf-1>I try to get `rsync' working but when I try to send a file to my server, I get:
<phf-1>Has anyone an idea? Thank you.
<lfam>phf-1: Is rsync available on the server? If so, what did you do to make it available?
<lfam>What I mean is, can you do `rsync --version` on the server? What does `which rsync` say?
<lfam>I'd guess you need to add rsync to the packages filed of your config.scm and reconfigure
<lfam>The shell provided when connecting non-interactively over SSH is a weird snowflake of a shell, and I think that installing rsync via packages is what will make this work on Guix System
<jacereda>is it possible to build guix without leaving all those .go files around? Can you specify where will all those files go somehow?
<phf-1>lfam: Well, that's the confusing part. This is what I get when running `rsync --version'
<lfam>jacereda: Those .go files are what you get when you build Guix. Can you clarify your intention?
<lfam>And my other question phf-1?
<phf-1>`guix install rsync'
<phf-1>this is how I made it available
<jacereda>lfam: I'd like to have those files under a build/ hierarchy or something like that
<lfam>Yeah, add it to config.scm phf-1
<lfam>phf-1: This is where the magic happens:
<lfam>As you can see, when connecting non-interactively over SSH, Guix will source /etc/profile
<lfam>It will not source your users's own profile, but only the system profile
<lfam>Thanks for clarifying jacereda. I don't know the answer
<phf-1>lfam: ok, I did what you said and it worked!
<phf-1>Thanks. Looking at "where the magic happens"
<lfam>It's weird that the rsync service doesn't make rsync available in the expected way, but that's a question for someone else
<opunix>i got another error: extraneous field initializers (guix-defaults?) for the config
<The_tubular>opunix, random question, what do you use direnv for ?
<phf-1>lfam: Well, that's a precise answer :)
<nckx>opunix: home-zsh-configuration does not list a guix-defaults? field.
<opunix>The_tubular, random answer ... for different git settings ... if you have multiple git repositories for different customers ... you should push the right information
<sophrosyne>opunix: I don't believe home-zsh-configuration has a guix-defaults? parameter if you look at the zsh home service list. It's basically saying you trying to use a field it doesn't have.
<nckx>You'll see that guix-defaults? is listed for bash, but not for zsh.
<opunix>nckx, ok ... so i have not realized that ... next time i will have a look at the definition
<The_tubular>Thanks opunix, i guess my question was more complicated than that.
<sophrosyne>The_tubular: direnv is good when you want to automatically load shell environments you declare on a project-by-project basis
<The_tubular>And how does that work with guix ?
<The_tubular>The fact of already having lots of version of the same package
<KarlJoad>I am trying to make a personal channel, but when running `guix pull`, I get an error stating "builder for <channel> failed to produce output path"
<sophrosyne>The_tubular: You have a guix.scm in your root directory and an .envrc in your directory as well that says "use guix", which makes direnv create a shell for you based on the environment variables needed in the package of your guix.scm file whenever you enter that directory for your project automatically.
<KarlJoad>Why might that be? I have a .guix-channel file in the repo and a package there, ready to use. I just cannot seem to complete the pull.
<viivien>KarlJoad, at the end it should point you to a log file
<sophrosyne>The_tubular: The thing about their implementation of "use_guix()" in direnv though is that they're still using guix environment and not guix shell, so you would have to change some things in its stdlib to bring it up to speed with the recent changes.
<The_tubular>Nice, thanks sophrosyne :)
<KarlJoad>viivien: Yep. "No code for module (guix packages guile)".
<viivien>Try with (gnu packages guile)
<lfam>Yes, Guix does not include a module (guix packages guile)
<lfam>These "module paths" correspond to filesystem paths
<lfam>So, (gnu packages guile) is implemented in 'gnu/packages/'
<lfam>One can poke around here:
<KarlJoad>Ahh!! This error is stemming from the package I have defined!
<opunix>has anybody configured shepherd in an home environment?
<sophrosyne>I wonder why my emacs config isn't indenting scheme like the way the docs show it...
<sophrosyne>I feel like it was working the other day when I tried it too.
<nckx>civodul: I ‘feel’ like the SSH session reuse is noticable… and if not, thanks for the yummy placebo!
<KarlJoad>viivien: Thanks for the help. I managed to get the channel working.
<civodul>nckx: yes it should help a bit! it had been on my to-do list for a long time
<civodul>now when deploying you primarily wait for builds/downloads to complete, so it's not a life-changer either
<dissoc>i need to have several instances of a service running at the same time. is there something i need to do when writing the service to make them unique? do the names need to be unique?