IRC channel logs

2024-08-26.log

back to list of logs

<ekaitz>nckx i think you are looking for avp
<nckx>ekaitz: RealName™ checks out. Thanks!
<nckx>avp: I'm starting to wonder whether you ever received my reply re: commit access.
<nckx>me at tobias dot gr. grep your box.
<nckx>ACTION 😴💤
<MisterEsse>Does anyone know a free alternative to unrar?
<mirai>7z?
<MisterEsse>This is not Guix per-se, but I used to know of a package that was free and did unrar stuff.
<mirai>should be able to extract them
<MisterEsse>mirai: it was not that. Besides I cannot find that in my non-Guix (but free) distro.
<mirai>what about under the name p7zip?
<MisterEsse>yes.
<MisterEsse>That exists.
<mirai>generally tools to extract rar revolve around libarchive
<MisterEsse>p7zip has a custom:unRAR license, which I don't like.
<mirai>what about bsdtar?
<mirai>you can try that one
<jaft_r>In the Guix repo.s, there's also "unrar-free"; it mentions not having parity with unrar but I'd expect it's able to, at least, extract the files. GPL.
<MisterEsse>I think I will just manually compile https://gitlab.com/bgermann/unrar-free .
<MisterEsse>jaft_r: okay. thanks.
<MisterEsse>Yes, unrar-free will work.
<MisterEsse>See ya.
<kryptec> https://0x0.st/Xtsd.txt
<kryptec>Hi, all I'm running into the error above when trying to install guix on linux mint
<kryptec>I've seen some people post similar errors, but no solutions yet
<kryptec>I do have the libX11.so.6 libraries installed with apt, but guix can't seem to find them
<kryptec>any pointers on how to resolve this would be greatly appreciated!
<Hamled>I've tried to build guix using the instructions in the manual under "Building from Git" but I'm getting errors while it's building the translated manual. Is there anything about my system that could be impacting that? I'm running this on a guix system that's more or less the desktop example from the installation media.
<Noisytoot>The unrar license is non-free, so if guix includes a version of p7zip with that, it's a FSDG bug
<PuercoPop>What is the purpose of the package phase in the cargo-build-system? The manual mentions that building the tarball allows reuse, but it is unclear where will the tarball be reused
<Noisytoot>the vboot-utils package is broken due to a -Wmaybe-uninitialized warning getting turned into an error
<nckx>kryptec: Do you have any idea why your system tries to load libX11.so in the first place? I have plenty of Guiles on mine. None of them link to that library or contain the string 'libX11'.
<nckx>What's the output of 'env' on this system?
<kryptec>Not particularly? A fresh install with apt, and then running guix pull does it as does trying to install the binaries with the shell script on the guix site. Here's my env output
<kryptec> https://0x0.st/Xt-4.txt
<kryptec>Thanks for the reply! :D
<Rutherther>Can you use other commands like guix shell, build?
<Rutherther>Is there any other output from guix pull before or after the error you already sent?
<kryptec>I can't use guix shell, which is initially how I knew something was wrong after installing it with apt
<kryptec>Yes, it's not much but here it is below
<kryptec> https://0x0.st/Xt-3.txt
<Rutherther>And "guile" also produces this error, or do you get in repl?
<nckx>OK, I don't see anything particularly weird in env. It was a long shot anyway (what, LD_PRELOAD_LIBX11=1?). Does 'env -i $(which guix) pull' work any differently?
<nckx>And I was going to suggest just plain guile but Rutherther is on the case 👍
<kryptec>I've been learning a little guile with emacs, and I can get a guile repl there
<nckx>But running that exact /gnu/store guile from the same shell?
<nckx>I assume emacs is using Mint's guile although I might be misunderstanding.
<kryptec>my understanding is that it's using Mint's guile. I do have guile-3.0 installed with apt
<kryptec>It looks like when I run your comand nckx it actually produces a backtrace, so that's some new information for me. I'll paste it below
<Rutherther>I would guess that just running guile is going to work for you. Guix scripts are also guile, guix file should have a path in shebang to a guile. This guile will probably work for you fine as well, since guix pull starts downloading. But then it might switch to different guile and there the breakage occurs.
<kryptec> https://0x0.st/Xt-E.txt
<kryptec>I get the same error about lack of libX11 libraries when I try to run the version of guile referenced in /gnu/store in my original error
<nckx>OK, no, env -i just breaks guix pull, that backtrace is unrelated. It breaks mine only after adding some extra options so I didn't notice.
<Rutherther>kryptec and running that guile with env -i?
<kryptec>the system guile or thee gnu/store guile?
<nckx>Latter.
<kryptec>same libX11 error when I run 'env -i /gnu/store/.../guile'
<Rutherther>Hmm. So it seems its not env that is doing this
<amano>How can I specify lower or upper version boundary for gnu guix package dependencies?
<amano>Something like ghc-hashtable >= 2.0 && <2.5
<Rutherther>kryptec I am kind of out of ideas here. As a total stretch, what is the declaration of guix-daemon systemd service?
<Franciman>i think you can only provide specific package versions
<amano>I am comparing gentoo linux with gnu guix.
<amano>On gentoo linux, you can specify lower or upper version boundary.
<amano>If I specify ghc-hashtable-2, does it mean >=2 and <3?
<amano>Where can I find the documentation about precise gnu package dependency specification?
<Rutherther>amano and how does that work? Gentoo keeps build recipes for multiple versions?
<amano>Rutherther: Gentoo has ebuilds(package definitions) for multiple versions of each package.
<amano>But, to install multiple versions of each package, each version must have a different slot number.
<amano>For example, gtk 2's slot number is 2, and gtk 3's slot number is 3.
<amano>I know that on guix, there is no slot.
<nckx>kryptec: To make sure we're not debugging the wrong thing: what does 'ldd /gnu/store/.../bin/guile' print?
<Rutherther>ghc-hashtable-2 just means use what was exported with that name out of another module, or in your own. Yes, it will probably mean what you mentioned. But guix doesnt keep many packages with multiple versions. Just some when other stuff would break
<amano>In some cases, you want multiple versions of some packages.
<AwesomeAdam54321>amano: For Guix, the version number is the "slot"
<amano>How do you deal with that?
<kryptec>Thanks for your time Rtherther either way. When I run 'systemctl list-units --type=service' I get 'guix-daemon.service loaded active running Build daemon for GNU Guix'
<amano>Like gtk 2 and gtk 3.
<Rutherther>There is no need for slot since everything resides in /gnu/store, and everything references correct deps with full pathto them in the store
<amano>How can a gnu guix package depend on gtk >= 2.3 && < 3?
<Rutherther>kryptec yes, but what is the actual definition of that service?
<kryptec>the 'guix-publish.service' comes out as failed though -> 'loaded failed failed Publish the GNU Guix store'
<amano>On gentoo linux, you can specify a dependency as gtk >= 2.3 && < 3.
<nckx>amano: There is no version solver in Guix. The CLI can do foo@2 to match the highest foo 2, 2.1, 2.1.1 etc. but that's the only 'boundary' you get. These are never used to write packages.
<Rutherther>amano it cant you just specify a specific version to use. You can of course provide any version you want or depend on whats in the channels you use
<AwesomeAdam54321>amano: A Guix package references a specific dependency, so it's up to the packager what dependency version it should use
<amano>Can I specify gtk@2 as a dependency in a guix package definition?
<nckx>In effect, yes, although you'd write gtk-2.
<AwesomeAdam54321>Yes, since the gtk-2 variable is the latest version
<kryptec>ah sorry Rutherther, I'll paste it below
<kryptec> https://0x0.st/Xt-k.txt
<amano>Is it possible for a guix package definition to depend on a range of versions for a dependency?
<AwesomeAdam54321>No
<amano>But, you say foo@2 is like 2, 2.1, and 2.1.1.
<amano>That's a range.
<AwesomeAdam54321>Guix has multiple versions available for installing, but the packages must specify their exact dependency as a part of functional package management
<AwesomeAdam54321>s/dependency/dependencies
<amano>Okay, so if someone replaces gtk-2.2 with gtk-2.3 and a package definition depends on gtk-2.2, then the package definition breaks?
<nckx>amano: No.
<Rutherther>kryptec okay, I dont see anything out of the ordinary there, so sorry, but I am out of ideas
<nckx>Well, maybe, if they aren't source-compatible.
<kryptec>Thanks for taking a crack at it at least Rutherther :)
<amano>That's going to be tough if I want to write a package definition that depends on gtk 3 instead of specific versions....
<Franciman>i think in practice you're not gonna have this problem, amano, because guix usually doesn't package _all_ versions of a specific package
<amano>guix has gtk+ 2.24.33 and gtk+ 3.24.41
<amano>If gtk+ 3.24.41 is replaced with gtk+ 3.25.33, a package definition that depends on gtk+ 3.24.41 will breka.
<amano>breka -> break
<Franciman>that is not gonna happen
<Franciman>guix favours reproducibility
<amano>Sometimes, you need multiple versions of a specific package....
<Franciman>and you have
<Franciman>but in my experience guix repos don't contain too many versions of a specific package
<amano>Franciman: How does guix not end up pulling rugs on versions?
<Franciman>what deos it mean, sorry. I am not an english speaker
<Franciman>does*
<amano>You can't keep all versions of a package.
<amano>At some point, you have to prune old versions.
<AwesomeAdam54321>It's the upstream packages that pull rugs on versions, since they didn't bump the major release version when making big breaking changes
<amano>If my package definition depends on gtk+ 3.24.41, at some point, gtk+ 3.24.41 will have to be deleted... and replaced with something like gtk+ 3.35.33.
<amano>Let's assume that my private guix channel depends on gtk+ 3.24.41 from official guix channel. If the guix channel replaces gtk+ 3.24.41 with a higher version, my package definition in my private channel will break.
<kryptec>nckx: I don't supposee you have any more ideas about my libX11 issue?
<Rutherther>kryptec btw when you installed with the install sh script, have you unjnstalled guix completely, including removing the whole store and /var/guix?
<kryptec>I think I got everything? I remove the /gnu directory as well as /var/guix and local .config/guix
<amano>Where can I find the documentation about a package definition's exact dependency specification?
<kryptec>I needed to reboot before my system let me delete the /gnu directory though
<amano> https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/fcitx5.scm?id=master#n190 says a pacakge definition can depend on gtk+-2 and gtk+.
<amano>That's a bit confusing because the guix documentation doesn't explain dependency version specification.
<nckx>kryptec: Did you see/answer my ldd question?
<nckx>On 'phone, UX sucks, sorry.
<kryptec>nckx: Sorry I missed it! One sec
<kryptec>I've pasted it below nckx
<kryptec> https://0x0.st/Xt-h.txt
<nckx>amano: Guix packages don't use dependency version specification. You (or a maintainer) writes (define gtk+ (package (name "gtk") (version "2.1") ...)). The variable name 'gtk' is now bound to that package. That's it. No lookup, no solver. If the author chose 'gtk-2', you have to write 'gtk-2' in your code. Neither the '-' nor the '2' in it mean anything, code-wise.
<nckx>My point would have been better had I not typoed 'define gtk'. Ignore the +.
<amano>But, there is no package named gtk+-2 in the official guix channel.
<amano>It just has gtk+ 2.24.33 and gtk+ 3.24.41.
<nckx>kryptec: Ah, OK, so this 'libX11' injection is coming from inside the house, er, Mint. Not a /gnu/store file name. I'll take a look at it later, don't wait for me, have to go.
<amano>fcitx5-gtk depends on gtk+-2 and gtk+.
<kryptec>Thanks for the help nckx !
<amano>Something is not documented?
<Rutherther>amano keep in mind distinction between guile symbols, and guix commands like search that just show you name of the package, not symbol it is bound to
<Rutherther>Also the commands accept specifications that also ignore bound symbols and look at name and version, ie. gtk@2 means find package with name gtk, and version 2. In guile you are usually not doing that, and reference the specific symbol the package is bound to
<amano>That means a package definition can have alias symbols?
<Rutherther>Sort of. Every exported package has a symbol associated.
<amano>Damn, the guile symbol for gtk+ 2.24.33 is gtk+-2
<amano>Package name is gtk+, but the symbol name is gtk+-2.
<amano>So, you just offer different guile symbols for different versions of the same package.
<Rutherther>Exactly
<nckx>kryptec: OK, something Minty is definitely injecting all that 'AppProtection' ...stuff, apparently in the most forceful breaking way possible. This... stuff then links against the Mint glibc, and yeah, mixing arbitrary glibcs in the same process this way is known to asplode.
<nckx>For comparison, here's an ldd of that exact same binary on an uncontaminated system: http://0x0.st/Xto-.txt
<nckx>What, in conclusion, the hell.
<amano>I think the guile symbols are like gentoo package slots.
<nckx>Ehhh. I wouldn't call them that but I can see the metaphor.
<amano>Except that each versionn can be completely separated from other versions. On gentoo, each version can't be separated from other versions....
<nckx>kryptec: I assume that searching for 'libAppProtection' will tell you more. I have to reboot my 'phone before I can do so.
<kryptec>that's interesting nckx I guess for some reason it's linking to a lot more libraries. I'll search for 'libAppProtection' and see if I can find some clues. Thanks!
<nckx> https://blog.karssen.org/2023/06/02/dont-install-citrixs-appprotection/
<nckx>I mean, the title is obviously true, this is a fundamentally broken design. This will break more than Guix.
<nckx>But I also thought you said this was a vanilla install. Maybe I misinterpreted 'fresh' or so, my scrollback's nuked.
<kryptec>ahhh, I did install Citrix's AppProtection installed when I intalled citrix. So this could very well be it.
<kryptec>It was a fresh install of guix but not of Mint
<nckx>OIC.
<kryptec>I guess my next plan of action will be to try and uninstall citrix and reinstall without app protection. Thanks!
<amano>Has anyone looked into guix package parameters?
<nckx>kryptec: If it's any consolation, the fact that they chose such a broken design means that their 'protection' is probably not something valuable to lose.
<nckx>amano: Yes, by that name (or 'paramete?ri[sz]ed packages') so you should find prior discussion easily. It never quite made it... so far.
<kryptec>nckx: not too surprised. I need citrix for work, but the app protection was an option in the installer that I guess I would be better off without
<nckx>kryptec: Also, thanks for introducing me to the newest addition to my cabinet of enterprise horrors. I was blissfully unaware.
<amano>The author of guix parameterized packages has been dormant on it for a year.
<nckx>kryptec: I wouldn't be surprised if it included telemetry, you know, to improve the product, that also happens to log each binary you launch as an unavoidable side-effect...
<nckx>(Just a guess though.)
<amano>Protection is a code name for surveillance.
<kryptec>nckx: I also wouldn't be surprised if it had a bunch of that garbage. Sadly I need at least the base citrix stuff for work
<amano>Employee surveillance is expected.
<amano>Without surveillance, executives won't be able to trust employees in some cases....
<nckx>I can't find any evidence for that so I'll take it back but them loading their binary blob into every process you run sure makes it hard to prove a negative.
<amano>For example, if you are a warehouse executive, you wouldn't trust that your employees won't steal anything without AI-controlled CCTVs.
<amano>Some business models require surveillance....
<amano>Is it possible to depend on one among several packages?
<amano>pyradio depends on mpv, mplayer, or vlc.
<amano>It just needs one of them.
<AwesomeAdam54321>Guix supports multiple package profiles, so it doesn't make sense for a package to have optional dependencies at compile time
<AwesomeAdam54321>Optional runtime dependencies work fine
<amano>Guix is a source-based package manager...
<amano>How can I specify that only one of several dependencies is needed?
<amano>Do I create pyradio-mpv, pyradio-mplayer, or pyradio-vlc?
<amano>If there were package parameters, mpv, mplayer, and vlc would be package parameters.
<Rutherther>Yeah, sadly since parameters are not a thing at least yet, you have to inherit the old package and get rid of what you dont want, ie. Use modify-inputs, modify-phases. So it is definitely possible, but will be some work.
<amano>How does guix handle /etc/pam.d? I'm sure that guix packages don't install files directly into /etc/pam.d
<amano>/etc/pam.d files come from many packages, and a login session needs to have all files in /etc/pam.d
<amano>Perhaps, not having anything /etc/pam.d works?
<Rutherther>You have a pam service that writes to /etc/pam.d, so you declare the rules with that
<Rutherther>And generally, stuff like this, writing to folders like that is done by services. The packages can write only to GNU store by design
<Rutherther>This also allows you to boot into multiple generations, where each can have different files in /etc and such, and just create them on boot
<amano>I wish this chat room was on matrix protocol. I can't post images here....
<amano>But, the services come from guix packages....
<Rutherther>No, operating-system or guix home services are a separate thing, not provided by packages. There is a Matrix room #guix:libera.chat (https://matrix.to/#/#guix:libera.chat) less active though
<Rutherther> https://guix.gnu.org/en/manual/devel/en/html_node/Services.html
<micia>amano: you could upload them to a pasteboard and share the link. I believe some IRC clients even automate the process. There are a couple of self-hostable free software solutions, first one that comes to mind is picsur
<amano>What???
<amano>I install swaylock package, and where does its PAM service come from?
<Rutherther>You have to make a service, or use already existing one if it exists. There is an example in the doc specifically for swaylock
<amano>But, if I install swaylock on arch linux or gentoo linux, I don't have to configure /etc/pam.d/swaylock separately.
<amano>That's backwards.
<amano>Without /etc/pam.d entries, I wouldn't even be able to log in.
<amano>What if I want to add a few lines regarding pam_gnupg to /etc/pam.d/swaylock?
<Kabouik>Is there a guide somewhere on how to install Guix without root permissions on a foreign distro?
<amano>Kabouik: https://guix.gnu.org/en/manual/en/html_node/Installation.html
<Kabouik>I am sudoer on the VM I was given access to, but it's all broken so I don't want to touch `apt` and risk people accusing me. Yet I'd like to use the shell and editor of my choice, installed from Guix.
<Kabouik>Thanks.
<Rutherther>amano you use pam service, or specifically for locker the locker service to add stuff to pam rules, including additions of lines
<amano>????
<Kabouik>amano that is the manual entry I was looking at already, but it says "It should be run as the root user."
<Kabouik>Though I think there is a way to install Guix without root permissions, placing the store elsewhere than /gnu/store.
<amano>I haven't done it myself. I don't know much.
<Guest22>Kabouik: It's just not a supported use case, but some people have come up with hacks like https://github.com/pjotrp/guix-notes/blob/master/GUIX-NO-ROOT.org
<amano>Rutherther: I don't understand.
<Guest22>I don't know if any are any good and I think Pjotr's no longer works as-is.  Not that I've tried.
<Guest22>Anecdotally, people who try out a custom store directory tend to tire of (re)compiling the entire bootstrap tree from scratch and such installations don't live long lives.  But it's an option.
<Rutherther>amano sorry I dont know how else to explain. You can look at how the operating system is configured in the manual and maybe it will be more clear
<amano>So, can guix services modify /etc/pam.d/swaylock?
<amano>can it add arbitrary lines to /etc/pam.d/swaylock?
<rhuijzer>screen-locker-services-type should add the necessary pam service yes, if I understand your question right
<Rutherther>Yes, services do that, packages dont
<amano>I'm starting to feel sad.
<amano>Things like /etc/pam.d/swaylock should come automatically if I install swaylock.
<amano>So, how can I add pam_gnupg support to /etc/pam.d/swaylock?
<amano>What about /etc/pam.d/sudo and /etc/pam.d/passwd? Do they have to be manually configured, too?
<Kabouik>Thank you Guest22
<amano>I'm thinking that some /etc/pam.d files should be configured automatically when I install packages....
<rhuijzer>I'm not really folowing amano, just use the screen-locker-services-type
<rhuijzer>pam just works
<amano>screen-locker-services-type doesn't support adding pam_gnupg support to /etc/pam.d/swaylock.
<rhuijzer>Ah okey. That's not my cup of tea.
<amano>I want to make guix add arbitrary lines to /etc/pam.d/swaylock.
<rhuijzer>Maybe look at the source code for screen-locker-pam-services for ideas ?
<Rutherther>Sudo comes with base services I think. It cannot be installed by just putting sudo to your profile also because sudo needs setuid flag for correct behavior. Gnu store cannot have setuid flag binarkes. So you need a security wrapper.
<rhuijzer>Yeah I only have base services, and sudo is built in
<amano>I think packages should come with services?
<amano>For example, installing swaylock should result in /etc/pam.d/swaylock automatically.
<mrvdb->I'm affected by https://issues.guix.gnu.org/72734 on powerpc64le platform. Could that patch be merged by someone?
<Rutherther>amano right, its the idea to provide the package with the service. But its just that there is not many people that have looked at stuff like swaylock specifically,etc. There is Just too many programs.
<rhuijzer>Swaylock is working fine here with just the screen-locker-service-type with the swaylock binary. (using-pam? #t) (using-setuid? #f)
<amano>The service should be enabled by default.
<amano>If it has to be enabled manually, something is wrong.
<rhuijzer>I don't see the problem. Just use the service.
<rhuijzer>If you really don't want that maybe try APT or another package manager
<rhuijzer>But guix is great
<Guest22>If you think packages should be allowed to set up system services, then Guix is not for you.
<Guest22>That seems... fine?
<Guest22>mrvdb-: <re: https://issues.guix.gnu.org/72734> Pinging civodul might suffice.  They have commit access (for some reason) and the patch has been out for review for almost a week, so let's see :-)
<PuercoPop>If I want to 'break' during a phase to look around/debug. Can I just replace the phase with raising an exception?
<amano>rhuijzer: You haven't needed to customize /etc/pam.d files through packaging system.
<amano>gnu guix hasn't focused a lot on customizability, yet.
<Guest22>PuercoCop: Yep, in combination with --keep-failed.  No need to throw it neatly either, just type an undefined nonsense word.
<Rutherther>amano packages will probably never be able to write elsewhere than to store. Thats by design. The most that I would expect a specific service for specific package. Like swaylock service type.
<amano>Then, if you don't manually configure /etc/pam.d/swaylock through guix, you won't have /etc/pam.d/swaylock by default. That means swaylock doesn't work by default.
<amano>That's bad UX.
<amano>Things should work out of the box without any configuration.
<amano>Things should be able to be configured through package manager or something else.
<mrvdb->Guest22 thanks, will try to catch civodul for it
<PuercoPop>Guest22: Thanks
<Guest22>I'm sure they'll be around soon.
<amano>Perhaps, can guix make pam look into /gnu/store/swaylock-xxxxxx/etc/pam.d/swaylock instead of /etc/pam.d/swaylock?
<amano>Then, it will work by default.
<amano>If I want to modify /etc/pam.d/swaylock, I can apply package transformation to swaylock.
<rekado>pam.d must be global IIRC
<amano>That would be the way done on gentoo linux or arch linux.
<Guest22>But not on Guix.
<amano>Modify /etc/pam.d files through package transformation.
<amano>Guix can be made to support this.
<amano>This doesn't break guix package model.
<Guest22>I think it does, because suddenly users can affect system state (and PAM of all things).  If not, describe how not.
<rekado>you can write files ot /etc/pam.d via pam-services in the system config.
<amano>In theory, guix can make pam look into /gnu/store/swaylock-xxxxxx/etc/pam.d/swaylock instead of /etc/pam.d/swaylock.
<Guest22>How?
<rekado>pam does not work this way
<rhuijzer>Show us the code amano :) , in the meantime you should really look into using guix for system configurations in a declarative way. It works great.
<amano>Then, make pam work that way.
<Guest22>Why?  Guix is not Gentoo or Arch.  That's a feature.
<amano>If pam looks into guix package store, then you can just apply package transformation to swaylock.
<amano>This is good ux.
<rhuijzer>To you it's good ux yes.
<rekado>amano: this is not how pam works. Are you familiar with how pam does its thing?
<amano>rekado: pam can be modified to do that.
<rekado>amano: how?
<amano>Convince pam developers.
<rhuijzer>No one is changing the inner workings of pam just for guix.
<rhuijzer>That isn't going to happen
<amano>There's also nix.
<amano>But, it can physically happen in theory.
<Guest22>amano: Substitute 'good UX' with 'my personal preference' to understand what you're asking.
<amano>You are saying that lack of pam.d files by default is good UX.
<rekado>amano: I suggest you read about pam before telling others what to do. On second thought maybe don't tell others what to do in any case.
<Guest22>Yes.
<rhuijzer>Yes.
<Guest22>If I didn't, I'd use Arch.
<amano>That's a bad side effect of deviating from FHS... because the rest of the world didn't expect functional package model.
<amano>PAM wasn't designed with functional package model in mind.
<Guest22>I am not a masochist.  I'm not using what I consider to be a substandard distribution.  I used Gentoo/Exherbo for a decade.  I know it well.
<amano>If people expected functional package model, you wouldn't need to configure /etc/pam.d/swaylock manually.
<amano>But, you would be able to modify /etc/pam.d/swaylock if you want.
<Guest22>I don't think that's true, but perhaps.
<amano>Things should work out of the box.
<amano>Things should be cusotmizable for advanced users.
<rhuijzer>You don't have to, there's a service for that. Just read a little bit more into guix and it's philosophy / inner workings
<amano>Then, those services should be enabled automatically...
<amano>The fact that swaylock doesn't work out of the box is bad UX.
<Guest22>It does.
<Guest22>Just not the way you learnt on other distributions.
<amano>That's like saying swaylock works smoothly without /etc/pam.d/swaylock.
<Guest22>I didn't say that at all.
<amano>/etc/pam.d/swaylock doesn't appear after installing swaylock.
<amano>What if I installed emptty? /etc/pam.d/emptty doesn't appear after installing emptty.
<rhuijzer>amano Packages shoudn't write outside the store. That's the whole thing, it's a part of the reproducibility aspect of guix.
<rhuijzer>So it doesn't happen automatically
<amano>Then, we need to think outside the box and imagine a solution.
<rekado>the solution is to use a system service for global system things
<rekado>no need to imagine it; it's already documented in the manual
<Guest22>But it's so much easier to imagine something :-(
<amano>But, that has to be written manually by each and every guix user.
<amano>Newbies will come to ask this over and over....
<Guest22>Only if they don't read the docs.
<amano>I installed swaylock, but it doesn't work. What is wrong?
<amano>The documentation is huge, and it is difficult to find the solution in the doc.
<Guest22>Search for 'swaylock'.
<amano>Does it contain how to make `emptty` work?
<rhuijzer>This is exhausting
<amano>emptty isn't in the documentation.
<Guest22>I've never heard of emptty, do I want to know what it is?
<amano>It is a login manager like GDM and lightdm.
<rekado>we have a manual and a cookbook; both accept contributions with examples
<amano>I think there must be a better way than this. Something better than FHS. Something even better than just functional package model alone.
<rekado>a Guix extension could also take a profile and print suggested system config examples.
<Guest22>Thanks, I'd never heard of it.  It doesn't seem to be in Guix.
<rynn>rekado: I like that idea. Kind of like the original character creation quiz in Daggerfall/Morrowind, where you answer a bunch of questions and it makes a recommendation.
<rhuijzer>wlgreet is a good alternative amano, since you are already using sway on wayland
<rhuijzer>Also very lightweight
<rhuijzer>But the learning curve of guix is a bit steep indeed, maybe I should write a good sway/ wayland example for in the cookbook
<rynn>I still have a lot to learn with Guix, though my biggest issue has just been random weird issues that don't seem to have anything to do with the package manager.
<rhuijzer>I've got some trouble wrapping my head around Scheme, so that's holding me back a bit
<Guest22>rynn: Oh, there are plenty of both.  Anything blocking you at the moment?
<Guest22>When I said we weren't masochists, well...  hm.
<rhuijzer>I'm just here because the Nix documentation (Nix the package manager? Nix the OS? Nix the Language?) is incomprehensible to me
<rynn>No blockers, just random stuff. Screen stopped turning off after inactivity. Time is correct but my timezone is listed as this weird "EDT (London, United Kingdom)" in Gnome even though my locale information is correct everywhere else. Windows de-maximize after I unlock the screen.That sort of stuff.
<rynn>Only actually package manager issue I've had is icedove 115 failing to install/update but icedove-minimal working just fine.
<amano>Why doesn't swaylock chroot into its own store directory? Then, it will find /etc/pam.d/swaylock in its own store.
<amano>PAM will see /etc/pam.d/swaylock without any configuration.
<notckx>rynn: Ah, all GNOME stuff.  (Not to blame GNOME, these are likely Guix bugs, I just don't use it.)
<notckx>Was the icedove thing a build-from-source failure or something else?
<amano> https://notebook.wesleyac.com/2021-10-recently/#2yRMLIGpt:0.Odmoyx08c:46 is a new idea for guix. Basically, guix + overlayfs to make guix transparent to programs.
<amano>With something like overlayfs, bash will be available at /bin/bash instead of /gnu/store/xxxxx-bash/bin/bash.
<notckx>I've often wondered what the overhead of such a system would be.  I have no idea.  Anything sounds plausible.
<rynn>notckx: I didn't dive in to much since most of it is new with me, but it looked like it was complaining about missing something from Python.
<amano>I think I've found a new research problem for nix and guix.
<kaij>how do I debug a shepherd failure? looks like my service type definition is good, and when I run the command manually it works fine. not sure how I can see what command exactly shepherd is running, or what it's output is.
<flypaper`>kaij: check /var/log/messages for the output or what you put for the #:log-file in make-forkexec-constructor
<kaij>flypaper`: thanks! that tells me the service is disabled. just enabled it an seems to work. what does that mean? is my service definition missing something to automatically enable it?
<flypaper`>kaij: usually it gets disabled if the process exited with a non-zero exited status (i.e. it crashed)
<flypaper`>are you using just "shepherd" by itself or are you using the guix machinery as well?
<kaij>using guix via reconfigure. presumably the disabled status doesn't reset on reconfigure, I experimented with the service definition and I guess it crashed often enough, got disabled and then made me very confused.
<kaij>should /var/log/messages also contain the stdout? cause it seems empty for me
<flypaper`>yeah i think it only captures stderr, maybe try adding #:log-file "/var/log/yourprocess.log" to your make-forkexec-constructor invocation?
<Hamled>I've tried to build guix using the instructions in the manual under "Building from Git" but I'm getting errors while it's building the translated manual. Is there anything about my system that could be impacting that? I'm running this on a guix system that's more or less the desktop example from the installation media.
<jackhill>cool, new rust bootstrap effort: https://notgull.net/announcing-dozer/
<nikolar>don't hold your breath jackhill
<jackhill>hehe, yeah, still cool to see though
<nikolar>rust is an enormously complex language and for a one man job, that's going to be very tough
<nikolar>look at how much progress gcc rust project had and they a few devs working on it a lot
<zimoun>hi!
<Rutherther>Hello
<rynn>o/
<nckx>Hi zimoun! It's been a while.
<zimoun>Hey nckx :-) Yeah! What’s up?
<nckx>Nothing, in a good way. Typing in the evening sun under the trees.
<nikolar>That sounds nice
<dariqq>hi i am trying to guix pull and keep getting an In procedure struct-vtable: Wrong type argument in position 1 (expecting struct): #f relatet to guile-zlib-0.2.1. Any ideas?
<nckx>Tis, tis.
<nckx>dariqq: Not that I have any ideas, but could you throw the complete backtrace up on paste.debian.net? Also, is the pulling Guix built from source or obtained some more official way?
<Rutherther>did you execute only "guix pull" without arguments? if so, what is the content of your ~/.config/guix/channels.scm?
<dlowe>hm... conflicting versions of zlib from gtk+ and gnutls
<dariqq>nckx: when using normal guix pull i get hit by guix substitute died unexpectedly eventually and with --no-substitutes it dies on guile-zlib. I am now pulling to the parent of the guile-zlib update and see if i can go from there
<dariqq>this is on an old thinkpad so building takes a while, but it looks like this is succeeding
<dariqq>i am now deploying to the laptop from a working machine in the hopes that this fixes things
<jaft_r>Are there ways to call "guix" commands through Guile? Like, – if I was running a script – Guile functions that I could call or would I have to do something like "guix install emacs" through something like "system", instead?
<dariqq>gced another 50 GB, and now things seem fine now. No idea what was causing this
<cow_2001>what does the --verbosity= flag expects?
<dariqq>cow_2001: i think integers
<cow_2001>dariqq: hmm!
<cow_2001>what do they mean?
<nckx>Higher is more verbose, but it's rather ad hoc. There are no symbolic levels or whatever even internally.
<nckx>N+1 should always imply messages from N, no (= verbosity 3) weirdness.
<rekado>jaft_r: you can use (guix scripts ...) for most commands
<rekado>these modules define procedures you can call (sometimes a little awkwardly)
<jaft_r>rekado: /perfect/; thanks so much!
<podiki>hey nckx good to see you back!
<gabber>trying to package perl's IO::Compress:brotli module i run into "ld: libbrotlicommon.a: error adding symbols: file format not recognized". what could be the cause of this? i'm not building for another arch or anything...