<jackhill>Why are things like "serialize-comma-separated-integer-list/unset" only defined in gnu/services/kerberos.scm ? It seems like they'd be generally useful for other services as well. <nckx>No Big Reason, just that they currently are. And, I suspect, because writing an ad hoc helper for your pet service is a lot less intimidating than a big scary generic library procedure for the ages. <jackhill>nckx: hehe, or course on the other side, using a generic library would be less itimidating than writing an ad-hoc helper :) *nckx with cleaner teeth: well, Scheme also has less of an aggressive factorisation culture (fetish?) than most other languanges. Often, just doing the thing is fine, you don't have to (use-module the-thing) (do the-thing). And this is purely subjective opinion, but serialize-comma-separated-integer-list/unset falls squarely into that category for me. But ¯\_(ツ)_/¯ I'm a sleepy boy who's going to sleep. <jackhill>nckx: thanks. I'm just trying to feel my way around. Dream sweet! *vagrantc enjoyed the kernel, pit & stone discussion <apteryx>hello! I'm trying to get a bit cozy with nix in order to be able to easily inspect their packages output and compare with their recipe, to aid with packaging in Guix; is anyone else using nix on top of Guix System? I reconfigured with the nix-service-type, and got it working, but searching for packages returns nothing <ison1>apteryx: have you tried doing whatever the nix equivalent is of "guix pull"? <apteryx>it seems I missed the last two commands suggested under the 'Nix service' doc in our manual <apteryx>ison1: I don't know how to do that :-D <apteryx>OK, I found how to fix it. I had to run 'source /run/current-system/profile/etc/profile.d/nix.sh' as explained in our manual, then after that 'nix search -u go' updated the package cache. <apteryx>I think the culprit was NIX_PATH not being set <lfam>Hey apteryx. No rush, but I'm going to mail a revised QEMU 5.2.0 patch to the patch tracker <lfam>I'm testing the build now <mixfix41>lrzip and loudmouth and lrkat on guix.gnu.org from googlesearch are not found <mixfix41>the website when you search google or the package throws a 404 error maybe those top searches are not working i havnt tried search the site itself <lfam>I'm curious, what did you search for? <mixfix41>im only searching the package name no versions really and sometimes with gnu or linux documentation so i can learn my system packages <lfam>When googling "guix lrzip", it gives a result for lrzip 0.631, but we currently offer lrzip 0.640 <lfam>The problem is that the version number is part of the URL <lfam>So, when we update, the google results go stale <mixfix41>oh ok yea i have a lot of guix bookmarks i wasnt sure <lfam>It's tricky because sometimes we offer multiple versions of a package, so it's not as simple as "take the version number out of the URL" <lfam>It would be nice to make things work, thouh <mixfix41>maybe if i come across them ill just bookmark em anyways and know to change them <lfam>It's kind of a shame because the web-based list of packages exists — at least partially — for people coming from search engines <mixfix41>no its no inconvienience i just thought if bringing awareness could only help no demands :) <lfam>I think I can recall discussions on this topic, or something related, from the people that design the web site. I think they are working on it, as time allows <apteryx>lfam: I've started looking at go; should have a first series of patch to look at soon <lfam>That's so great apteryx! <apteryx>got 1.16 passing its test suite just now <awb99>I am using https://mailinabox.email/ which configures a personal Mailserver with smtp imap SpamAssassin, a web based admin ui to setup domains and users and a webmail interface. <awb99>I am thinking to replace this setup with a guix based system. <awb99>I did see that many if this services are already configured as packages on guix, and I wonder if there is something available. <awb99>Sounds like a cool thing to do: have a GitHub repo with the channel and package definition. Add a few config files and write a backup/restore script for the mailbox email storage. <lasnesne>Dovecot and postfix, duplicity are already on guix. Especially dovecot works out of box and i'm using it on my mail server without problem. Other softwares such as spamassassin and roundcube aren't on the list. But it won't be that hard to pack. <BitPuffin><leoprikler "Yeah, there might be some work t"> A potential pointer on the freedom stuff is that fdroid mozc says it has nonfree assets <awb99>@lasnesne: do you have a config that you could share? <lasnesne>I rarely use mail. So i didn't even set dkim proxy and spam filter. Sad but it won't be helpful. <thorwil>hi! it happened the 2nd time in 2 months that i was forced to do an fsck on the root file system on a ssd. both time all damaged files have been in /gnu/store <thorwil>;;; WARNING: loading compiled file /gnu/store/78mf5j10wy9pf1gfr5sp54p076rmqfvk-guix-module-union/lib/guile/3.0/site-ccache/guix/build-system/gnu.go failed: <thorwil>;;; In procedure load-thunk-from-memory: not an ELF file <thorwil>what do i have to do to replace /gnu/store/fysbb4vg87m0n192l62461cr8rq4k68h-guix-module-union/lib/guile/3.0/site-ccache/guix/build-system/gnu.go ? <thorwil>thanks! well, `guix gc --verify` is done very fast and has no complains <thorwil>`guix build --repair /gnu/store/fysbb4vg87m0n192l62461cr8rq4k68h-guix-module-union/lib/guile/3.0/site-ccache/guix/build-system/gnu.go` tells me that that path is not in the store <cbaines_>note that by default, the --verify option just checks that the items in the database actually exist <cbaines_>thorwil, it's right, the store is just the items in the /gnu/store directory <cbaines_>Try with just /gnu/store/fysbb4vg87m0n192l62461cr8rq4k68h-guix-module-union <thorwil>`sudo guix build --repair /gnu/store/fysbb4vg87m0n192l62461cr8rq4k68h-guix-module-union` appears to have worked <thorwil>but hasn’t actually, i still get the same warning <cage_>Hi! I am trying to recompile guix from the git version (i would like to submit a few packages) but i am puzzled by the use of guix authenticate <cage_>what supposed to be the arguments, espacially the second (a gnups key?) <_mdevos>cage_: I usually search the guix manual for "guix git authenticate", and end up in "16.1 Building from Git" <cage_>_mdevos, thanks! I already checked the manual but fail to understand where to get the value of the second argument of guix authenticate <_mdevos>(16.1 Building from Git has the commit & fingerprint needed) <cage_>i ca see a lot of keys in the keyring branch of the repossitory, should i import these? <_mdevos>no, "guix git authenticate" automatically uses the keys from the "keyring" branch <cage_>i see, thank you, this is the missing bit from my part <PurpleSym>The certificate for ci.guix.gnu.org expired yesterday. <flomaysta[m]>I have a question on Channels and package Versions: essentially by running guix update it will get the latest version of all packages. So I will get Bugfixes / Security fixes that way. It seems to imply that a package really should always be backward compatible. So if say a new verision of a package would have non backward compatible code .. then it would need to have a different package name - example python2 and <flomaysta[m]>My question now is if one package that I use is for whatever reason broken on a new version in the channel. What would I do to use a prior version of that package, but use the current version of all other packages? <flomaysta[m]>If I understand it correctly then security updates / regular patches are being used by fuix update && guix pull. It guess if there is one bad package .. then all the channel could no longer be used... Until the bad package is fixed. <Ikosit>flomaysta: you can use --do-not-upgrade with guix upgrade to exclude a package from being updated <flomaysta[m]>So then the package that would not be updated will be old .. but it would be used with new dependencies for other packages. <jeko>Hey guixters ! Do you know the command to clear a terminal screen ? I use Ctrl+L but what is the command invoked? <jeko>calling `clear` or `reset` on the command line returns command not found message <cbaines_>jeko, they're programs in the ncurses package <jeko>alright so to use them from the command line I have to add ncurses to my profile, right? <jeko>cbaines_: cool! I still have to wrap my head around this behaviour which is not what i was used to haha + i need to know from where things come from 😅️ <pkill9>jeko: which shell ar eyou using? <pkill9>jeko: it seems that printf '\033c' works <pkill9>so you can put `alias cls="printf '\033c'"` in .bashrc if you're using bash <jeko>pkill9: the one from Gnome and the one invoked by Emacs when I ran M-x term (bash) <jeko>pkill9: I will try it ! thank you for the tip! <pkill9>it works in both bash and fish for me <cage_>i am trying to compile guix but i get an error: configure.ac:92: error: possibly undefined macro: GUILE_MODULE_AVAILABLE <cage_>ook seems i need guile-3.0-dev package from ubuntu repository <snybajl[m]>I'm working on a guix vm image, and although it's working really well so far I'm having a disk-space problem. I would just run `guix gc`, but then guix would have to re-download (and sometimes build) all the packages that my vm requires. I'm looking for a way to either A: Remove a specific /gnu/store/* build, or B: Set my system.scm definition as a gc root, or C: Make `guix system` and `guix vm` output to somewhere other <snybajl[m]>than `/gnu/store`. Another solution is to just `guix install *` every package that the `system.scm` definition needs but I was hoping there was a better way to do this. <g_bor[m]>cbaines_: I have seen an idea on the outreachy ideas page. <g_bor[m]>Do you need any help in filling out the proposal on the outreachy site? <PotentialUser-22>I need to make the latest gnupg the default gnupg on my non-guix host. This would mean hiding the one that is already installed there by ubuntu, and which I cannot uninstall because a few other packages depend on it. Can anyone recommend the best way to go about doing this? It's an ubuntu based system. The steps I have so far are: 1. sudo su; 2. <PotentialUser-22>guix install gnupg@2; 3. ?? (a. do some magic with update-alternatives? b.override /user/bin/gpg? with what (the path of the guix gnupg changes all the time)? <jeko>snybajl[m]: yep the vm seems to have just enough free space to boot haha. i was wondering if adding a big union-file in the configuration file could solve the issue (deleting the file when logged into the vm) ? <snybajl[m]>@jeka Oh, yeah, that too. But I was referring to the disk-space on the host that builds the image. <snybajl[m]>It doesn't take that many edit-build cycles on the `system.scm` file before I need to do `guix gc`, and then the next build is going to go much slower because it has to download/build dependencies that were removed by `guix gc`. <GNUtoo>hi, is there a way to skip generating the hash or generate a hash automatically for a given package? <leoprikler>alternatively just let guix build tell you the correct hash ;) <GNUtoo>leoprikler: The issue is that I'm writing a guix.scm for a library (libsamsung-ril), which in turn has another library as dependency (libsamsung-ipc), both are deeply related, <GNUtoo>so I'm not 100% sure but I think I found a way to make it fetch libsamsung-ril from git <GNUtoo>(I still need to verify that it takes the right revision) <GNUtoo>s/libsamsung-ril from git/libsamsung-ipc from git/ <GNUtoo>The issue is then that I probably need to generate the hash somehow <GNUtoo>leoprikler: does 'guix download' works with git repositories? <leoprikler>nope, but you can git shallow-clone it and then do guix hash -rx <cbaines_>g_bor[m], regarding the Outreachy proposal, assuming it's similar to last time, I should be fine <GNUtoo>leoprikler: the issue is how to do guix hash -rx? <GNUtoo>leoprikler: I'm in a guix.scm file <GNUtoo>leoprikler: it's exactly what I'm trying to avoid, if I need to update the hash each time it'd polute my git history <leoprikler>or is the issue that you don't want to hardcode hashes? <GNUtoo>like I'd have 1 commit each commits just for updating the hash each time <GNUtoo>I really can't hardcode the hash <GNUtoo>Both libraries have frequent commits, so at each patch sets merged in libsamsung-ipc I'd need to update the hash in libsamsung-ril <GNUtoo>+ I'd have to force that on everyone which isn't going to happen <leoprikler>Okay, so for Guix proper we usually package releases only or some "known good" commits. <GNUtoo>indeed, that's why I'm asking here, since there is no example in the guix source code <leoprikler>If the latest commits to both always happen to play with each other, you can also use some guix transformation for that. <GNUtoo>And the presentation about the guix.scm only deals with the current source in the current directory <GNUtoo>That's how the source is defined in it: (define %local-source (local-file (dirname (dirname (current-filename))) #:recursive? #t)) <GNUtoo>(or something very similar at least) <GNUtoo>Since it's not meant for guix (it's a guix.scm which is meant to build-test software) I don't think that the transformation will work <GNUtoo>Basically in several software source code (like guile for instance if I recall well) you have a guix.scm <leoprikler>I think you should write your guix.scm in the way that some of us write descriptions for packages with "known-good" commits. <leoprikler>i.e. (let ((commit "blablabla") (revision "something")) ...) <GNUtoo>That won't work as I'd have to update it <GNUtoo>Here my goal is to specifically test both master <leoprikler>You can even check in that shell script to your git repo and have CI apply it first. <GNUtoo>If I can write a shell script, I can add it in the guix.scm with popen <GNUtoo>The issue is to get that hash somehow <GNUtoo>in a way that is completely automatic <GNUtoo>and mostly standalone if it's a shell script <leoprikler>git clone some-repo output-path; HASH=`git hash -rx output-path` <GNUtoo>That's complicated as I don't know where to clone it <leoprikler>well, there's no tempdir in Guile yet, but I already told you about transformations, did I not? <GNUtoo>I mean Guix has to download the source code before computing the hash <GNUtoo>and I could guix hash that somehow if I can find it <leoprikler>(@ (guix transformations) transform-package-latest) <GNUtoo>So I'll define a package in the guix.scm <GNUtoo>and transform it too in that same file <GNUtoo>That could work and it would be compatible with clean code and would not force anyone to update the hash <GNUtoo>That'd also be more robust than my hacks with popen to compute the last revision <GNUtoo>I'll try to see if there are examples for that (have it in an scm instead of the command line) in the manual <GNUtoo>Thanks a lot, I managed to do it with (list (transformation libsamsung-ril)) <GNUtoo>Sadly I didn't think of that at first sight and didn't remember that it worked in code too <roptat>it's not very nice to read, because I wanted to remove pregenerated .depend (they're part of the Makefile, generated by ocamldep or gcc) ; the recipes would be a lot nicer if we kept them, what do you think? <cbaines_>g_bor[m], I think I've managed to create an initial proposal in the Outreachy system now <kamen`>lfam: Do you need this also translated to Spanish? <elais[m]>Do any of the bootloaders work on pine h64? I ordered the wrong sbc 😭 <Dsn>When I run "sudo guix system reconfigure config.scm", I get the error "Git error: the SSL certificate is invalid". How can I resolve this SSL certificate error? <cbaines_>I think the issue could be with ci.guix.gnu.org... <Dsn>Apparently Guix will search on git.savannah.gnu.org <Dsn>How can I add the SSL certificate ? <cbaines_>are you sure you're having a local issue? <cbaines_>because the certificate for ci.guix.gnu.org has expired <roptat>mh... The certificate for ci.guix.gnu.org expired on 2/27/2021. <Dsn>I don't know if it's local. <nckx>So the cert for ci.guix.gnu.org has ‘expired’, but not really. Sigh. <nckx>‘Fixed’ for now. Apologies for this unscheduled interruption. Enjoy your evening. o/ <Dsn>I don't understand why when I do "guix pull" I don't have the ssl certificate problem on the other hand with "sudo guix system reconfigure config.scm" I have the problem. <Dsn>chaines_ Thanks it works <Dsn>cbaines_ Thanks it works ***cbaines_ is now known as cbaines
<joshuaBPMan>Hey guix! I am working on an endlessh service. It works! It's containerized. the only problem is it currently runs as the root user. This is probably NOT a huge issue, but I'd rather it run as the "endlessh" user. How do I give the endlessh user permission to open port ssh? <joshuaBPMan>I'm guessing nginx has to do this somehow too...because it runs as the user nginx. <andreas-e>I am trying a "guix pull" on a machine not updated since last september, and I do get a certificate error for savannah: <andreas-e>guix pull: error: Git error: the SSL certificate is invalid <joshuaBPMan>andreas-e: Take a look at your system time? Is your computer telling you that you are 2 hours fast or slow? <joshuaBPMan>You can always build guix from git. The guix manual shows you how to do that. <joshuaBPMan>andreas-e: I would recommend compiling from git then. :) <andreas-e>So I may be on a ride for building things from source. And maybe then do a "./pre-inst-env guix pull". ***sneek_ is now known as sneek
<thorwil>hi lfam! remember my case of corrupted store items? i was thrown into an initramfs shell and had to use fsck again today. just like last time, all corrupted files have been store items. different was that fsck offered repairing, not moving to lost+found. <mdevos>thorwil: what are you doing leading to so many fsck? The only times that happens to me is if I force-shutdown the system (press power button N seconds, remove power cable, ...) <mdevos>I'm not condencensing, just befuzzled <thorwil>mdevos: i think being confronted with read-only system partition and initramfs shell appened twice, *maybe* thrice in my whole live. 2 times within the not quite 2 months this computer is old! <thorwil>I think both cases happened after normal poweroff, though I found the system unresponsive a few times after a break, where I ad to use hold-power-button to shutdown (reset button doesn’t work) *thorwil looks suspiciously at his H key <thorwil>now i would asume that fs-level corruption is too low-level for guix to have to do with it, but 2 times only store items affected doesn’t look like random chance, does it? <mdevos>thorwil: if the system is unresponsive after a break, try jiggling the mouse around, selecting random windows etc.. At least on my system (hard drive & not the newest), Guix System is occassionally I/O bound, so it can take sometimes to swap memory back from disk <mdevos>(I don't have a swap device, but the kernel can swap read-only mmapped files) <thorwil>mdevos: heh, i always jiggle the mouse and then check if the Num LED still toggles ... <mdevos>thorwil: perhaps guix-daemon doesn't perform fsync or syncfs in the right places? <mdevos>maybe manually run "sync" after upgrades and see if this happens again? <mdevos>this is untested terrain in Guix I think ... This isn't really helped with the absence of primitives to flush whole directory trees (correct me if I'm wrong) <thorwil>makes sense. though it’s a nasty kind of test, as how long until one would consider that manual sync fixes it ... all the while having a high risk of forgetting it now and then <mdevos>thorwil: guix has some tests (in gnu/tests/*.scm) that start a VM and test stuff in there, <mdevos>maybe someone will write some tests in there. There's a CI somewhere that automatically performs these tests <thorwil>meanwhile, i’m still trying to get rid of: WARNING: loading compiled file /gnu/store/8bsnz1fk330qbn1p8k18i0j11vld4jxd-guix-module-union/lib/guile/3.0/site-ccache/guix/build-system/gnu.go failed: In procedure load-thunk-from-memory: not an ELF file <thorwil>`sudo guix build --repair /gnu/store/6l0h46s6b3948k6h3v532vzpccbx9vhc-guix-module-union` did not do the trick <thorwil>search on the web just showed me that this kind of error message cam up with an earlier guile version transition <mdevos>joshuaBPMan: this is ordinarily not possible. But perhaps you can figure something out with port forwarding? <mdevos>Supporting this properly would require binding the socket in shepherd and passing it to the service I think, which is currently unsupported ... <mdevos>Alternatively, patch the kernel to allow the "endlessh" user to open a socket for port 22. <mdevos>Or, when on the Hurd, write a translator (with root persona) in between the ‘real’ IPv4/IPv6 translator and the endlessh server, that allows the "endlessh" user to bind to port 22. <mdevos>(Implementing such a translator is something on my TODO list actually, if it hasn't been implemented already.) <dongcarl>sneek: later tell zimoun Thanks for following up in the "Extending package transformation options" thread, I'm not familiar enough with Guix internals to comment but I'm reading every email and learning a lot! :-) <cage_>another issue compiling guix: guix/scripts/environment.scm:752:12: error:efinition in expression context, where definitions are not allowed, ***sneek_ is now known as sneek
<dftxbs3e>if I were to upgrade php to 8.0.2, do we create a separate package or..? <mdevos>cage_: I'm looking at that line, and it is indeed suspicous (or maybe I need to git pull). I'll try to compile & investigate ... <cage_>mdevos, thank you very much! I really appreciate your help! <mdevos>cage_: could you run "guile --version" in the environment where you are trying to build "guix"? <mdevos>Also, what's the commit of the guix you're trying to build? <roptat>dftxbs3e, is php 8 incompatible with php 7? <roptat>we have a few dependents, so we should make sure not to break them <cage_>mdevos`, sorry for the late answer! <cage_>guile --version => guile (GNU Guile) 2.2.7 <cage_>guix commit 8ef1f24f16354e08f23dfabf11396527b0417638 <dftxbs3e>roptat, I think it has some backwards incompatible changes <mdevos`>cage_: guile is version 3.0.5 for me <mdevos`>is this a foreign distro, or Guix System? <mdevos`>I think you need at least version 3.0 or later <mdevos`>(I usually use "guix environment guix" to enter an environment with the right dependencies) <roptat>you might need "guix environment guix --pure" on some foreign distros, like fedora <cage_>mdevos, i am using debian testing <cage_>because guix can be installed with apt, i believed i could compile guix on that system <mdevos>cage_: should be possible, just make sure you have installed the right version of guile. I believe Debian has a tool for installing the build dependency of a package, but I do not recall the details. <cage_>dftxbs3e, thanks but i am just running 'guix environment guix --pure' let'see what happens :) <cage_>dftxbs3e, is this the source for the debian pakage, right? <mzcore_>Is zfs+guix on single ssd fresh install a good idea? <dftxbs3e>mzcore_, AIUI good ZFS support isnt merged yet but pending <dftxbs3e>cage_, guile-2.2 should be supported still by GNU Guix so it's weird you're getting issues <cage_>i guess this is the guile version debain people are using so, yes i agree it is weird <cage_>but i am trying to build from git so the scenario is a bit different <cage_>i need to build from git because i would like to submit a few packages and i need to test them, of course ;-) <mdevos>dftxbs3e: could you edit guix/scripts/enviironment.scm, adding '#;' right before '(when (and profile ...'? Line 748 in my checkout <mdevos>that is ‘an expression in definition context’, I think. <mdevos>dftxbs3e: yes, I intended to mention cage_. <cage_>just a bit of patience, my system is not exactly fast :) <mdevos>cage_: normally builds are incremental ... but the initial build isn't. It's somewhat suboptimal, but there doesn't seem to be an optimal solution ... <cage_>no problem i can see the point :) <cage_>so "#;" comment a single form, nice! :) <cage_>loading guix/scripts/pack.scm, so far so good <cage_>[ 52%] GUILEC guix/grafts.go <smartineng>Hello what is the best way to sandbox icecat/chromium in guix? Is it possible to run it in environment --pure ? <dftxbs3e>smartineng, you can try something like: guix environment --no-cwd --container --network -E DISPLAY --pure --ad-hoc icecat font-gnu-freefot -- icecat <dftxbs3e>it wont work because it can't connect to X but I'll let you figure the rest out\ <smartineng>@dftxbs3e guix environment: error: mount: mount "/gnu/store/mmhimfwmmidf09jw1plw3aw1g1zn2nkh-bash-static-5.0.16" on "/tmp/guix-directory.SieDz6//gnu/store/mmhimfwmmidf09jw1plw3aw1g1zn2nkh-bash-static-5.0.16": Operation not permitted <dftxbs3e>smartineng, I don't get that on GNU Guix System but I can't help more, never done it before, so figure it out and share your findings, it's interesting, also you could try bwrap <mdevos>cage_: it seems we have found the problem! Could you write a bug report? <cage_>mdevos, just it is bedtime for me, i will be able to send the report tomorrow, ok? <cage_>ok! I am waiting if the compilation complete with success, just to be sure