IRC channel logs

2024-11-03.log

back to list of logs

<getstate>Perhaps this is the wrong place to discuss this, but is anyone else worried about the future of GUIX? There are a lot of packages that are out of date, so am trying to help with reviewing packages...
<jaft_r>Took a while to finally get everything working but finished my updates script so I have a notifier icon and what's available: https://imgur.com/a/VuYVEof (I just think it's neat)
<vhns>Hi. I remember there existing a web interface tool for going through guix's history and identifying at which commit a package was at certain version. Does anyone know what I'm talking about and is able to link?
<getstate>vhns: hpc.guix.info/browse
<vhns>getstate: thanks!
<Kolev>Does Guix have nice Plymouth boot screen?
<PuercoPop>how does one add an argument to a package via a transform? I see some substitute-keyword-arguments call guix/transformations.scm. But I'm not sure where the function (?) is defined
<PuercoPop>Basing myself of the code in (guix transformations) I tried to add a helper to specify emacs-next as the #:emacs argument, but it doesn't seem to add the keyword argument https://paste.sr.ht/~puercopop/c72e65ee1eb97f0823b27c4a4a7b0d4627213dd5
<PuercoPop>I'm buessing because it wasn't being passed in the first place?
<vhns>Does anyone have an example on how one would modify (operating-system-user-accounts)? I currently have a baseline (operating-system) definition that I inherit which would require adding users to more groups depending on the box I'm deploying.
<Rutherther>PuercoPop that is not doable via transformations. The reason substitute doesnt work here is that there is nothing to substitute - the arguments didnt have emacs argument. Use ensure-keyword-arguments instead
<Rutherther>Note that in this specific case it is still a replacement of input technically, so you could use --with-input=emacs-minimal=emacs-next
<sleepydog>is anyone here using guix on a laptop without elogind and working suspend/resume?
<rekado>Kolev: no plymouth. I've worked on this for some time, but it's tricky to test and trickier to get it working.
<Geryz>hey there, has anyone managed to "build" LaTeX documents using Guix? there is a manual section about using LaTeX but that's only about guix shell
<Geryz>what i'm thinking is actually defining a procedure to be run with guix build, analogous to what this blog post https://flyx.org/nix-flakes-latex/ did with nix build (and nix flakes)
<Geryz>i'm guessing it's probably somehow possible using G-exps? but im not sure
<cow_2001>how do i pass --allow-dirty to cargo while working on a package in guix? it allows cargo to build the package when there are uncommitted changes in the git worktree
<Rutherther>cow_2001: if you are using the with-source / local-file from yesterday, it would probably make more sense to just remove the .git folder rather than passing other flags to cargo. .git usually shouldn't go to store anyway, it's completely unnecessary to have it there
<cow_2001>oh ~_~ thank you!
<cow_2001>Rutherther: how about #:select? (lambda (file stat) (not (string-suffix? ".git" file)))
<Rutherther>Geryz: g-expressions are, roughly stated, a way to capture scope from your scheme file and put it to the build daemon. So of course you can use them in the process, but it's not a necessity. You just want to write a derivation that will execute a few commands from other derivations. That being said gexpressions will probably be the easiest way to achieve it, along with computed-file that will help you convert it to a derivation
<PotentialUser-27>Hello everyone! Installed guix system today. Can anyone give me a tip - what I need to do to make chinese/korean/japanese symbols visible in web browsers?
<Kolev>What are you going to do, now that Arch and Fedora have gotten rid of nscd?
<Kolev>PotentialUser-27, just install the fonts. I don't know what they're called, but Noto is a good bet.
<PotentialUser-27>I need to install fonts as user packages or system ones?
<Kolev>PotentialUser-27, user packages.
<Rutherther>PotentialUser-27: can be either or, just note that you might have to relog first after you install them as user for the first time
<Kolev>Right.
<PotentialUser-27>okay, thank you everyone =)
<Kolev>Welcome to Guix!
<Kabouik>How should I proceed if I want to turn off the fan temporarily on a laptop running Guix? I have fancontrol installed, but it needs a config in /etc/fancontrol, which is normally made using pwmconfig, but the latter fails to dsetect an pwm-capable device.
<Rutherther>Kabouik: I don't know anything about these, so just a guess: have you executed pwmconfig as root or user?
<lh>hi folks, I’m still wondering what ci is supposed to look like for mesa-updates to be merged https://logs.guix.gnu.org/guix/2024-10-27.log#021825 . the failures in the latest evaluation seem unrelated to mesa changes
<lh>also, does “advance in queue” mean something to debbugs?
<PuercoPop>Rutherther: It isn't an input afaict. ej. (package-inputs emacs-consult) => (). My goal is to change the emacs program that is used by the emacs-build-system when building emacs packages so that it matches the emacs version I use.
<PuercoPop>emacs-consult doesn't work properly due to this mismatch
<PuercoPop>in the emacs-build-system there is a %emacs variable that is dynamically bound, except I don't know enough Guile to know how to work with dynamically bound variables.
<Kabouik>Rutherther: as root.
<Rutherther>PuercoPop: that's not what I meant. Yes, it's not in inputs list. But it is an implicit input. So it will get replaced with --with-input
<Rutherther>PuercoPop: you are probably doing double work. There is already an open patch to do that with a simple function and also exposing multiple possible ones in guix channel itself. Probably not the emacs-next ones
<Rutherther>PuercoPop: https://issues.guix.gnu.org/72406
<PuercoPop>Rutherther: Taking a look at the patch set. Thanks for the pointer
<torres_anderson>Quick question: how to install Guix distro over an already existing Linux distro, without relying on external media?
<Rutherther>torres_anderson: I think the easiest will be to boot into guix install iso if possible. You don't necessarily have to have it on an external media, can also just write it to the disk - though that won't work if it's the root partition for your currently booted system
<torres_anderson>Rutherther: something like `dd if=guix-install.iso of=/dev/sda2` (supposing I don't care with `/dev/sda2` contents)?
<Rutherther>torres_anderson: I am afraid it won't be that easy, since the iso has a whole disk image on it, not just a single partition.
<Rutherther>seems that grub can boot isos directly. Do you have grub?
<torres_anderson>Yep I use grub-2 as bootloader
<Rutherther>torres_anderson: you can mount the iso and look in /boot/grub/grub.cfg to see the arguments to kernel that are required to be specified, and also the path to kernel and initrd
<Rutherther>torres_anderson: then grub has a way to "mount" the iso using loopback loop. So you can create an entry with that
<jaft_r>The xdg-desktop-portal package's -next version has the same package name as the current version. That's, obviously, not an issue if you're using it in a config. file as you're just using the variable but won't this be a problem for people trying to install it via "guix install"? "guix search/show" won't have any indication which one's the current stable version.
<Geryz>Rutherther how exactly do g-expressions / derivations integrate with the package function? or do they not do that at all? the package reference only points to build systems and how they can be modified, not how you would use a custom g-expression to build a package
<Geryz>or do i not want to use packages in my situation at all? im very confused
<Geryz>package seems to be more of a "wrapper" around existing build-systems.. so would i just use "raw" g-expressions / derivations here?
<lh>Rutherther: just saw you ran into the same XDG_CONFIG_HOME issue I did with Guix on NixOS. are you still using it? I was on 24.05 but just moved back to unstable now that 24.11 is being prepared, and I’m getting ‘guix home: error: getting attributes of path `/gnu/store/<item>': No such file or directory’ errors
<Geryz19>wait what i just had to reconnect and when i reconnected my username was already taken... by.. myself?
<Rutherther>Geryz19: you can create a package if you wanted. Look at the trivial-build-system, you would set the #:builder argument to the gexp script to build it. But no need unless you wanted to do something like installing the package (which I doubt you would want since it's going to be a pdf)
<Rutherther>Geryz19: you can just use computed-file, and give that the gexp. It will execute the gexp, in the gexp just write something to "#$output" file or folder, up to you what it is, despite the "file" in the name
<Geryz19>hmm interesting
<Rutherther>lh: I've moved completely to Guix OS and use NixOS like once per week for a few hours only. I honestly forgot about XDG_CONFIG_HOME issue, but maybe if you repeat the problem, I might remember
<Rutherther>oh, I see, it was an issue on github I created
<lh>yeah that one is easy enough to work around, I’m getting a new issue after upgrading NixOS that makes Guix basically unusable. just trying to confirm it’s not something specific to my setup
<Rutherther>lh: I just set "environment.sessionVariables.XDG_CONFIG_HOME = "$HOME/.config""
<Rutherther>lh: what issue are you getting?
<lh>any time I try to build anything, I get ‘error: getting attributes of path `/gnu/store/<item>': No such file or directory’
<Rutherther>can you send the full log with paste site?
<Rutherther>s/with/via
<lh>I just tried guix pull as root to see if upgrading the daemon took care of it, since ‘getting attributes of path’ shows up in the guix daemon C++ code, which would be part of the Nix-built Guix package that may have broken due to newer dependencies from the NixOS upgrade
<Rutherther>guix pull as root won't upgrade the daemon
<lh>it’s a necessary first step
<Rutherther>not really
<lh>after pulling, then I would modify the systemd service to exec the root profile’s guix instead of the one from Nix
<lh>but even guix pull tries to build module-import.drv, so I don’t think it’s possible to work around. will have to rollback most likely
<lh>here is the full error, but there’s not much: https://0x0.st/XGv6.txt
<Rutherther>you could also just try changing the guix package's src for that, maybe no deps changed. Or not, always could be a surprise
<lh>I was hoping to avoid that haha but yeah worth a shot
<lh>in the store, there is an empty lock file corresponding to the file that is not found
<Rutherther>it seems to me bit like your store got corrupted
<lh>I tried guix gc --verify but it succeeded instantly
<lh>and then guix gcc --delete on the lock file and retrying the build, but same issue occurs
<lh>s/gcc/gc
<Rutherther>can you try "guix build --repair /gnu/store/6a107jafggdgyrhs7bk6vy9618gigwl4-module-import"?
<lh>that succeeds with no output other than updating substitutes
<lh>running guix pull again fails the same way
<Rutherther>okay, then it was not repaired since it seems this module import is not on the substitute servers
<Rutherther>I would try guix gc delete on the missing folder, not on the lock
<lh>i.e. ‘guix gc --delete /gnu/store/6a107jafggdgyrhs7bk6vy9618gigwl4-module-import’? that also succeeds, then running guix pull again fails with the same error
<Rutherther>hmmm, then I am out of ideas
<Rutherther>although... does the path actually exist or not?
<lh>it doesn’t, just the lock
<lh>where can I even fetch a tarball of a non tagged guix commit? cgit doesn’t seem to support this
<lh>I guess I can just use fetchGit nvm
<lh>no I can’t, the Nix package expects a release tarball. boy do I love autotools
<lh>welp, I determined that backporting the fix for the user takeover vuln to 1.4.0 causes the issue, at least for me: https://github.com/NixOS/nixpkgs/issues/353471
<lh>thanks for your help btw
<Rutherther>huh that's interesting
<Rutherther>I think someone here mentioned a few days ago they also applied the patch to debian guix, and didn't mention any problems like that. So I would think patch itself would be fine
<lh>hmm, I will take a look at debian’s version
<lh>I think this does maybe point to the fact that Guix should be tagging releases when vulnerabilities crop up
<lh>Whether that’s backporting the fixes to 1.4 or just making a new release on master, expecting users to upgrade the daemon is not ideal
<lh>You need to run the foreign distro-packaged daemon at least briefly to upgrade it, and expecting distro package maintainers to roll their own patches isn’t great
<yelninei>lh: looking at the nix backport mr there is only 1 commit (5ab3c4c1e43ebb637551223791db0ea3519986e1) . the blog post mentions a second one (558224140dab669cabdaebabff18504a066c48d4) whihc looks like it is missing from the nix package
<lh>yeah I just saw that myself! I updated the issue, thanks
<Geryz19>what exactly is the difference between a module and an extension? and why does guix build say there is "no code for module (gnu packages texlive-base)"? (even though that should be a module.. right?)
<Rutherther>Geryz19: I don't think there is a module called gnu packages texlive-base
<Geryz19>so how would i import something from gnu packages into my expression?
<Rutherther>what exactly?
<Rutherther>but generally, either grep the package definition in guix source, or look in guix search, where it says location:, that's same as name of the module it's under
<Geryz19>ahh okay that location bit seems to be what i was looking for, thanks
<Geryz19>okay now we're getting somewhere
<Geryz19> https://pastebin.com/bAszdf7F what happened here?
<Rutherther>please send whole code
<Rutherther>but what happened is that you don't have guix store in your module load paths where you used use-modules
<Geryz19>still trying to solve the same problem as earlier, building a LaTeX file with Guix
<Geryz19> https://pastebin.com/eNaWYPqq
<Geryz19>(both appearances of "(use-module guix store)" where added after that error, yet they don't seem to have fixed it)
<Geryz19>this whole thing is just an exercise for me to understand Guix better, i mean i can just use guix shell and build it from there but this way i get to learn something
<Rutherther>Geryz19: the problem is likely that you are trying to use guix gexp with that with-imported-modules. But it has dependencies, like guix store. So you get this error. Why did you add guix gexp to with-imported-modules anyway? you cannot use gexps inside of the build daemon anyway
<Rutherther>Geryz19: there is source-module-closure function for obtaining whole closure of a module, you can put that to with-imported-modules to get a working module. But as said, it's likely not the correct solution here
<Rutherther>Geryz19: also - no code for module means that something imports the module but it doesn't exist, so use-module is not going to solve it, it's the cause, that something called use-modules with it
<Geryz19>okaay so i removed (guix gexp) from (with-imported-modules), but i still need to add it at the top-level, else (with-extensions) isn't recognized syntax
<Rutherther>yes, that's expected
<Geryz19>> no code for module means that something imports the module but it doesn't exist
<Geryz19>what exactly does that mean here?
<Rutherther>with-imported-modules is giving modules to load path to the gexp
<Geryz19>hmm yea but i think i need those modules, especially (guix build utils), right?
<Geryz19>inside the gexp, i mean#
<Rutherther>Geryz19: guix build utils is useful, yes. Guix gexp isn't
<Rutherther>> what exactly does that mean here?
<Rutherther>> As said, guix gexp was trying to use guix store. guix store was not in load path
<tschilp>Hi guix! How would I regenerate openssh-server keys on guix? On debian-based distros I would just delete the corresponding files under ~/etc/ssh/~ and then run something like ~dpkg-reconfigure openssh-server~. Is there anything similar on guix system? Right now I don't even know where the keys are places...
<tschilp>s|places|placed|
<civodul>tschilp: hi! to regenerate host keys, you’d use ssh-keygen, which places them under /etc/ssh
<tschilp>civodul: thanks! I haven't been using ssh as a server on guix system so far, and stupid me was looking on my local laptop :)
<civodul>heh, that happens :-)
<hapster>hej guix o/
<futurile>hey hapster