IRC channel logs
2025-09-21.log
back to list of logs
<ekaitz>omentic: hm and how do you check the wasm support? <omentic>i've been running `guild compile-wasm`. the makefiles there refer to this script <ekaitz>omentic: guix shell -m manifest.scm -- guile <ekaitz>> scheme@(guile-user)> (use-modules (hoot web-server)) <ekaitz>and I have the compile-wasm option <omentic>but `guix shell --manifest=manifest.scm` and then `guild compile-wasm` doesn't find the script <omentic>ekaitz: could you run `which guild` after dropping into a guix shell? i'm curious if this is just a paths issue <ekaitz>you may have borked your envvars? <ekaitz>make a new separate shell just in case <ekaitz>wich guild -> /gnu/store/wkhgi12h20p745jbw64fib41psk83708-profile/bin/guild <omentic>mine's pointing to .guix-profile/bin/guild <omentic>...so, back to the installation guide. now which envvars did i bork <ekaitz>are you in Guix or in another distro but using guix as a package manager? <omentic>i'm in arch linux using guix not rly as a package manager but mostly for build stuff. but, i did install guix and some other pkgs <omentic>`/usr/bin/guix` is from the arch repos, .guix-profile/bin/* are guix tooling installed by guix so i can have an up-to-date guile etc <ekaitz>so you probably have not configured guix properly <omentic>this may also have been triggered by switching shells and forgetting to bring over some envvars <ekaitz>it might be some stupid PATH variable that you are overwritting or something <omentic>hm. okay running `guix upgrade` gave me hint: Consider setting the necessary environment variables by running GUIX_PROFILE="/home/apropos/.guix-profile" \n . "$GUIX_PROFILE/etc/profile" <omentic>do you know what that line following the \n is? . "$GUIX_PROFILE/etc/profile"? <omentic>i've never seen a leading dot like that <omentic>now i'm remembering, i went looking but it's not very googleable haha <ekaitz>$ source "$GUIX_PROFILE/etc/profile" <ekaitz>omentic: bash knows what that is, try: help . <omentic>unfortunately i'm using fish, so gotta figure out how to source it <ekaitz>fish should have some . or source, too <omentic>okay, seems like fish does support it <ekaitz>it's a long time ago since I run Guix in a foreign distro, but I think adding those lines to a bashrc or so helped <omentic>spoke too soon, fish is very unhappy abt .guix-profile/etc/profile being bash lol <omentic>well, i don't see non-bash shell documentation but reddit is telling me not to worry <omentic>so ig i'll continue on to try and find why guix shell isn't updating my binaries appropriately <ekaitz>omentic: when you run guix shell it needs to change your PATH and stuff, for that it requires to load the new profile <ekaitz>omentic: I use guix as a distro, yes <omentic>is your `which guild` different inside and outside the `guix shell`? <omentic>okay also hrm. `guix shell -- guile` and `guix shell --manifest=manifest.scm -- guile` behave differently? the former fails to find hoot while the latter succeeds <ekaitz>omentic: yes, my guild is different in and outside the shell <omentic>okay thx that definitely narrows it down to what you said then <ekaitz>omentic: in your case if it isn't it's because you don't do the source ... <ekaitz>run the guix shell --manifest=manifest.scm <omentic>okay, and `guix shell --manifest=manifest.scm -- guild` gets me a guild with compile-wasm <ekaitz>guix shell --manifest=manifest.scm <omentic>fails. i guess cause my paths aren't updated so make is finding the wrong versions <ekaitz>and now try: `guix shell --manifest=manifest.scm` followed by `source $GUIX_ENVIRONMENT/etc/profile` and `make` <omentic>lemmie switch over to bash and source manually and see <omentic>oh, `source` fails unfortunately. the guix /etc/profile is a bash file but my shell is fish <omentic>i'll try running the equivalents in fish syntax manuallly <ekaitz>the problem here is if you don't set up the GUIX_PROFILE thingie the env vars are not going to be set right so the shell doesn't load properly <ekaitz>it brings things to your system, but you cannot find them <ekaitz>for that, you need some special magic <omentic>i am not sure how to set this up on fish, though. there's totally different syntax for setting env vars / appending to path <omentic>i've got that page open. that's basically what my config looked like alr, but w/o the second part of the GUILE_LOAD_COMPILED_PATH line and w/o the fish_add_path line <ekaitz>or you might use something like fish-foreign-env? <Tadhgmister>is there no supported way to set /etc/hosts to the content from a downloaded file? <Tadhgmister>it seems hosts-service-type expects only a list of `host` records and packs it into a plain-file, there is no capacity to pass it a file-like object <omentic>ekaitz: i gtg but thx for the debugging help <omentic>will read through the mailing list link, will try that oh-my-fish script. might write back smth to the mailing list if i can't get it working <FuncProgLinux>Packaging xdg-desktop-portal-xapp sure is going to be a chaos lol. Systemd, dbus & cinnamon things mixed <ieure>FuncProgLinux, I don't believe it does. <ieure>FuncProgLinux, Just checked with d-spy, and no, it doesn't. <ieure>I can see how this might be kind of useful, but also d-bus sucks, so <FuncProgLinux>ieure: I don't like dbus one bit. I once tried making a playerctl alternative in Go. Connecting to the user bus was simple. Signaling was hell <FuncProgLinux>I was researching if packaging xdg-desktop-portal-xapp could provide a better UX for Cinnamon/MATE/XFCE users. Although, as far as I know, there's no cinnamon on guix <FuncProgLinux>I mean for a system bar lol. But controlling some of the system components via Emacs could be another usage <ieure>(Ignore the two stale PRs I've ignored for years) <ieure>I would eventually like to have udisks2, network-manager, and bluez UIs for Emacs built with this. <FuncProgLinux>I like emacs lisp. I would love if Guile had some things from it though I understand why they differ on purpose <FuncProgLinux>But the file headers/footers, the defun keyword and the docstring hints would be awesome (for me at least) <ieure>Headers/footers are just convention. <ieure>I think Guile supports docstrings? But it's definitely not as ubiquitous as other Lisps. <ieure>Scheme is my least-favorite Lisp. <ieure>Ah, I'm reasonably proficient in Emacs Lisp, Common Lisp, and Clojure. <FuncProgLinux>I do have Dr Racket but It's for doing the SICP practice excercises <ieure>Clojure has a lot of very nice features, and some warts that've been there since day one which are still unfixed. :( <ieure>It has the best hash-map implementation of any Lisp I've used, and its transducers are really great. Love the immutable-by-default approach and STM. <ieure>Haven't really found a strong usecase for agents, though; it doesn't have a good OOP system. It has a lot of individual features of CLOS, but nothing that really matches all of CLOS' functionality. <ieure>Running on the JVM and leveraging Java libraries give it a lot of applicability that traditional Lisps struggle with. <ieure>FuncProgLinux, Yes. I don't know anyone still using Sun/Oracle JDK. <ieure>Maybe some big corps. But the majority of people are targeting OpenJDK for JVM-based applications. <ieure>I've been at numerous shops that shipped stuff on top of the JVM, the last one that used the Sun JDK was... well, long ago enough that it was still called "Sun JDK." <FuncProgLinux>I used java like 8 years ago. I kinda liked it except for the fact that I had to spend like 3 hours configuring my then vim editor to support it <FuncProgLinux>I remember having to use netbeans in the end lol and it was aquired by Apache a year later I think <ieure>I've always just used normal Emacs to hack Java. Pre-LSP, so I just wrote it like any other language. <ieure>java-mode, open file, program, that's it. No autocomplete or debug or whatnot, just uh. Write the code. <FuncProgLinux>I think it was that and some issues with C that made me switch to Emacs. Back then I remember vim had a clumsy way for plugins to work and people made vimscript + python alchemy to get some things to work <FuncProgLinux>I remember someone on the IRC told me with Emacs "everything is just one language", the rest is history <ieure>I've been using Emacs near daily since uh. 1998? I think 1998. <ieure>At the point where I've been using Emacs for longer than some coworkers have been alive. <FuncProgLinux>darn it, the xapp desktop portal does need systemd to run something via dbus :( <ieure>FuncProgLinux, Is that a regression from upstream? From the Guix package? <ieure>I would prefer not to merge changes with known regressions. <FuncProgLinux>ieure: Before submiting I usually run ./pre-inst-env guix style <package> or you mean the substitute? :O <ieure>FuncProgLinux, In the linked comment, you said "I don't seem to have experienced any regressions other than caja not being able to Extract Here" <ieure>FuncProgLinux, I would like to know more about this regression. Is it an upstream bug? Due to your package changes? Something else? <FuncProgLinux>Oh, that. I guess I owe an apology, english is not my first language. I have never been able to to that on MATE, not on the current version or with the update. <FuncProgLinux>It's not a regression it was more of a "I still couldn't fix that issue" message <ieure>FuncProgLinux, Gotcha, okay. <ieure>FuncProgLinux, You're very proficient! I know native English speakers that are way worse. <ieure>I'm not worried about not fixing an existing bug with the Guix package, but would prefer to avoid adding new bugs. <FuncProgLinux>ieure: I test all packages on my main computer first before submitting them to guix. Or when the package definition is way too ugly I tend to wait and re-read gnome.scm packages to keep up with moden guix practices <ieure>Seems fine, but I have to go help make dinner -- I'll take a quick look after, but I don't currently see anything that'd prevent me from pushing that PR. <ieure>FuncProgLinux, Do you mind if I slightly reformat your change? I like having one input per line, since it makes diffs much easier to read; your PR changed native-inputs from one per line to having them all on one line. <FuncProgLinux>ieure: I don't :) I blindly followed the formatter but I'll keep that in mind next time I submit a PR <FuncProgLinux>ieure: No problem :) it's one small step forward to make mate complete in Guix <j8>Hello, Unlike packages option of operating-system, extra-packages of gnome-desktop-configuration doesnt accept package/output tuple. Could you let me know if its a bug or if im missing something. Reproducible code @ https://paste.debian.net/1397479/ <PotentialUser-38>however, I'm getting a `no code for module` error on reconfiguration when trying to use one of my modules <identity>PotentialUser-38: try doing guix repl your-module.scm and make sure the module is in guile's load path <PotentialUser-38>identity: I've tried the REPL only to encounter the same error. As for load path, I've tried explicitly passing `-L` (even though by default my `$PWD` should already be loaded, I think) and checked `%load-path' to verify, but I am still getting this error. <identity>PotentialUser-38: you tried repl on what and how? what are you passing as -L? <identity>i meant to pass the file directly to the repl command <PotentialUser-38>identity: Ah, that didn't occur to me. It appears that there's no problem with `base.scm`; my system definition that's importing the module on the other hand leads to a backtrace: https://bpa.st/F7OA <identity>PotentialUser-38: could you try -L ~/src/ (without the dotguix/ part)? <PotentialUser-38>identity: really? `src` is just my directory for local repositories, I'm not sure if it would help. But if you say so, I could give it a try... <identity>you can not get to dotguix/system/base.scm with “cat dotguix/system/base.scm” from ~/src/dotguix/, you know <identity>if you do -L ~/src/dotguix/, then guile is going to look for (dotguix system base) in ~/src/dotguix/dotguix/system/base.scm and from what i can gather that is not where the module is is <jakef>hmm, i see some items in /gnu/store owned by guixbuilder01 instead of root. is that ok? <natarasee>Hey, I have a Guix System VM I created from the official install ISO about a week ago. I've updated it a couple times since with "guix pull" and "sudo guix system reconfigure"… <natarasee>I was using it via SSH, had some odd network issues, rebooted… and now I can't get any response at all from "sudo herd status" <natarasee>Ugh, okay… possible explanation: I think the VM host (TrueNAS) is keeping the VM time in local time not UTC. <natarasee>and from reading /var/log/messages, the time is jumping backwards shortly after boot <natarasee>I'm in Australia, UTC+10, and the time is jumping back 10 hours <polyedre>Hello all, does someone know where to find some guidelines about translations of the Guix manual? I'd like to help a bit on the French translation but I'm not sure what I'm doing on the web interface <futurile>polyedre: If there's nothing in the manual (the latest version) then the best option is to look in the devel mailing list and just try some searches <futurile>polyedre: I know we switched web interfaces recently, but that's it <apteryx>could someone run 'make check-system TESTS=encrypted-root-os' and report whether it passes on hangs? The later here. <futurile><sigh> packaging in guix involves a lot of time sitting waiting for everything to compile again <futurile>somehow I've invalidated the go files, so I have to compile the whole of guix again - or wait for 5 mins each time I do something while it tells me the .go file is different from teh scm file <futurile>third time today so far - each compile takes so long ... - gah <apteryx>futurile: nice trick: git rebase HEAD your-branch-to-switch-to, assuming the branch to switch to can be safely rebased on your current branch (HEAD). <apteryx>This avoids going back to an old snapshot, then rebuilding the same files. <apteryx>Another trick: the use of git worktrees <apteryx>useful if you work on many large branches in parallel, to avoid rebuilding things when context switching <apteryx>finally, the most effective trick of all: invest in a monster CPU and brute force your way with it ;-) <futurile>thanks apteryx, I've just recently been trying out worktrees so I can work on a couple of things in parallel. Yeah more cpu heh <Chwoka>absolute beginner basic question: one of the things i hear as a pro about guix is that you don't have to reconfigure everything from scratch when you install it on a new system. does that go for if i'm just taking it for a spin on a VM too or can it not cross that barrier? <Chwoka>(pro as in not-con not as in professional. i am NOT a professional anything lol) <futurile>Chwoka: well any Linux distro will start with an initial 'configuration', so if you install Fedora there's a configuration for example <futurile>Chwoka: I think what you're being told (applies to both Guix and Nix) is that you can configure the entire system declaratively. So if you were managing a large number of systems it would be easy to keep all your configurations in git <Chwoka>right so storing my configurations essentially in the cloud and then referencing them <futurile>Chwoka: that's quite different in meaning though - if what you're looking for is an "easy to use, don't have to spend much time configuring it" then that's not Guix - the distros like Ubuntu, Fedora etc are what you're looking for <futurile>Chwoka: yeah, have you used a configuration system before? to manage systems or anything like that? <Chwoka>nope, just a home computer user who thinks scheme is neat <futurile>Chwoka: OK, I would pick Guix for that reason. But not for "keeping a configuration" because actually although it's super cool, for a user it can be quite a steep learning curve. Anyway you can use Guix just like a normal linux distro to start - spin it up in a VM and try it out <Chwoka>i figured i'd try it out in a vm and see if i even could hack it and get it into a shape i like and can see myself using. basically i was wondering how worth-the-effort it would be to like tinker with the finer points (like aesthetics) in the VM, if i would have to do all that tinkering again just as slowly if i reinstalled <futurile>Chwoka: how much Linux experience do you have? <futurile>Chwoka: yeah, that's a good approach. You can use the system configuration approach so that every change you make is documented and then spin up a new vm to see if you like your change. <Chwoka>by system configuration approach do you mean building my own image using guix system image instead of just loading the prebuilt 1.4.0 .iso into my VM? <futurile>Chwoka: what most people do is start with the default system image, and then they can being exploring how to use the scheme/declarative configuration by just editing that and reading the manual. <futurile>Chwoka: no worries, and come and ask questions here if you get stuck <futurile>Chwoka: people will constantly refer you to the manual heh heh - but at least it tells you the section to read <ajarara>hello #guix. I have a rust app (age-plugin-yubikey) that depends on a workspace (rage) that itself exports an app + a couple libraries. I think what the guix package set wants me to do is to declare the sources in rust-sources, declare them as cargo inputs in rust-crates, and then write the app definitions in rust-apps. Is that right? <ajarara>The workspace application (rage) depends on the libraries. A direct guix import without any modification doesn't have them show up in guix-vendor. <ajarara>I did have success making the workspace libraries as crate sources (and putting them in inputs for the app), but that felt like the wrong thing to do. <c0co>hi all, I'm trying to define a package and it needs openssl from (gnu packages tls), but this is causing a conflict because (guix licenses) also includes an "openssl" package, so the build is interpreting the "openssl" input as the license lol, what's the syntax to avoid this? <trev>c0co: i think you're looking for #:renamer <kestrelwx>c0co: I tend to import use-modules as (use-modules ((guix licenses) #:prefix license:)) <c0co>thanks trev, we used :prefix and it seems to have worked <futurile>ajarara: I believe that's right under the new system. It's a recent change, there was a blog post about it that you can check out <graywolf>Hi :) How are dependencies tracked for a packages with multiple outputs? If I want to add to some package output `info' containing just the info pages, will the second output still depend on all the inputs to the `out' output? <c0co> trying to write a package definition, and as part of the build process, ruby-puma is built, but it fails because of it's flaky tests. How can I specify to skip just ruby puma's tests, but not the tests of the rest of the build? <graywolf>Given the output from `guix build --help-t', I would expect `guix build --without-tests=ruby-puma whatever-your-package-is' to work <c0co>graywolf: but if I want to make this package available to others, and/or include it as a package in a system configuration? <graywolf>Well the right option is to fix the ruby-puma <graywolf>But otherwise, once you build the package like this, it should work then from system configuration (since it will not be built again) <lactose>I just got a fresh install of Guix System in a VM, is there a way to replace the default channel with the Codeberg mirror before pulling? <Serentty>Hi everyone! I just installed the Guix System, and am trying to set things up, but running `guix pull` is so slow that it looks like it would take multiple hours. I tried just getting patient, but the download started at 29% last time. Is there a faster way? <c0co>checking indexes always sticks at 29% for a min <c0co>you can try using --substitute-urls and implicitly excluding bordeaux <Serentty>Oh no, I already gave up on that download. 😭 <lactose>Sounds like the Guix version of the 46% on Nix, lol <lactose>During install, NixOS will hang at 46% <Serentty>Okay, what do I have to pass to that flag to exclude Bordeaux? Like, specifically? I would love to do a documentation deep dive but I want to at least get the desktop environment up first. <futurile>if this is your initial guix pull - so your just updating the git repo? <c0co>lactose: yeah basically, my suspicion is it's a common decision when calculating percentage completion. if you have say 100 packages of varying sizes, but 1% = 1 package, and package 29 is 100 times larger than every other package, that 29th % is going to take a lot longer than other %s. An alternative way would be to calculate % completion based on the total overall size, but that's harder to dynamically <c0co>calculate for your entire definition :) <futurile>Serentty: where's it pulling from, Codeberg or somewhere else? <Serentty>I see Savannah in the URL. Does that tell you? <c0co>oh yeah savannah is going to be slow <futurile>there's two steps here - one is updating the list of packages (that's what it's getting from Codeberg), and the second step is getting the substitutes <lactose>sounds about right, anyway is there a way I can switch the guix channel from savannah to codeberg before i do my initial pull? <Serentty>Sorry for all the logging in and out. I am on my phone browser, and it just kills the tab whenever I do anything else. After pulling I should be able to set up and IRC client on my computer. <lactose>oh sorry i wasn't at the bottom of the log <tux0r>for code hosting, i just use fossil. each repo is one single file. lovely to backup. and to host.