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 <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)) <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]>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 :) <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) <M6piz7wk[m]>Is there any FSF member that likes me and is not part of BoD <apteryx>raghavgururajan: what is your experience of mix and matching gnome components? such as version 40 vs 41 <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>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. <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>indeed there's nohing iabout xwayland almost in the Makefile.am now <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]>"Note that since 21.1 series XWayland is released separately and thus this <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?) <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>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>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>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>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>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 : ( <lilyp>few Guixers are, I just remember cage because it's used in (some) tiling Wayland compositors <abrenon>I hadn't noticed my terminal was missing its tab (because I seldom have tabs in a terminal) <abrenon>the window started exactly with the dimension it would have in tiled layout <lilyp>can you also unfloat it by default? <abrenon>so I didn't notice the terminal wasn't the right size <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. <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>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>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>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.) <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>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. <M6piz7wk[m]>AAAA ofc you give it to me now that i forced myself to get it <rekado_>vivien: heh, I also *just* got to the tracker-miners build failure. <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>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] has no idea what offloading is <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>If the build requires many derivations, each will go on a different machine so that’s it’s parallelized <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 <rekado_>unless you add the local machine as a machine of the cluster <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>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! <abrenon>yeah I'd love to read some more about it <lilyp>we're on some Asterix level of swears here <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 <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 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 <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 <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 *M6piz7wk[m] was prepared to smash a table and ragequit, but the installer works which made him even angrier <M6piz7wk[m]>was mainly designed to hold the weight of a multiple people but table smashing was welcomed side effect w-w <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. <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. <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 :) <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 <lilyp>M6piz7wk[m]: guix graph is your friend and helper <jpoiret>is that the setuptools issue i keep seeing? <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>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) <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 <rekado_>M6piz7wk[m]: maybe take a break then. <M6piz7wk[m]>rekado_: that's what the school expects you to do only to break you more when you let your guard down <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 <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- <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. <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 <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 <M6piz7wk[m]>if this system starts to randomly turn off because it doesn't have a firmware i will scream <M6piz7wk[m]>"Oh no! Something has gone wrong" howddya diagnose this <M6piz7wk[m]>why is it so difficult for GNOME to put logs in /var/log *M6piz7wk[m] is doing `guix pull` <rekado_>failing packages: pdfpc (again…), epiphany, and vigra. <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]>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]>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. <jpoiret>you shouldn't need to use ports directly in guix <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 <M6piz7wk[m]>gdm failed again i hate my life and everything in it <M6piz7wk[m]>> Unable to initialize Clutter: Unable to initialize the Clutter backend: no available drivers found. <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]>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 *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 <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 ...) <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]>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 <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 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 <vivien>(call-with-output-file "file" (lambda (port) (display thing port))) <vivien>If you import srfi-26, you can do (call-with-output-file "file" (cut thing <>)) *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]>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]>> * <@6piz7wk:tchncs.de> is trying to replace gdm with e.g. lightdm <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]>shows how to replace the default GDM service with two SLiM services on tty7 and tty8. <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>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 <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>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' <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? <nckx>Why are you using specifications->manifest? <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. <sneek>I last saw davexunit in #guix 5 months ago, saying: irc or bust. <nckx>Hi tissevert & happy to hear that DynastyMic! <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>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. <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 *nckx .oO …how often _does_ Bach do that…? <DynastyMic>"It can answer queries like: I wish I knew which band was the first to <nckx>TBH when I (very inattentively) skimmed the package earlier I thought it was a simple A/B testing somethingorother. <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>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>nckx, do you use scheme-mode? <jgart>I've thought of just using scheme mode for guile <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. <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 classical is probably what a music critique would use ha <tissevert>that looks like a very fun thing to do, use one's digits as, well, digits ^^ <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 <jgart>Tab was used extensively in the baroque era <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’ <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 <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 <KE0VVT>Agh! It's too hard to get Haunt to follow my site structure! <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. <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? <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>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 <lilyp>is asdf:load-system the typical cl way of loading libraries? (analogous to guile's use-modules) <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? <KE0VVT>jgart: The branch is called “haunt”. <KE0VVT>jgart: Just trying to make sure my changes are separate from the working copy in “main”. <jgart>check to make sure you're on the right branch <jgart>If you already committed those changes you won't lose them if you look in the the reflog <jgart>so there's a way to recover from many things <jgart>KE0VVT, have you tried using tig? <KE0VVT>jgart: I don't know what tig is... <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>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? <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>civodul, make-scatter-plot comes from guile-charting? <jgart>is that the function you're using? <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 <jgart>maybe try in a container or with --pure? <acrow>It takes a long time for (define l (links)) to run. On my machine anyway. <vivien>I have a large store on a spinning disk, should I hold my breath? <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 :) <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>For reference: fpp@Ginko ~/Downloads$ guix describe <acrow>Generation 192 Nov 13 2021 08:47:51 (current) <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>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 :( <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> λ 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>vivien: are there Guix operations running in parallel? <acrow>Yes, I've been reading it. You identified it as option #1. <civodul>the patch i've just sent ignores files < 4KiB for deduplication <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) <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 <vivien>I would like to keep my store around <civodul>no, mostly that'll clear stale GC roots and run the infamous "remove unused links" phase <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 <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? <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>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) <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>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! <civodul>guile-charting is sometimes tough with its users <tissevert>I on the other hand get imaginary errors, and it's far more pleasing <nckx>I'll try it on some other machines. <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>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… <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. <florhizome[m]>Context, as before, trying to create a wrapper script to be installed with wayfire :) <nckx>OK… ‘Undefined variable: cut’, which is new. <vivien>mixed-text-file and its friends output things to the store. Be careful, everything will be publicly readable by all users. <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. <nckx>That was brusque, apologies, I'm just annoyed at computing. <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. <Noisytoot>ls /gnu/store/.links/ takes a long time and causes my computer's fans to turn on. <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. <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 ; ) <nckx>I think so, since there are people complaining about how buggy it is. <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. <tissevert>absolutely ! I confirm that it looked like a default and I felt I had to bear with it so far <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 ? <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)