<iyzsong-w>okay, if you use that service in system, then libinput will be available to xorg. if you install 'xorg' and 'xf86-input-libinput' into profile, it won't find it unless you pass some commandline flags...
<macrobenis[m]>was able to use my existing sway config of like 2 years with no problems whatsoever
<reyman>I finally take time to look at the jres2022 (fr) presentation of guix, great !
<reyman>i have one question about package management, what's the difference between guix upgrade ? and guix system reconfigure --xx.scm ? from the point of view of one user logged into guix os
<ardon>Hi Guix! I get this error on virt-manager: "spice-client-error-quark: Could not auto-redirect USB device at 3-39: Could not open usb device (insufficient permissions)" when trying to redirect a USB device to a virtual machine. I've added a `spice` group to my system configuration, and added my home user to it, as well as the following udev rule https://dpaste.org/d2roa . However, after doing all of this, it still prompts me for
<nckx>reyman: Short answer: the first is run as a regular user, and updates the packages installed by that user (using ‘guix install’, or a manifest). The latter must be run with root privilegeds and updates the OS (your ‘guix os’, which we call Guix System).
<jpoiret>first tests indicate foot feels nicer than kitty, more tests to follow
<nckx>Guix allows each user to install their own packages: bob can type ‘guix install gimp’ and then type ‘gimp’ to run, well, the GIMP, just like on a regular distro (but notice the lack of sudo). When alice logs in, she won't have the GIMP in $PATH or on her desktop unstill she also chooses to install it. The profiles are separate.
<bdju>jpoiret: I'm not aware of unusual stuff with fonts in foot... unless you mean prioritizing emoji or something
<nckx>reyman: When running Guix on another distribution, say Trisquel, that's it. But when you run Guix System, there's also a ‘system profile’ managed by root, that provides a set of base packages.
<nckx>The ‘guix system’ commands manage that system, and aren't used on other distributions where Guix is just a package manager.
<nckx>jpoiret: Yep, that's why I use it. No arguments. I just like the feel.
<reyman>ok i understand, that's overlap if one user (me) use one os (me), i have a .scm for my home, a .scm for system, and package could overlap.
<reyman>i run a guix system reconfigure without sudo, and that seems working because my user is wheel. Sudo is not needed in this case i see ?
<maximed>reyman: FWIW you can make the packages field in the system configuration almost empty (maybe only nss-certs) and install everything in the user's profile, to avoid overlap
<nckx>Yeah, if you are the only user the choice of what's a ‘system’ package is entirely yours. Most people would advise you to keep your system profile small (not include a Web browser etc.) because to upgrade your kernel you'd need to update the entire profile.
<nckx>It will build everything but fail at the very end, when Guix actually (and almost atomically) switches to the new ‘profile generation’. But that's not a disaster, just run it again with sudo and everything will already be built and the switch will be almost instant.
<nckx>But Guix does not do any (icky) ‘oh, you're in the wheel group, time to do some magic’ magic.
<reyman>ok ! good to know ahah, i cut he compilation of linux kernel ... and rerun with sudo :)
<nckx>maximed is an optimist and says download instead of build, in practice you'll see a mix of both :)
<nckx>reyman: You can just let it finish to save the time you've already invested in building Linux.
<nckx>Otherwise Guix will start from the beginning. If you let it finish, the result will be cached.
<pmk>I am trying to debug a multithreaded application that I compiled in a guix shell container. When I start it in gdb I get this warning: `warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.` I did install both `gcc-toolchain:debug` and `glibc:debug` and I did set `libthread-db-search-path` to
<pmk>`/gnu/store/xgarlnscgbm9l04karj15xpc4nn14ak1-glibc-2.33-debug/lib/debug/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib` in my gdbinit but still the issue persists. (`/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33` is where the executable finds `libpthread.so.0` according to ldd).
<guixuser-87>Hi ! Is there someone who has NFS mounts working? I'm using the (service nfs-service-type), I've installed nfs-utils and libnfs on system level, but NFS filesystem entrys ain't working and manual mounts aren't either. (mount.nfs: Protocol not supported) Thanks.
<rekado>mothacehe: oh, I’m using the MDC local IPs for that.
<lechner>iyzsong[m]: It might be helpful to document your X advisories somewhere, if they aren't already. I have/had similar problems in userland
<attila_lendvai>using home services: if i want to set some gnome defaults using `gsettings set ...`, where would i put it?
<iyzsong[m]>lechner: yes, but i feel some difficult for docs, since i'm not a native english speaker, and i do not have internet access at home (only mobile data) now, hope i 'll back into hacking guix soon..
<ekaitz>hi, i'm using guix shell with a manifest and even if I update the manifest it's still using packages from a previous build, how can I make totally sure that it's using the current manifest to build? it's like something stays cached
<lechner>iyzsong[m]: Hi, I would be happy to write it up for you. I am new to Guix but have sufficient experience to translate any bullet points or irc messages, if needed. Also, my X is likewise spotty
<civodul>apteryx: probably that's because Geiser renders its manual with texi2html rather than makeinfo
<civodul>and texi2html has a different naming convention for HTML pages
<civodul>(there's no point in using it these days IMO)
<iyzsong[m]>lechner: thanks! i can anwser questions in irc later, we should talk later. going sleep now 🥱
<vagrantc>there are other issues around the probably real soon now removal of guile-2.2 from debian, which guix in debian itself isn't a blocker, but dependencies of it's dependencies still use guile-2.2 ...
*vagrantc is tempted to fix that by breaking the other packages...
<PotentialUser-95>i defined a custom package with a higher version to override an existing one, but guix show does not pick it up
<jpoiret>PotentialUser-95: how/where did you define it?
<peonerovv>hi. i was trying to compile dwm with some patches pre-installed. one of the patches requires Xft.h. It in tern requires ft2build.h. I installed freetype but the header files are in the .guix-profile/include/freetype2 and not .guix-profile/include where Xft.h is looking. What am I supposed to do?
<char[m]>maximed: I dont have guix on this system. Im trying to build one of the dependencies (guile-sqlite) so I can build guix.
<PotentialUser-95>in .config/guix/system/.. , guix build -f works , guix package --install-from-file also works
<peonerovv>but in the examples you gave me they use define-modules and not use-modules
<nckx>Not to import modules. To define the name of the current one.
<unmatched-paren>peonerovv: ah, that's because they're in a channel, so they need to be in modules. you're just making a standalone file, so there's no need to define a NEW module, you only need to import othrs
<unmatched-paren>(define-module)'s #:use-modules MODULE is basically syntatic sugar for using define-module and then use-modules
<nckx>Aurora_v_kosmose: I agree that review is important. I don't think automation threatens that though, an optimistic view could even be that it makes review more likely since the insane bottleneck pressure we currently put on human reviewers is reduced.
<unmatched-paren>peonerovv: imagine some imaginary C-like language with a module system. this (use-modules) is basically equivalent to -- in our imaginary language -- something like `import gnu.packages.suckless.*, guix.packages.*`
<unmatched-paren>peonerovv: you'll want to add (name "my-dwm"), (version (package-version dwm)), and (home-page "URL-OF-NEW-DWM-CONFIG") to the package object
<jeandudey>hi! I'm trying to package PySDL2 for Guix, but it requires that the libSDL2-2.0.so.0 library is available on LD_LIBRARY_PATH to search it (using Python 3 ctypes.find_library), any ideas on how to make PySDL2 find the library path?
<unmatched-paren>and then do that hashing thing i told you about, and keep the hash somewhere
<unmatched-paren>now you need to override the source, to download the dwm code from that repo instead of the suckless repo
<peonerovv>yes, but i can do it myself. you said that this the "guix way" and im kind of interested in finishing it. i just think that it might be better with regular dwm. And just one thing to clarify - I would be able to modify the source code, right? Since this is the way dwm is configured
<jeandudey>maximed: you're right, I guess I could just remove the search routine on the library directly and replace it with the input file. The 'check phase passes but, yeah fails when trying to use it
<maximed>(Shouldn't there be a #~ (or `) before (modify-phases ?
<maximed>Maybe "guix style" could be taught to perform quasiquote/quote -> list in 'arguments' (and basic G-expification of #:phases for consistency?)
<peonerovv>unmatched-paren: i accidently closed the chat and now I cant see what you wrote before. this is hard to follow, since im not really sure what exactly you are talking about. im sorry if im asking to much, but can you write this file and maybe add comments where they are needed and then put the link here? like you did before
<unmatched-paren>vldn: ~/.config/guix/current is populated when you `guix pull`, ~/.guix-profile is populated when you do pretty much anything else :) the seperation is intended, and why you shouldn't install the `guix` package
<davidl>lilyp: thx for the tip reg sed & emacs. I believe patch files won't be suitable, because the code base is like 10k+ lines of bash.
<vagrantc>jackhill: well, i'm not sure what exactly, but cargo-culting your nginx-* package seemed to help
<jackhill>ah, um, well, hopefully lightning from heaven won't strike me down, but it's a way of saying some code should run in the build environment, as opposed to when the package definition is being evaluated. Scheme already has two "levels" for running code: 1) expansion/compilation time 2) regular run time. I think gexps are an extention of that. I probably don't understand it quite well enough to teach,
<jackhill>there was a lot of staring at the computer to get that one to work.
<jackhill>anyway, the `((#:phases phases` part is just binding the name phases to the value of the original keyword-argument list. It could be foo, and then line would be `modify-phases foo` (modulo quoting)
<vagrantc>that part i got ... although calling it #$phases was elusive to me till just copying your example
<jackhill>I always get confused by the difference between '(foo and (list foo
<vagrantc>magic symbols are a bit rough for me to grasp ... i guess the code is moving away from `( and '( to ... (list ?
<jackhill>I think all those are subtly different, maybe. Like '( won't do any evaluation in the whole thing, but (list (foo a b) c) will try to apply the foo procedure to a and be (except if it's in some sort of macro in an operating system definition or whatever that precludes the application. No wonder it's confusing!
<vagrantc>i think i need the right level of guile, i think there were some very guile advice floating around earlier, but i was still underwater trying to peer through the murky, turbulent, distorted waters see what was so plainly obvious floating at the surface
<vagrantc>"oh, i get it!" ... only to find ./pre-inst-env guix build ... still explodes just as badly as ever :)
<vagrantc>/gnu/store/i6yya67fr5rz8njpsbh1sqwhga55bacx-vtk-7.1.1 ... yay... now to see if the fix works!
<vagrantc>civodul: i think i read that back in that day, and it got me through apparently enough to trick y'all :)
<nckx>They aren't a different kind of function/procedure, just procedures that you never bothered to bind to a variable. All procedures are ‘lambdas’. (define (foo) …) is syntactic sugar for (define foo (lambda …)). But the name foo is optional, sometimes you don't bother to give a procedure a name, like you wouldn't write (define a 5) (define b 2) (+ a b) either.
<nckx>Sorry if that's too basic. I was shocked to hear you were just bluffing so far :)