IRC channel logs

2021-07-21.log

back to list of logs

<jonsger>3.36.7 on sway
<leoprikler>okay, I figured out why my gnome-maps didn't run, haha
<jonsger>why?
<KittyOwO[m]>woah I didn't know gnome-maps was a thing, it looks quite neate. Is there anything like it thats less gnome-y? I know of open street maps and have been wanting a dedicated stand alone client for a while lol
<leoprikler>it seems I already had an open instance that wasn't unregistered (due to the bug), so subsequent ones didn't open either
<leoprikler>KittyOwO[m]: GNOME Maps is just an OpenStreetMaps viewer
<leoprikler>there's probably a KDE version of it somewhere as well
<KittyOwO[m]>ye, I just want a nice simple minimal configurable open street maps viewer that works well lol. Closest thing I have seen yet.
<KittyOwO[m]>Also, am I supposed to seemingly not be able to drag my view around?
<jonsger>KittyOwO[m]: you should, it's a bug
<KittyOwO[m]>Hmm, is it a known one?
<KittyOwO[m]>I should probably read up in chat to see if this was already discussed lol
<leoprikler> https://marble.kde.org/ hitherto unpackaged in guix
<KittyOwO[m]>ah neat
<drakonis>is it only me or icons on qt5 are a smidge broken?
<a432>can you run appimages on guixsd? work kind of requires some software that is only packaged in appimages otherwise it wouldn't matter much to me, but running guixsd is very important to me :)t
<drakonis>not yet
<drakonis>they expect a specific environment only found in standard distros
<leoprikler>a432: patchelf is your friend, but other than that no
<southerntofu>hello is it possible to have dependency on another ticket in debbugs?
<southerntofu>i'm looking for a way to trigger rebuilds of specific patches when a new patch is submitted on another issue
<southerntofu>(instead of rebuilding ALL)
<leoprikler>you can block issues by other issues, but idk how well that applies to your use case
<southerntofu>that sounds good, if the blocking tag can be applied by the submitter themself?
<maximed>anyone can add tags
<leoprikler>you would simply have to message the control server
<maximed>There are no special privileges for some people or something
<southerntofu>cool thanks
<maximed>Adding tags don't cause rebuilds though
<southerntofu>but "Debbugs user guide" link on https://guix.gnu.org/manual/en/html_node/Tracking-Bugs-and-Patches.html is broken
<maximed>are you using patches.guix-patches.cbaines.net/?
<southerntofu>(so i don't know the syntax of that precisely, but maybe i can just submit any kind of tags? i saw in here http://issues.guix.gnu.org/help#search that only certain tags are accepted, but maybe that's just for WebUI?
<southerntofu>maximed: no, some people are talking of opening a new substitute server i'm thinking about how to keep super close to upstream while allowing long-living local patches in case merging upstream takes time
<maximed>southerntofu: httpps://debbugs.gnu.org/server-request.html has some information
<southerntofu>so for example if we patch a build system, we'd like to rebuild all related local package declarations
<southerntofu>thank you!
<southerntofu>usertag it is, then
<maximed>Sounds like you want to run your own <https://ci.guix.gnu.org> but for you fork of guix?
<southerntofu>yes exactly
<maximed>(where fork = not really a separated project, changes are intended to be merged back upstream)
<southerntofu>but only provide substitutes for our local packages and/or packages impacted by a more global patch (eg. build system patch)
<southerntofu>(exactly)
<maximed>maybe look at "cuirass-service-type" in the guix manual
<maximed>and replace %default-channels with a channel with your modified guix
<southerntofu>i mean i'm not really a part of the project, although i've followed it from afar, but when i asked about the patch/rebasing strategy they had they had zero clue YET so i proposed to draft a little architecture document on how i would make it best from a UX perspective and how to implement it :)
<maximed>and an appropriate ‘job specification’ so only packages you're actually interested in are built
<southerntofu>thanks
<Noisytoot>guix pull failed with https://x0.at/VBc_.txt
<maximed>Rebasing (and not having your commits authorised) doesn't mesh well with channel authentication indeed (if that's what you were referring to)
<civodul>Noisytoot: the problem seems to be reproducible, not sure what the problem is
<civodul>i wonder if it could be a miscompilation of gnu/services/base.scm or something
<dstolfa>reproduces here too
<civodul>bummer
<civodul>whereas "guix time-machine --commit=2c1cdbb19bf752fb41db9a80bda867f9619541e5 -- describe" passes just fine, and it's two commits before
<civodul>pushing another commit that'll cause a rebuild of guix-system-tests.drv
<civodul>let's see
*civodul -> zZz
<dstolfa>sneek: later tell civodul: i managed to pull successfully
<sneek>Got it.
***califax- is now known as califax
<jab`>hey guix, I'm over at https://jitsi.member.fsf.org/guix doing some live documentation things. Ya'll are welcome to join
<drakonis>huh, neat.
<jab`>does the btrfs volume manager support install ext4?
<drakonis> https://btrfs.wiki.kernel.org/index.php/Conversion_from_Ext3/4_and_ReiserFS
<apteryx>has anyone experience with multicast networking? Is there some configuration to be made for it to work on Guix System?
<wirez>i also wanna know
<wirez>is there a part in the docs about advanced network configs?
<wirez>like firewalling, vpns, multicast
<apteryx>answering myself: multicast is enabled on Guix System, and seem to work on my LibreCMC switch (pinging 239.192.0.1 is broadcasted to other devices on the same LAN for example).
<marusich>Anyone have any idea why GDB isn't working here? https://debbugs.gnu.org/cgi/bugreport.cgi?bug=48941
<marusich>(See latest message.)
<leoprikler>sneek later tell marusich pure environments still have access to your filesystem and depending how libfaketime.so was linked that might make a difference
<sneek>Okay.
<KittyOwO[m]>hmm, are previous uses of config.scm stored anywhere when you reconfigured guix?
<KittyOwO[m]>messed something up on my config.scm and for the life of me can't figure out what lol
<jeko>Yo Guixters !
<KittyOwO[m]>hello! uwu
<jeko>Guix is telling me I need a module import for because of `users: unbound variable` but I don't know which one to bring…
<KittyOwO[m]>ah, I am getting quite a similiar issue right now lol. `error: Use-modules: unbound variable`
<jeko>This one is pretty hard haha
<jeko>maybe I can have a look to your file !
<MysteriousSilver>i usually cd to the local copy of guix and `git grep '(define.* <unbound variable>'`
<jeko>never thought about that
<KittyOwO[m]>hmm
<KittyOwO[m]>aaaaaaaaaaaa
<the_tubular>Can someone ELI5 how I would pin a package to a certain version ?
<the_tubular>My idea was to have a manifest file with 1 package and the rest installed as root, but i'm sure there is a better way of doing this right ?
<the_tubular>Or I guess I could create a channel with only this package ... But there must be a better way right ?
<PurpleSym>the_tubular: You can use Inferiors: https://guix.gnu.org/manual/devel/en/guix.html#Inferiors
<the_tubular>Thanks!
<KittyOwO[m]>back
<KittyOwO[m]>hmm, been trying off and on for a bit, still cannot figure out where this `error: User-modules: unbound variable` issue is coming from lol
<MysteriousSilver>post config
<MysteriousSilver>or whatever file you've been working on
<KittyOwO[m]>ah right, I don't quite know how to send the full thing but I suspect it happens near the start. I made the mistake of playing around with emacs for one of the first times and might have done something without intending it lol, I believe it is a problem on this line
<KittyOwO[m]>`(Use-modules (gnu)(gnu packages xdisorg)(gnu packages graphics))`I haven't gotten enough sleep so unless there is something obvious wrong then I can send the full config.
<MysteriousSilver>`s/Use-modules/use-modules`?
<KittyOwO[m]>hmm?
<MysteriousSilver>the U should be lower case?
<KittyOwO[m]>oh huh
<KittyOwO[m]>That fixed the issue.
<KittyOwO[m]>I don't even know how that one happened
<KittyOwO[m]>ye
<KittyOwO[m]>in my struggles with emacs I must have invoked some oddly specific command that did that, or accidently deleted and rewrote it like that. I don't know why I thought it would be a good idea to play with emacs for one of the first few times as root on an important file LOL
<KittyOwO[m]>thanks uwu
<SrainUser>Hello guys! How do I set up sddm instead of gdm in my config file? I had no luck getting it work
***attila_lendvai_ is now known as attila_lendvai
<jave>hello
<jave>I'm trying to build an emacs by modifying the guix provided emacs module
<jave>I would like to enable --with-native-compilation
<jave>for this I need to add the libgccjit dependency
<jave>I tried doing it the same way webkitgtk is added, but for some reason this doesnt seem to work for libgccjit
<jave> #:use-module (gnu packages libgccjit) ; for --with-native-compilation
<jave>results in no code for module (gnu packages libgccjit)
<efraim>`guix package -A libgccjit` will let you know which modules libgccjit is in
<jave>thanks, I figured it outnow!
<jave>I mistateknly belived libgccjit was its own symbol
<jave>but now I get: configure: error: The installed libgccjit failed to compile and run a test program using
<jave>the libgccjit library; see config.log for the details of the failure.
<jave>in the emacs build log
<jave>ok, seems harder than i thought, there is a guix channel that has an emacs native comp recipy: https://github.com/flatwhatson/guix-channel
<raghavgururajan>Hello Guix!
<iyzsong>hello~
<SrainUser>Can someone tell me what am I doing wrong? I'm trying to change gdm to sddm but had no luck getting it work. This is the services section of my config https://paste.debian.net/hidden/e814cb5e/ . And this is the output I get when trying to run guix system reconfigure https://paste.debian.net/hidden/49b5eb2a/
<jab>morning #guix!
<jab>SrainUser: I've had that weird "cannot determine provindence" issue before...
<jab>maybe try doing a guix pull.
<jab>I don't know if that will help.
<SrainUser>I think that this warning is not the actual problem
<SrainUser>Not the main one at least
<SrainUser>jab: Also running guix pull didn't help
<iyzsong>SrainUser: You can remove the end '%desktop-services', replace it with '(modify-services %desktop-services ...)', that's a duplicate in your config.
<iyzsong>(modify-services ...) return a list of services
<SrainUser>iyzsong: I removed it, but still get the same error.
<iyzsong>SrainUser: um, could you paste a full config?
<SrainUser>ok, just a sec
<raghavgururajan>jab: Do you have an XMPP address?
<jab>raghavgururajan: I think I just sent you the XMPP address.
<jab>did you get it?
<SrainUser>iyzsong: Here is the full config https://paste.debian.net/hidden/b16b6819/
<iyzsong>SrainUser: this should works: https://paste.debian.net/hidden/4e9dbe26/
<iyzsong>you need send '%base-packages' and '(modify-services ...)' as arguments of 'append', not nested in its first '(list ...)'
<iyzsong>SrainUser: also you can use (map specification->package '("openbox" "nss-certs" ...)) to avoid repeat call 'specification->package'...
<SrainUser>iyzsong: Thank you very much, it actually worked
<SrainUser>I don't really know how though, because I looked at your version and tried to fix mine according to the changes, and the problem still was there
<SrainUser>But then I just copied your config and it worked
<SrainUser>Also thank you for the tip with the packages
<SrainUser>I was trying to figure it out by myself some time ago
<iyzsong>SrainUser: yeah, there are two changes (both is 'append'), one is %base-packages, other is (modify-services ...)
<iyzsong>they are both list, you need '(append (list ...) other-list)', not '(append (list ... other-list))'
<tissevert>hello guix
<SrainUser>Oh, I see the difference. The packages section was missing a parentheses after xsetroot
<iyzsong>yes :)
<SrainUser>Thank you again, if not for you I would probably struggle setting this up much longer :D
<iyzsong>np, you're welcome
<iyzsong>somehow it's hard to get used to those ((()())())..
<the_tubular>I know I asked this question already, but I can't find an answer that satisfy me ... How should I use manifest file vs config.scm to install packages ?
<the_tubular>Which package should go in which file ?
<the_tubular>WM, filesystem and this kind of stuff should go in config,scm right ?
<tissevert>the_tubular: yes I think so
<tissevert>(at least, that's were I declare using xmonad, and that's where I setup tmpfs on /tmp)
<the_tubular>Which kind of package should go in a man file then ?
<tissevert>I don't know which *should* as in RFC something, but I happen to have a manifest acting as a sort of «wish list» for a collection of packages I want installed only for my user, that are a bit heavy and I don't want upgraded anytime I try and update my system (because I can live being two minor versions of Libreoffice late, for instance)
<iyzsong>my system 'packages' are only 'nss-certs, file, screen, and %base-packages'
<tissevert>that way, I can upgrade whenever I want without having to worry too much about bad weather and my computer suddenly attempting to compile ungoogled-chromium
<the_tubular>That's a good point tissevert
<the_tubular>Yeah, I think pretty much everything with a GUI will be in my manifest file
<the_tubular>Packages like docker, git and curl makes me hesitate though
<tissevert>a helpful tip I received here after popping in to cry that I was lacking substitutes : ) pass it on when the time comes
<tissevert>that said, I put a good deal of my GUI everyday-use programs like my mail client or text editor, git and light UNIX tooling in config.scm, because they're light enough to be virtually «always» available
<tissevert>I don't know whether that's a good thing, I guess it's just a matter of what you consider *your* system, and what you want to simply have handy to install and «remember»
<tissevert>but ultimately drawing the line belongs to you
<tissevert>what you *have* to put in your config is everything that's relative to the system itself like users, services, etc.
<tissevert>I haven't used docker on guix, but I suppose there must be some kind of herd service for it, isn't there ?
<the_tubular>No clue, I just installed it ^^'
<tissevert>the package ?
<the_tubular>Yes
<tissevert>I'm curious what you get: I suppose it yields the executable, that will only be able to complain it can't find its daemon, right ?
<tissevert>I would've expected docker's service to be in http://guix.gnu.org/en/manual/en/html_node/Virtualization-Services.html#Virtualization-Services but I can't find it
<tissevert>so either I'm completely wrong or it's somewhere else
<tissevert>the_tubular: and there it goes http://guix.gnu.org/en/manual/en/html_node/Miscellaneous-Services.html#Miscellaneous-Services
<MysteriousSilver>does shepherd have a mascot/logo?
<tissevert>not that I know of
<hendursaga>Hey everyone! Back again after frustration with Ansible, etc. What's the state of containers now? Is there some container orchestration software like Kubenetes?
<the_tubular>I'm very new to guix, what do I do with that tissevert ?
<the_tubular>Is it for starting docker kind of like what systemd would do ?
<hendursaga>I saw that post on Ganeti but that's just for VMs, right?
<the_tubular>I mean, you could dockerize k8s :P
<tissevert>hendursaga: what a timing ! we were precisely discussing docker services and I linked to virtualization services by error
<tissevert>the_tubular: yeah, shepherd is the init system of Guix, it performs the same general operations that others like systemd, openRC or runit do on other distributions
<the_tubular>Yes that I know. But the page you sent doesn't really mention shepard, it seems to list packages that are included in docker
<tissevert>I'm pretty sure you can simply «install» a daemon in an environment to run it by hand and see how it goes, but the «correct» way to enable a service is through your config.scm by including it in the (services …) field
<the_tubular>Ohh, so I should have installed docker in my config.scm ?
<tissevert>not «installed» like you think
<hendursaga>tissevert: is there a Docker service though?
<tissevert>hendursaga: it would look so if I believe the second link, the one just before your old connection died
<tissevert>the_tubular: if you look at other services, you may understand the general pattern
<tissevert>grep for systctl-service-type higher on the same page
<tissevert>see ? you simply add sysctl-service-type to %base-services
<hendursaga>Ha, under miscellaneous, funny
<tissevert>and this expects a sysctl-configuration
<tissevert>hendursaga: yes and no, technically containers are not proper «virtualization» (there's no virtual machine or emulation involved, since they're precisely about reusing the kernel in a separate (sub-)filesystem
<hendursaga>K8s seems like it would take a little while to get packaged, Golang and all
<tissevert>I think it makes sense
<tissevert>the_tubular: likewise, there's a docker-service-type and a docker-configuration
<tissevert>and the page I linked is there to tell you about the various options you can pass to tweak your docker daemon a bit
<the_tubular>But I mean, what's the point of including docker in a man file if I need herd and root privileges to start the daemon ?
<tissevert>but setting that doesn't mean the docker command will be available in your environment (I don't know how it's done in guix, perhaps it will, but I mean conceptually they're two separate concepts, you could want one and not the other, and in any case they run in separate environments — you don't run docker as your user in other distros, do you ?)
<hendursaga>How "secure" is guix environment --container anyways? Same as Docker/podman containers?
<hendursaga>tissevert: well, with podman, it's rootless, so yes, I've run containers under other users
<the_tubular>Yeah, but podman isn't package on guix yet
<the_tubular>So, no I gotta run as root, sadly
<tissevert>the_tubular: I think there's absolutely none for the daemon, but if you need the client to manage your containers, well the manifest is as good a place as anyother to declare that you want it in your environment
<tissevert>though, personally, by choice, I'd put it in my system config.scm, but it's just a matter of taste
<the_tubular>There's absolutely none, what does that mean ?
<tissevert>as root ?
<tissevert>the_tubular: reason
<tissevert>you asked earlier what would be the reason to include it in a «man file»
<tissevert>I said there was none
<tissevert>no reason
<the_tubular>I'm sorry your sentence confuse me, there is no reason to _____ for the daemon ?
<tissevert>just forget it, I'm sorry, I'm just not very good at following and answering several textual conversations at once
<tissevert>could we forget it and resume as if I hadn't had the terrible idea to answer your question that way ?
<the_tubular>Sure, but my question still stands then
<tissevert>ok, and my answer, I hope, will be clearer this time
<the_tubular>Why would I put Docker in a Man file for a specific user, if I need it to run it as root to run the daemon
<tissevert>1st: I really don't think setting up the service in herd makes it run as root
<tissevert>I think it's cleaner than that and gets its own user
<tissevert>for instance, I run GDM, and when I grep ps for the process, it's run by a dedicated user 'gdm'
<the_tubular>Really? I'm pretty sure the deamon has to be run as root, let me confirm that
<the_tubular>I might be wrong though
<tissevert>maybe it's not the case for docker, I don't know the particular of every service
<tissevert>but I mean it would be a particular case
<tissevert>some processes have to have privileges, like a web server to be able to open ports under 1024 (namely 80 for HTTP and 443 for HTTPS), they're simply granted particular privileges at run time
<tissevert>without «being» root, so I'd expect docker to be able to do the same but maybe it isn't, I don't know : )
<tissevert>that said, the general pattern and I'm trying to convey here, is that what Guix does is create independent environments that have everything they need and that only
<tissevert>so enabling a server doesn't mean you have to have the executable in your path
<the_tubular>I see
<tissevert>to keep my comparison, I run GDM, I can see the process in the output of ps
<tissevert>but it's not in my path
<the_tubular>So I could install docker as a user and enable the service in config.scm correct ?
<the_tubular>I'm not familiar with GDM, sorry
<tissevert>absolutely ! : )
<tissevert>(it doesn't matter, it's just the first example I thought of, it could've been mpd)
<the_tubular>Got it
<tissevert>that's great !
<the_tubular>Yeah the symlink voodoo is a bit confusing for a new user ^^'
<tissevert>it's no voodoo… (it's proper and simple, solid, black magic, well documented in spellbooks)
<tissevert>; )
<the_tubular>lol
<tissevert>well actually it's not that different from the idea of containers
<tissevert>have you tried making «containers» from scratch, by hand, simply adding as little as you must, untill things stop to crash
<efraim>civodul: my pine64 goes OOM when building rust@1.29 on core-updates with 2GB of ram, 4GB of swap but builds successfully emulated on x86_64, I'm counting that as working
<the_tubular>Ooh, Pine64. Is guix usable on it ?
<tissevert>you'd get a «partial system» with everything that *must* be there but nothing else
<the_tubular>Yes, I guess Symlinks are confusing me
<the_tubular>Containers is just a whole other OS without a kernel
<the_tubular>So it's kind of easy knowing what's in and what's not in, as you just call your package manager like normal
<the_tubular>But I get what you say
<tissevert>well it's even easier to know what's inside an environment, you simply look into the subdirectory : )
<the_tubular>Which subdirectory ?
<the_tubular> /bin ?
<tissevert>no, I meant the inhabitants of /gnu/store/
<the_tubular>but /gnu/store has every package that is on the system no ?
<tissevert>no
<the_tubular>Not the one called by your specific user
<tissevert>au contraire
<tissevert>and that's the beauty of it
<the_tubular>Ohhh, guess I misunderstood that part then
<tissevert>everything ends up there
<the_tubular>So where is every packages then ?
<tissevert>all packages are in /gnu/store
<tissevert>each in a separate directory characterized by its hash
<roptat>hi guix!
<tissevert>that is based on many parameters I don't really know, but think stuff like version, dependencies and such
<Noisytoot>GNOME Boxes (installed from Guix) recommends nonfree operating systems (RHEL and Fedora are both Featured Downloads, and more nonfree operating systems are listed in Operating System Download)
<tissevert>hello roptat ! o/
<tissevert>the_tubular: when a package is needed (be it from a service, and explicit installation, global to the system or to a particular user), the guix-daemon computes it, keeps it in the store, and then makes symlinks to its content
<the_tubular>"makes symlinks to its content" ?
<tissevert>sorry, confusing again
<the_tubular>All good ^^
<tissevert>I mean, there are not only «packages» there
<the_tubular>What is point A to point B of the symlink ?
<roptat>what's the question?
<tissevert>there are all the stuff that can be needed, derivation files themselves, packages results, and environments
<roptat>there are so many symlinks ^^'
<civodul>efraim: re rust on aarch64, that doesn't sound good!
<sneek>civodul, you have 1 message!
<sneek>civodul, dstolfa says: i managed to pull successfully
<tissevert>I'm trying to explain what I understood of GUIX package managements (and doing a poor job of it ^^)
<civodul>hi all! :-)
<tissevert>hey civodul
<roptat>hi civodul :)
<efraim>it's much better than master, it's just OOM, so the build farm should be able to do it
<roptat>the_tubular, you can follow the symlinks from ~/.guix-profile for instance
<the_tubular>What I though (but is probably wrong) was that the packages were computed in /gnu/store and symlink in /bin as needed by your man file
<civodul>efraim: oh, i hadn't understand it's actually an improvement :-)
<civodul>*understood
<roptat>the_tubular, no, there's no /bin
<tissevert>the_tubular: so the environment you asked for gets computed by Guix, and populated with symlinks to the actual binaries or directories needed in their own /gnu/store/… place
<efraim>i'm building out to it also on powerpc (with less ram, so I don't have any hopes there) and on the guixp9 VM
<hendursaga>civodul: I think I'll finally get around to watching your FOSDEM 2020 talk now, haha
<the_tubular>Can I get a link ? I like watching talks ^^'
<hendursaga>the_tubular: https://archive.fosdem.org/2020/schedule/event/guix/
<the_tubular>Ty :)
<tissevert>the_tubular: also, very simply, look at the binaries in your PATH, like so http://0x0.st/-Vvf.txt
<roptat>when you install a new package to your profile, guix will download/build the required packages and create a new generation of the profile in the store, as /gnu/store/...-profile. Then, when it's successful, it'll also create a symlink from /var/guix/profiles/per-user/$USER/guix-profile-nn (where nn is your current generation+1), and symlink /var/guix/profiles/per-user/$USER/guix-profile to it. ~/.guix-profile is itself a symlink to
<roptat>/var/guix/...
<roptat>now the profile in the store contains all the packages you asked for, as symlinks to their respective store directory/files in the store items, and additional metadata files
<the_tubular>Ok, I think I understand
<roptat>so when you install hello, it ends up in ~/.guix-profile/bin/hello, and that's a chain of symlinks until it reaches /gnu/store/...hello-2.10/bin/hello
<roptat>which is why ~/.guix-profile/bin should be in your $PATH
<the_tubular>Got it, thanks for the precision!
<the_tubular>You guys are great!
<roptat>s/guys/people/ ;)
<the_tubular>Sorry!
<tissevert>I was going to say not all «guys», but thanks for the «great» ; )
<the_tubular>"Guile is such a great programming language that you don't need python"
<the_tubular>That's a quote and a half :P
<tissevert>: )
<hendursaga>civodul: OK those slides look amazing, how'd you make them?
<tissevert>I love the LOLing whale with the Guix horns on slide 26 : D
<rekado_>:)
<rekado_>I drew the whale in Inkscape
<rekado_>the slides, actually. The whale is an adaptation of the old Docker logo (I think I traced it in Inkscape).
<the_tubular>That whale is fabulous
<tissevert>rekado_: good job
<the_tubular>Wait, there's a new docker logo ?
<rekado_>it has changed a couple of times in the past
<rekado_>it’s probably still the whale, but with a different number of containers on the back
<the_tubular>Ohh, right
<rekado_>and the whale no longer has a cute face
<the_tubular>Lost happiness from carrying so many containers :(
<rekado_>it’s a tragedy
<Aurora_v_kosmose>Language-wise Guile is better than Python. For some unclear reason the latter is more popular and sees more libs. :/ On the positive side, Guix has facilitated
<Aurora_v_kosmose>distributing more new libs.
<the_tubular>I'm not yet comfortable enough with guile to do everything I do with Python to be honest
<the_tubular>A lot of my python usage is also on foreign machine, and I've never seen guile installed on a CTF target :/
<Aurora_v_kosmose>I find that most cases where Python has better ergonomics than Guile for getting something done usually has something to do with a library patching over Python's interfaces for that something.
<Aurora_v_kosmose>the_tubular: That's a somewhat unusual case that does constrain you a bit to choices which the target machine can execute already.
<Aurora_v_kosmose>Once upon a time, that was only Perl.
<the_tubular>Python is pretty much the standard these days, maybe I'll try one day to make a guile script to hit a SQL DB, or connecting trough NC
<the_tubular>But I have 0 clue on how to do that right now ^^
<the_tubular>I can barely add a new package to my config.scm without getting yelled at :/
<Aurora_v_kosmose>Huh?
<Aurora_v_kosmose>Howcome?
<jpoiret>i remember someone talking about aligning operating-system's swap declaration to be more in line with file-systems, ie using dependencies explicitely with a file-system like object, has this already been done? if not, i could consider doing this as it should be pretty easy, but I'm not sure what path to take with the deprecation of the old way
<Aurora_v_kosmose>the_tubular: Also, one way you could do so is to simply have a bash script extract a tarball of a Guile installation into the user's $HOME, append the loading vars to the appropriate dotfiles and execute whatever scripts you want.
<Aurora_v_kosmose>You know those scripts that get packed with data at the end so they can drop executables?
<Aurora_v_kosmose>That.
<the_tubular>Yeah, I guess that could work
<the_tubular>I don't know if I only have a restricted shell though
<Aurora_v_kosmose>It's a bit gnarly to have to pack so much execution context in a payload but eh.
<Aurora_v_kosmose>the_tubular: I'd look into the shenanigans TRAMP does when it finds itself in such a situation.
<the_tubular>Yeah, but I have a tool to auto-exectute scripts on a target machine
<the_tubular>Maybe I could hack something with that
<Aurora_v_kosmose>You'll sooner run into blocking teamwork issues from it not being exactly standard to that field than technical issues I think.
<the_tubular>True ...
<the_tubular>Talking about guile I might need help with something
<hendursaga>the_tubular: in case you weren't aware, #guile exists here
<the_tubular> https://privatebin.net/?b1c2a07716e2c674#BsV8vdo9vgewQovD6h88Vbm3Ft6N1PxR752paTGbPjZZ
<the_tubular>This is what I have, it complains that there is 2 packages in the list, also I would like to be able to delete packages from %base-package.
<the_tubular>What would be the nomenclature ?
<roptat>map takes a procedure as first argument (you did) and lists as its other arguments (usually only one list), but you have strings instead
<roptat>you want something like (map specification->package '("nss-certs" "zfs"))
<roptat>also you closed the append too soon I think
<roptat>you can use filter to remove packages from %base-packages
<roptat>(filter (lambda (package) (not (equal? (package-name package) "foo"))) %base-packages)
<Aurora_v_kosmose>Goodness, not only does it need JS, it also needs WebAssembly support. Netscape as a mistake.
<hendursaga>Aurora_v_kosmose: at least it's open-source...
<Aurora_v_kosmose>hendursaga: I suppose. I didn't investigate further since that version of TBB didn't have WebAssembly support.
<the_tubular>Okay, that works! Now mounting my ZFS pool ...!
<civodul>hendursaga: the whale is courtesy of rekado_ (i love it too :-)), the whole thing is assembled with LaTeX/Beamer
<civodul>(which i wouldn't necessarily recommend)
<the_tubular>Oops, I think I'm building a new kernel
<Aurora_v_kosmose>I can't recall if that's supposed to be the case or not.
<the_tubular>Well I suppose there's no substitute available
<jorge[m]123>Hola,como puedo bajar la iso de Guix 1.2 ?
<Aurora_v_kosmose>jorge[m]123: Hello, my spanish is quite awful. You're asking how you can $something the Guix 1.2 iso?
<jorge[m]123><Aurora_v_kosmose "jorge: Hello, my spanish is quit"> Bajar la iso 1.2
<Aurora_v_kosmose>jorge[m]123: I don't know that "bajar" means. Is it download or burn?
<jorge[m]123><Aurora_v_kosmose "jorge: I don't know that "bajar""> descargar
<vagrantc>e.g. download
<vagrantc>jorge[m]123: https://guix.gnu.org/es/download/
<jorge[m]123><vagrantc "jorge: https://guix.gnu.org/es/d"> pero la 1.2
<vagrantc>si ...
<Aurora_v_kosmose>Huh. I'd been wrong. I had been guessing it meant burn and was halfway through writing an explanation about growisofs
<vagrantc> https://ftp.gnu.org/gnu/guix/
<jorge[m]123><vagrantc "https://ftp.gnu.org/gnu/guix/"> eso es 👍️
<the_tubular>Is there a way to not download an update if I have to build it?
<the_tubular>Like force it to fetch substitutes and just die if they don't exist ?
<vagrantc>the_tubular: there are some scripts mentioned in various places, and various manual processes or workarounds
<vagrantc>it is an often requested feature, surely there's a bug about it somewhere
<the_tubular>Yeah, I just wanted to try and mount my ZFS pool and now i'm stuck compiling the kernel :/
<vagrantc>the_tubular: you might revert the kernel upgrade with a custom guix build, presuming no other kernel dependencies changed
<the_tubular>No clue, I'll just wait it out, but it wasn't planned ^^
<vagrantc>or try an older generation ... the scripts i recall basically just look for versions that have all the substitutes available and downgrade/upgrade guix to that version
<the_tubular>This is something else, maybe I don't understand
<vagrantc>all the substitutes available for a given command, that is...
<the_tubular>But when I do an Upgrade, I'd like a clear list of what package is going to be upgraded from X version to Y
<the_tubular>I feel it is often pulling the same version of a package (?) And I don't really understand why
<vagrantc>with guix it is not just version upgrades, you might upgrade from version X to version X with difference dependencies
<roptat>the_tubular, because one of the dependencies changed
<the_tubular>Ohhh, right I added ZFS
<the_tubular>That makes sense
<the_tubular>But it builds the whole kernel ?
<dstolfa>only if there are no substitutes
<the_tubular>Well there's some licensing issue, and I think you can't distribute ZFS in the Linux kernel by default
<vagrantc>and ZFS is currently un-substituteable (if i remember correctly), so you *have* to build some of it
<the_tubular>I thought it would just build a module though, not the whole kernel
<roptat>but you need the kernel as a dependency I think
<dstolfa>i thought it was enough to use a precompiled kernel and just build the module with linux-libre-headers?
<vagrantc>or at least parts of "the kernel" ... e.g. headers and so on
<the_tubular>But could the kernel be pulled as a substitute
<vagrantc>if linux-libre-headers needs to be rebuilt ...
<the_tubular>Same dstolfa, but that's not what my machine is doing right now
<roptat>also I find it interesting that "unsubstitutable" means asking the client not to ask for a substitute, but the substitute is still there (if it was built) :)
<dstolfa>vagrantc: but surely in general this can be substituted, maybe the_tubular just hit an unfortunate timing?
<vagrantc>dstolfa: sure, that's possible
<vagrantc>downgrading to a slightly older guix might help ...
<the_tubular>I wish it was more verbose, so I can see exactly what is happening
<vagrantc>you can generate dependency graphs and such for a given package ...
<the_tubular>I'm talking about the update process
<the_tubular>Like, checkings for substitutes
<the_tubular>Or can't use subsistutes because X
<the_tubular>Pulling X package because Y dependency
<the_tubular>Etc
<the_tubular>When the package actually update it should show update from x.y to x.z
<vagrantc>you may actually need a complex graph to display that at times
<vagrantc>and in my experience, it does tend to show upgrading FOO (dependencies changed) or upgrading FOO (version -> version+N)
<vagrantc>but maybe not when building a system generation?
<the_tubular>I've never seen that message ^^
<the_tubular>well, albeit I'm only using guix for like 2 weeks now
<vagrantc>are you installing packages into user profiles?
<vagrantc>or just system generations?
<the_tubular>Like I have no idea why I'm compiling the kernel right now
<the_tubular>Right now system generation, as it is ZFS
<vagrantc>the messages i'm talking about typically come with upgrading user profiles
<the_tubular>Ok, gotcha
<vagrantc>system profiles are a bit different ... although i don't know if there's really a reason they couldn't be treated similarly
<the_tubular>Implementing for profile should be pretty easy though right ?
<the_tubular>It's just my 2 cents though, I guess there is reason why it's not happening
<vagrantc>might be just nobody has asked for it :)
<vagrantc>e.g. bug report
<the_tubular>I could file one, but I feel there's a piece of the puzzle missing
<the_tubular>The feature is implemented, it's just not used ... There must be a reason we're not thinking about no ?
<vagrantc>the_tubular: what better place to hash it out the missing pieces than in a bug report?
<hendursaga>Is there an easy way to have Shepherd contain a service as a container/guix environment?
*the_tubular Is afraid of the mailing list
<roptat>you shouldn't be, it's the same people on the ML and here anyway
<roptat>except your message is read by everyone, instead of just the few that happen to be connected at the moment :)
<Aurora_v_kosmose>They're also both as publicly logged.
<the_tubular> https://privatebin.net/?75a8aab801c66d57#GBxGABoatCm6KR3kXfK55vGY8VSt877kkSzEfhBHWWSQ
<the_tubular>Umm ...
<hendursaga>the_tubular: could you perhaps use a pastebin that doesn't require JS/WASM?
<the_tubular>Yes, my bad
<the_tubular> https://paste.debian.net/1205138/
<the_tubular>Here
<the_tubular>The target looks bad ...
<the_tubular>I'm using a normal x64 computer ...
<roptat>no i386-pc is right for grub
<the_tubular>Umm ...
<the_tubular>Any clue what's the problem ?
<roptat>unless you're expecting efi?
<roptat>I think /dev/sdc is missing the bootable flag
<roptat>mh, nevermind
<the_tubular>efi never worked for some reason, well I guess it's probably related
<the_tubular>I used BIOS to boot
<roptat>not sure what's that "BIOS Boot Partition"
<roptat>if that's a partition with the bootable flag or if that means efi
<vagrantc>there's a partition type in GPT that's sor tof an MBR compatibility partition
<the_tubular>sor tof ?
<Aurora_v_kosmose>sort of
<vagrantc>i'm not too savvy with it, but needed to create one for booting from coreboot
<vagrantc>and using seabios for a regular bios ...
<the_tubular>This install really caused me a lot of problem ...
*dstolfa tried to get a full guile up and running on freebsd... no dice and no time to go off fixing it
<dstolfa>full guile environment rather
*raghavgururajan has shifted, from X11 with dwm, to Wayland with sway \o/
<vagrantc>:)
<karthik[m]>raghavgururajan: 👍 how's sway?
<raghavgururajan>Getting to know i3/sway styles.
<drakonis> https://git.sr.ht/~kennylevinsen/seatd/ oh neat.
<drakonis>sway as of the latest version requires this
<drakonis>a elogind replacement
<drakonis>oh heck its packaged on guix already
<drakonis>v. nice.
<tissevert>hey folks, I was wondering what the easiest way to create a service for guix was
<vagrantc>curious
<tissevert>do you people usually package the daemon itself then find in an environment what needs to be done to run it ?
<roptat>tissevert, you can get some inspiration from opensmtpd, it's the easiest service I know of
<tissevert>thank you ! I was looking at nginx but it's still a bit mysterious on some points
<tissevert>but about the creative process for the human involved, do you know how it was created ?
<roptat>mh, creating a package for opensmtpd, reading the doc to find out which option was needed to pass a config file to the daemon, and writing the service whose config is just specifying the opensmtpd package to use and the config file to pass :)
<tissevert>wait it actually looks more mysterious to me: there's no opensmtp-sheperd-service like for nginx, how can it know what to do ?
<tissevert>at least in nginx there was something that looked like a run function
<roptat>there is one: https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/services/mail.scm#n1671
<tissevert>forgot the trailing 'd'… ^^' thank you : )
<tissevert>I was browsing that very file
<drakonis>shepherd?
<drakonis>its there
<tissevert>yeah sorry I missed it and roptat showed me I was mistaken
<tissevert>so I'm gonna stick to my first «package and then see what's needed approach» approach until presented with evidence that it'll fail
<roptat>that should work :)
<tissevert>: )
<tissevert>how should I go about a python package that isn't available on pip ?
<tissevert>I suppose I can simply copy the scripts, but what about dependencies ?
<roptat>I'd look at the requirements.txt or whatever python uses
<roptat>and if you're missing any dependency, the build will fail and tell you what's missing
<roptat>you should be able to import the dependencies
<tissevert>yeah, that's what I'm doing, I just don't know what to do with it ? how can it be used with the copy-build-system ?
<tissevert>propagated-inputs ?
<roptat>why copy-build-system?
<tissevert>they'll have to be in the environment of the final process
<roptat>can't you use the python-build-system?
<raghavgururajan>drakonis: IIUC, we need a service type for it.
<tissevert>hey, I can use python-build-system even if guix import couldn't help me
<tissevert>I feel stupid ^^
<roptat>yes, we use propagated-inputs for python packages
<tissevert>and it'll know what to do even if that doesn't come from pypi ? that's great : )
<roptat>as long as it's python and there's a setup.py
<tissevert>yeah, right, no setup.py of course
<tissevert>: )
<roptat>if not, you can still use it and change a few phases to run the makefile or whatever they use
<tissevert>ok, fine I'll do that
<tissevert>so does that mean files just get copied as they are in lieu of a proper «setup» with what I suppose is usually some local configuration ?
*tissevert is amazed to discover she apparently has used the python-build-system before
<roptat>what's the repository you're trying to build?
<tissevert> https://github.com/mia-0/0x0
<roptat>do they have any build script?
<tissevert>none that I've found
<tissevert>which leads to my current perplexity and weird ideas to use copy
<guixy>Hi guix! What is the difference between uncompressed-iso9660 and iso9660 system image build types?
<tissevert>also, there's no tag, so probably won't be patch material before quite some time but I just wondered whether that was something I could handle
<tissevert>too bad pypi import can't be passed directly a local requirements.txt
<roptat>that wouldn't be enough, it would just create a package with its dependencies
<roptat>but that package wouldn't build because it's missing a setup.py anyway
<tissevert>enough for what ?
<roptat>it seems to use flask, so maybe that's what's needed
<tissevert>I just want the propagated-inputs populated automatically
<roptat>it would be enough to create a package definition, but not enough for it to actually build the package
<tissevert>yeah, «flask» seemed to occur pretty often
<tissevert>obviously, I don't believe in miracles, I just wanted the bread and the jars so I could start multiplying
<roptat>:)
<roptat>so, it seems that you'll need an environment with the packages described in requirements.txt, and run "FLASK_APP=fhost flask db upgrade", then you should be able to run "FLASK_APP=fhost flask run" and have it run on localhost:5050
<roptat>er, 5000
<tissevert>wow where did you find that ?
<roptat>so you're not supposed to build it, it's "not a package"
<tissevert>: (
<roptat>from the README and flask's documentation
<tissevert>I thought the README was pretty much empty and I got lost in flask's documentation
<roptat>the issue with that is that flask will create an instance directory, and that can't work when that directory is part of the store
<tissevert>so, «not a package» as in «it's data, not code» ?
<roptat>it's code, but it's not meant to be built
<tissevert>…because it's RO, ok
<roptat>more like it's not a python module
<tissevert>why do I always run in special weird case everytime I try to look into something that looks «definitely mainstream and absolutely like everything else that exists» ?
<roptat>because it's not :)
<tissevert>but what is ?
<tissevert>I'm just asking for one simple, default, out-of-the-shelf, example to exist
<tissevert>but yeah, miracles again…
<tissevert>bu there are already various python-flask-.* packages, so surely that means guix can use flask «apps» or something, right ?
<roptat>yeah, I think it would work if you cloned the project and ran it locally
<roptat>not sure how it would work for an actual package/service
<tissevert>entering beforehand an environment containing the requirements I was trying to put into the propagated-inputs
<roptat>yeah
<tissevert>ok, but we know how to handle RW data, I suppose it only means we need an (instance-folder …) parameter to the service, defaulting to something like /var/lib/<app-name> and we can generate services not only for null-pointer but for any flask app ?
<lispmacs[work]>hi, I'm trying to run a guix pull on an older 32 bit laptop. I keep getting error "Git error: error inflating zlib stream"
<lispmacs[work]>I seem to have plenty of disk space
<lispmacs[work]>I'm trying to figure out how to change the compression method or disable it, but this does not seem to be an option of guix pull
<roptat>tissevert, maybe we could have a generic service for flask apps, sure
<tissevert>yeah, even more work for something simple I can't even manage to do : )
<tissevert>but for now, dinner time
<tissevert>see you folks
<apteryx>uh, IceCatMobile has been archived due to being unmaintained (f-droid). Sad.
<jpoiret>what's the use for the branch core-updates? i see the texlive 2021 patch has been merged to it
<drakonis>its documented
<drakonis>its for the big changes that result in mass rebuildings
<roptat>core-updates is regularly merged into master, but it's almost guaranteed to be broken in between merges
<jpoiret>oh alright thanks, while i'm at it do any of you know if someone has worked on aligning the swap field's behavior with that of file-systems? ie being able to specify explicit dependencies? my swapfile on a (non-root) lvm partition won't swap on automatically and i'm guessing it's just a matter of dependencies since the service starts fine otherwise
<roptat>I haven't worked on tat
<jpoiret>if not i could work on it myself since it's not really complicated (compared to file-systems), although i wouldn't know what to do with deprecation of the previous behaviour
<jab>Hey guix!
<jab>I'm hanging out at https://meet.jit.si/guix for the next hour or so. Feel free to drop by!
<roptat>isn't it 2 hours earlier than announced?
<jab>roptat: It is. :( I just an update to the mailing list and to the reddit post. I'm getting called into work.
<jab>:(
<roptat>oh :(
<jab>But I've gotta do what my boss says.
<jab>thanks for understanding.
<jab>Hey guix, I'm wanting to make a DIY dumb phone for GNU Guix System. It would be awesome if it used VoIP, but it primarily HAS to support SMS and traditional calls when I am not connected to wifi.
<jab>Basically I'm a manager at work. They expect me to answer when they call me...haha.
<roptat>do you have a modem?
<roptat>(for a sim card)
<jab>Maybe someday I'll set up a ham radio...When my boss calls me, it will actually get routed to my server..., which will then forward the call to my radio tower, which will then broadcast the unencrypted signal to my phone, which I will then answer. Then when I respond to my boss' question, my phone will broadcast back to the ham radio, which will talk back to my boss via VoIP...
<jab>roptat: at the moment no.
<jab>I haven't bought any supplies yet.
<jab>I am looking for the most "open" device I can find. and I do want to build it myself to force myself to learn some hardware stuff.
<roptat>nice project
<jab>there is this: https://www.adafruit.com/product/1963
<jab>I think that's for SMS
<jab> https://www.adafruit.com/category/281
<jab>it looks like there are some things there that support 3G.
<jab>which is a bummer, 'cause I've heard 3G is more proprietary than 2G.
<jab>looks like it uses ting.com
<jackhill>jab: ham radio, at least in the USA can't be used for percuniary intrests, such as employment-related communications
<jackhill>perhaps you can use a different radio service
<jab>jackhill: awesome! am I allowed to encrypt those calls?
<jab>oh can't be used for employment...bummer.
<jackhill>not in the Amateur service in the USA. Other contries have different rules, but I only know mine.
<jab>out of curiosity, which product is the most "open" rasberrypi, beaglebone black, or arduino?
<jab>Is there a 3rd option that I should consider?
<lispmacs[work]>hi, I'm trying to run a guix pull on an older 32 bit laptop. I keep getting error "Git error: error inflating zlib stream"
<lispmacs[work]>I seem to have plenty of disk space
<lispmacs[work]>I'm trying to figure out how to change the compression method or disable it, but this does not seem to be an option of guix pull
<roptat>lispmacs[work], I don't know how to help you
<roptat>maybe you'll get more luck on the guix-help mailing list?
<jab>lispmacs: you could try disabling substitutes and build from you. good luck though on a 32
<jab>bit machine!
<therealdonotshak>I am wondering where I can find the total disk size of the official guix substitute servers. And if possible how much resources are being spent building the store. Wondering what running a complete mirror might look like.
<lispmacs[work]>jab: oh, no, don't send me down that path. I'll be dead on the first rust build
<lispmacs[work]>is there a trick running guix pull from the repl to disable compression, or change compression method?
<apteryx>was there a way to retrieve the hash of a file added to the store with 'add-to-store'?
<apteryx>ah, "query-path-hash"
<apteryx>which returns it as a bytevector. Now I wonder how to convert this to a sha256 string
<apteryx>ah, probably bytevector->nix-base32-string
<cybersyn>hiya guix, i'm working on my first package contribution (planning to be first of many!) and I've hit a snag where make tries to use the network to import a module (which as we know is a no no). browsing around I found that the solution is to use propagated inputs, so I went ahead and packaged the missing module in the same file, and tried to use it as a propagated input, but it still wants to ask the network for it. any pointers on
<cybersyn>where to reference as a solution?
<cybersyn>it's drew devault's aerc shell email client i'm working on, if that means anything to anyone
<cybersyn>(and its written in go, while using make)
<cybersyn>and the call to the network is issued during the build phase
<roptat>cybersyn, what is calling the network? I doubt make itself does that :)
<cybersyn>its go calling the network. unfortunately i'm not very familiar with go, but let me dig up the details
<roptat>ah, maybe you can ignore the makefile and use the go-build-system? that would set up things to work better
<cybersyn>ah ok, i thought the go build system was just for go packages. i'll try the go build system and report back
<cybersyn>unfortunately I decided to try out the emacs-pgtk package today and <cybersyn> ah ok, i thought the go build system was just for go packages. i'll
<cybersyn> try the go build system and report back [03:03]
<cybersyn>*** PacMiam (~PacMiam@user/pacmiam) has quit: Quit: Beam to ship
<cybersyn>ERC>
<cybersyn>oops! sorry
<apteryx>wonder how I ended up with "ld: ld: DWARF error: can't find .debug_ranges section." when attempting to build Guix from my tree
<guixy>What is the difference between the "uncompressed-iso9660" and "iso9660" system image build types?
<guixy>What is the difference between the "uncompressed-iso9660" and "iso9660" system image build types? In what situation would I want one over the other?
<civodul>apteryx: that's weird; that's when linking guix-daemon?
<civodul>guixy: "iso9660" is a gzip-compressed ISO, with transparent decompression when you boot it: it saves space but takes more time to build than "uncompressed-iso9660"
<guixy>That's good to know. So if I wanted to distribute an image, I would want it compressed, but if I wanted to just build a live ISO image and didn't care about space, then the uncompressed option would probably be faster? Good to know.
<guixy>Is there a way to run a clean shutdown from the recovery REPL?
<guixy>Either I quit the recovery REPL and it kernel panics, or I force it to power off.
<guixy>And upon kernel panic, I have to force it to shut off anyway...
<jab74>sorry again that I had to change the hang out time last minute guix
<apteryx>civodul: I think it happened even before that. I've now git clean'd the thing and rebuilt the tree successfully.