IRC channel logs

2023-03-15.log

back to list of logs

<podiki[m]>NewUser-Basic-Qu: there's a pam mount service too, but that's all I know on that front sorry
<NewUser-Basic-Qu>@podik
<NewUser-Basic-Qu>podiki[m] No prob. I'm new to guix. wondering how the (faulty???) greetd-pam-mount-2.18 Version was pulled in.
<Guest99>I don't know why but my grub has been reset to the config of my previously used Linux.  How can I reinstall grub on SDA 1 without harming my data on sda2?
<NewUser-Basic-Qu>Guest99 Can you still boot into Guix?
<Guest99>No since grub is loading an old configuration with a partition I'd that does not exist anymore
<NewUser-Basic-Qu>i had boot problems recently. Did chroot into guix and took it from there: https://guix.gnu.org/manual/devel/en/html_node/Chrooting-into-an-existing-system.html
<NewUser-Basic-Qu>you can of course also use the chroot to save your data in case youre afraid of losing something
<Guest99>Ah, exactly what I need.  Looking Ingo it thanks
<thanos_apollon>hello, pam_limits module link at manual latest returns 404 https://guix.gnu.org/en/manual/devel/en/guix.html (not really sure what pam_limits is I'm reading through the manual and noticed it)
<tasankovasara>Sorry for newbie question, but: 1) I try to 'guix build' a package -> 2) I get error code 127 on autoreconf (=file not found) -> 3) I say 'guix install autoconf' -> 4) guix zooms through its output, no errors -> 5) try the build again with same 127 result -> 6) I do 'guix pull' and try yet again -> 7) still no autoconf.
<tasankovasara>glibc locales is the only package I've installed previously and it installed fine. What might be the error of my ways?
<tasankovasara>the build I'm trying is 'guix build php --with-git-url=php=https://github.com/php/php-src --with-branch=php=PHP-7.2.24', not very orthodox but that's what I need.
<tasankovasara>what's more: I see autoconf and locales installed, I have guix referenced in my path and have GUIX_LOCPATH set. But there are no autoconf binaries in my path and on every command I get the 'set GUIX_LOCPATH' nag. Is my installation borked? Installed with the Ubuntu guix package and then guix pull'd to update. guix-daemon is running, but guix-publish.service fails. I need to know if I should try
<tasankovasara>reinstalling with the official script instead.
<tasankovasara>This is not for fun btw, I'm on company time and would really like to show some Guix magic. Input would be appreciated.
<tasankovasara>... ok, now I fixed guix-publish not starting and a relogin made /root/.guix-profile/bin/autoreconf show up on path. Still the same build error, but now I'm confident that Guix is working.
<evilsetg[m]>If autoconf is not there at build time using 'guix install autoconf' does not fix that because builds are done in isolated environments.
<evilsetg[m]>It seems autoconf is not in the inputs or build-system that the php package uses, otherwise it would be there. I have not checked though. If you want to make sure autoconf is there for the build you need to add it to the 'native-inputs' of the package.
<evilsetg[m]>But I would also think autoconf would be there when building the php package without having looked at it.
<tasankovasara>evilsetg[m]: thanks for the input. I'd imagine the error is because I'm referencing the php package but asking for the impossible by specifying git source and a really old branch too.
<tasankovasara>So I'm super new to Guix (started yesterday), but should this work in principle:
<tasankovasara>guix build php --with-git-url=php=https://github.com/php/php-src --with-branch=php=PHP-7.2.24
<tissevert>hello guix
<evilsetg[m]>Hello :)
<tissevert>is there a way to synchronize channels (tell which commit from one is required on the other) ?
<tissevert>conversely, is there a way to tell guix pull to update only one channel ?
<tasankovasara>I now recreated php.scm for version 7.2.12 from the Guix git, found out how to use that, fixed two lines that referenced libjpeg ('use libjpeg-turbo instead') and now get a super helpful 'guix build: error: #<unspecified>: not something we can build'. This is not very handy nor easy. A bit of a disappointment.
<tasankovasara>sorry, it does return a hint. still marching.
<tissevert>great ! I suppose something you have used as a package wasn't a proper package value ?
<tasankovasara>tissevert: it should be php.scm as it appeared when the Guix PHP package was updated to 7.2.12. The file looks OK
<tasankovasara>guix build suggests adding a bit of Scheme in the end of the file; (define-public my-package (package )) my-package
<tasankovasara>... and having that in the end (replacing my-package with php) is a glaring syntax error as expected.
<tasankovasara>damn this is hard
<tissevert>yeah, that looks like .scm file isn't returning a package
<jpoiret>tasankovasara: so Guix had the package you wanted at a previous commit?
<jpoiret>if so, if you have that commit you can try `gux time-machine --commit=<SHA> -- build php`
<tissevert>but if you haven't touched php.scm in a significant way, it could be some dependency I guess
<jpoiret>if that commit is not too old
<tasankovasara>jpoiret: yes! thank you
<jpoiret>how old is the commit?
<tasankovasara>in fact just doing build php@7.2.12 might work
<tasankovasara>jpoiret: it's 11/2018
<jpoiret>ah, if we still have it in our repos yes it should
<jpoiret>ah, that might be too old to time-travel to, zimoun tested this recently
<jpoiret>still doesn't hurt to try
<tissevert>this sounds pretty old, yeah
<tasankovasara>well build php@7.2.12 didn't rock :(
<tasankovasara>let's see about time machine
<tissevert>yeah it couldn't have worked, there's no 7.2.12 version of php returned from guix search
<tissevert>or perhaps it was removed recently from guix packages and you are on a version that still use that ?
<tasankovasara>I didn't really expect that to work either :)
<tasankovasara>just hadn't tried with that particular version number yet
<tissevert>but it could've worked, on a system where there was a definition for this particular version of php
<tissevert>and I thought that was what you were trying at first
<tasankovasara>guix build php -f ./php.scm --with-git-url=php=https://github.com/php/php-src --with-branch=php=PHP-7.2.12
<tasankovasara>this is what I'm trying, with php.scm being the 7.2.12 version from Git.
<rebar>hi can i ask if guix supports zfs on root? i wanna try guix but only if i can run zfs
<tissevert>tasankovasara: so why would you need a php.scm if you pass all the reference to the command line ?
<tasankovasara>well, a guy's got to try :D I have tried just passing the -f as well, not lucky there either
<tissevert>but anyway, I don't want to question what you're trying to achieve, here, it's just I don't see how that could yield the kind of error your facing, which looked like you were trying to define your own php package for the version you're interested in
<tissevert>and I'm afraid I'm not qualified to help with advanced package replacement in command lines and such (I've never needed that so far and don't know it)
<tasankovasara>yeah, I'm surprised the .scm isn't kosher since I didn't touch it at all. But I guess this is not a use case for Guix after all, so I'm going to go manually next.
<tissevert>au contraire, I think it could be
<tissevert>defining another version and reusing the code to build that sounds legit
<tasankovasara>I thought so too :(
<tissevert>don't give up ! : )
<tissevert>I just can't match the error you had with what you're trying
<tissevert>wait
<tasankovasara>I'm getting paid doing this, so I guess I need to move on
<tasankovasara>...?
<tissevert>when you say you "haven't touched" php.scm ?
<tissevert>you cannot possibly mean… you're trying to use gnu/packages/php.scm as if it was a package definition ?
<tasankovasara>yes, I sourced it from https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/php.scm?id=0dd60c1c9bb07bb3488761c95b5f4aab16061602
<tissevert>ok so take a look at it
<tissevert>and read about the message you got
<tasankovasara>To fix this, add a Scheme expression at the end of the file that consists only of
<tissevert>it's not a package definition for php (or any other package by the way)
<tasankovasara>the package's variable name you defined, as in this example:
<tissevert>yeah
<efraim>rebar: there is an old patch attempting to implement zfs-on-root but it never got merged
<rebar>:((
<tasankovasara>So, sorry for the multiline copypaste...
<rebar>guess i'll check back in a year
<tasankovasara> (define-public my-package
<tasankovasara> (package
<tasankovasara> ...))
<tasankovasara>
<tasankovasara> my-package
<tissevert>because if you look at this module, you'll see a collection of (define-public …) which define a couple of values
<tissevert>php.scm contains only the (define-public …)s , no "my-package" at the end
<tasankovasara>I'm all ears :]
<tissevert>that's it
<tissevert>there's nothing more
<tasankovasara>So if I copy-paste that exact bit in the end, there's magic?
<tissevert>either your version of guix knows where to find php.scm on its own, and it will find any value you try to build which is defined within it
<tissevert>such as "guix build php"
<tissevert>or it doesn't, in which case you have to find a way to make it look in a channel that does contain it (with -L)
<tissevert>but it's a matter of types: you're trying to use a *module*, containing several *packages*, as *a package*
<tasankovasara>Ok, so I need a personal / private channel?
<tasankovasara>I did read up on that yesterday
<tissevert>not necessarily
<tissevert>your git/branch options might work, if the rest of the line was asking guix to build a package named "php", not the "package definition returned by this module which doesn't return any"
<tasankovasara>I see
<tissevert>and even if that fails, since you're apparently hacking directly on your clone of guix, you could duplicate the definition for php, fix its version (and possibly adapt the compilation options, phases, and such which may have changed a lot in between), and recompile guix locally
<tissevert>to use the local, editted, version of guix (with ./pre-inst-env), which will know about your php@7.2.12
<tissevert>(because you will have filled that in the version field)
<tissevert>how does that sound ?
<tasankovasara>Sounds like a rabbit hole waiting for me :D
<tasankovasara>Thanks for your wisdom
<tissevert>it can hardly be called so, sorry for misunderstanding what you were doing in the first place
<tissevert>but I'm glad if it helps you in the end
<tissevert>what you're trying to achieve is possibly a lot of work
<tissevert>apparently yeah we had a 7.2.12 in 2018 at 0dd60c1c9bb0
<tissevert>so if time-machine doesn't work or isn't practical for you, you may want to start from that to revive it
<tissevert>good luck !
<tasankovasara>big cheers :D
<tissevert>: )
<jpoiret>sneek, later tell civodul: So I got a built Hurd, and I would want to test it, however `guix system image --target=i586-pc-gnu -t hurd-raw gnu/system/examples/bare-hurd.tmpl` pulls in wayyy too many packages like a lot of texlive, qtbase (?), rust (???). That isn't normal, right?
<sneek>Okay.
<tissevert>how can one use a version of guix still available in guix pull --list-generations ?
<tissevert>I thought using time-machine with a commit found there would prove useful, but it's still trying to recompile everything
<tissevert>isn't that version still present on my disk ?
<evilsetg[m]>Hey, I want to package antibody the zsh extension manager. It is a go program. One of the dependencies has the import path 'gopkg.org/alecthomas/kingpin.v2'. This is already packaged but under the import path 'github.com/alecthomas/kingpin'. Is it possible to rewrite the go import paths of inputs to resolve this mismatch?
<hwpplayer1>hi people !
<tissevert>hey
<evilsetg[m]>Hi
<hwpplayer1>How are you doing ?
<tissevert>trying to travel accross time and it's not going exactly as expected
<evilsetg[m]>Sitting at home recovering from Corona, but that gives me time to build my first guix package :)
<tissevert>oh, I hate to read this. how are you ? I hope you're recovering well and fast
<hwpplayer1>I do research about Lisp and Lisp on web technologies
<evilsetg[m]>Thanks, I already feel way better.
<hwpplayer1>evilsetg[m]: hope you'll be better and better
<evilsetg[m]>Thank you!
<hwpplayer1>evilsetg[m]: Where do you live in and so what time is it there ?
<evilsetg[m]>I live in Germany and it is 10:55 here.
<tissevert>knew it ! ("corona" gave it away)
<evilsetg[m]>Ha, I suppose elsewhere one would say covid?
<tasankovasara>Here in Finland it's 'korona' all the way too
<tissevert>it tends to be more widespread I guess, but I'm ready to believe there are other languages which chose "corona" for this disease
<tissevert>haha, a race condition ! thanks for providing the example : )
<tasankovasara>:D
<tissevert>it's just that I know more german-speaking people than finnish-speaking ones so I thought immediately of Germany, not Finland
<hwpplayer1>evilsetg[m]: I live in Turkey and it is 13:02
<tissevert>: )
<hwpplayer1>What about you tissevert ?
<tissevert>France, where it's "11h04", and people still catch "le covid"
<tissevert>ACTION didn't know mentioning France would be such a mood killer
<evilsetg[m]>I like France. My Grandmother was from there. But my French skills are rudimentary :).
<tissevert>: )
<tasankovasara>nouu! It's having to work that's killing the mood :D
<tissevert>well imagine what it is, having to work *and* in France ; )
<civodul>ACTION can relate to that :-)
<evilsetg[m]>Is there a way to jump into the environment of a build to poke around inside of it?
<tasankovasara>tissevert: and when it's lunch time, you find its escargot day 8/
<rekado>evilsetg[m]: no, but you can keep a failed build’s directory with -K
<tissevert>fine, but please remember the one cliché per day and per person limit ; )
<rekado>evilsetg[m]: it’s an oft requested feature, though
<evilsetg[m]>rekado: Thanks!
<tasankovasara>tissevert: will honour that (and think up tomorrow's one in advance) :]
<tasankovasara>my younger daughter is really keen on trying exotic dishes, but she folded on escargot a couple of weeks ago. As did I, must admit.
<civodul>evilsetg[m]: probably relevant: https://guix.gnu.org/manual/en/html_node/Debugging-Build-Failures.html
<sneek>Welcome back civodul, you have 1 message!
<sneek>civodul, jpoiret says: So I got a built Hurd, and I would want to test it, however `guix system image --target=i586-pc-gnu -t hurd-raw gnu/system/examples/bare-hurd.tmpl` pulls in wayyy too many packages like a lot of texlive, qtbase (?), rust (???). That isn't normal, right?
<civodul>jpoiret: hey! it might be things like building the GRUB splash screen natively (needs librsvg, etc.)
<civodul>but you could have a childhurd (built from current master) and offload i586-gnu native build from core-updates
<civodul>not the same thing though
<civodul>or you could "guix copy" cross-built binaries to the childhurd and try to run them
<tissevert>tasankovasara: yeah it's not worth killing so many poor beasts, their taste isn't exceptionnal and I enjoy seeing them frolick on rainy days much more : )
<evilsetg[m]>civodul: Thank you. That page is really helpful.
<tasankovasara>tissevert: <3
<tissevert>just to know, how serious is it if a channel rewrites its history ?
<TristanCottam[m]>What do you mean by "serious"?
<TristanCottam[m]>Users will have to --allow-downgrades on the next guix pull, that's for sure
<TristanCottam[m]>Unrelated question: What's the difference between (use-modules (gnu ...) ...) and (use-modules (gnu))? When should I use one over the other?
<evilsetg[m]>The first one imports modules that are under the gnu namespace but not the (gnu) modules themselves. The second one only imports the gnu module. Using (use-module (gnu packages)) does not the module gnu itself but the gnu/packages module, so the packages module in the gnu namespace. Is that what you were meaning with the ... dots ?
<arjan>TristanCottam[m]: each modules exports specific things, not the things from parent namespaces
<TristanCottam[m]>I think, as in what's the difference between specifying specific (gnu ...) modules and simply specifying (gnu)
<evilsetg[m]>(gnu something) is a different module from (gnu). They export different procedures and variables and importing one does not import the other.
<TristanCottam[m]>As far as I can tell, specifying specific gnu modules adds clarity, while only specifying(gnu) is shorter. Is that all there is to it?
<TristanCottam[m]>evilsetg[m]: Oh!
<tissevert>TristanCottam[m]: I meant "what could possibly go wrong" and "how much time will it cost me to fix everything if I push --force on my own channel ?"
<TristanCottam[m]>What does the following comment from `gnu.scm` (line 36) mean then?
<TristanCottam[m]>> This composite module re-exports core parts the (gnu …) public modules.
<TristanCottam[m]>tissevert: If you're your channel's only user, `guix pull --allow-downgrades` should be all that's required
<haugh>@Tristan Cottam You might find some modules which automatically re-export some bindings from their "children", but this is done on a per-module basis; it's the guile code in a given module, not an automatic export by the module system.
<tissevert>great ! thanks
<tissevert>it is unfortunately the case so far : )
<TristanCottam[m]>But rewriting VCS history is a bad habit (which I have)
<tissevert>I know… : (
<tissevert>which I'll give up I swear the day my work is used by other persons
<TristanCottam[m]>haugh: Absolutely, but in Guix' case, are both my examples equivalent?
<jlicht>is there a package transformation option to insert a failing phase somewhere?
<jlicht>e.g. guix build ledger --with-failure=ledger=after,configure
<TristanCottam[m]>tissevert: Give up ASAP, I also have a hard time accepting my history to be messy, but rewriting VCS history is a gateway drug to analysis paralysis
<tissevert>I know… : ( (but I've had analysis paralysis for years, even before knowing how to rewrite VCS history)
<tissevert>for me it's a symptom, not a cause
<haugh>@Tristan Cottam No, `(use-modules (gnu))` loads `.../guix.scm` which exports only `use-package-modules`, `use-service-modules`, and `use-system-modules`. `(use-modules (gnu artwork))` loads `.../guix/artwork.scm` which exports `%artwork-repository`.
<haugh>s/guix/gnu/, s/guix/gnu/
<haugh>whoops :)
<TristanCottam[m]>tissevert: Both lead to the other
<tissevert>thanks for helping me give up bad habits
<TristanCottam[m]>> <@haugh:matrix.org> @Tristan Cottam No, `(use-modules (gnu))` loads `.../gnu.scm`
<TristanCottam[m]>> which exports only `use-package-modules`, `use-service-modules`, and
<TristanCottam[m]>> `use-system-modules`. `(use-modules (gnu artwork))` loads `.../gnu/artwork.scm` which exports `%artwork-repository`.
<TristanCottam[m]>Okay, I'm not sure I understand exactly what the `gnu` module does. Are `use-package-modules`, `use-service-modules`, and `use-system-modules` called automatically? When should I use which?
<efraim>looks like rust-1.68 is out. Definately not updating the rust-team branch to that
<haugh>@Tristan Cottam, after checking the source, turns out I'm wrong! `(gnu)` uses the advanced (first-class) module system to re-export a bunch of stuff.
<haugh> https://git.savannah.gnu.org/cgit/guix.git/tree/gnu.scm
<TristanCottam[m]>When should I use each then? I did notice it doesn't include gnu/home.
<TristanCottam[m]>And gnu/home doesn't include any of the gnu/home/... modules
<haugh>It depends what you're trying to do, but I would personally not depend on something both implicit and subject to change. I load `(gnu)` for the `use-*-modules` shorthands.
<TristanCottam[m]>Oh that's where they come from
<TristanCottam[m]>So you use gnu as well as gnu/...?
<haugh>Right
<TristanCottam[m]>Thanks for the help!
<haugh>Sure, sorry for being misleading. If you're ever in doubt about what a module is doing, the best thing you can do is read it. That can be pretty intimidating but you'll learn a lot.
<TristanCottam[m]>Yup, I'll get into that habit
<jakfrost>Hello Fellow Guix users!
<jakfrost>I was having some difficulty with my Guix installation on my Lenovo E530 laptop (circa 2013)
<jakfrost>It failed on a guix system reconfigure with no room left on partition to write to
<jakfrost>I foolishly thought this was the /boot/efi partition, but it turned out to be the NVRam where the shim is written
<jakfrost>I found a work around on the Guix issue site, which involved having to delete some files out of /sys/firmware/efi/efivars
<jakfrost>This allowed the reconfigure to complete. The files I deleted all started with DUMP_ and I assumed they were related to the Lenovo diagnostics that resides there
<jakfrost>just sharing this here for anyone who may be interested
<jakfrost>This does seem to be Grub2 related, are there plans to move to anotherr bootloader?
<mirai>idk about plans but it should be possible to add support for more bootloaders
<mirai>don't know if anyone is working on that though
<mirai>TristanCottam[m]: I don't think rewriting is that bad (at a personal scale)
<TristanCottam[m]>mirai: As in specifying all modules explicitly?
<mirai>if you do read the history, it's nice to read something coherent, not a hodgepodge of text
<TristanCottam[m]>Oh ok about that
<mirai>do use branches though else it is a huge headache to rewrite
<TristanCottam[m]>mirai: Of course, but I personally find it to be to easy to obsess over, I'm in withdrawal lol
<mirai>I do heavy history rewrites with my git controlled guix configs
<apoorv569[m]>Its been 2-3 days now, haven't gotten any help here. I moved on back to arch now.
<TristanCottam[m]>apoorv569[m]: What about?
<apoorv569[m]>Guix needs to improve a lot before I can move back. There is no proper help thing.. People just talk about their personal life here or dev stuff. I would really like to see a place just for help.
<mirai>I have a "canonical" branch where rewrites are extremely rare (mostly if I want to change how the commit text structure is laid out) and a "fast-streams" branch, which is used as a kind of "master" branch
<TristanCottam[m]>mirai: About that, if you use Guix Home, do you store your config in the same repo as your system config?
<TristanCottam[m]>apoorv569[m]: I haven't myself, but have you tried the ML?
<mirai>the fast-streams branch can get extremely large and when I start getting pissed at the merge-conflicts due to rewrites, it means that its time to upstream some of the local hacks to guix
<apoorv569[m]>What's ML?
<mirai>TristanCottam[m]: I haven't tried guix home yet
<mirai>but I would
<jakfrost>apoorv569: mailing list
<TristanCottam[m]>apoorv569: The Guix mailing list
<mirai>well, I have a guix home config in the working tree already, just never deployed it
<jakfrost>there is the issue tracker too
<apoorv569[m]>Ah! Is mailing list for getting help? I don't think so. Its probably for devs only.
<apoorv569[m]>Your question gets buried here faster then you can count 10 and then nobody bothers to scroll up and answer.
<mirai>apoorv569[m]: there's multiple MLs
<mirai>help-guix is for users
<TristanCottam[m]>That's why I wait for a break in the conversation before asking for help
<apoorv569[m]>Hmm.. let me check that out.
<jakfrost>apoorv569: communication on this medium is async at best.
<jakfrost>converstaions get disjointed
<apoorv569[m]>Well I had blank display I can't wait for ever I needed my machine. So.. but nevermind now.
<jakfrost>totally understand
<apoorv569[m]>Maybe I'll get a look at it again in future when I get time now.
<apoorv569[m]>Thanks for letting me know about the user mailing list BTW.
<TristanCottam[m]>Quick question: What is the meaning of prefixing a variable with %?
<singpolyma>TristanCottam[m]: there is no semantic meaning
<TristanCottam[m]>Why is it done?
<singpolyma>It is often used for global ish / context variables, but that's just a loose convention
<TristanCottam[m]>That's the impression I had, about both the meaning and the loose definition
<TristanCottam[m]>According to [this ML email](https://lists.gnu.org/archive/html/guix-devel/2021-04/msg00398.html), it represents a "constant", but the distinction seems arbitrary
<NewUser-Basic-Qu>on sick leave today = time to do the interestiong stuff...
<mirai> http://community.schemewiki.org/?variable-naming-convention
<mirai>note that it's not being followed here in guix
<mirai>but in general those are the conventions
<haugh>I've seen and adopted the convention of using a % prefix to describe the primitive or internal version of an exported binding, for example a helper macro or an internal record constructor.
<apteryx>anyone else suffering from truncated build logs when offloading?
<haugh>FOR EXAMPLE http://vpaste.net/CykDG
<apteryx>I always have to rebuild the failed package to see its log fully
<apteryx>(when there are multiple concurrent builds being offloaded)
<TristanCottam[m]>Oh, I've personally noticed them in %base-packages, %desktop-services, etc. How come?
<TristanCottam[m]> * haugh: Oh, I've personally noticed them in `%base-packages`, `%desktop-services`, etc. How come?
<haugh>@Tristan Cottam Well, I'm not aware of any official style doc that supports this, but it seems reasonable to me that these lists are marked as internal defaults, intended to be extended.
<civodul>ACTION publishes the cross-toolchain blog post: https://issues.guix.gnu.org/61765
<TristanCottam[m]><haugh> "@Tristan Cottam Well, I'm not..." <- Ok, internal/extensible it is
<civodul>here we go! https://guix.gnu.org/en/blog/2023/building-toolchains-with-guix/
<Guest99>I am in cheroot of my guix install to fix my broken grub.  If I run guix system reconfigure it fails with git error config value safe.direvtory was not found. I have my own guix channel
<apteryx>civodul: thanks for the blog post!
<Guest99>In my cheroot env it says efi variables are not supported in this system
<Guest99>I booted the iso in UEFI
<apteryx>Guest99: do you mean in 'chroot', after folling "Chrooting into an exsiting system" from the manual?
<Guest99>Yes
<Guest99>My grub is broken and I am trying to fix it
<apteryx>perhaps something extra needs to be bind mounted for efi systems?
<apteryx>hm, no, /sys is already exposed.
<civodul>apteryx: i merely review it, but i think it's an interesting use case!
<civodul>*reviewed
<apteryx>ah! thanks nonetheless! It gets asked about regularly
<apteryx>Guest99: so what is your last error? still git related?
<apteryx>did you mount the efi partition, like "mount /dev/sda1 /mnt/boot/efi" ?
<Guest99>I fixed that with installing git and allowing to use that dir
<Guest99>Yes
<civodul>it's nice to have "invited" blog posts about specific use cases like this one
<apteryx>Guest99: good; I'm not sure about the "efi variables are not supported in this system" error
<Guest99>The only issue I can still think of is ventoy.  Since I do not have it burned directly on usb
<apteryx>where does this error come from?
<apteryx>perhaps streamline your config (e.g removing channels) until your machine can be booted in normally again
<apteryx>then add them back
<Guest99>Guix system error hash grub efi sbin grub install --boot directory and so on
<Guest99>It also says
<apteryx>ah, so it's the GRUB install script complaining
<Guest99>Grub install error efibootmbgr failed to register the boot entry no such file or directory
<Guest99>Yes, the last step upon reconfigure a system
<Guest99>I wonder if something is with my drive.  Since the only reason I am doing is, is that grub wants too boot Gentoo.  I install Ed guix a month ago and Gentoo was my previously used system
<civodul>ACTION dives into guix-devel backlog, hopes they won't drown
<apteryx>Guest99: I'm sorry I don't have much of an idea, I can't find that message string in GRUB's source
<apteryx>perhaps you could check in #grub
<Guest99>It does --boot-directory //boot is that correct with double slash?
<Guest99>It is grub-efi
<Guest99>Brb making a picture
<Guest99> https://justpaste.it/cup9h
<Guest99>Here you can see full output https://justpaste.it/cup9h
<Guest99>I needed to do downgrade since guix pull and hash guide didn't really worked
<Guest99>Iso is latest
<Guest99>How would I reformat sda1 to completely reinstall grub?
<jakfrost>Guest99: I had the same error. On my Lenovo Thinkpad Edge E530. It involved the NVRam being full, not the /boot/efi partition. I had to mount my system using the install iso and delete DUMP_* files in /sys/firmware/efi/efivars
<jakfrost>After that I rebooted and was able to finish the update
<Guest99>I have now file system with uuid uuid not found
<Guest99>How do I create manually one with that uuid?
<jakfrost>Guest99: I had to find the device my ESP partition was on and mount it at /mnt/boot/efi after I created boot/efi in /mnt. In my case it was a command like `mkdir /mnt/boot/efi && mount /dev/sda1 /mnt/boot/efi`
<jakfrost>oops sorry, I was referring to something related to my issue, not yours
<jakfrost>I mounted my system at /mnt using the command `mount /dev/sda3 /mnt`
<jakfrost>then `cd /mnt/sys/firmware/efi/efivars` to get into the proper location. Do and ls to see if there are DUMP_ files and rm them, but NOTHING ELSE
<jakfrost>This was using the installation image on a USB stick to boot my unbootable system and recover
<apteryx>Guest99: I think I've seen this error before; I don't know what it's caused by exactly, but rebooting the machine and trying again fixes it
<apteryx>perhaps the partition gets remounted read-only after errors, or a firmware bug, I'm not sure
<Guest99>I actually I just reformated in the hopes upon clean redoing everything all errors are gonee
<efraim>is there some magic git command that covers 'git stash && git pull/rebase && git stash pop'?
<unmatched-paren>hello guix
<sneek>unmatched-paren, you have 1 message!
<sneek>unmatched-paren, lechner says: / Hi, do you use wlgreet?
<unmatched-paren>sneek: later tell lechner: yes, lemme guess: it doesn't work for you? :/ i'm aware that it doesn't seem to work for anyone but me but i have no idea why... /o\
<sneek>Okay.
<unmatched-paren>sneek: botsnack
<sneek>:)
<unmatched-paren>ACTION continues Dissecting Guix: Part 3
<Guest99>Okay, grub installed with --no-nvram flag
<apteryx>nice! I wonder if we should use such option all the time?
<apteryx>any downside?
<apteryx>efraim: magit? :-)
<apteryx>you'll have to convert to emacs first
<pkal>efraim: git pull --autostash --rebase?
<pkal>Didn't try it out, just skimmed through the man page
<apteryx>ah, that must be what magit uses
<Guest39>hi guix! what to do when $guix publish says "invalid method" while $guix pull says "An unexpected TLS packet was received"?
<unmatched-paren>Guest3: the latter sounds like a transient network error
<unmatched-paren>try again
<martinf>Can someone help me out? I am trying to add an about-filter to cgit, the filter I am trying to use is located at /gnu/store/cgit-XXXXXX/lib/cgit/filters/about-formatting.sh but I have no idea how to add it as a string. I tried using g-expressions and store monads but they both throw an error saying "String expected"
<unmatched-paren>martinf: code please :)
<euandreh>martinf: (about-filter (file-append cgit "/lib/cgit/filters/about-formatting.sh"))
<euandreh>
<unmatched-paren>ACTION is not sure what an "about-filter" is
<euandreh>same for (source-filter ...)
<unmatched-paren>what's the ABOUT-FILTER procedure meant to do here?
<euandreh>Its not a procedure, but a field from a record
<unmatched-paren>FILE-APPEND returns a <FILE-APPEND> record
<unmatched-paren>ah
<euandreh>a field from <cgit-configuration> record
<unmatched-paren>oh, so does ABOUT-FILTER accept a file-like object?
<euandreh>yep
<unmatched-paren>hmm.
<martinf>Thank you so much!
<martinf>guix system reconfigure runs now.
<unmatched-paren>hm, guix build cgit fails for me
<euandreh>hmm, it does for me too
<unmatched-paren>"error: pre-commit: unbound variable"
<unmatched-paren>might want to send a bug repor
<unmatched-paren>report
<euandreh>funny that cgit-service-type is running correctly
<euandreh>and the package used is not overriden, hmm
<Guest99>apteryx: Test
<Guest99>apteryx nvram is used to persistent store configuration.  Therefore using that flag as default isn't useful
<Guest99>I never got to figure out why my efi vars are not present in chroot env.  Installing my system without efi since it is not a requirement for my motherboard and I do not have to deal with that nonse hopefully again
<jpoiret>Guest99: did you bind mount everything in the chroot?
<jpoiret>the efivars are a separate mount iirc
<Guest99>Oh wow
<Guest99>The man just says efi boot
<jpoiret>efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,relatime)
<Guest99>I am currently creating a backup I can still try
<jpoiret>if you --rbind /sys it might be enough though
<Guest99>Ah okay, well I did that
<Guest99>In the iso there is no problem with efi like for example efi var -l works fine but not in the chroot env. It says invalid function
<Guest99>I tried modprobe efivarfs as well
<jpoiret>modprobe shouldn't change anything, you're still running the same kernel
<jpoiret>well, you should check that you can `ls /sys/firmware/efi/efivars`
<Guest99>Will try after backup is done
<sarg>hey guix, why is efi-raw image type producing mbr partition table? Afaik MBR is somewhat legacy in UEFI and the default choice should be gpt.
<jpoiret>good question. We do apparently have the option to have gpt instead of mbr, so I don't know if there are specific gotchas about that
<jpoiret>have you tried git blaming the relevant code to see if there are commits talking about that?
<sarg>added here: https://git.savannah.gnu.org/cgit/guix.git/commit/?id=096a2bf8c59a955c634cc838e7f7111941c07b37
<sarg>but never used in guix code, just some tests and that's it
<jpoiret>well, maybe we could make the change (it does seem natural to me for efi)
<sarg>yeah, let me try that on the weekend
<jpoiret>great!
<sarg>btw, I've documented my journey in reprovisioning guix on my laptop: http://sarg.org.ru/blog/guix-restore-drill/
<sarg>it went surprisingly smooth, but there are still some rough spots: defining image manually because of the gpt/mbr issue; hardcoding partition labels to `Guix_image` and `GNU ESP`; requiring internet access because of missing substitutes for `guix home` in the image
<Guest99>jpoiret your CMD shows them on the live is, trying chroot
<jpoiret>sarg: just a note, ventoy is known not to work with Guix
<Guest99>jpoiret in the chroot env it is empty
<Guest99>Ehlin what way does ventoy not work?  Since I used it to debug my problem
<Guest99>I booted the iso via ventoy I mean
<sarg>jpoiret does this comment make sense? https://issues.guix.gnu.org/51598#1-lineno26
<jpoiret>Guest99: what did you do to chroot?
<jpoiret>did you mount --rbind /sys /mnt/sys?
<Guest99>Yes
<jpoiret>sarg: right, I'm not sure if that makes sense to me either
<sarg>ah yes, it does, but is unrelevant to efi/gpt controversy
<jpoiret>Guest99: can you ls /tmp/sys/firmware/efi/efivars/ from outside the chroot?
<Guest99>Okay it works
<Guest99>You need to mount additional efivarfs as well but the manual doesn't say that
<sarg>it points out that the grub-bootloader doesn't support gpt disks
<jpoiret>--rbind should bind all the mounts recursively though i think Guest99
<jpoiret>not to be confused with --bind
<Guest99>So you need mount --bind /sys/firmware/efi/efivars /mnt/sys/firmware/efivars
<jpoiret>sarg: well, other than that indeed install-grub-disk-image doesn't support anything other than MBR
<Guest99>Ah okay, then in the manual we need to change --bind to --rbind on /sys
<jpoiret>ah, didn't notice that that's what's written in the manual
<jpoiret>in general you should use --rbind for chrooting, since you really want all the submounts
<Guest99>Someone needs to change that in https://guix.gnu.org/manual/devel/en/html_node/Chrooting-into-an-existing-system.html
<Guest99>Because of that one letter missing I wasted my whole day with that.  Funny isn't it
<Guest99>Also nouveau crashes on libre 6.2 and therefore the system can't shutdown anymore
<Guest99>Where do I report that?
<sarg> https://guix.gnu.org/manual/devel/en/html_node/The-Issue-Tracker.html
<Guest99>Okay, not libre kernel directly, reporting it
<Guest99>How can I use guide home for a whole dir instead of a file for the xdg config service?
<NewUser-Basic-Qu>playing around in guix repl. If i define something (e.g. define-library (somename) ) how can i write out that defifnition to a file
<NewUser-Basic-Qu>?
<sarg>Guest99: here is how I do it: https://github.com/sarg/dotfiles/blob/538e0ee863058606755b5878aebe49ceb8a8c2a8/guix/home.scm#L88-L102
<sarg>hmm, `guix time-machine -C /run/current-system/channels.scm -- system image` produces different image than just `guix system image`
<euandreh>sarg: IIRC "guix time-machine -C" pulls from channels if you specify a branch name in a channel
<euandreh>try pinning it to a commit, or maybe do a guix pull before "guix system image"
<euandreh>but you might be unlucky, need to watch for the output
<sarg>yeah, I've just checked the channels.scm in images. It differs indeed
<sarg>btw, maybe time-machine should accept provenance files as well?
<Guest99>sneek later tell sarg thanks for you code. It works.
<sneek>Will do.