<leoprikler>(package/inherit dwm (arguments X) (inputs `(("config.h" ,my-config.h))) <leoprikler>where X has (substitute-keyword-arguments (package-arguments dwm) ((#:phases phases) (modify-phases (add-before 'configure 'replace-config-h ... <leoprikler>alternatively if using patches, you can simply add them to the patches field of the origin <Bumblehorse>So this would be for defining a package that I would then install with "guix package"? <leoprikler>alternatively, you can skip the part where you put the thing into a header and just write the entire config.h into the 'replace-config-h phase. <leoprikler>depending on how good you are when quoting strings ;) <jsoo>lfam: free drivers and free firmware! ***catonano_ is now known as catonano
<vagrantc>I: guix: spelling-error-in-binary usr/lib/x86_64-linux-gnu/guile/3.0/site-ccache/gnu/packages/django.go "This packages" "These packages" <vagrantc>gah, and the suggestion to fix it is even wrong :) <vagrantc>can we put a lint check for these common mispellings? <vagrantc>make install is installing usr/lib/x86_64-linux-gnu/guix/guile ... is that the bootstrap guile, or some compiled wrapper around the system guile? <Bumblehorse>It's me again... I can not figure out how to get X11 to work with just xorg-server, xinit and a window manager. The manual only talks about using a login manager but I would prefer to start it manualy. Could anyone point me in the right direction? <iyzsong-w>Bumblehorse: 'Xorg' have to be wrapper with some environment variables to find its modules, xkb files, etc. You can look 'xorg-start-command' in 'gnu/services/xorg.scm' for reference. To make 'xinit' works, it have to use a wrapped 'Xorg' command to start the X server. <iyzsong-w>or you can add 'auto-start? #f' to one login manager service (eg: 'slim-shepherd-service'), then use 'herd start xorg-server' instead of 'xinit'.. <vagrantc>Bumblehorse: i too like that model, but instead of figuring out all the hoops to jump through, i just use "sway" which uses wayland and just works ... but i used to use i3, so it's pretty much perfect for me <raghavgururajan>Folks! I forgot this. What is the syntax for using linux-libre stable version/series in operating-system reference? <vagrantc>essentially, all the ones older than 5.8 :) <vits-test>it working even on that SBC, where no Xorg's WM worked for me. <vagrantc>other than 5.9, they all are... obviously 5.4 is the most recent, and currently has the longest EOL <vagrantc>i think historically there have been older lts kernels with a longer remaining EOL than more recent lts kernels ... but it seems to be rare these days <vagrantc>but i guess if it means "the most current lts kernel" that would work <raghavgururajan>> vagrantc: but i guess if it means "the most current lts kernel" that would work <vagrantc>i find the lts kernels update just as often as the others <vagrantc>well, it's been fun pushing typo fixes at y'all, but calling it a night. :) <ryanprior>There's a high-risk CVE open against Ruby 2.7.1, so I just submitted a patch to update to 2.7.2. If anybody can take a look at it for a speedy merge that would be great. Issue number is 44300. ***benny_ is now known as benny
***apteryx_ is now known as apteryx
<davidl>Why isn't LD_LIBRARY_PATH set in $GUIX_PROFILE/etc/profile? <maav>davidl: the mechanism used to link with the desired libraries is RUNPATH (aka -rpath), this way two programs which depend on different versions of the same library can be installed in the same profile. Certain programs have to be wrapped to provide some environment variables, but this one shouldn't be needed in any case <davidl>maav: alright. The problam I have is with some packages installed via a Gemfile (i.e. installed with bundler (ruby gem)). <davidl>so maybe acceptable in those cases. <efraim>ryanprior: I see. I'll take a look at it <davidl>though, I imagine a lot of Guix users just have LD_LIBRARY_PATH="$GUIX_PROFILE"/lib in their shell startup files <rekado>davidl: setting LD_LIBRARY_PATH would be a terrible idea <rekado>I hope not many Guix users do that <davidl>rekado: can you explain why that would be terrible? <davidl>rekado: never mind, Im finding some good info about it <efraim>you should stick to packages installed with guix or with an external tool. Mixing the two is going to lead to problems like you see with bundler <jonsger>can someone give me the output of find boot/ -not -path "boot/grub/x86_64-efi/*" on a efi system, you have to go to the "/" folder for that <jonsger>divoplade because you are on a 64bit EFI and brendyyn seems to be a 32bit grub system... <brendyyn>why is my grub 32bit on a 64bit computer <jonsger>at least the file structure looks good of my efi partition, but it still fails to boot, yet to be recognized by my mainboard <jonsger>it just become broken after a mainboard firmware update. I have no single clue why <jonsger>I try a complete rollback of the firmware... <divoplade>brendyyn, are you using guix system, or is it guix on top of another distro? <divoplade>If you invoke guix system reconfigure, do the modification dates of those files change? <divoplade>OK so you last reconfigured 1-2 days ago (depending on where you live) <brendyyn>i dont think there is anything special in my os config <divoplade>(I'm not sure my english is correct here ^^) <brendyyn>no. i notice all the locale files. i wonder if thats related to my locale-definitions <brendyyn>does grub-install choose it automatically? so its not a reproducible part of guix? <brendyyn>im not even sure if there is an issue or not <davidl>efraim: I understand now, but until Im able to package all packages I want/need, I'll have to use it in some ugly wrappers. Though Ill never set it globally again! <user_oreloznog>I'm so happy, my guix-manual 1.2.0-pre2 was accepted! It's the first time in my life taht I can conribute to a Free Sofware ;-) ***amfl_ is now known as amfl
<wehlutyk>I have guix's opencv 3.4 installed, and the twist is that opencv-rust needs clang to generate bindings at buildtime <wehlutyk>using `opencv = {version = "0.46", default-features = false, features = ["opencv-34", "buildtime-bindgen"]}` in Cargo.toml <wehlutyk>now, with clang installed in my profile, `cargo build` doesn't find `libclang.so` <brendyyn>wehlutyk: if you look at other rust package examples in crates-io.scm, you will notice all the ones with clang have a snippet that sets LIBCLANG_PATH <divoplade>The theme of this morning is about LD_LIBRARY_PATH it seems! <brendyyn>and if it is clashing your system, you may want to go to the additional effort of using --pure when you setup your environment <brendyyn>pure can also be used with --preserve to cheat a bit and allow some variables like PATH to leak into the environment <wehlutyk>oh yes. Well that was my next point (sorry I'm a bit slow as I rerun each step before posting). Now running this in an env: `guix environment -C -N --ad-hoc clang-toolchain rust rust:cargo opencv coreutils nss-certs curl pkg-config`, I had tried with LD_LIBRARY_PATH, but now this `LIBCLANG_PATH=/gnu/store/4z1kiyrg20zncbhmk2j6fwnndg0vmfng-profile/lib/libclang.so cargo build` gives me a new error related to opencv. So thanks for <wehlutyk>I'll be back once I elucidate this one 🙂 <brendyyn>good luck. this is already more advanced for me. id decided that rust is too hard for my brain, and have stuck to scheme <wehlutyk>rust and guix seem to not well work together yet, from the list archives I've seen <brendyyn>occasionally ive seen people turn up here to try it and find themselves disappointed. it requires taking the initiated to make it better <brendyyn>I wonder if adding the rust package its self to the environment would make a difference, since then it will set the search-paths <wehlutyk>alright, opencv-rust needs opencv 3.4.7+ <brendyyn>guix refresh -l opencv; shows only 3 dependant packages, so its likely neglected. you can update it and send a patch to guix-patches if you like <sneek>Welcome back nckx, you have 2 messages! <sneek>nckx, Guix-Vits_ says: Hey Honey! Whatcha doing? Love ya! *Muuah* <sneek>nckx, vits-test says: +1, lol <nckx>The desperation's getting cringey. <nckx>sneek: later tell civodul: I'll look into sergei. Dmitri has a busted fan. I'll open him up & invoice Guix if needed. 😉 ***trav70589 is now known as travankor
<zzappie>What editor would you suggest for non-emacsie that is not a web browser :) <zzappie>well learn vim to code in guile sems like more difficult path :) <brendyyn>i think people do it. you basically need parenthesis matching. i suppose having emacs there to do indentation right would be helpful <zzappie>I'm surprised there is no lightweight reasonably (widespread to say "I can code in anyting with it") editor with convetional interface <travankor>although I don't know what you mean by "conventional interface" <zzappie>travankor: I mean things that pople got used to (tabs, dir tree, menu on top, pop up termintal, button to clik on with mouse) <zzappie>brettgilio: I'll try kate out, thanks! <vits-test>zzappie: geany? Or what Puppy Linux has by default.. <zzappie>vits-test: yep this is another contender. It doesnt have scheme highliting out of the box like kate. ***chrislck_ is now known as chrislck
<wehlutyk>is it possible to use a local clone of a repo in package definitions while testing a build? (before reverting to the actual source and re-testing once everything works) <wehlutyk>my internet connection is not good enough to be downloading opencv's whole history dozens of times <mfg>Two things: I'm also interested in this and i haven't found a way to do it yet. <mfg>The other thing is Guix doesn't download the full repo, it tries to make a shallow clone and ponly fetches the whole repo if that fails <mfg>guix also doesn't redownload if you use the same commit with different options, once it's on your computer the local copy is used <mfg>i mean if ypou change the package definition but keep the same commit :D <mfg>the opencv package definition looks reaaally big XD <wehlutyk>ah then that's my use-case (changing package definition but not the source), great! <wehlutyk>yes it's awful, with so many tweaks to recheck! <mfg>what are you trying to do? just different compilation options? <mfg>or are you upgrading that package? <wehlutyk>upgrading to 3.4.12, and wanting to check the various fixes in the current definition, see if they're still neede <mfg>Ah okay :-) Good luck! <ani_>how do we pronounce guix as in geeks or gooiks <ani_>Distro tube on youtube says gooiks? I thought it may be the correct <mfg>i always thought as in geeks 🤔 <ani_>Also is guix available with hurd? If so that means hurd 1.0 is released? <zzappie>mfg wehlutyk: isn't --with-source option is for this purpose? <mfg>zzappie: Ah you're right. That's probably what i was searching for :D Thanks! <zzappie>mfg: the other way is to use something like (source (local-file %srcdir #:recursive? #t #:select? keep-file?)) <zzappie>and define `keep-file?' to choose whether this file belongs to your repository <mfg>zzappie: So %srcdir can just be a regular repo like git/svn/whatever?! Then this is precisely what i was searching for last weekend :D <wehlutyk>zzappie: thanks! will try if it starts re-cloning for later builds <zzappie>it was inpired by cuirass's guix.scm file <mfg>thanks for sharing! This is amazing :D <nly>roptat: do you know how to setup dynamic dns with knot-service? <mfg>Do you want to compile C/C++ programs? <mfg>Then you need gcc-toolchain or clang-toolchain depending on which you prefer <new[m]1> * How can instal this package in guix? <new[m]1> * How can install this package in guix? <ryanprior>fwiw I think having a `build-essential` package which depends on most of the same things the Debian build-essential has would be a friendly gesture <ryanprior>PotentialUser-85: you came to the right place :) how's it going <ryanprior>Are you installing Guix System, or did you install Guix on another os? <mfg>Hmm, not detected means, it doesn't show up in dmesg? <PotentialUser-85>I mean when I boot up the ISO, it asks me connect to WiFI but not adapter shows <mfg>Ah! Which ISO are you using? <mfg>Okay, that's good :) <mfg>I haven't used the installer recently, how does one get a shell? <mfg>vits-test: are there credentials to be known or is it autologin? <vits-test>mfg: not remembering, but think it's just root, Enter <mfg>I'm taking the chance and load a stable iso myself and see how it looks inside a VM <mfg>PotentialUser-85: So if you do Alt+F2 and login with root and without password <mfg>(just press Enter) do you get a shell? <mfg>vits-test: thanks for the help :) <vits-test>mfg: there is also Alt + arrow left || right. TTY can be not that bad. <mfg>Yeah, i always forget those keys... muscle memory i guess... <PotentialUser-85>Sorry, I'm burning the ISO again, I formatted it, to some other FSF approved distro, but I had this WiFi problem with parabola also. <mfg>I read that this particular chip has worked with linux-libre 5.5 something so it might be possible that you need a rather new kernel (not sure) but the latest iso should definitely be recent enough <mfg>And regarding the shell: You actually need ctrl+alt+f3 because on tty2 is the manual :D <PotentialUser-85>I grabbed the latest not the stable, it should have the latest kernel also.. <mfg>Where are you at now? Have you booted the ISO or is it still burning? <mfg>Okay, so you're now at the start of the installer? <mfg>Good. Now if you hit Ctrl+Alt+F3 you should land on another tty <mfg>Now if you type in dmesg | less you should get a lot text mostly not important now <mfg>you can navigate with the up and down arrow keys <mfg>and it moves when you use up and down arrow keys? <mfg>Ah i see, i wanted to use 'demsg | less' because that way you can scroll through the whole output <mfg>if you are in less you can use search if you hit the forward slash and type in rtl or realtek or something like this <mfg>this jumps to the first occurence of your search term <mfg>What does it say? Is there something like warning or error nearby? <mfg>I'm just checking how it looks for me <mfg>There isn't any error after that, is it? <mfg>okay that should be good then, i guess. <mfg>What you could try now is: wpa_passphrase "<YOUR_SSID>" "<YOUR_PASSWORD>" >> /etc/wpa_supplicant/wpa_supplicant.conf <mfg>and then start wpa_supplicant -i wlp13s0 -c /etc/wpa_supplicant/wpa_supplicant.conf <mfg>but the location of the config file can be somewhere else <mfg>yes one tty is enough for this <mfg>the interesting part is the output of the second command <mfg>Ah the command is 'wpa_supplicant -i wlp13s0 -c /etc/wpa_supplicant/wpa_supplicant.conf' <mfg>sry i should always quote the commands... <mfg>Something like "associated with" or associated to? <mfg>Okay, that's not what i was expecting. <raingloom>it's just two branches appending to a file. this should not be so difficult. ;_; <mfg>how did you get there raingloom? Is this the result of rebasing of those branches on top of the other? <raingloom>mfg: one is a rebase onto an older version of the other. <raingloom>correction: this is actually from a rebase, not a merge, but i got the exact same error in a merge as well. <mfg>PotentialUser-86: So after more googling i'm not that sure if this WiFi Card is supported or not... If you reread the text you got from 'dmesg|less' regarding the firmware loading, does it say that your wifi chip can't load the firmware (if so, it might be that this is indeed not supported by linux-libre, but i'm not sure about that) <mfg>So not sure about it <mfg>And it's also fairly recent December, 2019 <mfg>FeelsBadMan :/ Buying a new WiFi Card was the first thing i did in order to be able to use guix... But maybe i just don't know how you could find out what's really the problem... It's difficult to understand what's happening without actualy seeing it... <nckx>raingloom: By never adding packages to the end of files 😉 Roughly alphabetical. <raingloom>nckx: so that's why they are alphabetized... well some of them at least. <raingloom>could we have a cleanup where just alphabetize all the rest? i don't think golang.scm is organized like that. <nckx>People keep adding them to the end, even in files where there's a comment asking them not to. I've given up. <mfg>PotentialUser-86: If it's possible try a wired connection :-) <nckx>raingloom: Unfortunately I don't think it would pass consensus as being worth the ‘noise’. <nckx>Given up mentioning it after the fact, I mean. I still add them somewhere sensical myself and urge others to before things are merged. <mfg>PotentialUser-86: It's at least possible to install Guix on it and collect some experience with it, if you like it and want to use it with wifi then you can buy another wifi card, if you dislike it, well then you don't even need another wifi card :D <raingloom>ok, i think i figured it out. smerge upper everywhere in the file, and then: <raingloom>git show ae338395cb -- gnu/packages/golang.scm | grep '^+' | tail -n +2 | sed 's/^+//' >> gnu/packages/golang.scm <raingloom>it's ugly, but it works. and i _think_ the rest of the rebase can continue without issues. <raingloom>nckx: it's really weird that the supposed benefits of Scheme's uniform code/data representation aren't being exploited for easier version control. formatting is already expected to be normalized in Guix, so normalizing modules seems like a logical step. other lispy code would probably benefit too. <raingloom>ie.: sorting a module automatically shouldn't be hard, in theory. <mfg>True, a git hook that automatically sorts package definitions would be nice :D <davidl>any ideas what might be the issue? <blackbeard>i need to do a git pull on my old guix repository ***davidpgil1 is now known as davidpgil
<joshuaBPMan>Also, I've got my email from gnucode.me working now! I don't have DKIM set up, so it's fairly useless now... <Bumblehorse>Do I have to define my own package for the tor browser? <joshuaBPMan>Bumblehorse I think we have it packaged....try guix search tor. Also I think we have it installed as an ad-on for icecat. <Bumblehorse>my tor service should be set up because i enabled it in the graphical installation <Bumblehorse>There are the "tor" and "tor-client" packages but I cant seem to figure out the command to run it if there is one <joshuaBPMan>Bumblehorse I think the best way to do it now, is to use the icecat plugin. In the top right of your icecat browser, you should see something to enable tor browsing. <Bumblehorse>Ok thank you, I have a new installation and haven't got icecat yet <raingloom>is there some way to disable a shepher service using the kernel arguments? (i'm trying to debug some graphics related stuff and would like to stop the init from starting gdm) <joshuaBPMan>raingloom would it be enough to disable gdm via you config? I can link you to my config if that would be helpful. <raingloom>joshuaBPMan: yes, but that requires a reconfigure. takes up time for no reason. when debugging boot/init issues, it's best if the solution isn't "boot the full system and fix the config and then reboot so you can fix the boot issue" <raingloom>one of these days i'll have enough and make the init debugging not suck so much. at least this isn't as bad as adding f2fs support was. <joshuaBPMan>raingloom hmmm...is there a boot argument to disable fancy graphics? That might do the trick...I forget what that argument is.... <raingloom>joshuaBPMan: kinda. not really though. without going into too much detail: it could work right now, but it's not the correct solution. <raingloom>what i want is to have KMS, but stop before GDM. <joshuaBPMan>raingloom: Maybe you could trivially patch GDM, so that it segfaults upon starting? <raingloom>joshuaBPMan: that's just a worse way of reconfiguring the system. <mfg>or use a different init= option? that way you don't even start shepherd, might be possible to directly start a shell given you knoe the full store path of it... <raingloom>mfg: thing is, even if i did, typing it in takes way longer than reconfiguring. <mfg>Then we should add some kind of rescue initrd, which can be selected in grub? <mfg>and stays inside of that initrd? <raingloom>mfg: maaaybe. not sure. a guile repl that at least has readline support would already be a step up. <Bumblehorse>joshuaBPMan: I cannot seem to find an icecat extension for tor. Is what you are reffering to just a regular firefox addon? <joshuaBPMan>Bumblehorse It used to be installed by default. Click on your settings, then Add-ons. Do you see an add-on that mentions tor in the name? <raingloom>Bumblehorse, joshuaBPMan: there is the Onion Browser Button, but it's broken. <joshuaBPMan>Bumblehorse You are actually looking for "extension" <joshuaBPMan>Bumblehorse yeah that's the one. It used to work. I have not been able to get that to work for some time either. :( <raingloom>you'll have better luck setting the proxy manually. <raingloom>but tor browsers is more than just firefox + onion button anyways. so a proper package of it is really needed. <raingloom>Bumblehorse: it's possible someone already packaged it in a channel. <Bumblehorse>even downloading their tarball and running their executable does nothing -_- <raingloom>Bumblehorse: yeah, the binary uses different paths. <Bumblehorse>raingloom they only thing I can find is some guy "ng0" who has said that he is working on one back in 2017 <bavier[m]1>Bumblehorse: you can run their binary with a bit of patching. I did this the other day. <bavier[m]1>but I typically just proxy my icecat through a local sock5 port <nikita`>Bumblehorse: i think you've sent me an email, just didn't have the time to reply so far. she is no longer working on guix mainly since the beginning of 2019. I now work on NetBSD mostly, so torbrowser stalled. <nikita`>i should drop the hilight for older nicks <nikita`>oh. then torbrowser is just very popular in the last days :) <nikita`>someone I believe from whonix asked about it <nikita`>whonix still seems to be interested in using guix + apt on top of their system <Bumblehorse>bavier[m]1: wouldn't you have to configure icecat a ton ontop of just the proxy though? <bavier[m]1>Bumblehorse: yes, TBB goes much further in that regard. But the proxy, I think, is nice for a little added privacy, and you can also browse .onion addresses. <Bumblehorse>bavier[m]1: I see. Was tweaking thier binary simple? I'm not all that great with this stuff, especially networking. <bavier[m]1>the tweaks were fairly straightforward, I guess. I had to patchelf the ELF dynamic loader for a few binaries, enter a 'guix environment' with the needed dependencies, set LD_LIBRARY_PATH, and away I went. <bavier[m]1>I was planning on turning that recipe into a local package, for sanity and upgradeability. I may not get around to that for a bit. <nikita`>tbh patchelf is only straightforward to apply in a package and know that it exists once you look at another package. ***jess-o-lantern is now known as sandcat
<Bumblehorse>I can't even figure out why icecat is displaying larg white spaces in place of numbers. <apteryx>is icecat crashing for somebody else when pressing Ctrl-Alt-r (this shortcut is to redisplay the page in reading mode). <mfg>Bumblehorse: I've heard that one before, so it's most definitely a font thing, i have font-google-noto font-adobe-source-code-pro and font-dejavu- in my system config, i have numbers rendered correctly <mfg>Alos you might have to run fc-cache -rv to regenerate your font cahce if you installed one <mfg>apteryx: yes it is :D but it restarts itself again <Bumblehorse>mfg: yeah I just installed font-gnu-freefont and it's fixed. I just don't understand why a font with numbers is not a dependency for icecat <Bumblehorse>So all I have to do to use the tor proxy is to go into my icecat network settings and put 127.0.0.1 as SOCKS Host and 9050 as the port and I'm done? <bavier[m]1>Bumblehorse: be sure to visit check.torproject.org <Bumblehorse>I really hope noobs like me asking for help doesn't bother you guys <Bumblehorse>Even for someone like me, Guix seems very cool, but unlike more popular systems there just far less resources and history of other people asking questions <Bumblehorse>I would have given up right away if it wasn't for you guys <bavier[m]1>as a recent noob, I've found guix really nice because I'm not as afraid about making a small mistake and hosing the whole system. <Bumblehorse>bavier[m]1: Very true. The main reason I wanted to try it is because I heard how easy it is to reproduce an exact system. <Bumblehorse>All I would need to do is backup my personal files along with the handfull of system and profile defining files for a whole system backup <Bumblehorse>as opposed to using rsync to copy my entire harddrive <Bumblehorse>bavier[m]1: Lol, I'm glad you said "yup" and I wasn't mistaken. <bavier[m]1>heh, yeah, that's the idea. There are some state files some services write into /etc (and /var?) that would need to be moved too. <Bumblehorse>all I know now is the files that define the operating-system user profiles and channels <mfg>apteryx: np, i have never used the reading mode before. When icecat crashes it normally doesn't restart itself so it's at least a bit different than usual?! <raingloom>is blender not using git-fetch on purpose? i'm still confused about why and when url-fetching tarballs is good or bad. <apteryx>one advantage is that it seems better support to check for updates with 'guix refresh' when the packages is using url-fetch'd tarballs <raingloom>apteryx: you mean that's an advantage for git-fetch? <raingloom>huh. well, guix refresh blender doesn't work. <Dzhigit>hello, is there a command that can show which package a file belongs to and vice versa, similar to dpkg -S and dpkg -L in Debian or Devuan <leoprikler>Guix refresh actually works pretty nice with git-references, since it can simply use tags. <raingloom>Dzhigit: you can usually readlink -f the file <leoprikler>Dzhigit: you can `tree $(guix build $package)` to get all files <mfg>leoprikler: does that imply a specific versioning scheme? <mfg>i mean when guix refresh uses git-references <mfg>or does it just look if there is a newer tag? <mfg>regardless of it's name <leoprikler>I'm not sure, but I'm guessing it looks for v*.* <apteryx>leoprikler: ah, good to know. I think I got that impression from Python packages: pypi archives works with the updater, git often not (I guess perhaps because they are lazy at tagging, dunno). <erkin>Is there a way to match different multiple values? <raingloom>erkin: pack them in a list and match on the list? <raingloom>in Haskell it'd be something like match [0,x] of [0,2] in ... <erkin>This code uses `receive' to expect two values from a procedure but the procedure can return #f at failure. <erkin>I'm trying to make it play nice and return a polite error message on #f. <raingloom>ohhh. that's a different thing. you want a match with two alternatives. not two values _at the same time_. <erkin>I can destructure it with `call-with-values' by putting everything in the list of formals of the expecting lambda and then operate on that list. <erkin>But that's really ugly, don't you think? <raingloom>when i'm in doubt about match, i consult the info page of Guile. <erkin>(call-with-values (λ () (may-return-2-or-f)) (λ vals (if (equal? vals '(#f)) (error "yikes") (frobnicate (car vals) (cadr vals))))) <raingloom>if you look up "match" in the index, you'll find the full reference, with some examples. <erkin>I also skimmed through ashinn's original implementation. <erkin>Nothing concerning destructuring multiple values. <raingloom>(λ () (may-return-2-or-f)) isn't this the same as (may-return-2-or-f) ? <erkin>The same as may-return-2-or-f, yeah <erkin>I didn't want to litter it with unnecessary arguments in the example but forgot about the redundant thunk. :-P <raingloom>mmm. ok, gimme a min, i'll try to write an example. *nckx has been told that the youths regard a ‘.’ as aggressive. <erkin>Yes! Assuming (a b) is (values a b) and not (list a b). <nckx>raingloom: Do you mean it's time for a sexp-aware git fork? Otherwise no clue what you mean. <raingloom>nckx: nah, just something to lint (and maybe automatically fix) modules. <erkin>I think I can do this by combining call-with-values with match-lambda*. <raingloom>erkin: i don't know if you can match against multiple values concisely. for that i'd just pack the returned values. i know how to do it in lua, but not in scheme. maybe match-lambda does that. *raingloom shrugs unhelpfully <erkin>(call-with-values returns-2-or-f (match-lambda* vals ((#f) (error "oops")) ((foo bar) (frobnicate foo bar)))) <raingloom>(disclaimer: this is not legal advice, consult your maintainers, doctors, legal counsel, and whatever deity you believe in, before committing things that just seem to work) <erkin>Too late, I contacted my lawyer already. <rekado>I have a package for ydiff, but it doesn’t work as a git diff tool :-/ <rekado>ydiff is a structural comparison tool for Lisp programs ***sandcat is now known as jess-o-lantern
<maav>rekado: i'm reading about ydiff, what do you mean that it doesn't work as git diff tool? Is there a bug or something like that? <maav>as far as i've read it could be provided the diff output, so it could be wrapped, is there a bug or something like that? <maav>ohhhh, i was looking at other ydiff... :( <Bumblehorse>Does anyone know the purpose of the term-auto service? <nckx>Pops a getty onto pluggable devices and/or serial terminals and the like. <nckx>Hence no specific name. ‘listen on all’ of getties. <Dzhigit>this might be a stupid question, but how to do listing of all packages including libs, not just manually installed ones? like dpkg -l <Dzhigit>no, that one is like guix package --list-available <Dzhigit>I mean, all packages that are installed <Dzhigit>not just the ones in guix package --list-installed <brendyyn>tbh guix has a different concept of what it means for something to be "installed" <nckx>Dzhigit: But... ‘the ones in guix package --list-installed’ == ‘all packages that are installed’? <simonsouth>Dzhigit: Perhaps you want "guix package --profile=/run/current-system/profile --list-installed"? <nckx>Maybe you mean ‘guix size `realpath ~/.guix-profile`’ <nckx>but that's not what you asked so ¯\_(ツ)_/¯ <simonsouth>That will show you the packages installed in the system profile, which are available to all users (not just the packages you installed in your own profile). <nckx>Ah, that's another possible interpretation. <nckx>+ guix size `realpath ~/.guix-profile /run/current-system/profile` for the megaclosure. <Dzhigit>I mean, htop shows a lot more packages are installed than in guix package --list-installed <nckx>--list-installed lists all packages that have been installed. <nckx>It does not list their references, since those were not installed. <nckx>Does ‘guix size’ answer your question? <Dzhigit>guix show info-reader shows it depends on ncurses@6.2 perl@5.30.2. is there a way to do a listing that shows ncurses and perl, then? <nckx>For one package: guix size info-reader (but note that that may be a different info-reader than you currently have installed). Using your profile directory as above avoids that. <Dzhigit>is there a way to do it for all packages, not just one? <Dzhigit>I mean, guix size [all packages that show up in guix package --list-installed] <nckx>You'd have to build them all, which never succeeds, so I doubt it. <nckx>--list-available lists all (non-hidden) Guix packages, so unless you're interested in the size of each on, it lists ‘all packages’. <nckx>If that's not what you want, please explain what's missing from/superfluous in the two ‘guix size’ examples I gave above since it's not clear what you want. <Dzhigit>if you have ever used Debian/Trisquel before, I am looking for the equivalent of dpkg -l or apt list --installed <nckx>For example the second one (with both profiles) returns 1129 lines here and basically answers all ‘how big is my system and why is it so big’ questions you may have. <nckx>Dzhigit: Greek to me, I'm afraid 🙂 <nckx>Debian has a different definition of ‘installed’ than Guix; seems it just means ‘present on the system’. <Dzhigit>alright, then, the neofetch command shows the amount of packages installed on the system, for example, 172. the command should show 172 packages. <nckx>‘guix gc --list-live’ is similar but has quite a few caveats, since it includes all generations and random gc roots you might have lying about. <roptat>Dzhigit, if think you really want nckx's command: guix size `realpath ~/.guix-profile` <roptat>that will list all the packages installed in your profile, as well as their references (runtime dependencies) <nckx>If you want whatever neofetch is using, you can see which commands it uses with ‘grep 'guix package' $(which neofetch)’. <nckx>guix package -p "/run/current-system/profile" --list-installed 😛 <nckx>And guix package --list-installed. <nckx>So mystery solved an as unsolved as ever. *nckx has to go, good night. <Dzhigit>that guix size looks like it is similar, but it is still far less packages than neofetch is showing for some reason <roptat>from what nckx said, it just lists packages in your profile AND system profile <nckx>But it literally counts the lines output by --list-installed? <roptat>so that might explain why it's bigger? <Dzhigit>grep 'guix package' $(which neofetch) does not return anything <roptat>it returns two lines here: manager=guix-system && tot guix package -p "/run/current-system/profile" -I <roptat>and manager=guix-user && tot guix package -I <roptat>neofetch says "Packages: 64 (guix-system), 77 (guix-user)" on my system, and "guix package -I | wc -l" says 77 <roptat>but you might have a different version of neofetch, so maybe it uses a different method?