IRC channel logs


back to list of logs

<lfam>Or am I thinking of things in the wrong way?
<vagrantc>lfam: it still requires reviewing the results, but yeah, either take the defaults, or if you don't want the defaults, you set an override
<podiki[m]>seeing another core-updates-frozen issue (I think), but via flatpak
<podiki[m]>leading me to notice our p11-kit package is out of date
<podiki[m]>newer version adds distrust_after support (an API change I think)
<podiki[m]>I'll check if it builds with a simple version/hash update, would a version bump make it to core-updates-frozen still? it has a ton of dependents, so would be good to do with the other world rebuilding changes
<podiki[m]>ah, there is a patch for a p11-kit configure change too that doesn't look merged
<char>Is there any special procedure for updating important packages like sbcl (Steel Bank Common Lisp)? I just updated the version locally, and it builds and runs just fine.
<robin>i was curious about output-name usage so i had guix count which ones are actually used:
<robin>(the ones used more than 10 times are: out, doc, debug, static, lib, cargo, bin, python, and jdk; then there are a dozen or so used by 2-9 packages, and a bunch of unique ones)
<lfam>char: It's good to test that packages that use SBCL still build and work
<lfam>There are some guidelines about the deployment process based on how many packages will be rebuilt by a change: <>
<lfam>Basically, we batch changes that cause many packages to be rebuilt
<awb99>can someone tell me how I can install i3 window manager to a running guix? I tried adding more than one windowmanager on initial install, but that would fail. so I want to do that now.
<dthompson>anyone ever get an error like "corrupt input while restoring archive from #<closed: file 7f3cd65a9e00>" when using guix deploy?
<dthompson>I suspect it may be due to not having updated the remote system in quite some time, but I haven't been able to get much additional information to use for debugging.
<jgart>Hi Guixers, if anybody with commit access has the time to review this one it would be much appreciated:
<jgart>those without commit access are welcome to review also, of course
<jgart>It's a notmuch client written in mercury. It's currently packaged for gentoo, alpine, nix, and aur. But not guix ;)
<singpolyma>Hi all. I'm wokring on packaging some Haskell libraries, notably hedis (redis client) and running into a strange issue. If I run guix build it hangs forever trying to run the tests, but if I run guix build -K ghc-hedis and then ^C then hanging tests, guix environment hedis and cd to the /tmp dir, then run runhaskell Setup.hs test it works fine. Trying to think what could be different in the way guix
<singpolyma> build is doing it...
<vagrantc>singpolyma: do any of the tests call out to the network?
<singpolyma>vagrantc: oh, aha! Yes, it seems one of the suites expects redis to be running on localhost + default port
<iskarian>singpolyma, if you don't use `guix environment --pure --ad-hoc bash -- bash; . environment-variables' or similar, you'll still have stuff from your current profile available
<singpolyma>when I stop my redis then it hangs for me too
<iskarian>Oh, it's an easier solution :)
<vagrantc>singpolyma: so either disable that test, or start a redis from the test environment ... i think. :)
<singpolyma>Yeah, I will just run only the doctests for now I think
<singpolyma>they don't need a redis server
<singpolyma>yay! My whole project builds now!
<jgart>Hi singpolyma, do you have the haskell libraries you're working on up somewhere?
<singpolyma>jgart: not yet, I will prep patches for them soon just need to eyeball them and probably write some descriptions now that they all build
<jgart>oh ok cool!
<singpolyma>curious, when I use guix environment --pure -L. my-project I can't find a way to actually build it in there. Always get Use of GHC's environment variable GHC_PACKAGE_PATH is incompatible with Cabal. Use the flag --package-db to specify a package database (it can be used multiple times).
<singpolyma>but the haskell-build-system was using runhaskell Setup.hs configure for sure itself...
<jgart>singpolyma, any chance you'll package cheogram?
<singpolyma>jgart: I am working on cheogram-sip right now first, but yes, I will package at least all the dependencies for cheogram
<iskarian>singpolyma, did you copy all the flags from haskell-build-system as well?
<singpolyma>I am packaging the whole JMP stack
<jgart>oh yes! great!!
<jgart>that's so awesome
<iskarian>(I usually look at the build log to see the actual command executed and just copy that)
<singpolyma>We want to use guix to deploy on our next server (not system, just guix packages on debian)
<jgart>ah ok,
<jgart>why not implement a jmp-service-type
<jgart>but guix packages on debian would be an awesome first step. That would be great, nonetheless
<singpolyma>Well, I have to get everthing at least compiling first. Then we can talk about how crazy we want to get ;) Mostly looking to use profiles on the server to give ourselves auditing and rollback features on a per-app basis. vs my current cheogram + cheogram.old system ;)
<jgart>If you get it all working with guix it will be development/installation bliss compared to doing it the usual way I bet
<singpolyma>iskarian: yeah, it looks like haskell-build-system creates a package-db directory in /tmp during the build and uses that, maybe doesn't set the env var that the environment does. Would be nice if I could hack on the project in an environment thought without bending over backwards
<singpolyma>jgart: that's the hope
<iskarian>oh, singpolyma, after the guix environment command, did you source "environment-variables"?
<singpolyma>iskarian: hmm, I think I've not communicated clearly. I'm not trying to build from my haskell-build-system /tmp folder now. guix build does that for me now ok. I'm just trying to figure out a workflow for using guix environment to hack on the project itself using the packaging metadata I have now written for being able to invoke guix environment
<jgart>It'd be awesome to hack together a purescript-build-system using spago at some point. I bet it would be nicer than using easy-purescript-nix
<singpolyma>spago is already pretty great
<iskarian>Ah, you mean how to edit the code, then test-build it the same way guix would?
<jgart>singpolyma, I want to be able to just do the following:
<jgart>guix environment --ad-hoc purescript purescript spago purescript-prelude purescript-halogen -- spago repl
<singpolyma>iskarian: I mean, maybe? I just want to be able to build it at all, running any of the normal haskell build commands just gives me an error because of this env var guix has set
<singpolyma>I can unset the env var, but then it can't find any packages of course
<iskarian>Hmmm, I would just always let Guix build it, by using --with-source or similar just using local-file for the package's source field, and use -K so if it fails I can inspect it.
<iskarian>But I don't think that's what you're looking for?
<singpolyma>That's not as nice when I'm hacking on the project because guix build isn't incremental
<iskarian>Ah, I see.
<singpolyma>so it would be a rebuild from scratch on every edit that way
<iskarian>You could write a custom .scm file that pulls phases from haskell-build-system, then run that?
***califax| is now known as califax
<podiki[m]>singpolyma: yes you need to unset that variable of the package path if you are building something outside of guix (I do that for my xmonad build script)
<singpolyma>podiki[m]: what do I then set to replace it so cabal can find the packages, though?
<podiki[m]>not entirely sure what you mean (or what cabal does), but you want that unset and cabal will handle it from your project file I think
<podiki[m]>if you mean find the guix haskell packages, then...let me see
<podiki[m]>well you can see my simple xmonad cabal script here:
<singpolyma>and that doesn't re-build the dependencies again?
<podiki[m]>ah, I let cabal handle all of it in this case, but my haskell guix profile has the external deps needed (libraries)
<podiki[m]>yes it will build it, but in cabal's system, and will only rebuild as necessary. so that is separate from guix in a way
<singpolyma>Right, so just not using guix for the haskell libraries in that case
<podiki[m]>if you want to do it within guix's system more (if I understand what you want), then I would look at replicating what the haskell-build-system does (but that doesn't run cabal)
<singpolyma>Which is what I do now, so I can keep doing that of course
<podiki[m]>yeah, I'm using some git checkouts and local code
<podiki[m]>alternatively would be to make a guix package that does this (e.g. my custom xmonad package), but I haven't tried
<nckx>bcachefs master just grew snapshots, and Guix's might be the first bcachefs-tools package to support them 🎉
*nckx checked the AUR, yes.
<singpolyma>For sure, just for example in a ruby project packaged for guix I can guix environment -L. my-project and then using ruby and irb and all normal tooling inside uses the ruby gems from the guix store and doesn't need to download anything
<podiki[m]>but I think looking at the haskell's build system in guix will let you know how guix does it if you want to build in a guix environment setup
<singpolyma>but maybe there is no equivalent haskell workflow possible yet
<podiki[m]>yeah, that sounds good, I haven't tried yet
<drakonis>nckx: woah there
<podiki[m]>I think it should be, whether or not it is so easy to figure out right now I don't know
<podiki[m]>sounds like you want a `guix environment haskell` hacking setup. would be nice to figure out!
<nckx>Full-on snappies.
<nckx>Will they BUG() your kernel? Possibly. Did they pass xfstests? Yes.
<drakonis>is bcachefs a bootleg zfs yet
*nckx is building theirs now.
<nckx>Nah, not enough $features yet.
<nckx>I mean, features I don't care about myself, so I'm perfectly happy.
<drakonis>maybe i should build a kernel with bcachefs enabled and run that?
<drakonis>i have btrfs but i'm willing to go hog wild with bcachefs
<drakonis>does it have casefolding?
<nckx>That's disgusting.
<nckx>I'm pretty sure it doesn't.
<drakonis>i want casefolding for a very specific use case
<drakonis>running software that assumes my filesystem is case insensitive
<drakonis>which is software that targets windows
*nckx thinks ‘surely there's a FUSE for that’.
<drakonis>i looked up and the weirdest FUSE i found was one that let me use regex on my filesystem
<nckx>That one is the max.
<drakonis>its some rewrite rules shit
<drakonis>clowniest shit i've ever seen, i love it
<nckx>Why do I find case folding morally repugnant and cheer regex file systems.
<nckx>Maybe I'm broken.
<nckx>I don't mind.
<drakonis>casefolding is something that requires embedding unicode into a filesystem :V
<drakonis>its very wild
<nckx>Embedding unicode into a file system how?
<drakonis>one sec
<nckx>(Knock knock.)
<drakonis>casefolding on ext4 is something you have to optionally toggle on a per directory level
<drakonis>individual level
<nckx>Oh, OK, embedded in that sense. I really thought it would be a mount option.
<nckx>But nope. It's a ‘this directory has brain-{dead,melting} semantics now’ bit. Okay…
<drakonis>its basically "all of your writes will be redirected to a file that has the exact same name but with different casing"
<singpolyma>jgart: there:
<drakonis>nckx: i should prepare some of my package patches
<drakonis>i got a bunch lined up now :V
<nckx>You should!
<nckx>Atone for your sins against unix.
<podiki[m]>I too have some new packages to send, and surely have committed sins to atone for
<nckx>We all have.
<podiki[m]>and thus we must continue the work of making guix better, the never ending road to salvation
<drakonis>the road to hell is paved with good intentions.
<nckx>And the friends we make along the way!
<iskarian>Hey all y'all working on packaging: I know it's a pain to do it, but can y'all take an extra minute to make descriptions a little more consistent/descriptive (and sometimes more concise)? (see "Synopses and Descriptions" in the manual) <3
<podiki[m]>will do iskarian, and is perhaps one reason I haven't submitted yet, I know I have to look over those ;-)
<iskarian>Good package descriptions make a huge difference to users using `guix search'
<iskarian>thanks <3
<podiki[m]>I also thought I would include some usage hints for guix (e.g. if you need to include the package in system for some functionality or something with udev/dbus rules)
<podiki[m]>because I find that lacking in some packages where it isn't clear something on the guix-side for usage
<drakonis>i have a laundry list of features i want to include on guix
<podiki[m]>(e.g. I like some Arch packages that tell you where the config file template is, or something you need to make it work in some way)
<nckx>drakonis: What kind of patches are you sitting on?
<drakonis>oh, its mainly patches for gzdoom and quakespasm plus some updates to r packages
<drakonis>since i had finally gotten it to function properly
<drakonis>but didnt submit because i was trying to get a working mailbox, now that's solved, i can finally send them through
<drakonis>i only have a specific bug i have to deal with, which is getting getting fluidsynth to work again, timidity++ works though
<drakonis>gotta get the sound backends working properly
<jgart>singpolyma, that's great!'s_Frosted_Flakes'_mascot).jpg
<drakonis>i'm getting increasingly comfortable with using guix for everything now
<drakonis>i still need a nicer gpu though
<RRRRedEye[m]>could guix use another place to build? it fail to build icedtea, it tell (No space left on device)
<RRRRedEye[m]>i found it auto use tmp as build place
<civodul>Hello Guix!
<RRRRedEye[m]>oh change the TMPDIR environment for guix-daemon
<jlicht>Silly/lazy question, but are folks using wayland (e.g. sway) + pipewire on guix system? I'd really to see a system config that allows me to hit the ground running, so to speak
<jlicht>s/really/really like/
<civodul>to hit the ground running... wouldn't that hurt?
*civodul uses Xorg, waiting for EXWM to be ported to Wayland
<robin>jlicht, my impression is that a lot of people use xorg, but wayland appears to be available and sway is packaged already
<robin>pipewire is packaged but i don't believe it's integrated with anything else yet (system services, etc.)
<soheil>Is this config ok to install Nvidia?
<soheil>(I need a non-free settings for temporary work…)
<soheil>After the "reconfigure" command, the computer stops while building "webkitgtk" and there is no other way but to kill the computer!
<civodul>soheil: hi! as you might have seen when you logged in, non-free software is off-topic
<civodul>you can join maybe the nonguix channel for this
<civodul>however, we're happy to help you with other Guix issues you may have :-)
<robin>yes, you'll probably need a non-libre kernel for the presumably-proprietary drivers (which you can DIY in config.scm or i believe nonguix has packages; you'd want to add a channel for the latter)
<Soheil[m]>civodul: Sorry, I do not intend to advertise non-free; As I said, this is only for temporary work. Can you help? This problem starts with webkitgtk, so it is related to free :)
<Soheil[m]>Could you help me?
<robin>oh wait, i missed the beginning of the file
<robin>yeah, if it's broken you'll probably need help from the nonguix project
<robin>Soheil[m], the computer freezing is odd though. that started happening to me after my cpu heatsink fan died...
<Soheil[m]> * civodul: Sorry, I do not intend to advertise non-free; As I said, this is only for temporary work. Can you help? This problem starts with webkitgtk, so it is related to free :)
<robin>Soheil[m], it might be worth trying e.g. the '--cores' option with build commands to reduce resource consumption
<Soheil[m]>robin: Thanks, trying...
<robin>you can also offload builds to a more powerful machine if that's an option
<PurpleSym>rekado_: I’d like to do a non-fast-forward push to wip-haskell, but it’s rejected. Is that branch “protected”?
<rekado_>you can delete the branch and then push anew
<rekado_>I think that’s the case for all branches.
<PurpleSym>rekado_: Okay sure, that works too.
<PurpleSym>Let’s see what the CI says.
<attila_lendvai>what idiom shall i use if i want a return-from from a block, or the entire define-function?
<attila_lendvai>ok, i'll just resort to a complex tree of nested and's...
<vivien>Do you mean like call-with-escape-continuation?
<attila_lendvai>vivien, yes, return-from can be implemented with call/cc, but i'm looking for an idiom that is more straightforward. but i'll just use a tree of and's... the test system is stupid enough not to bother with this. if i'd invest more into this then i should just port over my hu.dwim.stefil lib from CL.
<dthompson>has anyone else had difficulty with guix deploy lately? I believe I have a client-side issue that I haven't had determined the root cause for: error: corrupt input while restoring archive from #<closed: file 7f148a8b5e00>
<vivien>attila_lendvai, I’m talking about call/ec, not call/cc:
<attila_lendvai>vivien, sorry, i misread you. yeah, that is rather simple, but still one too many lambda's for my taste. i made a note of it, though, thanks!
<dthompson>a quick macro can get rid of the lambdas.
<vivien>It already exists: let/ec
<attila_lendvai>vivien, yep, that's something like what i was looking for, thanks!
<efraim>sneek: later tell Soheil[m] I'm in and out all day, I'm on my phone now. You'll get better support from the main Guix channel for making sure you have all the substitute servers enabled
<efraim>sneek: botsnack
<robin>attila_lendvai, oh, re: you mentioning manifests: iiuc they're effectively lists of packages, so that you can put it in a file and version-control it or whatnot, vs. imperatively building up a profile with a series of install, etc. commands. they're not very clearly documented atm
<robin>the --manifest help in (info "(guix)Invoking guix package") is probably the most useful explanation in the manual right now
<robin>i don't entirely understand why it's all that useful to prioritize manifests over the old methods, or possibly to even deprecate --file etc., personally
<robin>although i can see why they're useful at times; i've used them with 'guix environment' to work on software with long, constantly-changing build deps, like browsers for example
<robin>but with build -f for's just require extra boilerplate, changing '(define-public my-package ...) my-package' to '(define-public my-package ...) (packages->manifest my-package))' iiuc
<robin>also one can generate a manifest from a profile with 'guix package --export-manifest'
<robin>which is maybe the best of both worlds (for some users)
*attila_lendvai is making notes
<civodul>PurpleSym, iskarian: hey! should we apply the ocl-icd patches?
<PurpleSym>civodul: I don’t see a good reason to keep two loaders :/
<moshy>hi guix. It seems the 'clear' command is missing from the system, which package is needed to access it?
<lilyp>you can clear the screen with C-l
<lilyp>but if you must know, ncurses
<moshy>even better, thanks for the hint
<civodul>PurpleSym: ah sorry, i guess i didn't pay close attention to the patches; so the conclusion is that we can drop this one?
<PurpleSym>civodul: Yes, if darktable is working on core-updates-frozen after your merge.
<nckx>Morning, Guix.
<civodul>PurpleSym: ah ok, so someone will have to confirm
<roptat>hi guix!
<lfam>Yesterday there was talk of pushing some changes to core-updates-frozen that would rebuild everything
<lfam>We should coordinate this, right? Since the changes are not all part of the same patch series
<lfam>There is <>, the shortened Rust bootstrap, and a tzdata update
<Librecat>yes finally someone online in a libre distro chat room
<lfam>The latter two are not really "rebuilding the world" but they both affect Rust, which is huge
<roptat>I think rust affects quite a lot of packages now on core-updates
<roptat>I don't remember exactly, but I think one of the graphics libraries now require it
<lfam>It's a huge dependency graph so we might as well be synonymous with "the world"
<lfam>s/ we //
<roptat>yeah, probably librsvg
<roptat>hi Librecat, welcome :)
<Librecat>librsvg required by anything that needs svg which is adwaita-icon-theme
<Librecat>roptat: Hi
<Librecat>can i say something really off topic
<Librecat>about cosmic rays
<Librecat>:( i *thought* this channel was active
<roptat>it depends which time of day, and 2 minutes delay is not that much ^^'
<Librecat>wow i didnt know irc had a delay
<Librecat>anyway in 2025 we will reach a solar maximum which is a peak of cosmic rays that happens every 100 years i learned this from the 17th trending video on youtube normally i dont watch trend videos but i trust this person about correct information since its an information focused channel and i think the reason it isnt number 1 trending is because its in turkish
<roptat>it's not irc, but just, we also do other stuff at the same time
<Librecat>i think M$ Crapple and alike will start buying a bunch of radiation shielding to prevent their hdd's from being erased
<Librecat>imagine if all propritary software gets lost
<roptat>my understanding is that it won't affect anything, since cosmic rays mostly don't come from the sun anyway (there is no noticeable change during a solar eclipse for instance)
<Librecat>imagine if someone bootstraps gnu/linux from a handmade extremely slow risc-v cpu to a libreboot desktop and that is the only thing that people can use
<Librecat>roptat: yeah but solar radiation was relatively low since 1990
<Librecat>and its gonna do its once every 100 year peak in 2025
***ec is now known as tjl
<roptat>I doubt even a *10 increase would change anything for us
***tjl is now known as tlj
<Librecat>so we would lose 1 bit on 1 in 1000 hard drives and maybe lose power for 3 days and thats it
<Librecat>roptat: the same video says telegraph lines started smoking in the previous solar maximum
<roptat>yeah, but that's not cosmic rays
<Librecat>oh sorry then
<Librecat>thanks Ifam
<Librecat>also sorry for getting over hyped maybe will do some reading before commenting on this
<lfam>No worries
<Librecat>also i have been thinking about bootstrapping gnu/linux from nothing ever since the pandemic
<lfam>I guess it's one of those things we are just going to cross our fingers about
<roptat>bootstrapping is extremely interesting, even when there's no global catastrophe :)
<roptat>disaster* (maybe a better word?)
<Librecat>yeah right how do we make the first copy of binutils when all of them dissapear
<slyfox>if you have source lying around you would probably have a binary too
<Librecat>binaries are 1) architectue 2) kernel headers 3) libc 4) bootstrap dependant
***tlj is now known as tjl
<Librecat>thats why everybody avoids asm when they can
<Librecat>and try to move low level code to C and Rust
<Librecat>and C++
<radvendii>I'm trying to add a really simple phase that just prints out the files in a certain directory for debugging purposes, but I'm very new to guile scheme. Is there a good place to look for all the commands you can run from a phase?
<Librecat>has someone bootstrapped a libreboot pc beforr
<Librecat>like trying to use as few binares as possible
<nckx>Honestly, radvendii, if you're using anything but the trivial- or copy-build-systems, (invoke "ls" "-l" ["-R" etc.]) is probably the easiest to type and remember if it's just for debugging.
<Librecat>something like 1) build LFS 2) build the Coreboot dependencies 3) build libreboot and flash 4) build a truly free distro using the LFS 5) install the built iso
<radvendii>ooh excellent. Secretly I really wanted to just write shell commands, but I didn't want to seem uncultured :P
<Librecat>maybe i will try it someday IF i can find a libreboot compatible motherboard somehow
<nckx>radvendii: If that's just too ugly to contemplate, you can (pk (find-files "." REGEX)) too ☺
<Librecat>how likely is a motherboard from 2008 being thrown out into the trash by small computer shops as "scrap"
<nckx>100% more Schemey.
<nckx>Wait what.
<nckx>Who does such unmentionables.
<nckx>Sell them on eBay to loons like me, people.
<radvendii>nckx `pk` is for printing? How would I have found that on my own? Is there documentation of commonly-useful ones? I don't even know if that's general scheme or specific to guix
<Librecat>nckx: people that dont even know that ubuntu is a thing when the motherboard breaks or idk becomes too slow for windows 10 or starts lacking the cpu instructions to run modern apps?
<nckx>radvendii: It's Guile. I don't actually know if/where it's documented in the Guile manual… (a search for \bpk\b finds exactly one example with no explanation).
<Librecat>like most people who can afford a cheap modern pc wouldnt care about a 2008 model pc
<nckx>radvendii: It stands for ‘peek’ [and return, so you can just replace VARIABLE with (pk VARIABLE) in an expression and it will still work].
<nckx>Or even (pk "My random debugging comment" VARIABLE) which will return only VARIABLE.
<lfam>Is anybody having problems with KVM virtualization with linux-libre 5.14? <>
<Librecat>nckx: so imo most computer repair shops will either donate it to a charity or just throw it out
<noisytoot[m]>How can I add a line to /etc/hosts in Guix System?
<Librecat>btw i am guessing this about turkey
<radvendii>okay. well i'm glad people here are friendly at least :) I feel bad asking so many basic questions, and i very much appreciate the help
<nckx>I guess it pays to get to know your local computer shop even if you don't buy computers in shops. Rubbish costs money; some places are happy to give you theirs for free.
<slyfox>i think it's a great place to ask
<nckx>(Just don't mention storage or customer files.)
<Librecat>radvendii: well dont be afraid someone will answer
<nckx>radvendii: Please don't feel bad and just ask, that's what this place is for.
<radvendii>Okay, great. will do then :)
<nckx>Conversely not getting an answer doesn't mean people are consciously ignoring you or think you made a faux pas. People do all kinds of other things while on IRC.
<Librecat>nckx: my strategy for obtaining one of the 2 libreboot motherboards is to ask every small computer shop i can find in cities and towns i go to regularly for them
<nckx>Sounds sound.
<Librecat>radvendii: its like a giant discord server
<nckx>I wish I knew of any decent PC repair places near here. It's all ‘smart-phone repair’ now :-/
<Librecat>nckx: same in turkey
<Librecat>nckx: it doesnt have to be a decent shop just buy one of the 2 motherboards and try to repair it
*nckx → dinner o/
<Librecat>i learned to troubleshoot a desktop and replace any faulty parts myself
<Librecat>nckx: i also happened to have a pi3 lying around so lucky me
<radvendii>yeah, i've used IRC extensively in the past. It's just been a while since I've been this much of a noob with something
<Librecat>everyone can forget
<Librecat>just ask anything you want
<Librecat>the people saying rtfm and "this distro isnt for you go use ubuntu" they dont understand the fact that some people dont have the background to understanding documentation
<Librecat>you can even ask which folder do i put in ~/.themes
<Librecat>the answer is the folder that contains index.theme
<noisytoot[m]>If I add (hosts-file (local-file "/etc/hosts")) to config.scm, will changes to /etc/hosts persist when I reboot?
<Librecat>hi noisytoot
<Librecat>well dont know about guix or nixos just came here to chat
<roptat>noisytoot[m], you might have a problem if you do that: that /etc/hosts will get replaced with a symlink to the store after you reconfigure
<roptat>so you'll lose the content of the file (though it will be saved to the store), and you won't be able to change its content
<Librecat>what has been happening since last year
<Librecat>about guix
<roptat>you could have something like (hosts-file (local-file "/etc/hosts.orig")), so you can modify /etc/hosts.orig and reconfigure to apply the contents
<Librecat>any developments?
<roptat>we moved translations to weblate, see for instance, hint hint ;)
<roptat>the blog has a few interesting posts
<Librecat>arent you happy with the current translations
<Librecat>i find the turkish ones decent
<roptat>mh? there is a turkish translation?
<Librecat>yeah tr_TR
<roptat>I can only see translation of the website
<roptat>oh, I'm talking about translations of guix itself
<Librecat>ohhh ok
<roptat>if you have some free time and you want to help :)
<attila_lendvai>git-authenticate: is anyone here familiar with it? authenticate-repository acts like it can be called with any start commit, but in fact it's only ever called with channel-intro-commit and channel-intro-signer. am i right assuming this? the reason i'm asking is that (null? authenticated-commits) is not a valid condition to decide whether it's an channel-intro commit or not.
<Librecat>well i need to know how guix works really well to do decent translations and i am not intrested in learning guix since i need nonfree software and i havent been sold on guix package management due to inode exhaustion and the libc being located in store preventing me from running tarballs or appimages
<attila_lendvai>i have an extensive test case for it not, but fixing it is becoming somewhat more involved than i planned
<Librecat>i dont wanna write a package for everything
<Librecat>i just wanna configure make make install anything missing or nonfree
<roptat>I find it fairly easy, but I can understand
<Librecat>i wanna stop distrohopping and challenge myself to see how long can i keep gentoo running on my main computer
<Librecat>i wanna not reinstall that gentoo for atleast a year
<nckx>The nice thing is that using Guix isn't mandatory (yet) in most countries. But note that the {extra-,}special-files-service-types are a thing and make it easy to put select things into a global /lib if you really want to. (‘Select’, because it does become a mess if you want fifty.)
<roptat>well, you can still install guix on top of any other distro
<nckx>But isn't that why people install Gentoo…? 🤔
<slyfox>shameless plug:
<Librecat>well gentoo gets harder to keep running as /etc/portage gets more and more clogged up with old entries and also i believe that fixing build failures will teach me about something
<nckx>It will certainly do that.
<Librecat>nckx: well when distrohoppers encounter a problem they cant fix easily they hop away from the problem
<Librecat>rather than facing it
<Librecat>so they dont learn how to solve that trick question until they run into it a couple of times and finally decide to fix it
<nckx>That sounds like a strategy that hits a dead end after a month, at most a year.
<Librecat>my gentoo is 3 months old
<Librecat>and i think the previous one was 1 or 2 old until i borked it trying to extract a raspberry pi image to /mnt extracting arm64 alpine linux to an x86 gentoo root
<Librecat>so i guess i did escape a hard problem
<Librecat>anyway thank you rms for giving birth to gnu/linux
*slyfox deleted 10 years old gentoo today
<stikonas>what are you doing with your gentoo if after 3 months it gets borked...
<Librecat>maybe this time i will try to repair it
<Librecat>a huge maybe
<jpoiret>was guix-home merged recently? i just saw guix-home while guix pulling
<sneek>Welcome back jpoiret, you have 1 message!
<sneek>jpoiret, iskarian says: re: finding guile bindings, I'll often just search the guile manual, the guile source code, and/or the guix source code. Geiser seems to think about half of everything is "define"...
<jpoiret>alright, disregard that, there is a news entry about it
<yoctocell>PurpleSym: It has been a few hours, but CI has only built one package on wip-haskell. Is this expected?
<jackhill>What do we do with the versioned namspaces for go packages? The go importer suggested that I package go-github-com-russross-blackfriday-v2 but we alreay have the same package without the v2, alhtough it looks like a v2 version anyway?
<yoctocell>PurpleSym: It says that the build for the GHC package has only been going for a few seconds <>
<awb99>does someone know how I can add an application launcher to guix running i3 wm ?
<ruffni>awb99 what do you mean by "application launcher"? do you just want to launch something after logging in?
<nckx>Like dmenu?
<awb99>dmenu or rofli
<awb99>I only can add new terminal windows to the i3 config.
<awb99>and I ideally would like to have some kind of launcher, where I can start m apps.
<nckx>(e.g.) bindsym $mod+Escape exec --no-startup-id dmenu ?
<nckx>What do you mean you can only add new terminal windows to the config?
<awb99>WINDOW + ENTER = add a new terminal window.
<nckx>But why can't you add other commands?
<Librecat>do you recommend me try out guix
<Librecat>on a spare pc
<dstolfa>of course, guix is awesome
<awb99>I will try to add this config.
<nckx>awb99: Install dmenu and try adding that line.
<ruffni>Librecat: YES
<Librecat>oooook ig
<awb99>thanks @nckx
<dstolfa>Librecat: we may be a bit biased here, though
<nckx>We are super biased.
<Librecat>why are you biased
<vivien>It’s survival bias :)
*dstolfa double checks... yep this is #guix
<awb99>would I still keep my ~/.config/i3/config
<awb99>or will guix somehow make changes to this config file?
<Librecat>i expected some pros of guix lol
<ruffni>awb99: guix wont touch it
<nckx>(I'm not biased, I have the opposite problem: I never recommend anything [restaurants, music, …] to people because I feel 100% responsible for their subsequent enjoyment or worse, lack. It is a stupid reflex.)
<Librecat>nckx: lol mee too i have a hard time recommending something to someone
<ruffni>Librecat: working together on a big one instead of re-installing gentoo every x months ;)
<Librecat>what "big one"
<slyfox>also reinstalling guix is a lot faster than gentoo :)
<Librecat>yeah hyperbola felt instant next to gentoo
<Librecat>no compiling just install install install
<Librecat>it takes you more time to remember the package names than to have the packages install
<nckx>However, the guix command itself is no speed racer. It's been too long since I've used Gentoo but I can't imagine non-build commands taking longer than Guix does.
<nckx>And I'm just talking about ‘guix pull’, the equivalent of ‘cave sync’ or ‘emerge --sync’(?), not ‘building libreoffice’.
<Librecat>i think the reason i like gentoo is because of their untold "simple but really effective" philosophy
<nckx>So if that annoys you, eh, it will annoy you.
<Librecat>yeah it always has annoyed me
<slyfox>nixos' pull is fast as well
<Librecat>guix pull takes forever with very little output
<Librecat>its so simple to make a gentoo package i *think* you can just give it a source tarball link and
<dstolfa>sounds like your regular guix package
<Librecat>the defaults should give you a default build of the package
<slyfox>the trick is to get depends right :)
<civodul>wigust: hey! what's up with the Guix Home merge?
<civodul>i don't think we were quite ready yet
<Librecat>maybe because gentoo is waaaay more popular
<Librecat>there are so many overlays out there
<Librecat>also unlike arch gentoo is a stable distro closer to debian
<dstolfa>ultimately what stops me from running gentoo is just how much power is used on compiling things myself that i don't need to compile
<Librecat>i wouldnt have liked gentoo if i didnt have really powerful pc's
<dstolfa>i have clusters with multiple 32-core machines and 256 gigs of RAM in them, i could build things myself, but i just prefer not to do it unless i absolutely need to (i've modified the kernel and libc and i broke the KBI/ABI and now i just need to rebuild things myself)
<dstolfa>i personally find it irresponsible to waste power on something i don't need to
<Librecat>lol for a long time i thought i made the fastest gnulinux with gentoo until i tried freebsd yesterday and it was a little faster than that
<ruffni>Librecat: well.. that's not exactly a gnulinux ;)
<slyfox>yeah, you need to disable quite a bit of hardening in default distros nowadays
<Librecat>do tsx=on
<Librecat>on kernel command line
<dstolfa>there are some niche cases where freebsd will be much more reliable and outperform linux the kernel
<dstolfa>but the same is true the other way around
<dstolfa>e.g. if you want to do zero copy static content serving with the fastest disk -> NIC path with long uptimes, freebsd is probably your best choice today
<dstolfa>whereas if your goal is a HPC, maybe GNU/Linux is the better potion
<Librecat>another reason i like gentoo is how advanced it can get like with some effort you can even get portage to make you an embedded rootfs
<Librecat>i have seen a presentation about guix as an embedded system and its even more impressive
<Librecat>i wonder what would happen if guix and portage merged
<slyfox>guix is probably more straightforward at that due to precise build and runtime dependencies.
<nckx>That's all possible (and in certain respects, you can go much deeper) with Guix, but you're probably much more on your own. No pasting commands from wikis and a lot more writing your own code.
***batkinson is now known as gorjusborg
<Librecat>i wonder what would happen if we could take guix and made it use ebuilds
<Librecat>and have it cross compile a reproducible rootfs
<Librecat>also ebuilds have dependencies too runtime buildtime and regular dependencies
<Librecat>so thats what seperates guix and gentoo guix is more for daily use while gentoo is more for unusual stuff
<Librecat>i hope there is a gentoo based truly free distro one day
<yoctocell>civodul, wigust: Oh, Guix Home was merged?
<dstolfa>Librecat: you can make gentoo use linux-libre and reject any non-free license
<dstolfa>so there's no need for that
<yoctocell>I feel like it at least one or two people should have a look on the code and docs before merging
<yoctocell>s/it //
<yoctocell>and its still missing some docs
<civodul>yoctocell: yes, apparently wigust hit the merge button, which is didn't expect just yet
<civodul>but maybe we just miscommunicated
<civodul>and now we have an incentive to all work on it i guess :-)
<vivien>The online manual doesn’t have a section about guix home yet, I think
<roptat>vivien, it takes time to rebuild the manual, but it will be there in a few hours probably
<vivien>roptat OK
<vivien>I’m waiting to know if I can use it to do my backups
<roptat>if you've pulled, you can use the local manual
<roptat>"info guix"
<vivien>Info is great
<vivien>But the best info viewer is a web browser on the generated HTML ^^
<roptat>hehe, I kinda agree
<vivien>I think what makes the biggest difference is that the info viewer (or emacs) use a monospace font, which is generally terrible to read things
<vivien>(that’s my opinion though)
<jpoiret>emacs can use non monospaced fonts
<vivien>(I need to amend my take, reading monospace code is OK but reading documentation is better in non-monospace font)
<vivien>Do you know if it’s possible to use non-monospace for the info mode?
<vivien>I’ve never touched this subject with emacs
<muradm>hello guix
<muradm>any one had to deal with i have a security dongle which i can't make working under guix and worse guix with java
***mark__ is now known as mjw
<drakonis>muradm: does it work with other distributions?
<muradm>drakonis: trying to remember it now, how it was on arch
<muradm>worst case will have to make hands dirty with backups crawling
<muradm>seems like it was safenet auth client
<muradm>LD_LIBRARY_PATH=./lib ldd ./lib/ | grep "not found" | wc -l => 18 ... ugh.. that will painful.. :)
<awb99>flatpak run com.visualstudio.code
<awb99>is there a way to add this command so I can start it as an application ?
<awb99>in dmenu ?
<podiki[m]>awb99: flatpak creates desktop files, but you may need to add it to your xdg_data_dirs
<muradm> was not in gcc-toolchain?
<podiki[m]>flatpak has an /etc/profile.d script to do this that you can source, or it should warn you in a terminal about what directory to add
<podiki[m]>but the desktop files include a store link to flatpak, so we should fix that (otherwise will break on flatpak updates, unless it automatically rewrites it?)
<podiki[m]>(also, you probably want to do everything as flatpak --user)
<awb99>thanks podiki! how can I add flatpak desktop files to xdg_data_dirs ?
<roptat>awb99, probably, export the right directory in $XDG_DATA_DIRS in your ~/.bash_profile
<berkowski>is there a way to have guix build somewhere else besides /tmp ?
<roptat>you can set $TMPDIR for the daemon
<berkowski>roptat: thanks, I'll give it a shot.
<roptat>if you're on a foreign distro, you can set it in /etc/systemd/system/guix-daemon.service
<berkowski>yeah, that's exactly it. Working w/ silverblue. Been having decent success for the last few months until something needed openjdk.
<PurpleSym>yoctocell: The CI is in a terrible state right now. So many missing essential packages that it almost does not make sense to build anything…
<berkowski>roptat: Setting TMPDIR in guix-daemon.service is creating the build directory where I want it now, but the build process itself is still using /tmp. For example, trying to build classpath, in ~/build/guix-build-classpath-0.99.drv-0/environment-varaibles I see entries like: export TEMP="/tmp/guix-build-classpath-0.99.drv-0"
<berkowski>and then I get configure errors because it looks for files that don't exist
<roptat>berkowski, guix build uses a separate namespace in which $TMPDIR becomes /tmp, so we can ensure reproducibility (even if you choose a different /tmp, the result is not affected by that choice)
<roptat>but if you're trying to continue the build from outside, it might become an issue
<radvendii>How does guix deal with cyclic dependencies among go modules? For example, depends on and vice versa
<muradm>how do i get libgcc?
<muradm>libgcc_s libstdc++?
<radvendii>see and
<radvendii>when I use `guix import go -r` this creates a cyclic dependency that makes guix run out of memory
<berkowski>roptat: oh, ok. No, haven't tried continuing the build yet. This failure with TMPDIR set for the daemon is new so I just started poking at it. Before the build was failing just due to running out of space. I must not be reading this new error correctly.
<muradm>ok gcc-11
<radvendii>I guess it would help if packages were imported at the package level not the module level, since packages can't have cyclic dependencies but modules can?
<podiki[m]>awb99: I'm not at my guix with flatpak computer, but it usually outputs what directory if you try to run something from the terminal and it doesn't see it in xdg_data_dirs
<podiki[m]>or look in the flatpak store directory for the script it puts in /etc/profile.d (which you can just source in your profile, which I do)
<berkowski>roptat: for closure's sake, the build volume wasn't mounted with exec permission. Changed that and things seem to be chugging along. Thanks for your help
<roptat>great that it works now
<radvendii>Aha, I'm gathering that's what `#:import-path` vs `#:unpack-path` is for
<drakonis>oho guix home is in
<podiki[m]>yeah, I want to try out guix home soon too (but now I'm on core-updates-frozen...)
<civodul>one thing at a time :-)
<dhruvin`>I can finally use emacs to configure guix (home) that configures the emacs running inside guix (system). :)
<sneek>dhruvin`, you have 2 messages!
<sneek>dhruvin`, attila_lendvai says: ok. here's my commit to reject unauthorized chennel intro commits. it seems to work as expected, and i'll send it eventually to guix-patches:
<sneek>dhruvin`, attila_lendvai says: i have submitted my patch to git-authenticate:
<dhruvin`>thanks attila_lendvai
<yoctocell>I am getting "*** No rule to make target 'etc/guix-gc.timer', needed by 'all-am'. Stop." when running `make clean && make', any ideas?
<muradm>what guix repl does extra than guile repl?
<roptat>yoctocell, I don't think it should be removed by make clean, but maybe it was? Can you recreate it with "git checkout etc/guix-gc.timer"?
***betelgeuse8 is now known as betelgeuse
<civodul>muradm: it sets up the search path so that the Guix modules can be found
<yoctocell>roptat: That did the trick, thanks!
*nckx misread as and had an immediate visceral I MUST PACKAGE THIS reaction before they could even think.
<muradm>civodul: already looking at it, and can't figure out where it is done exactly
<muradm>actually i made small script, but i can't run it successfully with #!/usr/bin/env -S guix repl -- !#
<muradm>so i turned to plain guile with #!/usr/bin/env -S guile --no-auto-compile -e main -s
<muradm>because there is no "-e" option, impossible to identify script path, and hard to pass arguments
<muradm>with guix repl
<muradm>when using guile in /usr/bin/env, all works good, but i get invalid values from (run-with-store (open-connection) ...)
<muradm>so now i'm trying to understand what i need to set in plain guile, to make (guix store) work correctly
<muradm>this is the script
<muradm>to run legacy jar files in ad-hoc manner
<muradm>i have to set LD_LIBRARY_PATH
<muradm>this works with guix repl, but then i have to hardcode args, because i can't pass them reasonably
<muradm>and does not work with plain guile, probably due to search path you mentioned
<muradm>comparing %load-path from guile and guix repl there is only guix-module-union missing
<radvendii>when i define a phase i get an `arguments` argument. Is that an association list?
<Guest33>Hi, I am trying to use GNU Cuirass for CI of a personal project. As I am defining a Package module to fetch and build, I am using the git-fetch function. Looks like this requires an sha256 hash of the git repository for a specific commit. And the documentation says that I should find it by running guix hash
<Guest33>I am not sure how that is practical to do for a CI system :-/ .. I am confused .. any help?
<nckx>radvendii: They are ice-9 optargs which you're expected to handle with (lambda* (#:key foo bar #:allow-other-keys) …), see the Guile manual. I don't even know if they're implemented as alists but I didn't think so.
<civodul>Guest33: hi! currently Cuirass is meant to be used for packages defined in a channel
<civodul>it's not directly usable as a generic CI system
<Guest33>Ok, this is what I was starting to think. So should I be looking into writing a channel for my project(s)?
<civodul>well, you could do that by making your project look like a channel to Cuirass, defining a single package
<Guest33>so it isn't necessarily like Hydra then?
<civodul>yeah, there are similarities and differences
<Guest33>yes, ok, I will give that a try. And this would not require computing a guix hash all the time then?
<civodul>right, you'd add a .guix-channel file in your project and module file somewhere containing the package definition, with (local-file "..") as its source or something like that
<civodul>but i've never actually tried it so...
<civodul>(i'm interested in the use case anyhow!)
<Guest33>ok. Am I just crazy to think that this whole reproducible-build is a good idea for personal projects? Do warn me if you see any obvious pitfalls in doing so
<Guest33>they aren't just personal projects actually, I do collaborate with them
<Guest33>I will poke around a little more. I am a bit tired of gitlab and it's CI and was looking into alternatives, and ran into this.
<roptat>Guest33, for my own projects, I usually have a guix.scm with "(source (git-checkout (url (dirname (current-filename)))))" in the package's recipe
<roptat>it might be less error-prone than local-file
<nckx>Guest33: I haven't tried it myself, but *just* grew very early Guix support.
<nckx>It may work! It may not. It will probably do something inbetween.
<roptat>although, I just don't have any CI, so haven't tried that with cuirass
<Guest33>@roptat .. So now with guix.scm in there, how would you tie that into cuirass?
<Guest33>ok ok
<roptat>I think just follow ludo's advice, make it look like a channel
<roptat>I just use it as a nice way to get dependencies and try the package with "guix build -f guix.scm" or "guix environment -l guix.scm"
<Guest33>Ok, will try that and report back .. maybe with another name :) .. using the webchat
<roptat>Guest33, also, maybe replace (dirname (current-filename)) with the url of your repo
<vivien>For my project, I have 2 git repos: the main git repo, and a channel git repo. The main git repo has an update hook that computes the commit ID and hash of the latest commit of master, and updates the channel repo. This lets me have a channel that always have the latest master commit, while still letting me rebase the main repository.
<podiki[m]>oh that's a nice trick
<vivien>(also I have a ci.scm file in the main repo that the update hook builds in the sense of guix build before accepting the commit)
<attila_lendvai>vivien, if it's public, can you please post a link to that setup for copying it?
<civodul>sneek later tell wigust there are several unbound variable warnings under gnu/home-services
<civodul>sneek: botsnack
<vivien>So, this is the main repo:, this is the channel repo:, this is more or less the update hook installed on the server for the main repo:, and this is the CI: I have all the channel code in the main repo under the
<vivien>guix/directory, except for the actual package value for the latest commit on master. The actual package for the latest commit is computed by the post-update hook (
<vivien>I don’t know if it can be useful to anyone, though ^^
<civodul>vivien: looks fun!
<civodul>having to change the source hash is inconvenient though :-)
<vivien>Version 2.0 of the whole CI mess on my package will be such that I’m computing the hash and commit in a local hook before pushing, and I won’t have to update the hash server-side, just check it.
<wigust>civodul: oh no ^_^
<sneek>wigust, you have 1 message!
<sneek>wigust, civodul says: there are several unbound variable warnings under gnu/home-services
<podiki[m]>thanks vivien for sharing!
<wigust>civodul: apologies for the rush with merge, i thought it was ready
<wigust>civodul: I sended a bug report. Some variables come from non-existing in Guix file, but existing in rde project.
<yoctocell>attila_lendvai: any progress on the idris2 bootstrap? I am trying to bootstrap idris2 0.5.1 from 0.4.0, but the tests hang
<yoctocell>However, bootstrapping idris2 0.5.1 from the included chez files works just fine
<attila_lendvai>yoctocell, yep, it's working, but i haven't submitted it yet. needs a bit more cleanup, mostly to be able to chain-bootstrap and shortcut-bootstrap it.
<attila_lendvai>normal guix and CI shouldn't bootstrap it from GHC, but i want to add a user callable function that can compare the two
<attila_lendvai>yoctocell, the current state is here: in the idris.n branches, but i keep force-pushing them, and there's pending stuff on my machine, too
<yoctocell>attila_lendvai: great, looking forward to the patches :-)
<attila_lendvai>and here:
<civodul>wigust: for the record, this is what i wrote a few days ago:
<civodul>at least now we have an incentive to address these things real quick :-)
<civodul>thing is, we don't want to make false promises to users regarding API stability
<civodul>at this point, we can already tell it's prolly going to change significantly, starting with the module names
<civodul>yoctocell raised other points in that thread
<nckx>I could add a note to the manual to that effect, that it's a ‘technology preview’ with no guarantees?
<nckx>Or someone else can smuggle it in with the next update ☺
<civodul>nckx: there's already a note in the manual, so we're good on that front
<civodul>i think
<civodul>then there's the whole thread at
<civodul>oh well
<quidnunc>Does anyone known how to configure guix from the Ubuntu package? The current-guix path in /var/guix/profiles doesn't seem to contain packages I've installed using guix install
<lilyp>quidnunc: current-guix is for `guix pull'
<lilyp>thee profile `guix package' uses should be symlinked to ~/.guix-profile
<lilyp>(`guix install` is shorthand for `guix package -i`)
<quidnunc>lilyp: Thanks, I'm new to guix, are you saying .guix-profile should be the source or destination of the symlink (and what is the other end?)
<lilyp>the destination, it links to somewhere in /var/guix/profiles/per-user/$USER/, which links to somewhere in /gnu/store
<lilyp>you shouldn't need to take care of those symlinks on your own, though