<Dynamicmetaflow>Has anyone tried to create a website that acts as an interface for guix commands?
<Dynamicmetaflow>I'm trying to create a form where a user selects different pre-defined packages and at the end would generate a profile-manifest and then guix would spin up a virtual machine with the packages selected
<ison[m]>Dynamicmetaflow: I'm sure there's ways to do that in almost any language, however if you can afford to choose what software you use I'd say the simplest solutions would be to make the website itself in Guile. Because then you have full access to all of Guix's modules inside your server code. Guile ships with some basic web server functionality, but I would also suggest you look at Artanis. It's a complete web framework for
<Dynamicmetaflow>ison[m]: Yes, I have flexibility to choose the software to use. So you recommend to use a combination of it being written in Guile and use Artanis as a web framework to achieve this?
<ison[m]>Dynamicmetaflow: It wouldn't be a combination, it would be entirely Guile since that's what Artanis is written in. So basically your web server and package manager would speak the same language and can both be controlled directly from the same code.
<Dynamicmetaflow>ison[m]: Thank you for the clarification! I will spend some time and see what I can come up with
<quiliro>Dynamicmetaflow: lo que dice ison[m] me parece muy bien...estudia artanis y podrás hacer la aplicación web para crear archivos de configuración del sistema
<Dynamicmetaflow>ison[m]: Thank you very much for the support. I'm going to dedicate some time studying it and report back what I've learned.
<quiliro>tendrás todo el poder de guix porque todo estaría en Guile
<Dynamicmetaflow>Si, seria chevere. Mi meta es para poder configurar computadoras para non-profits
<Dynamicmetaflow>y prover software para ellos de tal manera, y pense que usando guix/guile seria la mejor manera para hacerlo
<quiliro>i would like to install a program that is from source in guix.....is it just easier to make a guix package or to make the executable without the guix package....it is compiled with qmake, but i don't see qmake in guix
<quiliro>i have been communicating with the kurso-de-esperanto developer
<quiliro>he has sent me the source code for testing it with a new version (with qt5)
<ison[m]>quiliro: It's usually easier to get things working in guix by making a package. Especially since store paths can change and your build might eventually link to dead library paths. Building it through guix ensures it always links to the right places.
<Gamayun_>rvgn: Hm... gpa works without issue for me. I did recently start a clean ~/.gnupg to get rid of old config files and cruft from previous versions. On a hunch, you could check if there are any gpa or gpgme config files in .gnupg that might be causing trouble.
<rvgn>Gamayun_ I emptied ".gnupg" folder in home directory. Still same error.
<rvgn>Gamayun_ I emptied ".gnupg" folder in home directory. Still getting same errors. :(
<mattplm>Finally I can connect. ison[m] I saw your message in the logs. I sourced /etc/profile in my .bash_profile and yes there are things related to guix in $XDG_DATA_DIRS
<ison[m]>mattplm: So you're using the full Guix System distro? That's interesting. Do you have any fonts installed in your system declaration? And do you have fontconfig installed (do you see any output when you type fc-match for instance)?
<mattplm>Yep running GuixSD. When I type fc-match I get one font "Nimbus Sans L" "Regular"
<efraim>rekado: ant-bootstrap on core-updates builds fine on i686-linux
<efraim>rvgn: anything relevant in .config or elsewhere that maybe should be cleared?
<efraim>ok, i sent an email with the relevant error messages, i'll explore a bit more
<mattplm>ison[m] Ok so I installed font-dejavu and now everything works. Isn't that supposed to be installed with icecat? I'm more familiar with debian and apt which installs all the dependencies when you pull a package so maybe I missunderstood how guix works.
<quiliro>Is it needed to run 'sudo -E guix system reconfigure config.scm' or 'sudo guix system reconfigure config.scm' only?
<grumbel>Trying to download a https:// url with youtube-dl gives me a "urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed" error, am I missing some package/env-var or is this a bug?
<quiliro>grumbel: if you send me an url, i can test too
<quiliro>tell me what version of youtube-dl you have
<ArneBab>In emacs gnutls-trustfiles, the entry is /gnu/store/qn1ax1fkj16x280m1rv7mcimfmn9l2pf-bash-4.4.23/bin/bash: python: Kommando nicht gefunden. (= command not found). Is a dependency missing here?
<efraim>/var/log/guix/drvs/p7/hcbp75dq79rmb863mq6yv75s4v01y1-classpath-0.99-1.e7c13ee0c.drv.gz for classpath-devel
<ison[m]>mattplm: The only other ideas I can think of are to check your icecat font settings for Latin (under language & appearance click Advanced), and also to possibly try installing some new fonts. There's been several people reporting similar font issues in icecat so you're not the only one.
<samplet>On core-updates, I’m getting an error about re-exporting “AT_SYMLINK_NOFOLLOW” when building a “module-import-compiled” derivation (for a Shepherd configuration). Has anyone else seen the same problem?
<jonsger>btw nice achievement with guix.gnu.org roptat rekado civodul et. al :)
<rekado>replace rekado with bandali and it’s correct :)
<jlicht>rekado: I build ungoogled-chromium on a machine with 32GB RAM and a NVMe SSD, and it still takes forever
<rekado>jlicht: took me 28 mins on a server with a 4GHz CPU.
<davidl>Im trying to fetch a git submodule in a package Im defining but it fails with "fatal: not a git repository (or any of the parent directories): .git"
<rekado>looks like chromium is just a bad outlier because we had to disable parallel builds. Other builds seem to benefit a lot from having a virtually unlimited number of cores, more so than increasing single core performance.
<rekado>the new build farm nodes won’t have 192 cores; we’re looking at 2x24 cores per node. We probably won’t reach 6mins for libreoffice with them, but I bet we can do better than 25mins.
<vagrantc>no promises, but i might get my hands on a couple apm mustang boards with 16GB of ram that could be used for guix ... although i probably don't have the bandwidth to host them
<Dynamicmetaflow>Are the 2x24 cores per node less expensive? Also what hardware are they running, curious for the future
<vagrantc>i wonder if the synquacer boards are available yet ... 24 cores, up to 64GB of ram
<rekado>Dynamicmetaflow: they are much less expensive, but much of the difference is from using less RAM (128GB instead of 3T). The official price from Dell is 15kEUR per server. If you go single CPU, 32 cores, 64GB RAM it’s below 8kEUR.
<civodul>to me, you'd configure the build machine with the right --cores and --max-jobs
<civodul>so the head node can be oblivious to these details
<civodul>then again, the limitation is that max-jobs is per-session, it's not global
<mbakke>I limit --cores on all my build machines, and then tune --max-jobs and the offload configuration so that load never exceeds $amount_of_cores.
<civodul>'guix offload' also checks the load before sending a build over
<mbakke>I've tuned it to not send new jobs when the load is >75% :)
<mbakke>civodul: The problem on berlin is that a node can get multiple jobs before it starts getting any load, and then you'll suddenly have ungoogled-chromium and libreoffice both trying to use all cores.
<mbakke>rekado: I think limiting --cores on the Berlin builders to roughly $physical_cores / 2, and set max-jobs to 2 or 3, will greatly improve the scheduling efficiency.
<mbakke>That's what I do anyway, and never had a problem with chromium or mariadb, apart from those I cause myself :P
<rekado>mbakke: I have no preference here. It’s fine by me if you go ahead and change that in machines.scm.
<civodul>mbakke: that can happen, but how likely is that?
<civodul>i think at some point we switch from looking at the load over the last 15mn to looking at the load over the last 5mn or something
<civodul>because you could have the opposite problem: resources that'd be underused
<mbakke>civodul: max-jobs 3 solves under-utilization in the scenario described above... then you'll have two jobs each using $half cores each, and the Guix scheduler will wait until the load drops below a configurable threshold before sending the third.
<mbakke>Occasionally, you'll get three jobs each using $half cores, but that's certainly better than two using $all.
<mbakke>rekado: What are the hardware specs of the current builder? In order to implement this scheme, the configuration will need to know the amount of cores on each builder.
<civodul>note that <build-machine> also has its own notion of 'parallel-builds', which is strictly enforced
<civodul>there's no shortage of parameters to tweak ;-)
<rekado>mbakke: different nodes have different CPUs and RAM here.
<rekado>22.214.171.124 has 8 cores at 2.3GHz max, 64GB RAM.
<rekado>others like .141 have the same CPU but only 16GB RAM.
<rekado>what I really need is a way to configure bonding declaratively.
<rekado>even if it’s just a bit of Scheme over some NetworkManager invocation.
<rekado>for the build nodes that would also be really handy as we don’t have enough money for 10G switches, so we want to bond all their 4(?) network interfaces and connect them to separate 1G switches with dual 10G uplink.
<rekado>if someone is looking for a little useful project I can recommend improving the networking system services.
<mbakke>It would be good to have "clustered" system tests... multiple VMs connected to the same network(s).
<mbakke>But I think it's possible to do a virtual bonded interface on a single machine, at least with OpenvSwitch... Will try it out.
<mbakke>Fun fact: Open vSwitch does an awesome job at LACP (bonding), but there is nearly no documentation for it.
<jlicht>welp, I'm a bit out of my depth at https://mail.gnome.org/archives/networkmanager-list/2019-July/msg00014.html regarding us being able to use an unpatched network manager with support for vpn plugins in Guix system. Could someone perhaps help out by clarifying the exact issue I am trying to present? Either my capability of explaining how guix works or my expressiveness in English seem to be lacking a bit :/
<samplet>jlicht: IIUC, you might need to reiterate that the plugin directory will change depending on which plugins are included, so in order to avoid recompiling NM every time you change the set of plugins, you need to be able to pass the plugin directory to the daemon at runtime.
<dwagenk_com[m]>I reread https://ambrevar.xyz/guix-advance/ today and it's mentioning (in section The self-reproducing live USB) using guix system disk-image to create a copy of the whole OS incl. e.g. PGP keys and email, so some stuff from the users $HOME dir
<dwagenk_com[m]>Will each user profile be included in a disk-image (or v, or whatever is used to play around with guix system)?
<dwagenk_com[m]>I mean the functional package management in itself is a great step forward from what I'm used to with my Systems cluttering up over time with traditional package management approaches.
<dwagenk_com[m]>I've worked with embedded linux (yocto/openembedded) in the past and it's possible (and common) there to also configure the users (which in an embedded device are a little different from general purpose computer users, more like software roles, comparable to the guixbuild users).
<roptat>I don't think config.scm is meant to modify /home or /root directly, but you can probably use a special-files-service-type
<dwagenk_com[m]>and combining that (configuring users $HOME) and the guix way of package management would be really great!
<rekado>so, with the “fixed” classpath-bootstrap I can get right up to the build of the first icedtea, but it fails during the configure stage while “checking if the VM and compiler work together”. Aborts with Illegal instruction :-/