IRC channel logs

2023-08-18.log

back to list of logs

<apteryx>ACTION is updating jami
<gnucode>I was getting my email account set up again...via guix system...and I am more convinced that guix would be an awesome tool to auto-setup email hosting.
<parnikkapore>Hi Guix! Let's say that you have a single-machine Cuirass setup. Should I set up a remote worker on the same machine, and if yes, how?
<oriansj>anyone package a guix lemmy client yet?
<PotentialUser-17>Hello
<PotentialUser-17>I'm trying out guix -- in fact, I want to migrate to guix
<PotentialUser-17>as an emacs user, using guile scheme as a config language is a very compelling argument for me
<PotentialUser-17>however
<PotentialUser-17>before I migrate, I need my toolbox
<PotentialUser-17>I was able to get arangodb (github.com/arangodb/arangodb) installed in a package definition using the `copy` build system
<PotentialUser-17>and i got it to work
<PotentialUser-17>I'm just missing gradle
<PotentialUser-17>I'm trying to install it using copy mode again -- but this time, I just can't get it to work
<PotentialUser-17>apparently it has to do with the
<PotentialUser-17> `zip` command
<PotentialUser-17>```
<PotentialUser-17>starting phase `unpack'
<PotentialUser-17>In execvp of unzip: No such file or directory
<PotentialUser-17>error: in phase 'unpack': uncaught exception:
<PotentialUser-17>%exception #<&invoke-error program: "unzip" arguments: ("/gnu/store/5h94r2wiwc2ccqianfpq5xc4i526azss-gradle-6.9.4-bin.zip") exit-status: 127 term-signal: #f stop-signal: #f>
<PotentialUser-17>phase `unpack' failed after 0.0 seconds
<lilyp>you need unzip as native-input
<PotentialUser-17>i installed unzip
<lilyp>that's not how things work
<PotentialUser-17>i need to declare it in the package definition?
<lilyp>you need to add it to your package definition via (native-inputs (list unzip …))
<PotentialUser-17>ahhh
<PotentialUser-17>let me try
<lilyp>be aware that this packaging style is extremely unsupported - you're probably better off using FHS containers
<lilyp>anyway, gtg, cheers
<PotentialUser-17>well, it worked for arangodb precompiled binaries
<PotentialUser-17>i suppose is better to compile, but i just want to get it working
<PotentialUser-17>then i'll explorre some more
<PotentialUser-17>for now, this will do
<PotentialUser-17>so I added `(native-inputs (list unzip))` to my package definition
<PotentialUser-17>and got a horrid backtrace
<PotentialUser-17>last line: `error: unzip: unbound variable`
<PotentialUser-17>better yet, has anyone here packaged gradle?
<PotentialUser-17>(it's an apache license, so I take is free software)
<PotentialUser-17>do you guys know of package with `native-inputs` that I can use as an example?
<PotentialUser-17>found one
<PotentialUser-17>here: https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/maths.scm
<PotentialUser-17>I can't get it to work!
<Awww>hello. I am trying to specify my own local channel but I fail to have my local repo recognized. In my dotfiles I have a channels.scm that points towards a git repo (not a .git file, a folder with a git repo inside). Is that the right way about it?
<jlicht>hey guix! Any particular reason ddclient {package,service} have been removed recently?
<jlicht>I saw a note about it no longer being maintained, but afaics there's change of maintainer(s)
<Awww>ha I made it work, silly typo on my part.
<iyzsong>jlicht: oh, that's a good news, time to revive it!
<Awww>How long is the first guix pull (very roughly)?
<andreas-e>I do not remember, but it can be quite long.
<andreas-e>I have a subdirectory in .cache/guix/checkouts with almost 923GB. Maybe you can go there, type the command "du -m" and see where you are.
<Awww>ha that makes sense thanks
<Awww>holy shit, 490M and it has been running for hours
<Awww>something is wrong I guess.
<next4th>andreas-e: i have a 3.1G ~/.cace/guix/checkouts, 923GB seems wrong..
<Awww>err ok it just failed
<Awww>I guess I should use --keep-going
<viaken>What was the failure?
<Awww>openssl
<Awww>unit tests not going through
<next4th>Awww: you shouldn't build that things, was substitutes disabled?
<andreas-e>next4th: Have you enabled additional channels?
<Awww>hmmm it's a fresh install from a dubious packaging of guix (gentoo)
<Awww>no specific install was given
<Awww>s/install/argument
<Awww>and yes, I added a local repo with not much inside.
<Awww>two very simple package definitions.
<Awww>anyway, I'll force substitutes
<next4th>andreas-e: added rde channel, but not used yet..
<viaken>I have additional channels and my checkout is only ~500M on the systems I can hit rn
<andreas-e>If you type "ps -ef | grep guix-daemon" you should see substitute urls, normally https://ci.guix.gnu.org https://bordeaux.guix.gnu.org.
<andreas-e>And their keys must be found in /etc/guix/acl
<next4th>yes, you may need 'guix archive --authorize' to authorize the public keys of substitute servers.
<Awww>hmmm there is not even an option to do with substitutes, it really is the default
<Awww>weird.
<andreas-e>Maybe the gentoo defaults are to not authorise substitutes.
<andreas-e>You can always use the binary installation method from the manual.
<Awww>well, the package does not have a single use flag…
<jab>morning guix
<renngar>I may have asked this a few days ago, but do not see it in the logs.
<next4th>i'd (iyzsong) like to request a client cert for our CI, who should i ask to?
<renngar>I am getting a parse-elf error when building a custom kernel with some modules built-in and other setting changes. How do I go about debugging it?
<Awww>oh ok I have found the source of the issue I think. Permission issue for substitutes apparently
<Awww>well, that's my bad then
<Awww>still not reassured that openssl does not build :~
<Awww>guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
<Awww>I am not sure what that means
<jab>morning guix
<Awww>Is that because my other channel has no authentication?
<Awww>haaaa now it works. I had to authorize each server.
<Awww>just as you told me
<Awww>fingers are crossed.
<Awww>ok it took a minute :D
<andreas-e>next4th: For the certificate, the documentation states that one should create one on berlin. So it is limited to people with an account there. I would suggest you ask on guix-sysadmin@gnu.org
<next4th>andreas-e: okay, thank you!
<andreas-e>civodul: overdrive1 has disappeared, and it does not react to pings from berlin.
<ekaitz>hi! what's the proper way to use `local-host-entries`?
<ekaitz> http://paste.debian.net/1289356/ <-- i have this
<ekaitz>but I get this: local-host-entries: unbound variable
<ekaitz>local-host-entries is defined in gnu system
<ekaitz>(but not exported)
<ekaitz>what am I missing?
<next4th>ekaitz: i think you can extend the service instead of modify it, the guix manual has the example. so that its default local-host-entries are still there.
<ekaitz>i've been looking in the manual but I can't find it
<civodul>andreas-e: hey! it's reachable over SSH though
<civodul>(does the MDC firewall let ICMP through?)
<civodul>i updated the 'cuirass' package yesterday or so
<civodul>would be nice to reconfigure berlin to use it one of these days
<ekaitz>next4th: can you point me to the manual section?
<civodul>no rush, but it would make it easier for me to debug it
<next4th>ekaitz: https://guix.gnu.org/en/manual/devel/en/html_node/Base-Services.html , hosts-service-type.
<ekaitz>next4th: thanks!
<next4th>ekaitz: or use local one via emacs, which should be quicker!
<ekaitz>next4th: i don't use emacs (booooooo)
<ekaitz>so I can use the hosts-service-type as a service instead of an essential-service
<ekaitz>that feels way better
<next4th>'info' from textinfo also works
<civodul>specifically, you can "extend" hosts-service-type, as in the example in the page above
<civodul>(oh, egun on!)
<next4th>ACTION guix system reconfigure
<ekaitz>saluton civodul
<ekaitz>it's working! yay
<andreas-e>civodul: As root on berlin, I could ping other machines, but not overdrive1; and I could also not ssh into it. Maybe it repaired itself?
<civodul>andreas-e: are you pinging its WireGuard address, or its public-facing one?
<civodul>the latter isn't actually overdrive1: overdrive1 is NAT'd behind it, with its SSH port forwarded
<civodul>so thinking about it, we just cannot ping it via its public IP
<civodul>using the WireGuard address, it should work
<civodul>(overdrive1 has an uptime of 68 days)
<andreas-e>I used the wireguard address.
<andreas-e>It had disappeared from the workers web page, and now it is back.
<civodul>yes, but like i said yesterday, it can disappear there because of a bug in "cuirass remote-server", which should be fixed now :-)
<Awww>btw, I find myself doing quite a few git pull. Isn't that a bit straining for the servers?
<Awww>I mean, is there a rule of thumb for what is "too much".
<Awww>I meant guix pull…
<andreas-e>As long as you do them by hand, I would not be too worried. They end up as "git pull", then a local computation. But usually just one of them should be enough to update your local checkout.
<Awww>well, i'm not putting it in a while True
<andreas-e>But why do you need several "guix pull"s?
<civodul>you can run "guix pull" once a week if you like to be on the cutting edge, less frequently otherwise
<civodul>(depending on your security requirements, too)
<elpogo>are there any 'lts' branches that are mainly focused towards lts versions of various software and get only security updates that can be grafted in?
<andreas-e>No.
<andreas-e>Do such things exist for other distributions? I wonder how one would decide which software to put in across the spectrum of so many different projects and programming languages.
<Awww>Oh I run several guix pull because I use my own local channel for ongoing developments.
<Awww>Me hitting the GNU servers is a bit incidental…
<Awww>andreas-e: To my knowledge Ubuntu and RHEL used to do it. There is Gentoo hardened also. Gentoo hardened seemed legit.
<civodul>Awww: while working on your channel, you can run "guix build -L /path/to/channel package-being-tested"
<Awww>civodul There could be that but I'm using manifests to build containers with the packages there. I mean, rolling out your own channel for your own dev might be overkill in the end. I'm not sure.
<jab>dang, libreoffice crashes on me when I try to open a file/export the file to a pdf...
<mirai>should texlive-bin be added within (texlive-upd.cfg …) or should it be kept outside within a packages (inputs …) field?
<andreas-e>mirai: I suppose only ngz would know...
<albus>hello, everyone. I've encountered weird issue with fonts. I've installed guix on top of arch, installed font I wanted, installed fontconfig and update it's cache. fc-list see it, but if I try to use it as my terminal font, terminal, installed with pacman, does not see it. but, if I install terminal with guix it does see it.
<albus>what is the issue? help, please
<civodul>jpoiret: hi! do you mind if i apply the patch at https://issues.guix.gnu.org/64763 ?
<civodul>that'll allow us to update the 'guix' package
<jpoiret>civodul: no, not at all!
<jpoiret>sorry I haven't really had time to commit these patches
<jpoiret>should be back to normal in september
<civodul>jpoiret: np! i'll take care of it then
<efraim>I was going to see about changing the font-build-system to be target? #f but it seems it already is
<efraim>sneek: later ask vagrantc do you have audio from your speakers working on your pinebookpro? I don't have any currently with Guix System
<sneek>Will do.
<efraim>sneek: botsnack
<sneek>:)
<viaken>Awww: A use flag to enable substitutes does sound like a good idea. openssl not building is weird, though. I ran a 3-round check and it came back green. If it's something you want to investigate further, send a pastebin of the error(s)?
<civodul>jpoiret: actually the one i had in mind initially is https://issues.guix.gnu.org/64760
<civodul>i can apply it as well if you wish!
<lnnk>Can anyone suggest which is the best desktop environment according to you people for beginers in guix?
<Rovanion>I think Gnome is the default.
<podiki>there is no default really, you can chose when using the installer or specify your own in your configuration
<podiki>"best" is subjective and depends on what you want, but guix doesn't currently have kde/plasma (though some pending patches seem close!)
<lnnk> I mean from the ones available?
<lnnk>Which is the best like minimal maintainence and out of the box ready to use,Well maintained,well supported (well patched with many developers working on it)
<nckx>Awww: You have to be pretty abusive (re-downloading the entire repo, which you're not; hitting the Web UI, which you're not) before the Savannah admins begin to care. What you're doing sounds fine.
<efraim>I think on the full desktop side gnome is the most popular
<jab>hey friends!
<RavenJoad>When do extensions of activation-service-type run? Obviously they run on boot-up, but what about reconfigures? What about "herd restart"?
<bjc>they happen at boot *and* reconfigure, since that allows changes to take place without needing a full reboot
<bjc>iirc shepherd services are not restarted automatically because that can cause difficult problems
<RavenJoad>Say you manually restart the service using "herd restart", would activation-service-type run then?
<mirai>my 2¢: don't use activation-service-type unless you really really mean to use this
<mirai>put it within the start snippet instead
<RavenJoad>Start snippet?
<mirai>shepherd start slot
<mirai>the constructor
<RavenJoad>This is activation-service-type extension for copying a website out of the store to a readable/writable directory for both Nginx to pick it up and certbot to behave nicely.
<mirai>well, I'd use a custom shepherd service to do it
<mirai>reason being that activation-service does not care about mounts for instance
<mirai>so if whatever paths you're touching aren't already mounted at boot time then your activation-service wont work
<RavenJoad>For the purposes of my blog post, I think defining a whole new custom shepherd service will be too much for the post. But I am thinking about that for my real system now too.
<mirai>it's not that much complicated
<mirai>you can use (simple-service 'some-name-here shepherd-root-service-type (list (shepherd-service …)))
<mirai>this is my snippet to deal with a NFS mount and an unsupported filesystem type: <https://paste.centos.org/view/d49ebd0b>
<mirai>its all within (services …)
<mirai>a shepherd service allows you to put demands like requiring some other service or file-system-/foo mount ready before doing anything
<RavenJoad>That's true. It certainly would increase the readability of the service-type. For the post, something similar to yours should be enough. For real use, I think I will make it a service-type with configuration.
<RavenJoad>mirai: Your example does not seem to want to work. service-type-default-value wrong type argument. https://paste.debian.net/1289400/
<mirai>RavenJoad: you need to provide documentation
<mirai>put something like “lorem ipsum …”
<RavenJoad>I shouldn't. There is a default value for documentation, "[No documentation.]"
<mirai>I think shepherd-service would complain if that field isn't set to something
<RavenJoad>I did set it after you messaged, and nothing changed. The exact same error.
<mirai>at least something would when left out, when I write services
<mirai>hmmmm
<mirai>ah!
<mirai>you're doing (service website-…)
<mirai>try website-… only
<mirai>(service …) is for things that use (service-type …)
<RavenJoad>Yep. That did it. Good old, me not substituting thigns right.
<jab>what guix module has the ,build meta command? such that ,build gexp works?
<jab>apparently its ,use (guix) & ,use (gnu packages base)
<jab>but it cannot currently connect to the daemon...
<jab>I remember that I had this issue before, and I do not recall how I fixed it...
<jpoiret>jab: it should be in (guix monad-repl) more precisely
<jab>jpoiret
<jab>thanks
<diod>I just installed guix. Why is the output of `guix package -I` empty?
<jab>diod you have not installed any packages yet.
<diod>ok
<jab>Try "guix install dino; guix package -I". :)
<mirai>how can I find the cause of “ice-9/eval.scm:293:34: error: libxslt: unbound variable”
<mirai>it doesn't print the file where its supposedly unbound
<mirai>ah, of course it had to be a module cycle
<mirai>is there a way to query which packages simultaneously have X and Y as inputs?
<lispmacs[work]>is there documentation on how to write a system service?
<lispmacs[work]>(ominous silence)
<RavenJoad>lispmacs[work]: In the manual, (guix) Shepherd Services and (shepherd) Services.
<mirai>lispmacs[work]: The manual and looking at what already exists
<lispmacs[work]>is there a way to test the sytem-service object you are writing without having to rebuild the whole operating system? Or is that the only way to test it?
<lispmacs[work]>like, for incremental programming
<lispmacs[work]>shepherd-service, I meant
<mirai>gnu/tests
<RavenJoad>You could also create a minimal VM using the (simple-operating-system ...) macro from (gnu tests).
<mirai>if you write a system test for your service it will make it much easier to iterate it
<RavenJoad>I believe what mirai is suggesting gives you automated testing.
<lispmacs[work]>I was hoping to figure out how to write service before learning how to write unit tests for them
<mirai>well, I started with service only (and before I've found out about guix vm)
<mirai>had nearly 80 system reconfigures just for testing
<mirai>add another 30 guix vms after
<lispmacs[work]>sounds painful
<mirai>gnu/tests was a godsend once I've got that one (easiest since I could copy-paste-tweak an existing one)
<lispmacs[work]>there isn't some way in the Guix repl to say (try-running my-shepherd-service)?
<lispmacs[work]>or is that what gnu/tests gives you?
<mirai>gnu/tests is done with make check-system TESTS=mytest
<RavenJoad>lispmacs[work]: Not in the REPL, no. But you can use guix system vm to interactively test and debug.
<lispmacs[work]>RavenJoad: okay, so I just put together a very simple OS object and run it through guix vm?
<lispmacs[work]>sounds fairly simple
<lispmacs[work]>simple-operating-system macro, you said?
<RavenJoad>Yeah. I use the simple-operating-system macro, which just accepts all the services you want. It is from (gnu tests). (simple-operating-system (service nginx-service-type)), for example.
<GNUtoo>nckx: thanks a lot, no I didn't, I didn't have time to test all of the reverse dependencies so I told about it in the cover messages
<RavenJoad>But once you start making things more concrete and fixed, using a marionette VM for automated testing is the way to go.
<lispmacs[work]>okay
<mirai>this cups package is odd
<mirai>so far its the second time it fails to build when guix offloaded (and to a faster/beefier machine!)
<RavenJoad>Shepherd does not have a way to express reverse-dependencies right now does it? Something like "my-service must run before nginx starts" when defining my-service, without editing nginx's service.
<Guest28>Guix uses Dell PowerEdge servers and an IBM Power server.  Are they old enough to make assumptions on reliability for the hardware?
<mirai>RavenJoad: if my memory doesn't fail me, I recall bjc working on something along those lines
<RavenJoad>It is not important, I just thought of it. In this case, my-service is one to copy a website into a r/w directory so Nginx and certbot play nicely, and it would be nice to be able to express "nginx cannot start without my website having been copied".
<mirai>you could add a requirement on the nginx service
<mirai>there's a field where you can add arbitrary symbols representing shepherd services