IRC channel logs

2021-11-13.log

back to list of logs

<roptat>lenny, something like (assoc-ref inputs "libc") in the build phases
<vivien>I see there are experts here, so let me ask a related question: I would like to create a local-or-plain-file that would take a file name and a fallback content, and either return a local-file encapsulating the file name or a plain-file containing the fallback content. How should I try to do that? I tried with an exception handler, but local-file will happily return something for a non-existing file.
<civodul>vivien: "local-file will happily return something for a non-existing file", WDYM?
<vivien>(local-file "qsdfqsfqfsqsdfqsdf") returns a #<<local-file> ...>
<vivien>Even if qsdfqsfqfsqsdfqsdf does not exist
<vivien>However, when I will try to use it, I will get an error
<vivien>When I try to use it*
<florhizome[m]>vivien: I tried to use local file in guix home, that didn’t work too as far as I remember.
<civodul>vivien: ah yes, it only errors out when it's "lowered"
<civodul>if you want to explicitly check before, you can do (file-exists? (local-file-absolute-file-name f))
<civodul>where f is the <local-file> record
<vivien>I’m not sure, I’ve read things about testing for file existence
<vivien>The file could exist when I test it, and be erased before the lowering
<vivien>Especially for big reconfigures that could take hours to complete with world rebuilding etc
<florhizome[m]><vivien> "Are there a collection of..." <- good Suggestion.
<florhizome[m]>something like: don’t import buildtime set variables via pkgconfig ... that’s like 80% of build failures where I need to overwrite things so far ^^
<vivien>apteryx, thank you for the boxes fix :)
<florhizome[m]>so ... changing sddm theme now made my new wm session appear .. weird
<florhizome[m]>most annoying: having to system reconfigure until sth works with sth like that –.^
<nckx>How else would it work? Run an inotify on /etc/system.scm? 😉 (Hmm… evil, yet somehow tempting.)
<vagrantc>oh, "make dist" seems to be working much smoother than the last time i remember trying it :)
<vagrantc>hrm. maybe i spoke too soon.
<rekado>fixed nbconvert locally
<raghavgururajan>dannym: Hey o/ How are ya?
<rekado_>python-notebook has a few odd test failures, all related to deleting files that don’t exist…
<vagrantc>guix shell --pure --development guix glibc-locales guix git imagemagick perl -- locale -a ... only ever shows C and POSIX as valid locales
<vagrantc>if i drop the --development guix argument, it appears to show several locales...
<vagrantc>though not all of the locales in glibc-locales
<silicius[m]>I'm confused on why guix home adds a starting dot to paths in home files service
<silicius[m]>really, I wanted stuff to end up in ~/etc, but I wasn't seeing anything until I had the idea to check the hidden files, and there it was - ~/.etc
<roptat>yeah, I find that weird too, I ended up with a ..config directory with my custom home services ^^'
<silicius[m]>Also changing the XDG_CONFIG_HOME is broken too because there's an undocumented essential-services list that already defines an XDG service in guix home - you can delete it, but then fontconfig that's also included there assumes .config anyway
<silicius[m]>I wanted to try and make some patches once I sort out my dev environment, but I'm not sure how to test guix home. Can someone point me in the right direction?
<silicius[m]>I don't want to pollute my home rn since you can't easily remove guix home's files after it does its thing, you can't roll back before generation 1...
<vagrantc>log in as a different user and experiment?
<apteryx>building qemu seems to hang for me on core-update-frozen (drv: /gnu/store/8xh2ia91gm8g9n113kqd3j31a2nkrkj3-qemu-6.1.0.drv)
<apteryx>vivien: np!
<M6piz7wk[m]>Is there any FSF member that likes me and is not part of BoD
<M6piz7wk[m]>bcs i need them to snitch the etherpad for meh~
<apteryx>raghavgururajan: what is your experience of mix and matching gnome components? such as version 40 vs 41
<apteryx>is it a big no, or 'probably ok' ?
<raghavgururajan>apteryx: I haven't experimented anything like that. To my understanding GNOME 40 and 41 are like Win 8 and 8.1 releases. The first version has drastic changes and the second version provides fixes and improvement for those drastic changes.
<raghavgururajan>There should be no API/ABI issues between 40 and 41, but the latter will be smoother in operation.
<apteryx>that's reassuring; as i've been bumping a bunch of GNOME packages to 41 to get passed some issues
<apteryx>thanks for the info!
<apteryx>fun; the xorg-server-xwayland doesn't have a Xwayland binary
<Guest13>Hi! How can we use ublock-origin-chromium?
<Guest13>I'm using ungoogled-chromium from guix repository.
<raghavgururajan>apteryx: I think its under libexec. Not sure though.
<apteryx>no, it's after updating to 1.21; it vanished
<apteryx>they must have lowered their standards to that of their meson build system, which leaves it to the user to manually install it
<apteryx>at least looking at places such as https://aur.archlinux.org/cgit/aur.git/commit/?h=xorg-xwayland-git&id=1ff3a386bee1c90a95a80132b6fb07e3afb42b22 that's what I understand
<apteryx>indeed there's nohing iabout xwayland almost in the Makefile.am now
<apteryx>ah! branch=origin/xwayland-21.1
<apteryx>they've split xwayland from xorg
<apteryx>perhaps
<Guest91>Does Emacs on guix read ~/.config/emacs/init.el?
<podiki[m]>that sounds like something I read on the 21.1 release...
<podiki[m]> https://lists.x.org/archives/xorg/2021-October/060799.html yes, it was split off
<podiki[m]>"Note that since 21.1 series XWayland is released separately and thus this
<podiki[m]>release does not include it."
<podiki[m]>Guest91: I'm not sure, but I'm guessing it follows Emac's usual rules of what order it looks for config files (which may have changed in newer releases?)
<apteryx>podiki[m]: indeed, thanks
<Guest91>podiki[m]: ** Emacs can now use the XDG convention for init files.
<Guest91>The 'XDG_CONFIG_HOME' environment variable (which defaults to
<Guest91>"~/.config") specifies the XDG configuration parent directory. Emacs
<Guest91>checks for "init.el" and other configuration files inside the "emacs"
<Guest91>subdirectory of 'XDG_CONFIG_HOME', i.e. "$XDG_CONFIG_HOME/emacs/init.el"
<Guest91>This is from Emacs 27.1
<podiki[m]>then it should work... (or is supposed to)
<Guest91>For some reason Emacs is not reading my custom config.
<apteryx>what should be the default font path for xorg-server-xwayland? -Ddefault_font_path=...
<apteryx>if it's empty the build system tries to do magic via fontutil (?), which fails
<apteryx>perhaps I can point it to font-dejavu, the same fonts used by default for our fontconfig package
<zamfofex>Is the NTP service working for anyone else? There seems to be an issue with the default server ‘0.guix.pool.ntp.org’.
<abrenon>hello !
<zamfofex>abrenon: Hello!
<abrenon>zamfofex: does the chromium example from the guix shell manual page http://guix.gnu.org/fr/manual/devel/en/html_node/Invoking-guix-shell.html#Invoking-guix-shell work on your guix system ?
<abrenon>I wish I understood why java applications won't obey my WM's shortcuts to move their window
<lilyp>maybe they override the keybindings?
<abrenon>hhmmmm, like grabbing all key inputs by default before passing the one registered to the appropriate listeners, without letting the others through ?
<abrenon>that sounds like a possibility
<abrenon>by the way (nothing to do with Java but while you seem to be around ^^)
<abrenon>thanks again for your help last time about the variables for IBUS
<abrenon>ok, can't be merely a matter of grabbing the keybindings: I focused another window which I can perfectly move around with my WM's config, but trying to swap it with the "evil java window", it didn't move
<abrenon>and it didn't move exactly once, by which I mean if I tried the same swap move once more it swapped place with the window immediately after the java window
<lilyp>in other words, java windows are simply ignored by your WM?
<abrenon>as if the WM had understood the command, passed what it needs to pass to windows for them to move, but nothing happened
<lilyp>or perhaps java windows ignore WM commands altogether
<abrenon>yeah, I'd say somehow it has a way to ignore the commands
<lilyp>though I don't quite understand what your WM means by "swap"
<abrenon>there's a keybinding in XMonad that makes two windows on the same workspace swap places
<lilyp>does your focused window go over (or under) the java window if the swap fails or is it an atomic operation?
<abrenon>apparently it's atomic
<abrenon>because the normal, reasonable, WM-abiding window didn't move
<abrenon>hmm, I could move other windows out to a different workspace
<abrenon>see if it changes geometry of the evil-java-one
<lilyp>probably not
<lilyp>you could try launching the evil java window in something like cage and make it abide the WM through that
<abrenon>I moved a terminal, the window didn't changed shape but it confused the hell out of the file browser underneath
<lilyp>though cage is Wayland and XMonad would need some X way of doing the same
<abrenon>ahhh, yeah I'm not using wayland : (
<abrenon>(yet ?)
<abrenon>are you ?
<lilyp>few Guixers are, I just remember cage because it's used in (some) tiling Wayland compositors
<abrenon>ahhh I see
<abrenon>I hadn't heard about it
<abrenon>I got my mystery solved…
<abrenon>it's… embarrassing
<lilyp>what happened?
<abrenon>it's floating by default… -_-'
<abrenon>I hadn't noticed my terminal was missing its tab (because I seldom have tabs in a terminal)
<lilyp>ahhh, can you unfloat it?
<abrenon>yeah… and everything works fine ^^'
<abrenon>the window started exactly with the dimension it would have in tiled layout
<abrenon>at the same position
<lilyp>can you also unfloat it by default?
<vivien>Hello guix :)
<abrenon>so I didn't notice the terminal wasn't the right size
<abrenon>hi vivien
<lilyp>bonjour vivien
<abrenon>ah bin si on parle français moi je veux bien, hein, salut vivien : )
<zamfofex>abrenon: About the Chromium example you asked: Try adding ‘--expose="$HOME/.Xauthority"’ to the command.
<abrenon>Oo
<abrenon>how could I missed that
<abrenon>zamfofex: thanks !
<zamfofex>You’re welcome!
<vivien>Vous êtes en europe ?
<lilyp>$XAUTHORITY is better than hardcoding btw
<vivien>Si oui, ça en fait des gens qui se lèvent le samedi matin ^^
<abrenon>lilyp: I wouldn't know how to force java to unfloat it, but there must be a rule in XMonad to enforce it
<abrenon>I don't really need it, just wanted to be sure I understood what was going on
<abrenon>wait where's my .Xauthority ? ^^
<abrenon>vivien: oui, je suis en France, et… bin il fait jour derrière les brumes mais, y est quand même un peu tôt
*abrenon reads the tip a second time and understands it this time
<abrenon>zamfofex: thank you so much ! maybe we should update the documentation
<abrenon>hmmm but that's X11-specific, so it wouldn't make sense for people using wayland
<zamfofex>Isn’t ‘$DISPLAY’ also specific to X, though?
<abrenon>: 3 so I won't be the one making things worse !
<abrenon>that's a very good reason to fix what is displayed now
<zamfofex>Also, if you do update the manual, maybe it would make sense to also add ‘$XAUTHORITY’ to the preserved environment variables.
<abrenon>yeah, I needed to add it before I got your tip working
<abrenon>after my tests I came up with these requirements:
<abrenon>--preserve: DISPLAY, XAUTHORITY
<abrenon>--share: /tmp/.X11-unix $XAUTHORITY
<abrenon>and I think I should also fix the example on the guix environment manual page
<zamfofex>I see. Do you have Xorg installed on the system profile or on your user profile? Because I suppose it might differ depending on which you have. I have it on my user profile, and I needed basically none of that. Also: I think I’d try to prefer ‘--expose’ over ‘--share’ if possible.
<abrenon>I thought .X11-unix needed to be accessible RW
<abrenon>ahhh, I have Xorg installed in my system profile
<abrenon>so wait, you don't even need to preserve DISPLAY ? or to share anything ?
<abrenon>(or expose)
<abrenon>hmmm it works with expose
<abrenon>zamfofex: so you don't use a display manager ? you start guix from a tty after login ?
<zamfofex>abrenon: This is the full command I was able to use to start Chromium: ‘guix shell --container --network --no-cwd --preserve='^DISPLAY$' --expose=$HOME/.Xauthority ungoogled-chromium -- chromium’
<zamfofex>abrenon: Yes, basically I invoke ‘startx’ after I log into the VT. (Though I have made it automatic for tty1.)
<lilyp>--expose=$XAUTHORITY
<zamfofex>lilyp: I’m not suggesting the command I wrote is better, just saying it’s what I had written!
<abrenon>yeah, I had once a setup where I was using TTY1 as my DM ^^
<abrenon>ok, so there's nothing to fix, the command depends too much on the setup : (
<abrenon>(I'm struggling to find a way to have my graphical applications look reasonably good without having to start a whole desktop environment like XFCE or Gnome, so I'm very curious about your setup)
<zamfofex>abrenon: Basically all I did was install ‘adwaita-icon-theme’ and just accept letting the applications look whichever way they want.
<zamfofex> https://usercontent.irccloud-cdn.com/file/jlGw4lsF/image.png
<zamfofex>These are the packages I have installed.
<vivien>Ooh, I see why tracker fails to build:
<vivien>pkg-config error with 'tracker-sparql-3.0': Could not generate cargs for tracker-sparql-3.0:
<vivien>Package libsoup-2.4 was not found in the pkg-config search path.
<vivien>Sorry, tracker-miners*
<M6piz7wk[m]>someone give me an URL for 32-bit guix installer
<M6piz7wk[m]>i am lazy to open a web browser
<M6piz7wk[m]>also mentally drained to do so
<M6piz7wk[m]>so provide `dd` command with it my usb is /dev/sdc
<M6piz7wk[m]>thanku
<M6piz7wk[m]>pff fine i do it myself
<M6piz7wk[m]>-w-
<zamfofex>This? https://ftp.gnu.org/gnu/guix/guix-system-install-1.3.0.i686-linux.iso
<M6piz7wk[m]>AAAA ofc you give it to me now that i forced myself to get it
<M6piz7wk[m]>bully
<M6piz7wk[m]>but yes that u.u
<abrenon>zamfofex: thanks for the screenshot
<rekado_>vivien: heh, I also *just* got to the tracker-miners build failure.
<rekado_>are you working on a patch?
<vivien>About to send it :)
<rekado_>excellent
<abrenon>that's dreamy, I wish I could manage to create environments so simple
<abrenon>what is this "start" profile though ? it's distinct from your regular user profile ?
*M6piz7wk[m] needs to figure out how to do multiboot USB as he's getting overwhelmed with USB sticks
<vivien>It should appear on https://issues.guix.gnu.org/51790 any minute now
<M6piz7wk[m]>Can i do distributed build on Guix?
<M6piz7wk[m]>boolean is sufficient
<vivien>M6piz7wk[m], like with distcc? I don’t know of anyone trying
<M6piz7wk[m]>like what NixOS is doing that i can just define a cluster and when i do push-based deployment the build gets distributed across the cluster for the target system
<M6piz7wk[m]>distcc is probably part of it
<M6piz7wk[m]>see https://nixos.wiki/wiki/Distributed_build
<vivien>M6piz7wk[m], if you are looking for offloading, then yes it’s possible (https://guix.gnu.org/manual/devel/en/guix.html#Daemon-Offload-Setup)
*M6piz7wk[m] has no idea what offloading is
<M6piz7wk[m]>oh
<vivien>It’s like, "build the next derivation on the next machine that’s not already doing too much things"
<M6piz7wk[m]>but can that build multiple things at once or is that just making one machine to do the work instead of the host?
<vivien>There’s also an experimental Guix Build Coordinator, https://guix.gnu.org/manual/devel/en/guix.html#Guix-Services
<vivien>If the build requires many derivations, each will go on a different machine so that’s it’s parallelized
<M6piz7wk[m]>perfect
<M6piz7wk[m]>thanku
<zamfofex>abrenon: I use the “start” profile for packages related to starting and setting up X, basically. (There are some simple scripts I wrote to set up the correct environment variables to use them.)
<vivien>Be careful, contrary to with nix, the local machine won’t build anything and will wait for a machine on the cluster to be online
<vivien>There may be other differences
<rekado_>unless you add the local machine as a machine of the cluster
<vivien>rekado_, is it possible?
<rekado_>sure
<vivien>Won’t that make an infinite loop?
<rekado_>we (used to?) do that on ci.guix.gnu.org
<abrenon>zamfofex: wait I don't even see a window manager in there, how are they handled ?
*abrenon will have to read about practical use of profiles
<vivien>Oh well, now nautilus is failing too because tracker requires libsoup 2 and it’s built with libsoup 3
<zamfofex>abrenon: I wrote my own window manager, and I just invoke it directly from my home directory. (It is really simple, but it works well enough for me.)
<vivien>(nautilus has libsoup3 as an input but tracker requires libsoup 2)
<vivien>Wouldn’t it be possible for nautilus to have libsoup3 and libsoup2 as inputs?
<abrenon>hmmm I see, that explains why ^^
<abrenon>thanks for all your explanations
<abrenon>I'll clearly have to spend some more time experimenting with profiles, system install vs user install of GUI packages and trimming down that environment
*M6piz7wk[m] did the guix installer and gets a screen full of `???` and rage quits
<zamfofex>abrenon: I appreciate you giving me an opportunity to talk about my setup! I always wanted to describe it more thoroughly as a post somewhere, so I’m glad to know some people might be interested!
<M6piz7wk[m]>!%#@! i used the USB that is broken
<M6piz7wk[m]>-w-
<vivien>#$@(insert some insults here)
<abrenon>yeah I'd love to read some more about it
<lilyp>we're on some Asterix level of swears here
<M6piz7wk[m]>i can go full slav if you want me to vole
<abrenon>since I received my work laptop and installed guix on it, all I managed to do is install xfce and run xmonad instead of xfwm
<abrenon>anything else I tried yielded an ugly or buggy and hardly useable environment
<vivien>nautilus builds fine if I add both libsoup and libsoup-minimal-2 as inputs
<vivien>rekado_, is it OK to do this? Should we do that for tracker-miners too?
<abrenon>lilyp: that's the best level of swearing there is
<M6piz7wk[m]>abrenon: may this help you https://guix.miraheze.org/
<M6piz7wk[m]>probably wont
*M6piz7wk[m] tried
*abrenon reads
<nanoir>Are there any Guix user who use MacBook with m1 chip?
<vivien>nanoir, I’m not but I’m curious: do you want to install guix system on a macbook?
*abrenon is unhelped
*abrenon doesn't mind, it was nice of you to send this link
*M6piz7wk[m] plans on installing guix on his iPad 2 that he got for free
<M6piz7wk[m]>just really annoying with it needed reflowing of the storage chip to install anything -w-
*vivien looks around the house for computers that don’t have guix installed
<M6piz7wk[m]>i should reverse engineer it
<nanoir>vivien Yes, but I don't know how to configure qemu to run a VM on Guix
<rekado_>vivien: I don’t think we should add two variants of the same library. Does it build with just libsoup-minimal-2?
<nanoir>Since I just want to experiment some configurations on it so that I can use a Guix OS on my other machines
<M6piz7wk[m]>why not two variants? just define derivation for it
<rekado_>M6piz7wk[m]: that’s beside the point.
<vivien>rekado_, it builds fine with just libsoup-minimal-2
<abrenon>ohh there's a cool link for some support on IRC at the bottom
*rekado_ --> food
<M6piz7wk[m]>hmm
<M6piz7wk[m]>hmph
<abrenon>hey, I'm already there
*M6piz7wk[m] was prepared to smash a table and ragequit, but the installer works which made him even angrier
<M6piz7wk[m]>*the table
<M6piz7wk[m]>and it stopped working when i said this
<M6piz7wk[m]>THIS HUGGING THIGNSSSSS
<M6piz7wk[m]>actually trolling me
<abrenon>too bad for the table
<M6piz7wk[m]>i've made the table for this hard workload -w-
<lilyp>"work" "load"
<M6piz7wk[m]>was mainly designed to hold the weight of a multiple people but table smashing was welcomed side effect w-w
*M6piz7wk[m] submitted http://debbugs.gnu.org/cgi/bugreport.cgi?bug=51804
<M6piz7wk[m]>aaaaa it loaded
<M6piz7wk[m]>after like 20 min
<M6piz7wk[m]>amazing
<M6piz7wk[m]>the benevolence
<vivien>rekado_, I’ve sent a patch to fix and upgrade nautilus :) https://issues.guix.gnu.org/51805
<M6piz7wk[m]>Do i want to know what Emacs EXWM is
<vivien>M6piz7wk[m], its ownly drawback is that there’s no easy solution to lock your screen
<rekado_>vivien: what I worry about is using packages that don’t work well with gnome 40
<rekado_>nautilus at 40.2 seems to be the correct version for gnome 40, while 41.0 might not be right.
<vivien>Ah ok
<rekado_>I don’t know where we can look up the intended cooperative versions
<rekado_>I’d like to avoid having to upgrade all of gnome as a consequence of our attempts to fix broken packages.
<vivien>Don’t upgrade it then
<rekado_>the patch itself looks fine to me, though. Is there a way to fix it without upgrade?
<lilyp>imho semver fucked gnome hard
<vivien>rekado_, should we discard the gnome-autoar upgrade too?
<lilyp>like if this was 4.0 vs 4.2 few people would bat an eye
<vivien>Discarding the nautilus upgrade commit works
<vivien>Discarding the gnome-autoar upgrade works too, although its NEWS file indicates a regression fix in 0.4.1
<M6piz7wk[m]>why is it installing nouveau on system that doesn't even have a GPU 💢
<jpoiret>does anyone know what the blockers are for the c-u-f merge?
<jpoiret>i'm not working on anything specific at the moment so i could help with that
<vivien>jpoiret, there was a merge from cuf-bc to cuf a few days ago, some things have been broken and need fixing :)
<M6piz7wk[m]>You can do homeworks for me if you want too
<vivien>Aside from that, I can’t speak for guix people that know the sort of things that can help
<jpoiret>yes i just saw that and the polkit rust saga
<rekado_>jpoiret: one specific problem I’m aware of: python-notebook fails to buidl
<rekado_>*build
<lilyp>M6piz7wk[m]: guix graph is your friend and helper
<jpoiret>is that the setuptools issue i keep seeing?
<M6piz7wk[m]>eh?
<M6piz7wk[m]>i have friends?
<M6piz7wk[m]>can those infiltrate FSF and give me the etherpad that greg bullies me with
<rekado_>jpoiret: probably not on core-updates-frozen
*M6piz7wk[m] invoked `guix graph emacs` and is confused
<jpoiret>lilyp: thanks for reminding me about guix graph, nowhere is it documented that the order of arguments of `guix graph --path` matters
<rekado_>jpoiret: it has a few test failures on c-u-f that all relate to … deleting files that seemingly don’t exist
<rekado_>I tried upgrading python-send2trash, but that didn’t help
<rekado_>I’m just a little worried about this, because send2trash uses glib/gio, so maybe it’s worse than it looks
*M6piz7wk[m] is even more confused about guix graph
<jpoiret>ouch. did you report the issue yet?
<jpoiret>M6piz7wk[m]: see "(guix) Invoking guix graph"
<rekado_>M6piz7wk[m]: maybe read the manual on guix graph. it helps.
<rekado_>(the setuptools problem is on the master branch)
<jpoiret>oh alright
<rekado_>jpoiret: no, haven’t reported it yet. I only hit the problem yesterday night.
<rekado_>so if you feel like spelunking python-notebook is yours :)
<lilyp>jpoiret: yeah, it's START END, someone ought to mention that
<M6piz7wk[m]>did you missed the part about me being mentally drained from school and guix installer kicking me on top of that to make me read a manual that is too smart for me
<jpoiret>tbh on c-u-f i have a segfaulting nm-applet on specific circumstances, but i don't have any PEAP+MSCHAPv2 wifi around me atm (which is when it does segfault)
<jpoiret>+ it segfaults in glib, so i feel like it's going to be a pain
<jpoiret>lilyp: i'll write a patch about that
<jpoiret>more like PACKAGE TRANSITIVE-DEPENDENCY though
<vivien>dconf-editor needs the old meson too: https://issues.guix.gnu.org/51806
<rekado_>M6piz7wk[m]: maybe take a break then.
<rekado_>vivien: LGTM, but I gotta go now
<vivien>See you :)
<M6piz7wk[m]>rekado_: that's what the school expects you to do only to break you more when you let your guard down
<M6piz7wk[m]>medicine be that way
<vivien>Please delete 51806, it has already been fixed.
<M6piz7wk[m]>who in the right mind is removing resolved issue trackings?
<lilyp>Friendly reminder that #guix is not a place to just vent frustrations.
<lilyp>Please take your anger out at M-x doctor or M-x real-doctor
<vivien>M6piz7wk[m], it’s a duplicate
<lilyp>vivien: you can mail control@debbugs.gnu.org or simply 51806-done
<M6piz7wk[m]>hmph making me feel even worse by comparing my doctorine to an emacs program -w-
<M6piz7wk[m]>vivien: fair enough
<lilyp>If you are a psychotherapist, psychiatrist or clinical philosopher, I would still recommend you to talk to a colleague, particularly one you don't know already.
<vivien>lilyp, thanks for the tip :)
<M6piz7wk[m]>just lame medstudent with dreams of being able to cut in people with confidence
<vivien>(I’m not a psycho*, that was for closing the issue)
<lilyp>I've heard that in my country depression rate among students is like 40%, so you might really want to seek help before you start cutting yourself for science.
*M6piz7wk[m] is pretty psycho allegedly though~
<lilyp>btw. clinical philosopher should be psychologist, but the former would be kinda funny too
<M6piz7wk[m]>i am already the master of chronic depression~
<lilyp>like imagine getting hit by Laplace's paradox out of nowhere
<lilyp>great, now you only need to bend three more illnesses and you can be the Avatar of psychology
<M6piz7wk[m]>hmm oke my heart is failing so that should handle the 2nd one :p
<abrenon>'later
<vivien>devhelp can only build against webkit2 on core-updates-frozen starting at version 41, I propose we upgrade devhelp: https://issues.guix.gnu.org/51808
<M6piz7wk[m]>yay XFCE4 desktop that works
<M6piz7wk[m]>thing that nixos absolutedly suck at
<M6piz7wk[m]>if this system starts to randomly turn off because it doesn't have a firmware i will scream
<M6piz7wk[m]>it doesn't yay
<M6piz7wk[m]>"Oh no! Something has gone wrong" howddya diagnose this
<M6piz7wk[m]>it's the GTK login thing right
<M6piz7wk[m]>why is it so difficult for GNOME to put logs in /var/log
<M6piz7wk[m]>oh they have it there
<M6piz7wk[m]>without anything useful
<M6piz7wk[m]>=w=
<M6piz7wk[m]>and the whole system is hugged me
<M6piz7wk[m]>*hugged up
*M6piz7wk[m] is doing `guix pull`
<rekado_>failing packages: pdfpc (again…), epiphany, and vigra.
<rekado_>vigra is needed for libreoffice
<rekado_>pdfpc complains about not being able to find webkit2gtk-4.0
<vivien>rekado_, for devhelp, see issue 51808 :)
<daviid``>rekado_: guile-cv needs vigra (and vigra_c) as well ...
<vivien>That’s another case of webkit2gtk-4.0 not found
*M6piz7wk[m] guix pull is still running
<florhizome[m]><M6piz7wk[m]> "thing that nixos absolutedly..." <- i just installed enlightenment (they have a wayland session?!), it doesn’t start from sddm ... so you‘re not save :D
<florhizome[m]>I’m also breaking my head trying to figure out how to run wayfire from a wrapper script from sddm (how to install the .desktop file in Share/wayland–sessions; how to install the script)
<florhizome[m]>in this regard: is there a simple make file command? so I can just install it with the package? plain–file doesn’t return a local file, right?
*M6piz7wk[m] had to tape a computer fan to this notebook that he powers from a bench PSU as it was overheating on guix pull
<M6piz7wk[m]>-.-
<M6piz7wk[m]>i am having a flashbacks about doing this on nixos for 5 hours and then it failing at 97%
<M6piz7wk[m]>this is getting into an exercise in self control -w-
<jpoiret>florhizome[m]: the .desktop file should be added to the wayfire package
<jpoiret>it should be automatically picked up by your display manager as long as the package is installed in your system profile
<florhizome[m]>well it is picky
<florhizome[m]>wayfire packages a .desktop file
<florhizome[m]>i tried substituting the exec=entry, but then it doesn’t display it no more.
<jpoiret>did you check if the .desktop file that ended up in your profile after patching it looked right?
<jpoiret>what's the preferred way to send a patch that closes a bug? Do I send a mail just to guix-patches, and one more to the bug thread?
<florhizome[m]>So I will copy it (to have a backup) and substitute the command with the scriptname.
<florhizome[m]>so the question remains how to install the script
<florhizome[m]>Something from here probably to create a file https://www.gnu.org/software/guile/manual/html_node/File-Ports.html
<jpoiret>you shouldn't need to use ports directly in guix
<jpoiret>since you always write derivations
<M6piz7wk[m]>yay it finished and didn't fail
<jpoiret>you should use mixed-text-file (see "(guix) G-Expressions")
<M6piz7wk[m]>or it just does that to make me weak and happy for it's failure to hurt more
<florhizome[m]>jpoiret: Ahh probably.
<florhizome[m]>i overlooked/forgot that.
<M6piz7wk[m]>gdm failed again i hate my life and everything in it
<M6piz7wk[m]> http://io.io/3ESd
<M6piz7wk[m]> * http://ix.io/3ESd
<M6piz7wk[m]>> Unable to initialize Clutter: Unable to initialize the Clutter backend: no available drivers found.
<M6piz7wk[m]>i guess this is the issue?
<florhizome[m]>overall it would be nice to have something like temporary system editing to test such things without having to system reconfigure. Or, hardware configuration. Like, not to be used for constant changes but for working stuff out.
<M6piz7wk[m]>aaa how do i replace the session manager on guix this gdm is painful af
*M6piz7wk[m] is loosing his hugging mind trying to find a solution to his session manager failing without any helpful messages and people telling him to do `dpkg reconfigure`
<florhizome[m]><M6piz7wk[m]> "gdm failed again i hate my..." <- we really need the greetd patch ^^
<florhizome[m]>I just wanted to read up mail conventions, before ... does the „subject“ matter , or I just send to the address specific to the patch?
<M6piz7wk[m]>i have no idea what any of that means
<M6piz7wk[m]>this first thing i do on my system is replace everything that has GTK, GNOME or systemd in the name
<florhizome[m]>M6piz7wk[m]: Just add a different service but also delete gbm from base–services or desktop–services
<florhizome[m]>If you use that list
<M6piz7wk[m]>checking
<florhizome[m]>(with an %
<M6piz7wk[m]>i don't even have guix shell on that system aaaa
<florhizome[m]>Should be %desktop–services
*M6piz7wk[m] sent a scheme code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/4763c8a714e82c9bdabc477dc8dbbf49c13a3276
<M6piz7wk[m]>eh?
<florhizome[m]>yup
*M6piz7wk[m] knows how to append and cons but not how to remove something
*M6piz7wk[m] also doesn't know the value of %desktop-services
*M6piz7wk[m] is reading https://www.gnu.org/software/guile/manual/html_node/List-Modification.html
<florhizome[m]>i think I do this unnecessarily complicated... And I basically copied from daviwil
<florhizome[m]>I think the magic is (remove (lambda (service) eq? (service–kind service) gdm–service–type)), it just sits in my (list ...)
<M6piz7wk[m]>so after %desktop-services?
<florhizome[m]>There is also a YouTube vid of s.o. Installing sway where they do that. (it’s also a gist on gh)
<florhizome[m]>No
<M6piz7wk[m]>aaaa
<M6piz7wk[m]>so ehh before %desktop-services?
<florhizome[m]>Yes we are modifying the list while in the list
<florhizome[m]>actually we don’t refer to desktop services in the function so that’s why I think it should work
<florhizome[m]>Basically what my code config does is define a list based on desktop services that gets altered in this way but I think it could be unnecessary
<florhizome[m]>Well I have to eat
*M6piz7wk[m] sent a scheme code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/4da7961bfdda5b5041cef72184adfde2d670a5c7
<M6piz7wk[m]>ehh
<M6piz7wk[m]>the 42 line represents the (remove ...
<M6piz7wk[m]>i guess it has to be (list (append) (remove)) ?
<M6piz7wk[m]>... that made it worse
<M6piz7wk[m]>aaaa
<M6piz7wk[m]>> /etc/config.scm:33:2: error: (services (list (append (service xfce-desktop-service-type) (service openssh-service-type) (service tor-service-type) (set-xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout)))) (remove (lambda (service) eq? (service–kind service) gdm–service–type))) %desktop-services): invalid field specifier
<vivien>I would like to try the vala-language-server, but it fails to build on core-updates-frozen :( Would it be OK to upgrade it? https://issues.guix.gnu.org/51812
<vivien>I see that the project mentions guix in its README, so maybe there are friends of vala-language-server here :)
*M6piz7wk[m] put the `%desktop-services` in `(display` and is cherrypicking the config
<M6piz7wk[m]>is there some way to redirect (display in a file
<vivien>(call-with-output-file "file" (lambda (port) (display thing port)))
<M6piz7wk[m]>thanku
<vivien>If you import srfi-26, you can do (call-with-output-file "file" (cut thing <>))
<vivien>Sorry, (cut display thing <>)
<M6piz7wk[m]>the cherrypicking is pain >.>
*M6piz7wk[m] asked in #guile for help
*M6piz7wk[m] is trying to replace gdm with e.g. lightdm
<florhizome[m]>> <@6piz7wk:tchncs.de> > /etc/config.scm:33:2: error: (services (list (append (service xfce-desktop-service-type) (service openssh-service-type) (service tor-service-type) (set-xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout)))) (remove (lambda (service) eq? (service–kind service) gdm–service–type))) %desktop-services): invalid field specifier
<florhizome[m]>>
<florhizome[m]>Uhm sorry I figured I have (services (cons* (service...–service–type)... (remove...) %my–desktop–services)))... where my–desktop–services are defined before (operating–system) as I said.
<florhizome[m]>it’s probably pretty hacky.
<florhizome[m]>> * <@6piz7wk:tchncs.de> is trying to replace gdm with e.g. lightdm
<florhizome[m]>lightdm is not defined as a service afaik, take sddm
<M6piz7wk[m]>how
<M6piz7wk[m]>\>.<
<florhizome[m]>See manual :D
<florhizome[m]>(Service sddm–Service–Type (sddm–configuration))
<M6piz7wk[m]>florhizome[m]: 💢
<M6piz7wk[m]>service? Not services?
<M6piz7wk[m]>oh in services
<M6piz7wk[m]>is that going to use the sddm instead of gdm though
<M6piz7wk[m]>> guix system: error: service 'xorg-server' provided more than once
<M6piz7wk[m]>aaaaa why does sddm-service-type providing xorg-server
<M6piz7wk[m]>my head hurts this is such a pain
<M6piz7wk[m]>> The following example
<M6piz7wk[m]>shows how to replace the default GDM service with two SLiM services on tty7 and tty8.
<M6piz7wk[m]> (modify-services %desktop-services
<M6piz7wk[m]> (delete gdm-service-type)))))
<M6piz7wk[m]>-W-
<M6piz7wk[m]>just read the manual krey why are you suffering for 6 hours krey you fool krey
<DynastyMic>guys, how can I make an environment with a manifest, but also including some packages guix lacks?
<DynastyMic>I already have the code for the packages
<DynastyMic>but since it is just for a little python tool, I don't want to contaminate my own guix profile with such thing
<M6piz7wk[m]><DynastyMic> "guys, how can I make an environm..." <- afaik you can just define those in the manifest for guix to recognize
<M6piz7wk[m]>... at least it seemed to work when i was messing with webgtkkit
<M6piz7wk[m]>... failing to fix webgtkkit
<M6piz7wk[m]>confidence ruined
<lilyp>yep, you can even supply multiple manifests at once and they ought to be merged :)
<DynastyMic>So I just put the entire (define-public yadayada ...) on top of the (specifications->manifest ...)
<DynastyMic>?
<DynastyMic>and then do guix environment --manifest="./my-file.scm"
<DynastyMic>since it is throwing me: guix environment: error: python-torrequest: unknown package
<DynastyMic>guix environment: error: failed to load './guix-requirements.scm'
<DynastyMic>So I though such thing wouldn't be possible
<nckx>Good cosy crisp autumn evening fake morning, Guix.
<M6piz7wk[m]><DynastyMic> "So I just put the entire (define..." <- that's how i understood it working
<DynastyMic>how should i reference them in the specifications->manifest?
<DynastyMic>with double quotes?
<nckx>Why are you using specifications->manifest?
<DynastyMic>yep
*nckx → firewood.
<DynastyMic>i don't know, I so it in a tutorial
<DynastyMic>saw*
<DynastyMic>should i avoid it?
<KE0VVT>Where is davexunit?
*nckx ret.
<nckx>DynastyMic: There's nothing wrong with it, but it's not compatible with what you want to do: it does not ‘see’ packages defined above it. This is, er, a quick example of what works, although there might be a prettier way: https://paste.debian.net/plainh/22b55b65
<nckx>The whole map-compose-output complicates things and isn't needed if you don't use outputs, but it is ‘future proof’ if you later need to.
<nckx>sneek: seen davexunit
<sneek>I last saw davexunit in #guix 5 months ago, saying: irc or bust.
<nckx>Perhaps bust it was.
<xd1le>sneek: seen dthompson
<sneek>Nope.
<tissevert>good morning guix
<DynastyMic>nckx: It does works <3
<nckx>Hi tissevert & happy to hear that DynastyMic!
<tissevert>o/ nckx and DynastyMic
<DynastyMic>greetings tissevert
<jgart>Hi, if anyone has the time to review this patch it would be much appreciated: https://issues.guix.gnu.org/51764
<jgart>music21 is an awesome library for computational musicology whose development was funded over many years by MIT as well as developed by the community:
<jgart> https://web.mit.edu/music21/
<jgart>It can answer queries like: I wish I knew which band was the first to use these chords in this order.
<jgart>or I wonder how often Bach does that.
<tissevert>Oo sounds so cool
<nckx>Intriguing! Good strategy, jgart, wish I were available :)
<jgart>No worries, was just putting it out there in case someone is. No rush also
<jgart>music21 can also render all queries as music notation inside a jupyter notebook: https://github.com/cuthbertLab/music21/blob/ccf6e58f8ce94fb27822115a840d72253cff413a/documentation/source/usersGuide/usersGuide_56_searching2.ipynb
<tissevert>that's beautiful
*nckx .oO …how often _does_ Bach do that…?
<DynastyMic>"It can answer queries like: I wish I knew which band was the first to
<DynastyMic> use these chords in this order. [11:2" <- wow
<nckx>TBH when I (very inattentively) skimmed the package earlier I thought it was a simple A/B testing somethingorother.
<nckx>‘Oops.’
<jgart>It's not tied to jupyter though it can easily just shell that out to lilypond or musescore
<darth-cheney>hey all -- I've got an annoying situation where geiser-guile is not able to load the same modules that guile can when I run it from the command line. Any ideas?
<darth-cheney>geiser is pointed to the same guile as my system (which is the guix profile one)
<jgart>composers have also used music21 as composition tool. For example Mike Winter: https://unboundedpress.org/scores/ida_for_amy_score.pdf
<jgart>that score is generated from music21
<nckx>darth-cheney: Are $GUILE_LOAD_PATH and $GUILE_LOAD_COMPILED_PATH set in geiser's guile's environment?
<nckx>(To the same thing as outside of it.)
<darth-cheney>nckx: hmm perhaps not, since I didn't set anything up manually
<nckx>I don't use Geiser so I can't say much more.
<jgart>unfortunately the code is not available publicly for it but here is some of his others codes for musical pieces: https://gitea.unboundedpress.org/explore/repos
<jgart>nckx, do you use scheme-mode?
<jgart>I've thought of just using scheme mode for guile
<jgart>I opened this issue. Have to actually finish it. https://github.com/emacs-evil/evil-collection/issues/546
<nckx>Hah, I actually have Geiser loaded (hello forgotten menu bar entry), yet I never use it :)
<nckx>jgart: Yes, although even there I don't use the features I probably should.
<jgart>scheme-mode might be enough
<tissevert>jgart: what kind of music is that ? it's very difficult to understand, without time signatures or durations on the pitch
<jgart>contemporary modern classical
<jgart>experimental
<jgart>all of the above
<tissevert>ok ^^
<jgart>experimental classical is probably what a music critique would use ha
<jgart>Here's the other side of the meter spectrum: http://aaroncassidy.com/product/the-crutch-of-memory/
<jgart>or for flute and based on gray codes http://davidpocknee.ricercata.org/compositions/e029_gray-winter-grimes/david-pocknee_gray-winter-grimes_2017-05-13.pdf
<jgart> https://en.wikipedia.org/wiki/Gray_code
<jgart>reflected binary code
<tissevert>are those "flute tabs" ?
<tissevert>that looks like a very fun thing to do, use one's digits as, well, digits ^^
<jgart>it's a score
<jgart>but yes it reads a bit like tabs
<jgart>the flute player is reading fingerings instead of notes
<tissevert>I didn't know there were similar systems for other instruments
<jgart>the result is mostly quasi indeterminant sounds guided by the score and the flautist's emboucher/finger positions interacting in various ways
<jgart>tabs is as old as the lute, atleast
<KE0VVT>Guix, how do you get dates in your blog post URIs, like in <https://guix.gnu.org/en/blog/2021/taming-the-stat-storm-with-a-loader-cache/>?
<tissevert>ohh really ?
<tissevert>I had no idea
<jgart>Tab was used extensively in the baroque era
<jgart>by lutenists
<jgart>Bach wrote lute tablature also
<vivien>Mmh, why is meson not wrapped to set the python path? If I install meson in a guix home, it raises an exception ‘importlib.metadata.PackageNotFoundError: meson’
<tissevert>Oo
<vivien>But if I use it in a guix shell, it works.
<guixy>`malcontent-client`fails. `malcontent` is missing the `python-pygobject` input.
<tissevert>and people weren't bothered by the lack of notes ?
<tissevert>I mean tabs hide what is going on in term of harmony
<jgart>the harmony is still there. You just have to listen to it and know what it is doing and where/how it's going. Wes Montgomery knew what the harmony was better than most and he didn't even read music, for example
<jgart>knowing what the musical harmony is doing can also be captured in the mind without a musical score. Even on a very technical level with understanding of theory and all
<jgart>There's blind pianists who've had a "photographic memory" of harmony and didn't read braille at all
<tissevert>ok
<jgart>I know one who could play anybody's solo from any jazz album by heart from the 1960s (pianist included with harmony). He could explain all the harmony theoretically also in terms on notes, chord qualities, and progressions verbally without score
<jgart>anyways, I'm digressing haha
<tissevert>I sure don't mind
<tissevert>thanks for the quick look into harmony
<jgart>probably other decades as well. He has an encyclopedic knowledge of the jazz repertoire in his mind: https://vid.puffyan.us/watch?v=KYNCMrw2gHg
<jgart>Mike Gerber
<jgart>no prob
<KE0VVT>Agh! Cannot clone <https://git.savannah.gnu.org/cgit/guix/guix-artwork.git/>!
<tissevert>with a trailing slash ?
<tissevert>doesn't work here either
<tissevert>anyway, I'll have to go
<jgart>git clone https://git.savannah.gnu.org/git/guix/guix-artwork.git
<tissevert>see you all later
<jgart>that worked for me
<KE0VVT>jgart: Thanks.
<jgart>tissevert, see ya
<KE0VVT>Agh! It's too hard to get Haunt to follow my site structure!
<jgart>KE0VVT, here's a site I made for a client once: https://git.sr.ht/~jgart/artbyzepol
<jgart>maybe it's useful to some degree
<KE0VVT>jgart: T_T I don't know how to code.
<jgart>Start by modifying other people's code instead of writing new code from nothing. Don't change to much at first and just hack a bit. Try with the above site
<KE0VVT>jgart: Site offline. I don't know what the code will produce.
<KE0VVT>jgart: Is there a way to get “haunt serve” to not care about “.html”? I don’t use file extensions, per “Cool URIs Don’t Change” <https://www.w3.org/Provider/Style/URI>.
<jgart>Have you been able to build the site without that constraint?
<jgart>If not, maybe simplify the problem first?
<KE0VVT>jgart: How do I make these changes to my personal site's repo without messing up the original working copy?
<KE0VVT>jgart: I'm having issues just adding one article. https://gitlab.com/calher/personal-site/-/commit/76cfaeb2f5cb4bde1f6cf0dbcd0729558d40c35e
<Christoph[m]>guix pull stores its result in the user's home and not in the store. Why is that? (I use guix on a foreign distro, and I have to update guix for root and for my user, so guix compiles itself twice. Were the result of guix pull in the store, then the second update could be a simple check if there already is a newest version of guix in the store.)
<lilyp>Christoph[m]: guix pull stores the result in the store and symlinks it in the home
<jgart>This is how I'm currently using sbcl libs:
<jgart>guix shell sbcl sbcl-dexador
<jgart>(asdf:load-system :dexador)
<jgart>Is that what others are doing too?
<jgart>maybe we need a cookbook entry to document that and avoid rabbit holes for new guix lisp users
<jgart>wdyt?
<lilyp>is asdf:load-system the typical cl way of loading libraries? (analogous to guile's use-modules)
<jgart>It's one way
<lilyp>what others are there?
<jgart>I'm trying to find that out now
<jgart>Talking with some lisp peeps on matrix
<Christoph[m]><lilyp> "Christoph: guix pull stores..." <- Oh! Why does guix pull compile the same guix version twice? (I usually do 'sudo systemctl restart guix<tab>' before the second guix pull. That updates the demon in case it changed, but often it doesn't.)
<lilyp>IIRC guix pull compiles guix modularly (core, packages, ...)
<lilyp>if you pull a different commit as user than root, you might need to recompute everything
<jgart>KE0VVT, how about using a git branch?
<jgart>or worktree
<KE0VVT>jgart: I'm using a branch.
<KE0VVT>jgart: The branch is called “haunt”.
<jgart> cool, that's one way
<KE0VVT>jgart: Just trying to make sure my changes are separate from the working copy in “main”.
<jgart>git status
<KE0VVT>jgart: It now builds, but I had to convert it to Markdown and remove images. https://gitlab.com/calher/personal-site/-/commit/8c176b9c7e58f96220fca9a9eeb7093726c0822f
<jgart>check to make sure you're on the right branch
<KE0VVT>On branch haunt
<jgart>If you already committed those changes you won't lose them if you look in the the reflog
<jgart>git reflog
<jgart>so there's a way to recover from many things
<jgart>KE0VVT, have you tried using tig?
<jgart>that's a useful program too
<KE0VVT>jgart: I don't know what tig is...
<jgart>guix shell tig -- tig refs
<jgart>in your git repo
<jgart>s/run it in your git repo
<jgart>guix edit tig
<jgart>guix show tig
<jgart>It's git spelled backwards and a fast tui
<KE0VVT>jgart: I barely know how to use Git, let alone use it through some other program, while also trying to learn how to edit sites through yet another program.
<KE0VVT>I’ll just use it as a fancy “git log” right now.
<jgart>tig can help you learn git
<jgart>since it abstracts certain things away
<jgart>kind like magit users sometimes don't know the underlying git commands they're running from emacs and have to look it up
<KE0VVT>jgart: If I’m going to use a Git program, I’d rather use Magit.
<jgart>because magit abstracts those things away and wraps it
<jgart>why do you think you'd prefer that?
<KE0VVT>jgart: Emacs.
<jgart>s/that/magit
<jgart>why magit in emacs?
<jgart>what are the pros and cons?
<lilyp>VC is nice, but magit works better with Guix
<lilyp>the Guix yasnippets also build on it
<KE0VVT>I don’t know, I’m hungry and just wish this white background would stop staring at me, because I can’t figure out how to change CSS with this convoluted static site generator.
<KE0VVT>I don’t even know where it stores images, so I can link an image on the page.
<KE0VVT>jgart: Magit is the most popular Git interface, and it integrates with Emacs.
<KE0VVT>For an Emacs app, it’s very popular.
<KE0VVT>People who normally don’t use Emacs apps will use it when they are programming in Emacs.
<KE0VVT>(I avoid Emacs apps for IRC, for example.)
<jgart>has anyone used tempo and skeleton for templates in emacs?
<jgart>One of the pros of tig is that it's faster than magit, for example
<lilyp>shelling out isn't faster if you're doing a UI anyway
<jgart>So, if you have to load a huge repo of commit data you might be better served performance wise
<jgart>wrapping git commands without a text user interface is nice sometimes too for speed
<jgart>this project looks interesting: https://github.com/xFA25E/skempo
<KE0VVT>Todo: https://gitlab.com/calher/personal-site/-/commit/77f7b840379f3786d1328ef37a9fcb5b84018d56
<civodul>hey! if someone wants to run the latest plot at https://issues.guix.gnu.org/24937#20 that could give us more insight regarding deduplication
*jgart reads
<jgart>civodul, make-scatter-plot comes from guile-charting?
<jgart>is that the function you're using?
<jgart>oh just read it
<jgart>nm ;)
<civodul>jgart: yes, "guix install guile-charting" :-)
<acrow>Maybe I am not the only one that gets a bunch of problems when I try to simply 'guix install guile-charting'. I happen to have a bunch of conflicting packages and rather than trying to unravel that I am trying to use guix shell guile guile-charting
<civodul>ah sure
<jgart>maybe try in a container or with --pure?
<vivien>I’m doing the expensive part :)
<acrow>It takes a long time for (define l (links)) to run. On my machine anyway.
<KE0VVT>:-( afk https://gitlab.com/calher/personal-site/-/tree/haunt
<vivien>I have a large store on a spinning disk, should I hold my breath?
<vagrantc>hello #guix :)
<acrow>Ah, are these results of value when run from a recent 'master'? or is the concern what is happening in a dev branch?
<civodul>acrow, vivien: that part can take between a few seconds and a few minutes (?), depending on SSD vs. spinning disk and on the number of entries
*vagrantc checks to see if diffoscope builds on core-updates-frozen now that "fpc" is *really* fixed :)
<acrow>Uploading a png to....
<vagrantc>after setting LC_ALL=en_US.UTF-8 and LANG=en_US.UTF-8 i managed to successfully "make dist" ... but then trying to build that package on Debian failed :/
<acrow> http://fpp.freeshell.org/space-saving-contribution.png
<acrow>For reference: fpp@Ginko ~/Downloads$ guix describe
<acrow>Generation 192 Nov 13 2021 08:47:51 (current)
<acrow> guix 193d7b5
<acrow> repository URL: https://git.savannah.gnu.org/git/guix.git
<acrow> branch: master
<acrow> commit: 193d7b5b450d2004c26720e488a9cce930542e9e
<acrow>Sorry, that was probably more than was nice.
<civodul>acrow: cool, thank you! so files < 4 KiB contribute to ~4% of space savings on your machine
<civodul>acrow: could you run the one that produces /tmp/size.png too?
<acrow>Yes.
<acrow> http://fpp.freeshell.org/size.png
<acrow>If I'm interpreting that correctly, there is a huge space savings on files that have sizes between 64 and 256 bytes. Not as much outside that range.
<vivien>I’m still waiting for the links :(
<vivien>Finished! :)
<jgart>Here's a working/published vis config that uses fennel: https://git.sr.ht/~jgart/dotfiles/tree/master/item/private_dot_config/vis
<jgart>Feel free to use and hack away at it to configure further.
<civodul>acrow: size.png shows that you don't have any files < 64B in /gnu/store/.links, and that 85% of the entries in there are < 4KiB
<jgart>Now, I have lisp in my editor ;)
<jgart> https://fennel-lang.org/
<KE0VVT>jgart: What is fennel?
<jgart> λ guix shell fennel -- fennel
<acrow>So, the pareto principle might suggest that we focus on those small files that get the vast majority of the results. But why not just do it all? While you are at it?
<KE0VVT>jgart: What does that command do, run fennel?
<vivien>civodul, I have an error running (saved-space l): too few links "/gnu/store/.links/1pi73k82b91hg1fq7qprlpbpma57kz2axwwfbm784sxl3amr3d8k" 1
<jgart>KE0VVT, it's a lisp that lets you easily call any Lua function or library and vice-versa.
<civodul>acrow: it's about mitigating https://issues.guix.gnu.org/24937
<civodul>vivien: are there Guix operations running in parallel?
<acrow>Yes, I've been reading it. You identified it as option #1.
<civodul>yes
<civodul>the patch i've just sent ignores files < 4KiB for deduplication
<vivien>civodul, I think not
<vivien>There’s a guix daemon running, and the guix shell that runs the guile process
<acrow>I'm suspicious that those small files would be linked many more than one time. To get the amount of savings that they do.
<civodul>vivien: then could you "sudo rm" that file and see if it goes further? (it's risk-free)
<vivien>Famous last words
<civodul>:-)
<civodul>acrow: small files contribute very little to space savings, not the other way around
<vivien>rm: cannot remove '/gnu/store/.links/1pi73k82b91hg1fq7qprlpbpma57kz2axwwfbm784sxl3amr3d8k': Read-only file system
<civodul>ah yes
<civodul>oh well
<vivien>With guix gc maybe?
<civodul>"guix gc -C0" clean it up
<vivien>Wait, will that do a full GC?
<vivien>I would like to keep my store around
<vivien>I have very slow internet
<civodul>no, mostly that'll clear stale GC roots and run the infamous "remove unused links" phase
<vivien>Alright then
<acrow>I'm missing it. size.png seems to say that fully 70% of the space savings is from the deduplication of files with sizes between 64 and 256B. Not the smallest files but also far from large files.
<civodul>acrow: no no, size.png is the distribution of entries in /gnu/store/.links by file size
<civodul>it's not about savings
<acrow>k. I think I see what you are saying and IIUC the space-saving-contribution graph doesn't really offer any great file-size sweet spot for savings. Unfortunately.
<acrow>the old school answer to the slow GC issue is simply to perform the garbage collection more frequently. If I don't run guix gc for a few days it, natually, takes longer to achieve the same outcome than if the prior gc was run an hour ago. I may still be mis-understanding the issue. Certainly faster gc is always nice.
<acrow>I am probably betraying my ignorance in saying that hasn't guix gc already achieved a sort of generational garbage collection in looking through diffs of the extant profiles?
<civodul>no, it's not this sophisticated :-)
<vivien>To me, a generational garbage collector is a thing that uses the fastest cache first, then once the fastest cache is full, it moves the things that are still alive to a slower cache and starts over
<acrow>profiles could (sadly) become block chains that would let you see the most recent changes to focus on only the things that have occurred since the last gc.
<acrow>Or, more simply, just have them in a revision control format.
<civodul>the analogy to a programming language GC is limited though
<civodul>e.g., we don't "allocate" files in the store
<acrow>vivien, absolutely. I'm just noodling about how to make gc faster and it seems to me to be linked to the time rate of change of profiles.
<civodul>when the GC is invoked, it deletes everything that's unreachable
<vivien>Large store programs like git use a scheme where it makes a handful of directories on the root, and then put actual content in them. For instance, guix could put /gnu/store/xyz-package to /gnu/store/xy/z-package, maybe that would relieve the disk operations?
<civodul>not to my knowledge
<civodul>at least, for the remove-unused-links phase, what matters is that /gnu/store/.links directory
<civodul>it stands alone, separate from other GC considerations
<vivien>(I’m still running the guix gc -C0 from half an hour ago)
<civodul>woow, spinning disk?
<vivien>Yes
<civodul>terrible :-/
<vivien>I’m not a fan of SSDs, because on my other machine I have a 250 GB SSD and it’s not large enough for all the guix stuff I want to put in
<jpoiret>when you start testing and packaging stuff, guix really starts to take a lot of space heh. I have ~110 gigs for my laptop install
<tissevert>it's the second time I get the "this GPT partition label doesn't contain any BIOS boot partition" during install in a VM and I have no idea why because I checked three times in cfdisk and it's really puzzling
<jpoiret>(110 gigs for the root partition containing store that is)
<vivien>Also, I made the mistake to include games in my profile, and the full texlive, because I couldn’t tell what packages I needed. Now it should be a bit better.
<KE0VVT>civodul: I use spinning disks for backups.
<nckx>Most people do. It's the (lack of) performance that's terrible, not spinning disks.
<vivien>I still think it would be most optimized to burn DVDs with store items
<vivien>Because ultimately you don’t need to re-write them.
<KE0VVT>vivien: Wow. I'm just imagining a giant DVD rack labeled /gnu/store/. xD
<vivien>Garbage collection would literally be "My DVD pile is too high, let’s get rid of the bottom half"
<nckx>You could get one of those fancy CD-ROM changers from yesteryore.
<nckx>Guix Glacier®.
<nckx>civodul: I'm running the plot script; it's spinning very hard; I guess that's good.
<nckx>ERROR: In procedure cairo-arc: Wrong type (expecting real number): 41.63168782660872+119.05001061946898i
<nckx>My store contains imaginary items.
<vivien>That’s next-level DVD technology
<nckx>(I'll explicitly point out that this error was fatal, so no pretty graph for you.)
<civodul>nckx: ouch, no idea what's up with the imaginary numbers!
<nckx>Weird eh?
<civodul>guile-charting is sometimes tough with its users
<civodul>often, even
<tissevert>I on the other hand get imaginary errors, and it's far more pleasing
<nckx>:)
<nckx>I'll try it on some other machines.
<tissevert>you're plotting the content of your store ?
<florhizome[m]>when I call (mixed–text–file ...) in a build phase, do I need to import the guix gexp Module? I get unbound variable
<nckx>tissevert: Yes. We're doing the big data. You can join in if you like. https://issues.guix.gnu.org/24937#23
<nckx>I say we, I've contributed exactly zilch so far.
<acrow>On my system /gnu/store/.links contains >2.8e6 directories/files. It isn't surprising that it takes some time to access it. I wonder if dir_index is being used. My guess is that others have already well covered this ground.
<vivien>I’ve contributed a (real) error message, and I’m in for starting over once the "deleted unused links" phase is over…
<nckx>Guix breaks dir_index.
<nckx>(Sometimes.)
<florhizome[m]>also, does it output a file to the directory or just to the store? i tested from the repl and can’t find anything.
<radomir>hello everyone!
<florhizome[m]>Context, as before, trying to create a wrapper script to be installed with wayfire :)
<nckx>OK… ‘Undefined variable: cut’, which is new.
<nckx>Im we port.
<vivien>mixed-text-file and its friends output things to the store. Be careful, everything will be publicly readable by all users.
<nckx>Hi radomir.
<florhizome[m]>I‘m the only user
<vivien>You need (srfi srfi-26)
<acrow>Well, if we used it we would also be excluding older filesystems. I happen to be using ext4 and I think that is the default but there may be call for using the older stuff too.
<vivien>That defines cut and cute
<nckx>Yes I know the Guile.
<nckx>That was brusque, apologies, I'm just annoyed at computing.
<tissevert>wow…
<vivien>It’s one of my top 3 rated macros (match is #1, let/ec is #3)
<acrow>Well, looking again, ext2 still works but dir_index would be ignored.
<florhizome[m]>vivien: but does it also produce a link in the local directory, that’s what I wanted. actually I don’t really care about the store. I want the script in the build directory so I can install it when wayfire is installed and the other way around
<vivien>nckx, no problem, the extra verbose info might help others that would want to get into the challenge
<acrow>Since guix breaks dir_index I'm guessing that dir_index is a dead end.
<vivien>florhizome[m], Why would it produce a link in the local directory? I don’t get it.
<florhizome[m]>bc I asked for a function that does that
<florhizome[m]>and with some imagination I can interpret it into the man
<vivien>Sorry, I didn’t follow :(
<Noisytoot>ls /gnu/store/.links/ takes a long time and causes my computer's fans to turn on.
<KE0VVT>dear emacs
<radomir>Is this the right place to ask some quastions I don't understand about guix? I see there are a lot of ppl talking about stuff and I wouldn't like to spam with my quastions
<nckx>I wrote a little custom C programme just to ls berlin's store once.
<florhizome[m]>vivien: it’s ok, you are working multiple fronts i see
<nckx>radomir: It absolutely is. Welcome.
<nckx>If nobody answers [immediately] please don't take it personally, but that's rare.
<vivien>The only bad moment to ask questions is when you see people whose name end in [m] leaving the channel in mass
<nckx>Then only the greybeards remain. I don't know what the net effect of that will be on the answers, but yes, you'll get fewer 😉
<florhizome[m]>radomir: a Common problem with these channels... but for such a thing, it’s been a good experience.
<vivien>(if you see that exodus, be aware that a few minutes after it, they will come back and the joining message will bury your question)
<tissevert>hi radomir ! I ask bad questions all the time and they haven't put me away (yet ?) so, try your luck ; )
<KE0VVT>Does Guix System use GDM yet?
<KE0VVT>…for the GNOME desktop?
<nckx>I think so, since there are people complaining about how buggy it is.
*nckx AFK.
<radomir>nckx ty! I still don't know any IRC commands since I never used it before so I Dont know how to tag ppl im answering to... Kinda bussy today so Ill be asking questions another day! Ty all :D
<vivien>KE0VVT, I have (service gnome-desktop-service-type) in my configuration and %desktop-services, and I get GDM to start my GNOME session. I don’t have anything configured for GDM.
<florhizome[m]>Are you asking why or if because it is using it
<tissevert>absolutely ! I confirm that it looked like a default and I felt I had to bear with it so far
<tissevert>so yes, it's running
<jpoiret>GDM is used in guix in the default configuration
<florhizome[m]>It’s default for any session, yet it can’t even launch wayland afaik
<KE0VVT>nckx: GDM works fine here on Fedora. What is wrong with it on Guix?
<jpoiret>florhizome[m]: it will when core-updates-frozen is merged for guix 1.4
<tissevert>that's right, I think SDDM is required to fire wayland software, isn't it ?
<nckx>But before I do, here's one host with one more (spinning HDD) coming later, civodul: https://www.tobias.gr/guix-sizes/
<tissevert>radomir: no problem, tagging is just writing the person's nick in full (most clients auto-complete) like I just did with you
<tissevert>but it's not really a command, you don't really need any IRC command to start chatting and talking with people
<vivien>(On hexchat, you can just start typing the first few letters and hit TAB)