IRC channel logs
2024-02-22.log
back to list of logs
<Kingsy>what is the best way of debugging which line an error comes from in my scm file on a reconfigure? In procedure string-prefix?: Wrong type argument in position 2 (expecting string): #<procedure system (#:optional _)> <- doesnt tell me what much if my config is hundreds of lines long <Kingsy>any slim display manager users in here? how can I use a custom theme? <jfred>Ahh dang... don't suppose Guix saves the last operating-system config file that was applied somewhere? I lost the config I used for a machine I just installed it to 😅 <vagrantc>guix system describe has an entry in the store <mrh57>jfred: check /run/current-system/configuration.scm <vagrantc>"guix system list-generations" also shows which config it used <oriansj>jfred: see /run/current-system/provenance <Kingsy>has anyone noticed that the guix documentation is terrible? or is it just me? absolutely nothing on exwm setup / config. slim config is limited. its quite frustrating <jfred>mrh57: Oh perfect, that got me there - thank you! <Kingsy>maybe my expectations are too high <oriansj>Kingsy: was a slim display manager user for a while; guix tends to require one to make custom packages if you want to really configure things <oriansj>your expectations are based on the idea of manually tweaking a system rather than once setup your system stays the same forever. <iK0u>Kingsy Actually, guix documentation and coherence is a blessing coming from nixos, but some things are tricky until you get some scheme basics <iK0u>In the beginning it is harder for me, but a lot of advanced use cases are easier on guix <Kingsy>no I am happy to tweak but just some broad guidelines to get started would be good. for example exwm. there are none. do I just installex emacs-exwm and thats it? how do I let slim / gdm or whatever know to start emacs. etc etc so many questions <iK0u>Some additional documentation with more examples of common set ups would be helpful though <Kingsy>and yeah, the docs doesnt answer any of these. so its kinda like.. how do I know? just trial and error? <iK0u>usually you can expect to need a service for anything that needs any configuration/needs to be started by a daemon <Kingsy>so exwm isnt natively supported? <oriansj>But the most important way to use guix is to learn from other people and share what you learn with other people <goodlings8>is there a way to change the mirror when installing guix os from cmdline? <Kingsy>oriansj: what I want is just a super simple example using exwm <vagrantc>oh, /run/current-system has some nice stuff in there :) <iK0u>ctrl f in the manual, I see an example with exwm <iK0u>"emacs emacs-exwm emacs-desktop-environment" <iK0u>it looks like you add those packages to the configuration <iK0u>I tend to leave the guix manual open whenever I am doing something to guix config <iK0u>there is a lot more information in it than you think at first glance <Kingsy>right this helps. thanks very much <Kingsy>curious, you said look at ther peoples configs. is there a directory of configs somewhere? or a search term that can find them easy? <iK0u>Kingsy from a glance, orians looks simple, try to find some simple ones that don't differ too much from the default template at first <iK0u>When I search up some of the results are complex configurations that are hard to read <iK0u>so maybe find some simple ones first <iK0u>it will help to see the syntax/correct way to place different things <iK0u>and use an editor that tracks the parenthesis for you or you'll be counting them all day haha <oriansj>iK0u: well my system setup although simple makes all of the guix defaults explicit; (and adds iwd for wifi) <oriansj>which makes it easy to extend or tweak. <oriansj>(you may find exploring the repo a bit helpful [it contains a way to get Debian with an encrypted /boot partition]) <iK0u>oriansj nice I am saving them both for future references, I see the groups and the setuid thing stand out, that seems good to know <mrh57>I'm trying to setup local guix repo so I can contribute a package, but I can't run make <mrh57>problem is with Guile: configure: checking for guile 3.0 <mrh57>No Guile development packages were found. <jakef>Hi Guix, I'm using xfce and it doesn't auto mount USBs? is that normal? am I gonna break things if i make a directory in /media to mount it? <iyzsong>jakef: seems there have some issues with thunar-volman (or gvfs), /media is okay, manual mount always works though. <oriansj>mrh57: you need to install make (or guix environment --ad-hoc make) if you wish to use make. <oriansj>jakef: the more standard mount directory is /mnt but yeah you can mount USBs anywher e you want (generally) without breaking anything. <jakef>iyzsong: thanks. do you know if that /media/ dir will go away on a system reconfigure? <jakef>oriansj: ok. i'll feed that back to chatgpt :) <oriansj>jakef: I am sure chatgpt probably already downloaded a copy of the FHS and then completely violated the copyrights involved... <mrh57>oriansj: installing make (in the guix shell) does not affect the issue <mrh57>I was originally just trying to run the test suite (make, make check, make authenticate) <mrh57>my packages already build and work locally <oriansj>(when doing guix build -f $filename correct?) <oriansj>you'll want guix shell --development guix <oriansj>then ./configure --localstatedir=/var <ulfvonbelow>is it normal for a library to require its dependents to explicitly link to its dependencies? <iyzsong>ulfvonbelow: i think those are most for staticly linking. for dynamic link, they should not, so many .pc files are wrong in the use of 'Requires.private' 'Libs.Private'. <fdeitylink>would anyone be able to give tips on guix system installation? I flashed the ISO onto a flash drive and booted from it but it immediately throws me into GRUB rescue after various "verification requested but nobody cares: [path...].mod" errors <iyzsong>fdeitylink: a quick search turn out to be something with secure boot, you can try disable it in the UEFI bios. <ulfvonbelow>I ask because there's an ocaml project where a certain component needs to statically link to libpython (and that succeeds), but when another component tries to link to that component, it complains that it can't find libpython symbols <iyzsong>if that component is a static library, then yes another component would need all its deps at link time too. if that compont is a shared one, i think the link would not need. <apteryx>jpoiret: wooh. pkgconf indeed fixes the propagation woes <apteryx>at least after reverting 'gnu: mpv: Propagate most libraries', plasmatube still builds fine <apteryx>with old-pkg-config I get an error from pkg_check_modules <lilyp>We can use pkg-config without propagating after the next c-u merge? <iyzsong>goodlings8: it documented as "5.3.3 Getting Substitutes from Other Servers", by change 'substitute-urls' of the guix-service-type, the available mirrors are not documented though, which can be searched from the mailing list.. <goodlings8>iyzsong: i guess i don't need to authorize the signing keys from the new mirror? <goodlings8>thanks. the one in my country is the fastest. idk why but the official was crawling at 20KiB/s <chsasank>goodlings8: another day, another user facing slow speeds. I recently figured this out. I guess I will write a blog or something on changing mirrors later. Until then I will help <chsasank>if you installed using apt, you need to authorize bordeaux server: `sudo guix archive --authorize < ~/.config/guix/current/share/guix/bordeaux.guix.gnu.org.pub` <goodlings8>chsasank: i figured out the slow sleeps. or atleast i think so. i installed guix using the bare bones config which doesn't include ssl certificates. switching to an http mirror fixed it <chsasank>I had horrendous speeds from default substitute server from India <chsasank>Got amazing speeds once I switched to sg one maintained by cbaines <goodlings8>i got 500KiB/s on gnu.mirror.net.in, which is still very slow for a 10MiB/s broadband. didn't try the other one <imadnyc>hey, how do i use a package that i made in another package? <imadnyc>like if I have package1.nix and i want to pass package1 as an input to package2 <imadnyc>in nix I would just use callPackage ./package1 <iyzsong>imadnyc: #:use-module in define-module, or use-modules if that file is a proper guile module. or (load "xxx.scm") if it just return a <package> object. <nutcase>ieure, thanks for the hint. Maybe I find the time to look at examples later. <goodlings8>hey it's me again. the horrible speeds are back again. i tried every (http) small/big mirror, whether in/out country. i'm getting consistent 20KiB/s atmost <goodlings8>it's not my internet because i when i wget a big file from the mirror i'm using (currently mirror.cyberbits.eu). it's considerably faster (2MiB/s+) <goodlings8>idk what's going on. switching to the default mirrors peaked the 150KBps, which is better than nothing i suppose <rekado>goodlings8: unfortunately, there’s nothing on our side that can be fixed. It’s also not a problem on our end. It’s the inter-ISP connections. <rekado>goodlings8: for example, you can get very good speeds if you talk to ci.guix.gnu.org from AWS. <kotet>Hi, I'm having some issues with guix-home, I think. I have some libraries that are installed in the ~/.guix-profile directory; however, those libraries seem to be not exposed to my environment. Confusingly, the value of $GUIX_PROFILE is '/home/my-user/.guix-home', while 'guix package --list-profiles' doesn't list the ~/.guix-home subdirectory at all. What am I possibly doing wrong? <iyzsong>kotet: for libraries, eg: freetype, i usually use 'guix shell pkg-config freetype -D hello'. or you can install gcc-toolchain in the home profile, some environment variables are needed for gcc to find the libraries. <iyzsong>depends on how the libraries are going it be used, it may need other envs (eg: LD_LIBRARY_PATH) <kotet>Hmmm, I think in this case the problem is related to how I packaged the library (it's from my own channel). The library appears installed under ~/.guix-profile/include, but not under ~/.guix-home/profile/include. Is that expected? <iyzsong>that's fine (installed into ~/.guix-profile), then you can run 'guix package -i gcc-toolchain' to get a 'gcc' which would aware of headers/libraries in the profile.. <kotet>Now GCC seems to find it, yes :) Thanks! I think I need to do more reading on the guix home docs, I'm still not sure of what's the difference between it and a normal profile <kotet>I'm thinking about contributing the library I packaged to the main guix channel. However, it's a dual licensed library that contains parts non free parts. Whether only the free part is built or not is controlled by a configure variable. As the source contains non-free code, am I right in assuming it's not acceptable for the guix channel unless a fork removing the non-free code was made, regardless of only the free sections being <kotet>Actually hold on, I think the non-free parts do get built and there is no opt out, you can only opt out of linking them to your software. So it's effectively proprietary, please disregard my question <bilke>Hi! On what factors are grafts applied to a package? Is it dependent only only on the guix version? Or also on the daemon-version? I am building a package on several machines with guix time-machine and get two different packages, two machines produce hash 1 and all the other machines produce hash 2. When building with --no-grafts all machines produce the same output. Any idea how to track this down? Thanks! <janneke>kotet: okay, -- if you find a way to build without them, you could remove them using the rorigin's snippet field, so that the non-free code does not enter the store; see e.g., "xdelta" <kotet>janneke: Thanks, I will look into it <dissoc`>i need to apply a patch to ungoogled-chromium package. if i inherit the package then how do i apply just one additional patch? <dissoc`>i can do local-file as input and manually add a phase applying the patch? <janneke>it's prolly nicer to just add the patch to the inherted origin's patches, see e.g. "glib-next" <futurile>can't you just add the patch to the arguments? <janneke>ACTION mumbles something like, git grep is your friend, folks ;) <dissoc`>im a little confused how to add a additional patch. i thought if i inherit the package and add a patch it would overwrite the other patches <janneke>dissoc`: that's why i ran `git grep' for you, and suggested you look at ~glib-next" ? <janneke>dissoc`: sorry, have a look at glib-for-bootstrap; the glib-next example is only present on core-updates branch -- duh <yelninei>dissoc: you could do something like (origin (inherit original-origin) (patches (append (origin-patches original-origin) my-new-patches))) <yelninei>ok thats the same what glibc-for-bootstrap does <dissoc`>thank you so much for the help. i think i can handle this <cbaines>goodlings8, what download speeds do you get from the singapore mirror? <dariqq>hi, trying to test to cross-compile something for i686-linux-gnu and it tries to build a lot of the bootstrap packages and then eventually fails on glibc-messbot during the setenv phase (expecting string got #f). Is this not supported? <goodlings8>cbaines: i tried the singapore mirror on https://www.gnu.org/prep/ftp.html. same abysmal speed. i could get the best out of the default mirrors, i.e. 100-150KiB/s. currently installing guix through the guided curses installer <cbaines>goodlings8, can you give a specific URL from the singapore mirror, and the speed you get while downloading from it? <cbaines>also, that's not the mirror being talked about <cbaines>those GNU mirrors are for entirely separate stuff from the Guix substitutes (as far as I'm aware) <cbaines>I don't think there's a official list anywhere yet <goodlings8>there should be. anyways. it's take 30 mins ig. thanks for your help! <goodlings8>since i'm geographically closer to india too, i should be benefitting from that better mirror too <attila_lendvai>my user mcron stopped working at 2023-07-16. did anything change? the config seems to be fine, and mcron --schedule prints what is expected, but there's nothing new in ~/.local/var/log/mcron.log since then. process is running with proper config file. <janneke>hah! guix copy also fails to a linux-based bare-bones host built with core-updates <janneke>not a hurd[-specific] problem after all <janneke>guix copy --to=root@localhost:13022 /gnu/store/7gnk1h2kggnz6dsqm0ians9smnvznahm-bash-mesboot-5.1.16 --verbosity=99 <janneke>guix copy: sending 1 store item (2 MiB) to 'localhost'... <janneke>guix copy: error: unknown error while sending files over SSH <janneke>the (other?) bit of implicit good news here is that we can build a bare-bones vm on core-updates again \o/ <parnikkapore>Hi Guix! I noticed a while back that `cuirass evaluate` runs multiple evaluations at once, but forces them to be all on the same core. Is this intended? <gabber>i try to add a second wireguard configuration and get "wireguard: wgO: Could not create IPv4 socket" when reconfiguring or `sudo herd start wireguard-wgO` - do i have to create the interface first manually (as i would do with other distros)? <natmeo>gabber: is it trying to reconfigure an interface that already exists? <ulfvonbelow>did you specify a different port for the second instance of wireguard-service-type? <gabber>ulfvonbelow: that was it (of course)! thanks! <ulfvonbelow>I wish we had a more flexible way of patching files at build-time. It's especially awkward when what you need to patch is both multi-line and needs to incorporate per-package information like store paths, version numbers, etc. What's the right approach to take there? Invoke sed? Invoke ed? Hand-roll a guile procedure? The most "natural" way of doing it for me would look like editing an emacs buffer, but of course emacs is a rather heavy <gabber>is creating a patch not an option? and then insert the store paths more easily? <ulfvonbelow>it's sort of the nuclear option, and you have to download and extract the source, copy the file in question, modify it, diff it, save it in gnu/packages/patches, and have it break the build when you eventually push because you forgot to add it to gnu/local.mk, and then you have to do a separate substitute* on top of that. <ulfvonbelow>oh, and if properly following the origin-patch vs phase-patch distinction, you also need to manually invoke patch, remembering the proper incantation to do so <ulfvonbelow>it would just be nice to be able to say something like "find string x, then find the next occurrence of string y after it, then delete everything in between them" <parnikkapore>that sounds like a relatively simple regex job unless the regex engine cuts the text off at line endings? <parnikkapore>sth like (substitute* "your/file" [("(string a).*(string b)" _ a b) (string-append a b)]) <ulfvonbelow>also regex is ambiguous enough that what you wrote can actually be interpreted to mean "find *any occurrence of string b* after string a", not just the first <marcc>I also have a lint issue that there is no updater and that the source is not archived. Are these things that need to be included to release a package? <gabber>marcc: usually you pass the main git url and fetch the tag through the "commit" field <dlowe>question about guix pull - the manual says that guix pull only affects the profile of the current user. Does guix system reconfigure do nothing then unless root runs guix pull? <gabber>marcc: i believe when you fix your source field `guix lint` will automatically trigger a software-heritage archivation <gabber>dlowe: that's why we usually run `sudo guix system reconfigure config.scm` <gabber>dlowe: then the profile of the user invoking the command is used <gabber>dlowe: and you don't need to pull twice, separately (once for your user and once for root) <dlowe>oh, right, because sudo maintains the environment by default <evilsetg>hi guix, does anyone have an emacs deamon shepherd service? I tried to make one but I can't seem to connect to the server its running. <marcc>Last linting error I'm getting is a warning saying no valid tags found <marcc>anyone knows what this means? <goodlings8>cbaines: I tried reinstalling (because I fucked up) using your given mirror. While it gave me by far the best speeds (500K), the install abruptly stopped on a 404 error. I then tried the default bordeaux mirror. It is giving me a consistent 300K. No errors. I think this issue is because the default ci mirror is slow like a sloth <apteryx>evilsetg: I think 'guix home' has such a service <evilsetg>Hmm, I checked and I could not find any. There was an issue for an emacs home service that I found but that only dealt with config files. <gabber>evilsetg: that's a thing many people look for - and then write themselves (or not) <gabber>marcc: if you show us (please use a pasteboard) the whole error (and maybe the input) we could help you. i <gabber>right now i'm not 100% sure what `tags` refers to. maybe git tags? <futurile>Q: do we have the man2html program in Guix? I can see it in Debian but can't figure out what it's called in Guix <evilsetg>gabber: Thank you, I tried your shepherd service. It starts but I still can't connect to it with emacsclient. <apteryx>futurile: ah no, the modern option is 'makeinfo --html foo.texi' <apteryx>hm, manpages, not info manuals. derp. <gabber>evilsetg: what's the error message? how are you invoking the client? <futurile>apteryx, janneke: ah thanks, I'll check them out <evilsetg>gabber: nevermind, it does work. I guess I was to impatient to wait for emacs startup while checking. <gabber>evilsetg: yeah, emacs startup can take quite a while (: happy it works for you <apteryx>hm, I've sent a series but the 3 commits are missing <apteryx>I've sent the remaining missing ones by hand <apteryx>jpoiret: if you are keen, this series contains the successful switch from pkg-config to pkgconf: #68813 <nckx>goodlings8: Just FYI, bordeaux.guix is not a mirror of ci.guix (which is also not a mirror of anything). Both servers build packages independently, and won't have the same collection of substitutes. <vivien>Do we have news about guix-patches@gnu.org? <vivien>ACTION sends thank yous in the wild hoping they catch the person responsible for the fix <theotherone>Hello, I am having troubles with loading gtk/qt themes (using lxapperance/qt5ct), also I am getting dbus connection errors. I've tried exporting DBUS_SESSION_BUS_ADDRESS with unix:path=/run/user/1000/bus. Do themes depend on a working session bus? The path /run/user/1000/bus doesn't seem to exist. Any advice is appreciated :) <vivien>On guix system (if you installed it fully and not on top of another distribution), then the socket is in /var/run/dbus (soon /run/dbus when we merge gnome-team) <vivien>I’m not sure it’s relevant to your problem <theotherone>Hmm, when I run chromium from the terminal it says "Failed to connect to the bus: Could not parse server address: Unknown address type". However running dbus-monitor connects just fine. Maybe its a chromium issue after all... Thanks for the pointer :) <vivien>This error message seems to only yield problems in the context of WSL <vivien>(when using a search engine, I seem to only find people who have problems under WSL) <vivien>(I shouldn’t try to help you while I’m this tired, it can only lead to more confusion) <gnucode>nckx: gnucode, nckx says: No, but I'd be happy to create one if useful. -> I don't know what your message is about <dariqq>debugged my build error from earlier today a bit: appearently (getcwd) can return #f ? <lilyp>theotherone: Note that DBUS_SESSION_BUS_ADDRESS need not be an existing file – on Guix System it's almost certainly an abstract socket <dariqq>though I have no idea why cross compiling would cause this behaviour when it seems to work fine when not cross compiling <lilyp>dariqq: that shouldn't happen – in the error case, getcwd ought to report errno with SCM_SYSERROR <dariqq>lilyp: this happens when cross-compiling glibc-mesboot (for i686). So not sure if it is normal guile that is executing this <dariqq>all i wanted is to test if cross compiling gdm is possible and now i am trying to understand the bootstrap packages <lilyp>Well, I'm stuck for more than a week trying to figure out what the hell Emacs did with its native-comp. <reedm>does anyone here have any experience running bcachefs on guix? I have a 6.7.x kernel variant (which I'm told should have bcachefs support baked in) but I can't mount the bcachefs drive I've created <reedm>when I run "sudo mount -t bcachefs /dev/sdb /mnt" i get: "mount: /mnt: unknown filesystem type 'bcachefs'." <jackhill>hmmm, what does "checking host system type... Invalid configuration `aarch64-linux-gnu': machine `aarch64' not recognized" mean? <jackhill>reedm: manybe it's not in the default linux config? I beleive nckx might have done some bcachefs work? <jackhill>or maybe you need to install the bcachefs-tools <reedm>I can look into that. I have to hop off, but I'll check the logs and respond later if nckx ends up having any advice. Thanks for the pointer! <reedm>I do have bcachefs-tools, but looking into it, it seems that the current guix version is a bit behind the latest release <mekeor>lilyp: would you like to share your thoughts about emacs' native-comp more precisely? <mekeor>i'm curious about emacs-team's work <trnry>Does anyone know why Guix home would be setting the same paths repeatedly in all my environment variables? It's breaking kicad because KICAD7_SYMBOL_DIR is supposed to be one path but it's being set as the same path repeated 7 times separated by colons <trnry>It's been this way for a while, but Kicad is the first thing to break because of it