IRC channel logs
back to list of logs
<shcv[m]>so, I'm still having problems with guix not updating fully; doing a plain `sudo guix system reconfigure wsl-config.scm` gives me the error "no code for module (gnu system images wsl2)", but I've run a `guix pull` and it works if I use time-machine: `sudo guix time-machine -- system reconfigure wsl-config.scm` <shcv[m]>`which guix` gives `/home/shcv/.config/guix/current/bin/guix` <shcv[m]>the first line of `guix --version` is weirdly "guix (GNU Guix) 0" <Grimpper>Hi. Could anyone help me figure out how to add elements to a list in guile? <Grimpper>I would like to add elements to the inputs of a guix package, is this good: `(inputs (alist-cons inputs gtk atk))`? <pkill9>how many wayland compositors other than sway are packaged in guix? <jts>hey y'all, me again. i'm trying to figure out a weird gexp error. I'm being told the symbol gexp doesn't exist, which seems improbable since the macro #~ is being expanded into gexp and also `(guix build gexp)` is imported in this module. any insights? <sneek>Welcome back jts, you have 2 messages! <sneek>jts, nckx says: I think I've trawled through every single ‘rtl8812au’ project on GitHub (I'd say beyond, but really, it always ends up on GitHub). They all have firmware files, even if the names change. Sorry. <sneek>jts, nckx says: I've requested removal from H-node. Such a pity, they even explicitly documented a Guix System configuration… <jab>slightly off topic...the MNT reform now can run on an FPGA. That's pretty cool! And they have a test one that has 8GB of RAM. <euandreh>jts: maybe where you're staging the code into you also have import the module? <euandreh>jts: also, isn't it `(guix gexp)` instead of `(guix build gexp)`? <jts>you are correct that it is `(guix gexp)`; the file has it right, my brain just got it wrong XD <jts>What do you mean by where I'm staging the code into I also import the module? <jts>I seem to have resolved the issue by turning the arguments argument into an explicit `(list ...)` <rushsteve1>Hello, I was wondering if there was any chance someone had a package definition for Python 3.10? I've been trying to write one myself with little success.
***LispyLights is now known as Aurora_v_kosmose
<PotentialUser-24>Hello this is a question pertaining to GuixSD. I am wondering how I can change my desktop environment? Usually in GDM there is a gear icon in the bottom right of the login menu where you can click it and change installed desktop environments. I'm not seeing that widget though I have installed Gnome. In the initial install process I selected to <PotentialUser-24>install XFCE and did not install gnome so I installed gnome after with Guix and want to use gnome as my desktop environment now instead of XFCE. Am I missing something? <MaNI>I'm unable to reach ci.guix.gnu.org - my ISP has this to say "As per our upstream transit providers, the owner of the destination prefix 184.108.40.206/16 needs to do an RPKI's ROA record as that is missing,.. Also checking from the various IRRs ( RADB/RIPE, it seems that a new origin AS has been created in the last few weeks, thus appears to be two origin AS's of the same prefix.. Thus we had asked you to confirm to us if you have any commercial relations with the <MaNI>destination network as it would be easier for you to raise with them to have them digitally sign all their prefix including 220.127.116.11/16." <MaNI>is there an email address I could give them to make contact with someone for this? <efraim>MaNI: you can email the information to rekado <at> elephly <dot> net and they'll make sure it gets to the right people <efraim>If a channel depends on another channel and I pull a historical version of a channel, do I get a time appropriate version of the dependency channel or do I need to specify that one in the channels.scm file? <efraim>looks like I need to specify it myself <civodul>efraim: what would be "appropriate"? :-) <civodul>channel histories are disconnected from one another <efraim>civodul: I'm building something from ~june 2021 and it pulls in guix-past, so I need guix-past from ~june 2021, not HEAD <vindarel>Hey, why does guix download stuff (updating substitutes) when I `remove` a package? <sektor[m]>My best guess is that it is recomputing things and reinstalling some packages based on the changes. *mekeor[m] wouldn't guess so but also does not know anything <nckhexen>Yep. ‘guix remove’ (and ‘install’, etc.) emulate a classical package manager, that doesn't mean they work the same way. <henk-utrecht>hi guix! Maybe somebody knows the answer to this quick package-definition question: how can I use the version string of the package inside of a lambda? It overlaps with guile 'version' procedure and unquoting does not work. <jpoiret>henk-utrecht: can you paste.debian.net the relevant code? <nckhexen>You're close with unquoting, and the problem is probably that your code (lambda) is in a gexp, not a quasiquote. <minima>i'm creating a 'guix.scm' in a project's folder, what would you say some differences are between using a manifest file ('specifications->manifest') vs an abstract package definition ('native-inputs')? <minima>am i understanding correctly that those are two possible alternatives <jpoiret>you'll have all the inputs of the package in the dev environment, not only the native-inputs <jpoiret>don't conflate what some other distros call "build-time" dependencies and native-inputs. Native vs. non-native only specifies whether the thing should be built for the host machine or for the target machine when cross-compiling <jpoiret>other than that, there shouldn't be any difference. Some people even use both at the same time <jpoiret>ae_chep: host is where you're building, which might not be the same as the computer you'll want to use the thing on (the target) <ae_chep>target is the user, host is the builder. Got it <minima>jpoiret: but i suppose defining an abstract package might give more flexibility in terms of... well i'm not sure in terms of what but i suppose you can perform any task while defining the package? <minima>eg substituting a string in a source file <jpoiret>the upside of defining a package is, well, you're already packaging it <jpoiret>you can use the package definition in two ways: for a guix shell environment or to test packaging it itself. Manifests only cover the first option <ae_chep>speaking of defining pkgs, I have confirmed kak-lsp is broken for a number of people. I'll push a fix for it today <minima>whereas - if i understanding correctly - a manifest file can only list a bunch of dependencies? <jpoiret>some people use the manifest to add extra development packages that might be unneeded for packaging <minima>jpoiret: super - thank you so much!
***wielaard is now known as mjw
<henk-utrecht>as you might see, I'm trying to use the package version to replace a string in a setup.py file, because it depends on a file that is not available.
***Dynom_ is now known as Guest7382
<henk-utrecht>nckhexen I don't think I'm in a gexp, it's in a package definition, or am I wrong? I tried '#$' but that is not understood by 'guix build' <numerobis>Hi #guix! very small update on the gitolite issue I brought up yesterday: the repository does get created on `git push`, but the symlinking of the hooks fails because the "hooks" folder is absent in the bare repository. If I manually create the hooks folder in the bare repository, and then run `gitolite setup' manually, then everything works well. <numerobis>Surprisingly, when I create a bare git repository manually as the gitolite user, then the hooks folder *is* there. Not exactly sure what's happening. <nckhexen>henk-utrecht: Indeed, you're not in a gexp (then you'd have ‘(arguments #~(list …))’ instead of ‘(arguments `(…))’, which is why ‘#$’ isn't understood. The bug is you're calling version as a proceduce ‘(version)’. <nckhexen>Ah, and write (package-version pplacer) because reasons. <nckhexen>Reasons being the package *you* are writing does not have a version field. ‘inherit’ isn't magic like that — you can refer only to fields that actually exist; inheriting won't actually bring them into scope like that. <nckhexen>So the brackets can stay, but for an unrelated reason. <nckhexen>Also unrelated: don't add #t, it means nothing and has long been deprecated. <nckhexen>(Oh good, because it sounded confusing to me! 🤭) <henk-utrecht>my take-home message was that the version is not inherited, so I re-defined it <nckhexen>Packages are records, which are like structs, or objects, or whatever you want to call them. If you have a <package> foo, the way to get a field from it is using package-<field>, e.g., (package-name foo), (package-version foo), (package-build-system foo), … <nckhexen>(package (inherit buz) (stuff…)) is shorthand for (package (name (package-name buz)) (version (package-version buz)) (build-system (package-build-system buz)) (stuff …)). <nckhexen>For all fields, not just those 3 examples. <nckhexen><my take-home message was that the version is not inherited, so I re-defined it> No, you took the wrong thing home, that's theft. <nckhexen>Redefining it works, but is redundant, but let's focus on the more serious problems for now. <henk-utrecht>sorry for not understanding, if you write (inherit buz) is a shorthand for version (package-version buz), then I expect the version to be inherited <nckhexen>It is. (package (inherit hello)) is a valid package, and if you inspect it you'll see that it has a version (and a name, and a description, and…). But that doesn't mean that the ‘version’ variable is suddenly bound within the package definition. <nckhexen>But I have to go, which is why I was pressing you for your other problem :) Good luck with it, whatever it was! o/ <numerobis>Another update: it seems that gitolite in guix uses a git executable from the "git-minimal" package, which for some reason does not create the hook folder when creating a bare repository. I think the issue would be resolved if the "normal git" was used instead. I expect that other users of gitolite on guix experience the same issue. <rekado>MaNI: I received an email from Seacom; I’ll pass it on to the network team. <davidl>is there any way to identify dependency loops using guix (like maybe some code snippet or anything)? <civodul>davidl: you mean if you insert a loop by mistake? <davidl>civodul: yes, when Im packaging new packages for guix, I usually create a module.scm file, where I add a new package with all dependencies, the dependencies of which sometimes create loops. <apteryx>hmm, the pending builds are >= 50k, yet the ARM machines are idle <civodul>davidl: currently these are not correctly reported, you have to notice that the thing entered an infinite loop (not great!) <civodul>but yeah, we should do something about it <davidl>civodul: yes, when I suspect it happening I hurry to click Ctrl-C or else, my machine must be rebooted >( <apteryx>efraim, nckhexen are you available for a quick meeting, or should be postpone it? apologies, I had totally forgotten about it <nckhexen>I'm in one myself RN, then unavail, but I can do one later today if it's after 1700UTC. I think(?) this is the first time you've forgot, so you still win. <apteryx>nckhexen: I've sent some email to poke the others <davidl>cbaines: nice, Ill try adding it to master and see if it works! <xd1le>can guix home let you run shepherd services on a foreign distro? <xd1le>reading the documentation, I'm not sure, but seems not <rekado>xd1le: you can use “guix system container” for that <henk-utrecht>hello people, I'd like to ask one more thing: I'm installing a 'python' based guix package, with a package definition using python-build-system. The package uses setup.py. Every time building fails with error 127, indicating 'python' executable is not found, which I understand, because the python (3) package only provides a 'python3' binary. Am I <xd1le>rekado, wow it works on foreign distro too? that's cool <rekado>henk-utrecht: add python-wrapper <rekado>xd1le: yes, iit runs Guix System in a container. <rekado>xd1le: you’ll just need to figure out how to talk to the services in the container from the outside <rekado>for some services this will not be feasible <rekado>but things like nginx or postgresql should work just fine <davidl>cbaines: it needs rebased again :-( <rekado>(gnome on the other hand would probably not work so well) <xd1le>rekado, I see. What do you mean gnome would not work? <cbaines>davidl, hmm, maybe I rebased it locally, but then didn't push... <davidl>cbaines: the patch was from like Mars or April I think. <xd1le>rekado, I don't use gnome myself so I'm just not sure exactly what you mean <rekado>xd1le: if you intended to use the gnome services, for example, to make Gnome from Guix available on your Ubuntu host system — that’s probably not going to work <rekado>some services will work perfectly fine, others won’t work well in a container. <xd1le>rekado, yes I get that. I mean like in what way would Gnome not work? i.e. Is Gnome a wayland compositor, or is it more than that? <xd1le>meaning wayland compositors won't work via guix system container? (or is Gnome still on X?) <xd1le>anyway, it doesn't matter, I'm going to probably try out whatever service I'm interested in to see what works anyway. Just wanted to get an understanding of how Gnome works <xd1le>Oh I think I see what you mean, ubuntu probably won't be able to find that container gnome for you. <mtekman[m]>Hi all, how do I see where `gnu-build-system` is defined? I've tried `guix edit gnu-build-system` and even peeked in `guix edit guix` but I'm not getting anything <xd1le>anyway, it's still at least cool I can use shepherd services on foreign distro, as long as I can find out how to talk to the service <xd1le>mtekman[m], guix/build/gnu-build-system.scm and guix/build-system/gnu.scm <davidl>cbaines: next challenge: automatically look for earlier versions with reduced dependency lists, to assist bootstrapping :) <xd1le>mtekman[m], but I don't know how you would find it without just knowing beforehand <mtekman[m]>Is this folder only there when using a GUIX system? I just have the package manager. If yes, does anyone know where I can find the source online? <mtekman[m]>no, nothing in the gnu store. Ah thanks for the savannah link -- for some reason it never shows up in my searches <rekado>mtekman[m]: there’s a difference between the profile used by “guix pull” and your default profile for software installation <rekado>take a look at ~/.config/guix/current/share/guile/site/3.0/guix/ <rekado>that’s where all the guix stuff lives <xd1le>nice I didn't know about ~/.config/guix/current/share/guile <mtekman[m]>rekado: beautiful! I did a fuzzy search of the whole ~/.config/guile folder but somehow missed that
***jesopo is now known as jess-o-lantern
<apteryx>any reason 'guix shell' could spawn an environment with a PATH lacking "$GUIX_ENVIRONMENT/bin"? <apteryx>I'm guessing some PATH overriding in the user's ~/.bashrc <apteryx>I'm having them try with 'guix shell --check' <jbv1[m]>Hello guix ! A question: in julia-build-system is it possible to override the julia used to build the package ? <apteryx>yep, I think that was it, 'guix shell --check' reports clobbered PATH and MANPATH. <jbv1[m]>oups forget what I said, package-input-rewriting does the trick <Franciman>hi, is it possible to create a guix shell with the php-fpm and lighttpd services running in it? <Franciman>my goal would be to create an env i can start where a webserver is automatically setup <xd1le>PotentialUser-40, it's still there no? <cbaines>PotentialUser-40, if you're not getting a JSON file, what response are you getting? <imtheonewhodudes>good afternoon guixers, does anyone here have any experience in doing a master thesis on guix? i'm currently ponderating doing something like that, something useful for the guix community and having someone share their experiences could be quite helpful <cbaines>PotentialUser-40, yeah, that's a known issue involving the networking currently in use for the Guix website <Franciman>imtheonewhodudes: do you mean on the topic of guix? Or using guix as your system for latex etc? <imtheonewhodudes>Franciman: on the topic of guix. My idea was really porting the guix system on the pinephone but i'm not really sure it's "enough" for a master thesis and whether it'd be better to do something more academic <Franciman>it also depends a lot on their opinion on the topic <tricon>imtheonewhodudes: i'd quite love to have Guix on my PinePhone. <imtheonewhodudes>tricon: Me too and it doesn't seem impossible since guix already supports the pinebook pro <podiki[m]>civodul: by the way, I have an update fhs-container patch I will send. added some tests, reorganized the code a little <podiki[m]>still feels a little messy (fhs steps need to happen in several places by design of the container functions) but I think functionally better separated <podiki[m]>also fixed handling of a command supplied to the container, should work the same as non-fhs container <civodul>podiki[m]: neat, better separation of concern sounds good <podiki[m]>it just wasn't as simple as call one function in one place, due to where things happen in the container code <podiki[m]>anyway, will write up a message with changes and new patch after lunch and we'll see how it looks from there! <jonsger[m]>tricon: there is some activity on the bug tracker regarding phosh components. Its not trivial to get them up and running.. <tricon>jonsger[m]: i'll look into that, thank you. <tricon>it would be ideal to create a setup where builds cross compile on other machines and issue the substitute back to the PinePhone; else compiling on the PinePhone is going to be quite painful. <antipode>tricon: offloading + implicit --target=? <antipode>(no implicit --target= exists yet, but offloading does) <tricon>antipode: good to know. i'll have to look into the offloading capabilities, thank you. <bjc>anyone else getting an error during ‘make’ with ‘guix/build/clojure-build-system.scm’? <bjc>i vaguely recall something on the ml about it, but i can't seem to find the message again <xd1le>tricon, also see --discover option for guix-daemon <tricon>xd1le: oh that is awesome. thanks for the tip. <xd1le>tricon, and --advertise for guix publish <bjc>nm on the clojure thing. ‘make clean’ fixed my issue <Grimpper>Hi I need gtk3 for awesomewm. I'm currently adding `gtk and atk` to the inputs of the package variant I'm making. Does anyone know how could I get access to gtk3 instead of gtk4? <Grimpper>I'm sorry, I don't undestand the use of guix edit. It opens the package on the editor and I can see the <unmatched-paren>yes, exactly, it shows you the source, so you can know what the variable name is <unmatched-paren>e.g. ``gettext'' is bound to ``gnu-gettext'' because ``gettext'' is a procedure <Grimpper>so if I want to use `gtk3` as an input for a package I just write `gtk+`? <podiki[m]>(still needs the first patch with glibc-for-fhs which is unchanged)
***mark_ is now known as mjw
<pkill9>gnome software centre alows multiple sources eg flathub and native repos, so maybe guix could be added as a source <davidl>just got jupyterlab up and running on Guix, wohoo! :-) not ready to submit patches, but still, now we know it works :) <lilyp>do we have bash 5.2 on c-u yet? <unmatched-paren>sneek: later tell Kabouik: nice, looks like home-batsignal was merged :) <unmatched-paren>the_tubular: > “As is hopefully clear to everybody, the major version number change is more about me running out of fingers and toes than it is about any big fundamental changes,” Torvalds wrote in his release announcement. <the_tubular>Yeah, I read that, still Rust is coming to the kernel... That means compiling Rust on Repos <tricon>i'd like to learn Rust. curious to see if it has any longevity as programming fads come and go. seems to have some serious support, though. <ae_chep>languages come and go, paradigms stay <ae_chep>old: sure :) but you may move away from C and retain your imperative programming skills is what I'm saying <ae_chep>so I wouldn't worry less about if the effort is worth it if you wanna learn rust tricon <old>Better to learn Scheme IMO :-) <tricon>old: yes! Scheme + C = happiness. <old>tricon: I've come to the same conclusion. Need high level abstraction? => Scheme. Need bare metal speed? => C <old>+ The two are a perfect match with Guile <sektor[m]>Guix is a nice crash course in Scheme, that's for sure. <old>sektor[m]: To package management also and build system also! <tricon>all three, yes. i've enjoyed it. it's the most excited i've been about an OS in a long time. <old>yes! Guix solves soooo many things I had with other distros. The experience for a programmer/student/researcher has been a breeze <old>I wish more people could understand that and adopt it instead of saying "but docker" <florhizome[m]>unmatched–paren I saw some video talking about a new scheduler api which should make power saving more easy <jab>old: I think just from a casual use case guix system in awesome! I have had debian and ubunt updates break...then had to re-install. I think I have have some issues like that with guix, but they are really rare. <rekado>davidl: we have jupyterlab in the guix-science channel <jab>also guix system powers my static blogs, and it is amazing as a server OS. So simple. Using ubuntu somehow my let'sencrypt TLS would break, and I could never make it automagically update. <old>jab: And if it brokes, you can revert back to your old generation! <old>jab: It's. It's so easy to just power up a VM with a full custom distro with Guix system <florhizome[m]>yeah I think for deployment usage there is lots of potential :) <jab>old: I don't think I can do that presently...I am using libreboot, and it currently doesn't give me that option to choose old generations. I think I set it up that way to dual boot openBSD... <rekado>jab: I used to use libreboot and was able to choose old generations <rekado>I set it up so that the GRUB in the BIOS chip would pass execution to GRUB on disk <old>libreboot is replacing BIOS. GRUB -- the bootloader -- is the one that can select generations *sektor[m] is not a huge fan of Docker; YAML is such a turn off for me. <rekado>sektor[m]: JSON is a valid subset of YAML; it’s a slightly smaller turn-off maybe? <old>rekado: It's still a big turn-off IMO. I have this Guile project for sourcehut where I generate build manifest from S-exp to YAML. Such a pain of a language <old>But ya, less of a turn-off than JSON <dthompson>yaml is too difficult to write a parser for. extremely complex markup language. <old>Well since any JSON is valid YAML, you can just spit out JSON and you're fine <old>But I agree, the syntax is well .. complicated and ad-hoc <dthompson>that's fine if you are producing yaml, not consuming it. <rekado>consuming yaml makes my tummy ache <dthompson>I have looked into writing a yaml parser in the past and ran away scared. I edit yaml files with some regularity at work and the number of features that I didn't even know about is scary. <rekado>with PiGx we just hope that people don’t know what they *could* do with YAML and stick to the obvious syntax. <rekado>(in a project to produce a config file for PiGx I just stick to JSON of course) <old>It lacks an official schema though <old>Can't really parse org without Emacs <old>But yes. org-mode one love <dthompson>at least it's not a widespread configuration language. <old>Poor peoples that have to open README.org in VSCode <dthompson>it's more forgivable since it's for editing lovely documents in emacs. <dthompson>if there was an actively maintained and decent org parser for guile I'd probably switch over to it from markdown for blog posts <old>I think there's one in `guile-presentation`? I might be wrong here <old>But I know it's possible to write slides for presentation in Org mode that get converted into something <old>Probably a sub-set of the whole language though, but that could hack it for blog posts <dthompson>if that got extracted and maintained then we'd really be in business <old>Can't be that hard to refactor outside into `guile-org` <dthompson>get the essential stuff and add in other stuff as needed/as patches come in <old>Sounds like a new item onto the TODO list :-O <old>getting adoption is the hard part <dthompson>if the library existed I would add support for it to Haunt immediately and it would get adopted <old>I wonder however how this is all seen from other non-Guile distro. If you look at, for example Fedora, they have 0 package of Guile except for Guile itself and gnutls <old>Like if project are getting guilify, would not this be a wall for other people that want to contribute from their distro that lack support for Guile stuff <old>For example, all of my scripts in my big project are written in Guile, but clearly it could not be developed on Fedora by someone else <rekado>ae_chep: it was meant to be a “generic” debbugs frontend, so I hadn’t considered linking to Guix-specific resources from there. <rekado>but I guess a link to the Contributing chapter of the manual could be added. <jab>rekado: I used to be able to choose old generations too. Leah, actually built my osboot image...and I do not have the technical skills to change it back... <jeko>does anyone succeed to geiser-local-connect to a guix repl --listen=unix:/tmp/repl ? <jeko>oh i finally did. sorry. I thought my emacs froze but it was doing something for a long time… haha <jeko>hm… this is way too slow <jeko>trigger the tab completion in the repl make emacs to work for minutes ! <jeko>Can i set different keyboard layout to bootloader and xorg ? <dgcampea>this happens when I fire up /var/lib/certbot/renew-certificates