IRC channel logs


back to list of logs

<kmicu>lfam: who funds that well-funded team?
<lfam>kmicu: Chromium is a Google project AFAIK. I think this information is available online
<lfam>I feel like that question was trying to lead me somewhere, so I'll flesh out my take on this.
<lfam>People use web browsers for nearly everything now. Business, housing, voting registration, travel arrangements, dating, etc. They are going to use web browsers for these things regardless of any non-usability problems the browser might have. The only thing that stops *most* people from using software is whether or not it works.
<kmicu>More Chrome(ium) users → more sites optimized for Chrome (market leader) → more power in hands of Google. So I think there is a reason why a for-profit ogranization well-funds them.
<lfam>From that, I think it's irresponsible to recommend web browsers that don't take security seriously. Chromium is basically *the* security team for FOSS right now
<lfam>People on the Chromium / Chrome Projects moved to Project Zero, which is also funded by Google.
<lfam>I do see the problems with Google. If one isn't careful, they can end up in the Google panopticon
<lfam>But using a niche web browser that doesn't actively do security research on itself means you end up vulnerable to many other parties besides Google
<lfam>It would be better if all the independent FOSS projects could do their own security research, but they don't, mostly because they lack the resources to do it.
<lfam>Overall, that's why I prefer big browsers like Firefox and Chromium over niche browsers. At least Epiphany / webkitgtk also takes security seriously
<RetardedOnion>whatever kdes browser is works better with more tabs than firefox does in my experience.
<kmicu>lfam: I understand security concerns (though I didn’t see any papers proving that Chrom(ium) is more secure than alternatives) but ethically, Chromium is not an option for me. Of course deblobbed Chromium can be included in Guix so there is no problem.
<lfam>Security can't be proven
<RetardedOnion>id argue that not submitting patches to upstream and changed configs of debian is ethically worse than chromium, but that is just my view
<kmicu>lfam: not proving in a logical sense but evaluating based on a proposed model.
<lfam>If one is aware of the research done by the Chromium and P0 teams, and the release schedule of the big browsers, it's not far-fetched to feel like the niche browsers cannot protect their users
<mbakke>What we really need is a concerted Rust effort so we can get all the cool new toys.
<mbakke>I was looking for a Spotify client just today and found two great free clients, but they are both written in Rust.
<lfam>Yeah, that would be a good subject for a Guix hackathon
***slyfox_ is now known as slyfox
*kmicu hopes we will not see more ‘Install Chrom(ium) to see this page’ or ‘This AMP page works only in Chrom(ium)’ in the future.
<lfam>Yeah, that stuff is really bad
<kmicu>Dominant entities are a more attractive target too so it is not so simple to say they are more secure.
<kmicu>Look at Intel firegarbage.
<taylan>what email client do fellow guixers prefer? I just noticed we don't have Thunderbird.
<Formbi>Firefox and Chromium are also packaged for Nix, aren't they?
<RetardedOnion>yes they are
<lfam>kmicu: Those recent Intel issues were researched (not originally discovered, that was ~15 years ago) by P0 :)
<lfam>taylan: I use Mutt, but I'd hardly recommend it to most people :)
<lfam>One could argue that P0's research and exploit development against x86 was commercially motivated. But it still has some benefit for the public :)
<kmicu>lfam: that is not true actually. P0 took the fame, but they credited original authos in very very small print.
<taylan>I normally use Gnus but it's so weird to configure I have no idea how to temporarily test an SMTP and IMAP server I put up without breaking my real config, so I was looking for something easier :D
<taylan>claws-mail looks neat. super simple, GTK interface.
<kmicu>taylan: I use Gnus and Mutt but I cannot recommend them unless you like spending your life in configuration files. ;)
<lfam>kmicu: Really? The story as published is that real exploits were developed independently by several teams in 2017
<nckx>taylan: Claws is great and the most T'bird-alike MUA we have.
<mbakke>taylan: I use notmuch. It's a different approach to email, but good ROI if you have to learn something new.
<mbakke>nckx: Sorry for reverting your commit! There's still room for it on core-updates (qtbase does not build anyway).
<nckx>I suspect Guix users skew disproportionately towards emace
<nckx>mbakke startled me. No problem! You were right; I misread 'guix refresh -l' and even remember doing it. Will do.
*nckx uses mu4e.
*vagrantc switched to emacs *because* of emacs-notmuch
<mbakke>vagrantc: I did the same haha.
<vagrantc>after ~12 years using vim.
<mbakke>If you don't need Qt or GNOME, core-updates is ready for testing btw :-P
<mbakke>Ooh, the results are in:
<lfam>mbakke: It's weird, I can build C applications on core-updates but GCC 5 isn't available? Which GCC is getting used?
<mbakke>lfam: What do you mean by GCC not being available?
<lfam>mbakke: It failed to build on Hydra and if I do `./pre-inst-env guix build gcc@5` it shows that it needs to be built
<lfam>I'm probably missing something obvious...
<mbakke>The build GCC is different from the gcc@5 package.
<lfam>Right, that's what I figured
<mbakke>Didn't notice it was failing! Will look into it.
<mbakke>Will also fix GCC 4.8 and 4.9 soonish.
<mbakke>lfam: Seems fine to me:
<lfam>mbakke: Indeed. I guess it hasn't hit the mirrors yet
<lfam>Can anyone test the Epiphany browser on a foreign distro to check if the interface icons are missing? <>
<lfam>They show up for me on Debian and GuixSD
<mange>Yep, give me a few minutes.
<mange>They work in guix environment --ad-hoc epiphany, but not guix environment --pure --ad-hoc epiphany.
<lfam>mange: Thanks, which distro
<lfam>It's expected they won't work in a pure environment, because the icons are provided separately from epiphany
<montxero>Hey everyone
<lfam>Hi montxero
<amz3>mbakke: hey, the chromium package builds an run flawlessly, I forgot to say in the bugtracker that the default font is not ok
<amz3>mbakke: do you experience a similar issue. I am using guix + ubuntu
<mange>lfam: Sorry for the response ~5 hours later, but I'm on Ubuntu.
<amz3>mbakke: and the font I am seeing is League Gothic, a font I installed as a regular user throught GNOME Font Viewer
<amz3>hi everybody
<amz3>mbakke: let me know regarding the remaining issue, if you tried something and whether i can try something myself
<lfam>Thanks mange
<ng0>Formbi: Nix got an exception/permission by Firefox/Mozilla Foundation to provide the branded variant
<snape>Hi Guix!
***rekado_ is now known as rekado
<rekado>Eolie *is* packaged for Guix.
<rekado>I packaged it because I wanted to see if it is a good alternative to Epiphany.
<snape>and is it?
<rekado>I still use Epiphany, because eolie was much less stable for me.
<rekado>it also did not reliably recover its state when restarting it after a crash.
<rekado>but I suppose this may have changed since.
<rekado>the package needs an update.
<snape>hey amz31 :-)
<jonsger>snape: +1 for pushing chromium to master
<snape>jonsger: it'll have more weight if you reply to the email :-)
<ng0>it crashed again here
<ng0>the build of chromium
<ng0>I'm doing a guix pull, but the last crash looked like the first crash I reported on the 68.x build
<snape>rekado: could you do: "UPDATE Checkouts SET input = 'guix';" on Berlin>?
<ng0>tbh it could be that the hardware of the builder is aging and failing.. it is very unreliable, but that should not affect the outcome of the build.
<snape>rekado: actually, no, forget about it
<snape>it would have been a mistake
<ng0>it would be a much better outcome if this builder went up in smoke. at least there would be a comical effect and one heavy hardware less to move when we move next year
<rekado>snape: you’re lucky I was busy writing a response to your email :)
<jonsger>snape: where can I get the most recent patch of chromium from?
<snape>jonsger: I think it's
<civodul>Hello Guix!
<snape>hi civodul :-)
<civodul>snape: i just noticed something fishy: is marked as failed
<civodul>however, /gnu/store/nr0w89qymmnfbcb9vw9q86p0a4v1h6w2-libsvgtiny-0.1.7.drv has never been built
<civodul>so it's not even a dependency-failed situation
<civodul>i wonder if this could be a regression in Cuirass
<civodul>it has "starttime":0,"stoptime":1535613271
<civodul>which normally cannot happen (starttime shouldn't be 0 i stoptime is not 0)
<snape>civodul: indeed it's weird
<snape>civodul: how do you know /gnu/store/nr0w89qymmnfbcb9vw9q86p0a4v1h6w2-libsvgtiny-0.1.7.drv has never been built?
<snape>well, I guess because there is no log
<RetardedOnion>i did guix build qtwebkit -c2 && guix package -i qutebrowser qtwebkit && qutebrowser --backend webkit last night with 16gb ram and i can confirm that webkit does not work with qutebrowser at least
<jonsger>guix uses glibc2.27 per default or?
<civodul>snape: yes and i ssh'd into berlin
<snape>civodul: it builds if you spawn it manually?
<civodul>snape: i didn't let it run to completion because i wanted us to be able to debug it
<civodul>but most likely it does
<civodul>(i tested with /gnu/store/wgk46pv09m1y8b7iq5fbkhay5hs6hnmr-libcss-0.8.0.drv, which was another build marked as failed)
<jonsger>any idea about that It's happening on one of my opensuse system, the other work fine. The only difference I see it's system glibc 2.26(not working) vs. glibc 2.27(working)
<snape>civodul: so... one of us should report the bug :-D
<snape>I can do it if you want
<jonsger>strace always complain about missing open("/usr/share/locale/...") but on both systems
<civodul>snape: heh, yes please!
<rekado>jonsger: is GUIX_LOCPATH set on either of these systems?
<civodul>jonsger: here 'guix substitute' fails to decode its command-line arguments (!), "--query" in this case, so most likely it's running with an LC_ALL or something that it doesn't support
<jonsger>it's definitly something specific to my system as another leap15.0 works fine
<ng0>seems like chromium requires more than 8 GB RAM when you have a desktop running and videos playing.. I forgot about adding a swap file, seems to move past the point of failure with a swap file
<rekado>nly: hi, you mentioned wanting to package Eolie. It has already been packaged for Guix. It could be updated, though.
<RetardedOnion>ng0: i run chromium with around 130 tabs open and my whole system (kde) uses 7,46gb.
<nly>Oh nicce
<rekado>our pypi importer often fails because many tarballs don’t provide requirements.txt
<rekado>some do provide “requires.txt” in the *.egg directory, however.
<ng0>building, not running chromium
<ng0>two different pairs of resource usage
<rekado>ng0: you missed the word “building” in your previous message.
<rekado>I also thought you meant using.
<ng0>well.. ok
<ng0>I'm still waiting for the build to finish
<RetardedOnion>ng0: i can install guix on my main rig. ryzen with 32 gb ram. should be built pretty quick. if you want
<ng0>when it does and the browser still works as the previous versions, I can send my okay
<novaskell>Currently trying to figure out how to rewrite arguments for packages recursively since I need to update the compiler for each (ghc -> ghc-8). Are there any exported procedures for this or is there a better way?
<ng0>So I have a great deal of packages I need to send once I've a discussion is over. One of them phantomjs. Currently I elfpatch it - terrible way, but I needed it working. You can however build it from source, which is what I'll attempt and send in. But: if I remember correctly phantomjs is being deprecated. It is still useful for some parts of youtube-dl. Do we want this in Guix?
<ng0> "Important: PhantomJS development is suspended until further notice (more details)."
<RetardedOnion>one part of guix is getting "old" software or softwar that depends on older dependencies to run. so i would 100% say that it should be packaged.
<ng0>in theory. in practice not so much
<ng0>you get to chery pick old software versions from the git history.
<RetardedOnion>id say i got here because snap/flatpak is the sad future
<ng0>What I do locally is simply make a new package for every new version. So if I need texlive-2012 in a couple of years, I can just do guix package -i texlive@2012 instead of going through all the commits. In some cases this doesn't make sense, but sometimes my usecase is bizarre, like building an ancient version of OTP with the same ancient inputs. Sometimes just building old software reliable.
<rekado>novaskell: what do you mean by rewriting arguments?
<RetardedOnion>do you create the packages by hand? if not that script should land on your git
<ng0>I create them by hand. but it's something I'm reconsidering at the moment
<ng0>I assume a 'build once, save forever' state in the future where diskspace doesn't really matter. But there's bits and parts beyond that, outside of Guix. And I hope to get less out of sync by the outcome of the discussion.
*rekado updates the pypi importer
<RetardedOnion>that will take a bit until disk space doesnt matter. hard drives are damn expensive
<novaskell>rekado: Idris 1.3.0 requires GHC 8.4.3 to build but it seems passing ghc-8 as the compiler doesn't affect the dependencies
<novaskell>Thus none of them are in scope for the build causing the build system to complain about missing dependencies
<novaskell>I may just be going about this the wrong way
<ng0>so let's get theroretical. if a projects goal would be to offer the option (but not default) to target more network drivers (but remind users that they use nonfree hardware, etc etc longer rationale here), and the project would make use of Guix and the guix namespace (not the repo) would that count as acting against our guidelines or would it just be impolite? my understanding of community guidelines is that
<ng0>they end where personal projects begin, otherwise you'd have no personal space.
<ng0>I have to leave for a couple of hours but will read replies if any
<snape>does anyone know how to install extensions for Chromium?
<snape>I get 'installation is not enabled'
<RetardedOnion>snape: chrome://extensions/, enable dev mode, drag n drop the extension in there.
<snape>RetardedOnion: and, maybe dumb question: how do I download ublock origin?
<RetardedOnion>snape: you need an extension to download stuff out of the chrome web store without logging in. i can give you the extension. where do you want me to upload it ?
<snape>got it
<snape>RetardedOnion: thanks for offering this, but I'll first try manually
<snape>I don't need many extensions anyway
<snape>and thanks for your reply :-)
<RetardedOnion>oh ok. well have fun.
<RetardedOnion>where is the chromium package anyways?
<RetardedOnion>oh great! any idea when this gets merged?
<snape>I think it would be good to wait for a reply from Marius
<rekado>novaskell: we are planning to upgrade all Haskell packages to the latest LTS version.
<rekado>once that’s done we can also upgrade idris.
<snape>hm, I can't add extensions with Guix's Chromium
<novaskell>ah, ok
<novaskell>Guess I'll rely on nix for now until then
<RetardedOnion>snape: what is the issue? does a terminal say anything if you start chromium in a terminal?
<snape>it doesn't say anything
<snape>no error message
<snape>it works with Ubuntu's chromium
<snape>the same procedure
<RetardedOnion>is chrome://flags/#extension-mime-request-handling Always prompt for install?
<rekado>novaskell: if you need it right away you could use the input rewriting mechanism (see the manual for more information), but it is to be expected that many of the current Haskell packages cannot simply be built with the latest GHC and will require minor changes.
<snape>RetardedOnion: I don't understand your question
<snape>I had never seen this window before
<RetardedOnion>snape: inset the link i gave (chrome://flags/#extension-mime-request-handling) and play with that setting a bit.
<snape>thanks, it's what I'm doing
<snape>I've just been said that the correct way to run chromium is: CHROMIUM_ENABLE_WEB_STORE=1 chromium --disable-reading-from-canvas --site-per-process
<snape>and that I should have read the full thread :-)
<RetardedOnion>i guess that should be written into the desktop file
<ng0>because we don't want to enable access to the webstore
<snape>oh. Ok
<ng0>ideally we figure out how to kick the webstore out of the trust chain and use a gnu/store location for packages addons
<RetardedOnion>ungoogled-chromium allows you to install extensions as well.
<ng0>read the thread and the package definition to see why this is not the case here
<RetardedOnion>i know. i just dont know if that is necessarily the best idea. but hey, its not my distro
<snape>Chromium works great, thanks everyone
<snape>works *well
<Formbi>how to install Chromium from Guix?
<snape>Formbi: until it's merged, you need to checkout the Guix repo, build it, add the Chromium patch to it, and then install chromium with 'pre-inst-env'
<snape>but hopefully it'll be merged soon
<Formbi>so maybe I'll wait
<mbakke>snape: What are the --disable-reading-from-canvas and --site-per-process flags for?
<mbakke>Indeed the Web Store must be disabled in Guix, since it has non-free softwares.
<ng0>a tiny bit of isolation.
<snape>mbakke: they allow to install extensions
<mbakke>snape: Setting CHROMIUM_ENABLE_WEB_STORE should be sufficient.
*snape is trying
<RetardedOnion>--site-per-process is isolation of websites if i am not mistakes. will eat more ram
<snape>indeed, thank you mbakke!
<mbakke>Note that setting that enabling the web store will cause the browser to phone home all over the place.
<snape>mbakke: so there is no way to have extensions and no phone-home?
<Formbi>maybe the web store could be replaced with a similar thing but with only free addons in it?
<mbakke>snape: Correct. Not until we find a way to package extensions in guix.
<mbakke>Formbi: That would be ideal.
<snape>mbakke: I reckon we should at least be able to install them manually
<Formbi>snape: it's possible
<snape>Formbi: not with Guix's package
<Formbi>aren't chromium's files somewhere in $HOME?
<snape>it just doesn't work, unless CHROMIUM_ENABLE_WEB_STORE is set
<mbakke>snape: What is the procedure for installing manually?
<snape>mbakke: it's describe there:
<RetardedOnion>snape: can you install plugins and then run chromium normally and the plugins stil work?
<snape>RetardedOnion: I tried :-) but it doesn't work unfortunately. They just don't show up.
<apteryx>Hello Guix! Should I sent one package per patch issue, if they are independent?
<snape>apteryx: yes
<snape>if they are unrelated
<apteryx>OK, thanks
<apteryx>I always make different commits, but wasn't sure about the debbugs tracker
<snape>but if you add 40 new ruby packages, it's better to put them in one ticket :-)
<rekado>apteryx: please create a ticket first by sending an announcement to and wait for the acknowledgement.
<rekado>then you can use git send-email to send the patches to the bug address.
<mbakke>snape: I think if you install extensions manually, you'll have to pass "--disable-extensions-except" and/or "--load-extension".
<mbakke>IOW the wrapper needs to be updated to allow that case.
<mbakke>The Debian wrapper script is a good resource:
<RetardedOnion>can someone using a screen locker with just a wm please give me his screen-locker-service? doesnt matter what, i just want my screen to lock when i close the lid
<ng0>filtering by list-id is great. I finally get threads sorted where they belong.
<snape>mbakke: even with those options I can't install extensions manually
<mbakke>snape: Oh. I don't know why that is, but please share your research if you find anything :-)
<mbakke>snape: You probably need to bypass the wrapper though. That is, remove the "--disable-extension" flag.
<snape>now I understand
<snape>that CHROMIUM_ENABLE_WEB_STORE does two things :-)
***ielectric is now known as domenkozar
<ng0>I have a wrapper for the wrapper, which is how I run chromium here.
<mbakke>If you remove --disable-extensions, but keep --disable-background-networking, the extensions you install will never get updated. So they go "together".
<mbakke>Removing either of those flags causes lots of hails to the mothership however.
<snape>to me having extensions without background networking makes sense
<ng0>it's really visible on a slow connection.. you get a lag on startup
<snape>because I can update them manually
<snape>and later on when Guix packages Chromium extensions, it will make even more sense :p
<snape>it would be way better than having a 'free software store' in my humble opinion
<mbakke>snape: Yes, I hope we can disable the web store alltogether once extensions are packaged in Guix.
<civodul>janneke: i'm looking at the current wip-bootstrap in your repo
<civodul>janneke: first, i needed this patch:
<snape>mbakke: I really don't see the point of disabling extensions
<civodul>janneke: it makes sure (%current-system) is evaluated not when commencement.scm is loaded, but when we're computing the derivation
<RetardedOnion>snape: guixsd has the idea of becoming a "free software distro for the masses". so you need to disable easy installation of nonfree software
<mbakke>snape: It was an attempt to become FSDG-compliant, since it makes the (largely) non-free Web Store nonfunctional.
<snape>RetardedOnion: it's up to the user. Anyone can install non free softwares with Guix
<mbakke>But, hiding all Web Store links may be sufficient.
<mbakke>snape: No, we need both of those flags: otherwise there is constant chatter with the mothership.
<RetardedOnion>snape: i dont think your grandma can install teamspeak on guix. and that is the point. if i got this right
<civodul>janneke: after that, it fails in a way that suggests executables refer to the wrong dynamic linker (
<snape>mbakke: we should at least be able to install extensions manually
<mbakke>snape: Yes, that would be nice ;-)
<RetardedOnion>that is what all free software distros have. i can install an arch package on parabola or a ubuntu package on trisquel. so i guess "make it harder for the average user" is the aim
<snape>mbakke: and yes, if you can just change the store link, it would be enough
<mbakke>snape: But then it would be impossible to install extensions without doing it manually.
<snape>mbakke: yes, that's the goal no?
<snape>I personally prefer freedom, so I want to be free to install nonfree software
<snape>RetardedOnion: I don't think the goal of FSDG is to make it "more difficult"
<snape>the goal is to "not officialy support non-free software", it's not technical at all
<rekado>you *are* free to install proprietary software. The point here is to not let the defaults steer people to install non-free software by default.
<snape>rekado: if extensions are disabled, I am not free to install proprietary software
<rekado>it’s easier to accomplish this goal by disabling the store.
<rekado>could we leave this as a TODO for later?
<rekado>extensions should not be disabled, but if that’s the easiest way to get the package merged then we should do it.
<rekado>(that’s similar to how linux-libre not loading firmware is actually a bug)
<RetardedOnion>by getting nonfree software out of the repos you are making it more difficult. "steering into the right direction" is just a nice way to say it
<rekado>I’d prefer not to have this general discussion here. (It’s not the first time.)
<snape>RetardedOnion: again, I don't think the goal is to make it "difficult"
<rekado>for this particular package, let’s just do whatever is necessary to get it merged. This may require overreaching for now.
<snape>because making it "difficult" would favor skilled people, which wouldn't be good
<snape>rekado: I don't know a better place than #guix to talk about free software packaging, but fine
<snape>rekado: I think we are waiting for mbakke's input to merge
<rekado>snape: I meant that we should try to stay focused on actionable problems. Discussing what’s best in the context of the Chromium package is of course on topic.
<rekado>the discussion for the generic case is *also* on topic, but it’s much less likely to yield to actionable results.
<snape>right, ok :-)
<RetardedOnion>is there a channel to discuss this topic?
<mbakke>snape: So you would prefer if the Web Store is not functional at all, regardless of flags?
<snape>mbakke: To me the current package is good enough, because I can use a wrapper (CHROMIUM_ENABLE_WEB_STORE=1 chromium --disable-background-networking)
<mbakke>I'm not opposed to that, but it could be difficult to achieve. I also think it makes it slightly more "user-hostile": I use a handful of (free software) extensions installed from the store: updating all of them manually would be a pain.
<snape>I agree it's hard to find a good solution, they all have drawbacks
<snape>I tend to favor freedom (see my wrapper), which includes freedom to install free extensions *and* non-free extensions (as an unwanted consequence)
<snape>but if you don't agree, I have my wrapper so it's fine for me
<snape>I agree that background networking should be disabled anyway because we don't want to talk to Google all the time
<mbakke>The main problem is that removing the "--disable-extensions" also will cause it to talk to Google a lot.
<mbakke>Try snooping network traffic with and without that flag.
<snape>oh really?
<snape>(btw I didn't understand what you refer to as "mothership")
<mbakke>Yes, I found both were needed to prevent it from calling home at every launch.
<mbakke>snape: I've probably watched too much sci-fi ;-)
<snape>mbakke: then the best, right now, is probably what you did
<snape>and we can improve it later
<RetardedOnion>chrome removed npapi support for plugins a while ago. that would be a more easy way to get around it
<CcxWrk>Is there a concept of optional dependencies or build-time options in Guix? How can I toggle them?
<rekado>CcxWrk: there is not. You would normally have different package definitions for different configurations.
<nckx>CcxWrk: No. You write (a little...) code that inherits and modifies the original package, then use that.
<CcxWrk>I can see a bunch of suckless software packaged, that is usually configured by editing config.h, how do I do it with Guix?
<CcxWrk>nckx: For optional dependencies is removing the input sufficient? Is there function that can produce modified package like that?
<rekado>CcxWrk: take a look at gnu/packages/emacs.scm for an example.
<nckx>CcxWrk: Often, yes! grep alist-delete.*inputs gnu/packages/*.scm
<rekado>CcxWrk: the emacs-minimal package inherits from the emacs package and overwrites some fields.
<rekado>there’s also the emacs-no-x variant, or emacs-no-x-toolkit.
<nckx>CcxWrk: libinput-minimal is also a nice (minimal ;-) example.
<CcxWrk>OK, thanks.
<CcxWrk>If I do this on a library, I'd need to use some other function to rewrite the reverse dependencies I assume?
<mbakke>CcxWrk: If you want to build (vanilla) package "foo" with your custom library "my-bar", you can use `guix build --with-input=bar=my-bar foo`.
<rekado>you can also do this in a manifest using Guile, which may be a little more convenient dependent on your point of view.
<rekado>note that you would need to build these package variants from source as we don’t build them on the build farm.
<CcxWrk>What I've seen in docs is package-mapping, but I'm not entirely sure how to use it. To make modified versions of all top-level packages I want to install manually?
<CcxWrk>Yeah, I don't have problem with compiling.
<CcxWrk>Do people publish their own modifications / manifests? There are very little examples to go by in the docs.
<rekado>true. What kind of example do you think is missing from the docs?
<snape>CcxWrk: mine is if you want some inspiration
<rekado>CcxWrk: here is one that uses graph rewriting:
<CcxWrk>Can guix build --with-input= be used to remove input instead of replacing it?
<rekado>CcxWrk: I don’t think so.
<rekado>O people who know about Python! Would it be feasible to remove qtwebkit from pyqt?
<rekado>i.e. could we make pyqt modular?
<tune>I don't know much about python, but if you're removing webkit, wouldn't you have to just use webengine instead? or are you talking about a much more major change?
<CcxWrk>Gentoo does have a build flag for webkit in PyQt, but I'm not sure it can be modular in way you want.
<tune>wait, I misread
<tune>I was thinking about qutebrowser for some reason
<RetardedOnion>tune: do you have qutebrowser running?
<tune>it's been broken on guix for weeks
<tune>I run it on some other distros
<RetardedOnion>that is why i ask
<rekado>I’d love to split it up, because not everyone needs these really heavy qtwebkit libraries just to use Qt with Python.
<tune>I think it was built to use webengine instead of webkit, and we don't have webengine so it just doesn't work
<tune>because it should be able to use either
<RetardedOnion>qutebrowser --backend webkit doesnt work as well
<tune>yeah, not sure on the details I guess
<tune>but it works on parabola, so it should be able to work here
<tune>they have the same freedom concerns and such
<RetardedOnion>yeah i know. i guess i will just wait. for qutebrowser to work. and chromium. and maybe until then my lockscreen works
<tune>I have a lot of free time, but not a lot of skills, or else I'd try to fix it myself
<tune>I also have a dozen things I wish were packaged, but I haven't figured out packaging stuff yet
<RetardedOnion>id like to add fractal and telegram-desktop as well. well fractal was too complicated for me, so telegram is out of my range.
<CcxWrk>rekado: You can do package variant of PyQt without browser support fairly easily. But with how the build looks I don't think you can make "just QtWebKit/QtWebEngine" package without compiling lot of things twice".
<rekado>yes, that’s my concern.
<RetardedOnion>its not like we dont have -minimal packages.
<rekado>I’ll see how far I can reduce python-pyqt to a “core” and then build extensions to it.
<rekado>I’d prefer not to have python-pyqt-minimal, but instead a number of python-pyqt-* packages that each provide bindings to a different library.
<rain1>does anyone have some general advice about solving this? ld: cannot find Scrt1.o: No such file or directory, ld: cannot find crti.o: No such file or directory
<rain1> its happening when trying to bootstrap rust
<rekado>rain1: this sounds like you would need the gcc-toolchain package, but you have the “gcc” package installed.
*rekado needs to leave now
*apteryx waves
*snape waves
<rain1>thank you
<CcxWrk>rekado: You are discovering why my ideal package manager wouldn't be functional, but constraint-solver-based logical one. :)
<tune>has guix updated pango to fix the recent crash issue?
<mbakke>tune: Which crash issue?
<tune>the one mentioned in the freenode announcement a few hours ago
<tune>a certain combination of unicode characters crashes several applications
<tune>it's been going around some irc channels
<tune>crashes hexchat, but also crashes my whole termite window if I see it appear in irssi
<tune>every time I run into it, I have to attach to my tmux session with a different terminal emulator and then get it off the screen before switching back
<snape>tune: is there a ticket in Guix's bugtracker for that bug?
<mbakke>tune: Ouch. Can you file a bug report about it? I believe this is fixed in Pango 1.42.4 which is in 'core-updates', but not yet in 'master'.
<tune>No idea. I just had someone telling me to update pango, and I'm not sure if I can.
<mbakke>Ideally with a reproducer so we can see if grafting actually works.
<tune>I can file the bug if someone can help remind me how to do so. I think I reported a bug only once before.
<mbakke>tune: Just send an email to
<tune>and what is a "reproducer"?
<mbakke>A way to trigger the bug.
<tune>ah, sure
<mbakke>So we can verify an eventual fix.
<mbakke>Hopefully we won't crash everyones mail clients by doing so...
<tune>I'll paste a command to output the offending text rather than paste the text itself
<RetardedOnion>echo "offending text"
<tune>the line I heard for producing it involves python, possibly because you can refer to the unicode with \u####
<tune>not sure if that would work with echo
<nckx>tune: It works with 'echo -e'.
<nckx>Who's the canonical source of <profile.h>?
*nckx guesses mit-krb5.
<mbakke>tune: Fixed!
<mbakke>tune: Are you from Seattle by any chance? Your last name is familiar..
<tune>Nope, I'm in the midwest.
<tune>mbakke: I'm still crashing. Do I have to restart anything besides my terminal emulator?
<mbakke>tune: Did you `guix pull && guix package -u` ?
<tune>I did sudo guix pull && sudo guix system reconfigure /etc/config.scm
<mbakke>tune: And you have the affected programs (Termite, Hexchat) installed in the system profile?
<tune>I saw pango appear during the pull, and I made it to 'installation finished'
<tune>for the record I'm not using hexchat, I just heard it was affected, but yeah
<tune>all my installed packages are in the system profile
<tune>I can get ready to reboot in a sec if you think that'd help
<rain1>whitch package provides the 'cc' tool?
<nckx>rain1: gcc-toolchain
<mbakke>tune: Can you do `guix gc -r $(readlink -f $(which termite)) | grep pango`?
<mbakke>`guix gc -R $(readlink -f $(which termite)) | grep pango`
<mbakke>Assuming Termite is the crashing program.
<mbakke>tune: That means that you haven't gotten the updated version.
<rain1> i did guix package -i gcc-toolchain but i still get errors about 'cc' missing
<tune>I updated like normal and I saw pango appear in the pull
<mbakke>Reboot will probably help, though I'm curious why reconfigure was insufficient.
<nckx>rain1: Ah... Sorry: no package provides a 'cc' alias. Pass 'CC=gcc' to make.
<tune>mbakke: maybe one of these scrots has some helpful info
<mbakke>tune: What is the result of `guix gc -R $(readlink -f /run/current-system/profile/bin/termite) | grep pango` ?
<mbakke>tune: Did you get a new profile generation in /var/guix/profiles ?
<mbakke>The links should have date stamps.
<tune>yeah, seems that way
<tune>I have 3 updates from today that are pointing to the same thing, though
<tune>lrwxrwxrwx 1 root root 50 Aug 30 12:24 system-170-link -> /gnu/store/ibi9nhva4plwdzl38vlf95qrndb7h6zw-system
<tune>is that hash or whatever based on changes or the date?
<tune>I see some other adjacent generations linking to the same thing, but it could be days where I updated when there was nothing new
<mbakke>tune: All the /gnu/store/xxxxxx hashes are based on the derivation used to create it (i.e. a hash of all inputs + build expression).
<tune>so should an update before the pango change and an update after be different?
<mbakke>tune: Yes.
<tune>okay, it didn't change for some reason
<mbakke>tune: Can you try to `sudo -E guix system reconfigure ...` ?
<mbakke>I don't think `sudo guix ...` actually works without -E.
<tune>I know new packages have definitely been installed that way
<tune>I've had the same command aliased since I started using guixsd
<tune>trying -E now and it's downloading all sorts of stuff
<mbakke>tune: Before doing that, make sure your users Guix is up to date.
<tune>with the pull and guix package -u thing?
<mbakke>(I noticed you did `sudo guix pull` earlier, which may or may not have updated roots guix..).
<mbakke>tune: Just `guix pull` is enough.
<mbakke>And then `sudo -E guix system reconfigure ...`.
<tune>ah, I already started the reconfigure
<tune>should I ctrl-c out of it?
<tune>I can re-pull and then reconfigure again after this if it's not a big problem
<mbakke>tune: It's safe to cancel Guix commands.
<mbakke>But checking afterwards is fine too.
<pkill9>yes that is one of my fav things about guix, no chance of breaking your system by interrupting a guix command
<pkill9>then again, maybe not during the latter stages of guix reconfigure now i think about it
<pkill9>when it's reocnfiguring grub
*mbakke is going to have an eternal war with nckx about the indentation of `(source (origin ...)` blocks.
<amz3>rain1: what is your status regarding that cc error
<mbakke>Also, space vs no space after the ; in margin comments :P
<rain1>i am trying to work around it by adding a script that does #!/bin/sh exec gcc "$@"
<mbakke>rain1: What about 'alias cc=gcc' ?
<nckx>B-but moar line space for useful content over whitespace.
<nckx>mbakke: That won't work for Makefiles &c.
<janneke>what do you think about: (
<janneke> car( cdr x ))?
<mbakke>nckx: I find those "deeply nested" blocks of related code more visually appealing and easier to follow than if each "level" only has 1-2 spaces of indentation.
<nckx>mbakke: Also can we eternal war like next Tuesday I'm busy this week.
<mbakke>I've even started doing (phases (modify-phases ...)) to get the same level of "deep" indentation of phases :P
<mbakke>nckx: Fine! :D
<tune>wow, my search results for packages had been old for ages because I search as a user and install for the system, and I hadn't updated the user guix in a while
<tune>four packages I wanted in the past are now packaged it seems
<mbakke>tune: Hah.
<mbakke>Generally I recommend keeping the system profile as slim as possible and do everything in the user profile.
<tune>I like doing it all in the system profile, because then I could theoretically copy over my config.scm to a new guix install and get all my packages
<tune>that was one of the big appeals of nixos for me, so I did things the same on guixsd
<mbakke>tune: You could have a "manifest" for your user profile to achieve the same.
<janneke>tune: what mbakke does, and i also keep a manifest.scm file for my user
<tune>what is the functional difference then? any reason installing all things under system is bad?
<rain1>my build process needs to have a script from inside the source in PATH
<janneke>everything in (the same) git, of course
<rain1>how would I achieve that?
<rain1>i have this so far (setenv "PATH" (string-append (getenv "PATH") ":" (string-append ? "/run_rust/util/")))
<rain1>(i can't use a relative path)
<janneke>rain1: ? == (getcwd)
<mbakke>tune: My rationale is that I can update the system without having to build IceCat, libreoffice, etc.
<tune>that is a good reason, but the tradeoff then is that I have to keep track of package updates in two ways instead of one
<tune>I guess maybe I did anyway, after my search realization. I could probably just change my search alias to use sudo, though
<janneke>rain1: when i setenv, i often add a: (format (current-error-port) "PATH
*janneke types on weird keyboard, sorry
<janneke>(format (current-error-port) "PATH=~a\n" (getenv "PATH"))
<janneke>just for debugging
<tune>mbakke: is there something I can read to understand how I'd set up the manifest.scm file for my user? it's an interesting idea that I'll consider
<tune>I'm on a single user system right now, but maybe in the future I'll share a system with others, and it could be good to be ready for that
<janneke>tune: the manual has an example of a manifest file in the "invoking guix package" node
<tune>cool, thanks
<nckx>Erm... any reason why C-c C-c would suddenly stop working in emacs/mu4e?
<nckx>This is annoying.
<nckx>'No message at point'.
<rain1>i did guix gc and now i get this all the time: bad interpreter: No such file or directory
<rain1>should i reboot or guix reconfigure or something?
<rain1>guile: bad interpreter
<nckx>rain1: When do you get that?
<rekado>rain1: this is likely the result of creating an environment, configuring something within that environment, leaving the environment, and then doing gc.
<rain1>./pre-inst-env guix build hello for example
<rekado>rain1: you can avoid this by registering a gc root for your environment (with “--root /path/to/somewhere)
<rekado>rain1: the ‘guile’ that is mentioned in scripts/guix probably no longer exists.
<rekado>to fix this try replacing the shebang.
<rekado>(or rerun ./configure if you have a suitable environment)
<tune>system hanged during updates :(
<tune>probably ran out of RAM. I think maybe my swap wasn't enabled. for some reason I have to manually enable it every reboot
***rekado_ is now known as rekado
<rekado>tune: did you specify swap in the system configuration?
<tune>not from what I can see
<tune>I used a file, not a partition
<tune>not sure if the installation guide said how to put that in
<rekado>the manual mentions it.
<rekado>try ‘i swap RET’ in an info reader
<tune>guix pull && guix package -u -m ~/manifest.scm
<tune>is this what I want to do for a manifest file now?
<rekado>tune: just ‘guix package -m ~/manifest.scm’
<rekado>this will create a new generation according to the specifications in the manifest.
<RetardedOnion>does someone use ovmf with libvirt? also: can you use a custom qemu with libvirt?
<rekado>do you mean the libvirt service? Most services have a knob to adjust the packages that are used by the service.
<RetardedOnion>rekado: docs dont seem like there is: no mention of ovmf and qemu is rare and not what i want
<rekado>I don’t know ovmf
<RetardedOnion>ovmf is edk2. an open uefi implementation
<rekado>the libvirt service only accepts a different libvirt package.
<RetardedOnion>if i had any idea what i am doing i would update it. libvirt is kinda useless without a patched qemu and uefi support for me
<rekado>it’s not pretty but you could create a variant of libvirt with a different qemu as an input.
<RetardedOnion>maybe i can find a solution to munch ovmf into libvirt
<rekado>feel free to discuss this on
<RetardedOnion>ye. right after i got myself a decent email adress.
<daviid>for info, the guix packages page lists guile 2.2.2
<daviid>i beleive guix has 2.2.4
<daviid>ah, I see it keeps them all
<daviid>for info, the guile-gnome package description says it includes guile-clutter, but that s not possible, it has to be installed separatly (an needs guile-cairo from the source tree, especially patchd for guile-clutter), and guile-gnome-gstreamer is about 10y nmaintained
<rekado>snape: I tried your pinentry configuration and it helps with opening the encrypted file, but I can no longer decrypt email. I’m not prompted for a passphrase any more.
<janneke>oh...about pinentry...; since i did a guix pull to 0.15, i'm getting pinentry in an obnoxious gtk popup -- it used to be in the mini buffer
<janneke>any ideas how to get that back?
<janneke>i tried installing pinentry-emacs and emacs-pinentry -- they don't seem to work for me
<rekado>janneke: this might work for you:
<rekado>for me neither configuration works, unfortunately :(
<rekado>I can either not decrypt email in mu4e or I cannot open encrypted documents in Emacs.
<janneke>rekado: oh, thanks!!!...but why would it work for me and not for you?
<rekado>since I’m having other problems with EXWM (the minibuffer is cut off on *some* of the desktops and I have to use s-0…9 to find one where it’s fine) I’ll probably go back to StumpWM :(
<rekado>because it works for snape :)
<janneke>ah...right, i don't have that problem; exwm[x] works great for me
<rekado>there’s a 50/50 chance it works for you
<janneke>...err except for popups (like pinentry)...those are terrible
<rekado>another thing that’s just not working right in EXWM for me is switching to the browser window.
<janneke>okay, i'll try this -- the popups have been terribly annoying
<rekado>switching to the browser takes considerably longer than switching to any other buffer.
<rekado>and the buffer list appears also with a considerable delay.
<janneke>oh? ... never saw something like that
<janneke>that sounds terrible too
<rekado>same when switching back
<janneke>and how to debug such a thing...bah
<rekado>I must be really unlucky
<jabranham>hrm... I just installed guixsd on a vm, did "guix pull --commit 0f377aa", then "guix system reconfigure /etc/config.scm", but it's in the middle of downloading guix 0.14.0. Is that expected?
<rekado>jabranham: are you using the correct guix?
<rekado>jabranham: ‘guix pull’ installs the new version in ~/.config/guix/current/bin
<jabranham>rekado: this has all been done as root
<rekado>make sure this exists and ’which guix’ points to that directory.
<rekado>root is just another user.
<rekado>root would have /root/.config/guix/current/bin
<jabranham>rekado: yes, that's what it's looking at
<janneke>rekado: "really unlucky" makes me think of -- do you know that story?
<janneke>i'll let you know if pinentry solution works for me
<civodul>jabranham: if it's your first 'guix pull' and you're running Bash, you may need to type "hash guix" so that Bash updates its PATH lookup cache
<rekado>janneke: oh, yes, I do know that story :)
<jabranham>civodul: ah, that seems to have fixed it, thanks
<civodul>it seems to be a nasty source of confusion
<jabranham>now I'll just hit hydra for all the packages again... my apologies to whoever pays for that server :-(
<janneke>rekado: nice, can be encouraging when feeling really unlucky...
<jabranham>BTW EXWM has some debugging stuff in exwm-debug.el but I'm not sure it's in the latest release or not
*janneke should practice to refrain harder from posting to inflammatory threads and remember that you cannot make blind people see by talking -- only creating an experience can help
<jas4711>is anyone booting from a mdraid partition? it seems the linux mdraid modules aren't loaded when guixsd is starting to look for the root partition...
<civodul>janneke: at least we'll have tried everything :-/
<janneke>civodul: i very much appreciate your (and also rekado's) empathic and re-focussing responses
*janneke is a big nvc-fan
<nckx>jas4711: I do! I've never had that problem...
<janneke>...but practicing it can be hard, sometimes
<jas4711>nckx: do you have a separate /boot partition? i don't. works fine with debian
<nckx>jas4711: I don't.
<jas4711>my file-systems contains (device (file-system-label "hamster-root")
<jas4711>nckx: what do you use? "/dev/md0"?
<nckx>jas4711: Sec :-)
<jas4711>d'uh. "If there are encrypted or RAID partitions, make sure to add a mapped-devices field to describe them (see Mapped Devices). "
<nckx>(file-systems (cons* (file-system (dependencies mapped-devices) ; XXX is this needed? \n (device "/dev/md0") (type "btrfs") (mount-point "/") (options "compress=zlib,relatime")) …
<nckx>(mapped-devices (list (mapped-device (type raid-device-mapping) (source (list "/dev/sda2" "/dev/sdb2" "/dev/sdd2" "/dev/sde2")) (target "/dev/md0"))))
<jas4711>nckx: thanks. i forgot the mapped-devices part. will retry my installation
<jas4711>nckx: do i need some special use-modules for mapped-devices? i just get this error: /mnt/etc/config.scm:33:2: error: invalid field specifier
<jas4711>d'uh. there was a typo in the manual mapped-device vs mapped-devices