IRC channel logs


back to list of logs

<PotentialUser-8>I just did two identical installs, except that the second install had the root fs in a luks partition.  The first one boots fine, the second freezes at the grub menu (after selecting an entry).  My root fs has mapped-devices as the dependency.  I specify the luks via uuid, and fs by label.  Has anyone had a similar problem?
<PotentialUser-8>I diffed the configs, so that really is the only difference.  setup scripts are the same except starts with cryptsetup format/open and /dev/nvme0n1p2 is replaced with /dev/mapper/btros
<nckx>PotentialUser-8: It's probably waiting for your passphrase without video output.
<nckx>Type it once or twice (followed by return each time).
<nckx>ACTION goes back AFK.
<PotentialUser-8>What's the sneek command to leave a message?
<unmatched-paren>ACTION zzz, bye \o
<unmatched-paren>PotentialUser-71: ``sneek: later tell USER: ...''
<unmatched-paren>or ``later ask USER: ...''
<PotentialUser-71>wrong potential-user :p
<PotentialUser-8>sneek: later tell nckx: THANK YOU.  Seems I wiped my drive for no reason :(
<sneek>Got it.
<PotentialUser-8>thanks unmatched-paren
<Andronikos>sneek: later ask PotentialUser-8: What type of char do you use after a sentence? I haver never seen someone doing that before and I am curious. Do you insert that manually?
<sneek>Got it.
<PotentialUser-71>Microcode is non-free, right? So I guess a Guix in its pure form wouldn't have that. But what's the alternative? Just not installing it?
<sneek>Welcome back PotentialUser-71, you have 1 message!
<sneek>PotentialUser-71, Andronikos says: What type of char do you use after a sentence? I haver never seen someone doing that before and I am curious. Do you insert that manually?
<PotentialUser-71>Andronikos Did you mean me?
<PotentialUser-71>Also, what does `hash guix` do? It doesn't have a man entry, and I could only find guix hash
<nckx>PotentialUser-71: No, the bot is not very clever (or, too clever) and thinks all PotentialUsers are the same person.
<sneek>Welcome back nckx, you have 1 message!
<sneek>nckx, PotentialUser-8 says: THANK YOU.  Seems I wiped my drive for no reason :(
<nckx>Andronikos: What character do you see? I don't see anything out of the ordinary.
<nckx>PotentialUser-71: ‘info bash hash’.
<PotentialUser-71>nckx Ah, thanks.
<nckx>PotentialUser-71: Yes, that's the alternative. Technically, there's also the option of updating your BIOS.
<PotentialUser-71>How would updating the BIOS help? Wouldn't that just shift the project a bit "lower" in the "stack"?
<PotentialUser-71>problem* (sorry, its late here)
<nckx>That's what I meant by ‘technically’.
<lechner>Andronikos / it's a NON-BREAKING SPACE, courtesy of Emacs's M-x describe-char
<nckx>I've seen that before (but rarely): people double-spacing, but using one nbsp.
<nckx>Why's that a Thing?
<lechner>i see it occasionally because Circe shows them as baby blue
<lechner>same reason that we require two spaces. it prevents orphans
<lechner>not the same reason
<nckx>Yeah, that's how I noticed it, mails in emacs.
<nckx>I considered that, but I don't see it.
<lechner>you never see them, or you don't see it in this instance?
<nckx>I don't see how it prevents orphans.
<lechner>It keeps the end of the sentence with the beginning of the next
<lechner>maybe orphans means something different. typography isn't my strong suit
<nckx>I'm struggling to think of the broken word-wrap algo that would need such a blunt manual work-around.
<lechner>probably vim
<lechner>just kidding
<nckx>An orphan would be a lone word/line at the end of a line/page, but I don't see it preventing widows either 😛 Anyway, not important, I'll remain unconvinced, but that's not your fault.
<lechner>nckx /
<lechner>i knew it came from Dinosoft!
<nckx>Yes, I get that, we use nbsps in Guix for that reason (‘GNU<nbsp>Guix’) etc. I'm only puzzled as to what specifically ‘.<nbsp><space>’ is trying to prevent. Maybe character-level orphans (one space at beginning of next line?) but then again, I call that broken word wrap.
<nckx>I don't want to further noise up the channel with my inane question.
<lechner>the misnomer would be my fault, and not that of the PotentialUser or their editor
<lechner>but i am okay dropping it
<nckx>Where did you go, PotentialUser-8, what did you see, what editors did you use…
<cmmm>Hello everyone! I'm trying to implement a system service for spinning up shepherd-services which start containers within mnt and net namespaces, bringing up networking between them as declared in the top service config (to get rid of docker completely). I'm new to extending guix and would be happy if you could give me some ideas or point me in the right direction. I'm using make-forkexec-constructor/container to spin them up, how
<cmmm>could I add separate profile to each container (make the declarations system profile independent)? Should I use the ip program to setup all the necessary interfaces, or there is (should be) a general guix way for that? I guess the dev mailing list will be a better place to ask these questions, after I get a clearer picture on the topic.
<lechner>cmmm / Hi, the folks in this channel will probably help you faster than on the mailing list, except traffic really slows down on Friday nights, and I know too little about Shepherd. Can you wait until tomorrow or Sunday?
<cmmm>lechner: Yes, of course I can wait. This is also the first time that I'm using IRC, do you know of any good bouncers that are easy to setup with erc? I'll be checking the logs online for now.
<mekeor[m]>cmmm: personally, i use matrix. has a bridge to the matrix-protocol. i then use an matrix-client, namely ement.el inside emacs.
<mekeor[m]>cmmm: btw, that idea sounds really interesting :) i guess, another approach would be to introduce a universal option for services (-- i.e. each service would have this option --) to run it inside its own namespace?
<mekeor[m]>or even better, if there was a function which takes (1) a namespace; (2) a service-declaration; and returns the same service, but running in the specified namespace.
<lechner>cmmm / in Guix we only have znc and pounce, i think. i have not set up either one yet, but would like to
<lechner>cmmm / how do you like ERC? I am on Circe
<mekeor[m]>ACTION also used circe before
<mekeor[m]>i once set up znc. it was okay. many features!
<mekeor[m]>ACTION will go to bed now, hoping for better guix-weather tomorrow (especially regarding rust(c))
<lechner>mekeor[m] / thanks for taking care of cmmm. i will sign off in a moment for about 25 hours
<zamfofex>nckx: In HTML, multiple spaces get collapsed into one (whereas non‐ASCII whitespace doesn’t), so maybe that’s where that practice came from.
<pat_n>Is it possible to pacakge a java program built with gradle?
<zamfofex>pat_n: I don’t think so. Last time I checked, Gradle is written using Scala, which in turn is difficult to bootstrap, and no‐one has gone through that effort yet.
<cmmm>lechner: I find ERC to be quite solid and I also like that it's built-in and thus you can use it right away on any PC. There is also a feature for it in RDE, but rn I'm just using it from termux on my phone...
<cmmm>lechner: I might look into adding a package for soju as well, but pounce seem ok to me.
<cmmm>mekeor[m]: I'll follow up in about 5 hours.
<lilyp>"difficult to bootstrap"
<pat_n>zamfofex: looks like groovy, not scala. you're probably right about bootstrapping though. "Each version of Groovy is built and tested using a specific version of Gradle." So Gradle is written in groovy and groovy requires gradle to build. Sounds a bit circular
<unmatched-paren>morning guix! :)
<unmatched-paren>pat_n: We do have Groovy
<unmatched-paren>but Gradle *also* requires Kotlin
<unmatched-paren>and Kotlin... well, y'know.
<mekeor[m]>hi guix. does anybody have a couch to offer in brussels on 2-5 february, for fosdem and guix days?
<mekeor[m]>i'm really excited to go there. it'll be my first time conference since a long time. my first fosdem. and my first time being apart from my baby for some days :D really excited to meet some of y'all irl :)
<mekeor[m]>or is there a dorm where many guixers stay?
<ndaniel>Hello o/
<ndaniel>If a package is not up-to-date in the repo (?), is there something that I can do?
<ndaniel>For example, is a few version behind (2.1.54)
<nckx>zamfofex: That's… plausible. ‘You WILL see my double space, HTML peasant.’
<ndaniel>Are you still talking about spaces?
<nckx>ndaniel: Set up a local Guix git checkout <>, and give it a go :) You can submit the update to guix-patches at gnu dot org, or ask for help if you get stuck.
<nckx>ndaniel: Yes.
<nckx>I'm being polite by not talking about tabs.
<ndaniel>nckx I actually took a look at it, but I don't think I quite understand the "pipeline"
<zamfofex>ndaniel: You may try to use ‘--with-source’ and pass the tarball URL to the latest version. But I’ve hear Anki specifically has become difficult to package (in general, also for other distros) because of a change in its build system approach.
<ndaniel>zamfofex Oh yeah, for sure - it gave me a stroke on my arch system 30 minutes ago as well :p
<ndaniel>Actually, I am still confused on what *exactly* Guix is. I can install it as a system, but also on top of an existing distro? And the packages are part of the distro itself?
<ndaniel>In the past, I only "used" Linux distros - contributing is quite new to me
<elevenkb>ndaniel: guix is a distro but also a package manager.
<elevenkb>the packages and the source code for the distro are in one source code tree.
<elevenkb>but you can choose whether to switch to the distro (named Guix System).
<zamfofex>The distro features the package manager, and also some other niceties for managing the system.
<zamfofex>You can use the packages from Guix in Guix System, *and also* in a foreign distribution when using Guix as a package manager.
<ndaniel>I see. Why are the packages and the source code in one source code tree though?
<sneek>oriansj: wb
<oriansj>sneek: botsnack!!
<zamfofex>ndaniel: I don’t think there is any reason to not do that. Sometimes packages may use specific features from Guix, and it’s nice to know whether those features are going to be available appropriately. The converse is also true, so packages become available to be used in inbuilt Guix features. There is no risk of “the packages are meant for a different commit revision” or “the feature expects a different package version”.
<ndaniel>Ah, that is a good reason.
<ndaniel>So creating packages == "hacking" Guix (as referred to in the manual)?
<zamfofex>Yes! Or just contributing in general.
<zamfofex>Also see: <>
<ndaniel>Did I say something on that list?
<zamfofex>You did not, I just meant to clarify the intended meaning of “hacking” in the manual.
<ndaniel>Ah, I see.
<ndaniel>Thanks :)
<ndaniel>I have to say, that is an interesting article, to say the least.
<elevenkb>There main difficulty with upgrading anki to the latest (non-stable) version is that it uses a `zst` archive format instead of `gzip`.
<ndaniel>To my understanding, 2.1.54 is the latest (non-beta) version
<ndaniel>And forgive my ignorance, but what is the issue with having a different archive format?
<elevenkb>Ah yes you are correct ndaniel.
<elevenkb>I didn't pay enough attention to the word _stable_ in previous stable release.
<ndaniel>Looking at how to build Anki, it doesn't actually look too difficult.
<ndaniel>But experience tells me that these kind of projects are one of the more difficult ones :p
<elevenkb>same,,, i've managed to kill 30 or so hours trying to build foliate (a GNOME ebook reader).
<elevenkb>might give it another try later
<ndaniel>I'd also like to build mozc
<ndaniel>But I get the feeling that that one might not be easy either, since I've seen it on the Guix wishlist
<ndaniel>Does someone have the link to the mailing-list entry regarding the latest release candidate ready?
<lilyp>mozc uses bazel as build system
<lilyp>there has been some work on android that also requires bazel, perhaps you can check that out
<lilyp>it would be very experimental tho
<ndaniel>Bazel doesn't work out of the box?
<lilyp>there's no bazel-build-system in guix yet
<lilyp>elevenkb: I have some experience with gjs, what's the issue?
<elevenkb>lilyp: foliate builds well but it doesn't find the `main.js` module which is in the appropriate `.src.gresources` file.
<lilyp>hmm, IIRC there's a gnome way of importing from such resource files
<lilyp>can I look at the package definition?
<elevenkb>Wait for a sec, putting it into a pastebin.
<lilyp>okay, most important things first: the synopsis and description could be better
<lilyp>in particular in the description don't advertise features that don't appear to be packaged
<elevenkb>thanks for the advice lilyp.
<elevenkb>yah, was mostly focused on translating the syntax from markdown to texinfo.
<elevenkb>so w.r.t. the synopsis, maybe just delete the clause after the comma?
<elevenkb>and the description, maybe just remove the last two items?
<lilyp>I would just say "GTK-based eBook viewer"
<lilyp>As for the description, don't just make it an enumeration of featuers
<elevenkb>I based that aspect on the example of `cozy` in `gnu/packages/ebook.scm` .
<lilyp>See for instance Calibre for a somewhat well-written description
<lilyp>I think the issue is that Foliate does not declare its dependencies well
<elevenkb>lilyp: thanks for helping. i'm curious: why did you think that? more specifically: what did you do to settle on that diagnosis of the build?
<lilyp>I saw libhandy in the mentioned in the actual source but nowhere in the build system
<elevenkb>ok, i can try to add it as a dependency and build, but i have no clue how that would prevent the build result from finding `main.js`.
<lilyp>it's not the main issue, but an issue still
<unmatched-paren>the guix-daemon code is terrifying
<elevenkb>what u working on unmatched-paren?
<unmatched-paren>elevenkb: i'm making a half-baked attempt to make network failures more understandable
<unmatched-paren>it's probably not going to go anywhere because i think i need to edit the daemon?
<unmatched-paren>which is... not an exciting prospect
<unmatched-paren>oh, wait, never mind, i think i might just need to edit guix/build/download.scm
<elevenkb>🥺, glhf up!
<elevenkb>glhf → good luck have fun
<elevenkb>up → an abbreviation I made up for unmatched-parene
<elevenkb>as for the emoji.... attempted expression of emotional support.
<elevenkb>clearly failed so it seems.
<unmatched-paren>the emoji appears as a box for me :
<lilyp>elevenkb: okay, more stuff
<lilyp>apparently, utils.js fails to correctly bind gettext (_ is undeclared)
<lilyp>once I fix that ,I get foliate to locally "run" and not spawn an actual window – courtesy of GI_TYPELIB confusion
<lilyp>not sure whether that'd translate well to an installation, but it's worth a try
<lilyp>to run things locally, get your own copy
<lilyp>guix shell -D foliate
<lilyp>cd /path/to/foliate
<lilyp>mkdir -p build/install
<lilyp>meson build --prefix build install
<lilyp>ninja -C build install
<lilyp>then run build/install/bin/long-binary-name
<elevenkb>oook, thanks lilyp.
<ndaniel>What browser do you use? IceCat?
<unmatched-paren>ndaniel: i use qutebrowser
<elevenkb>ndaniel: there's also ungoogled-chromium.
<ndaniel>Is IceCat the only "free" version of Firefox?
<unmatched-paren>ndaniel: pretty much, as far as we know
<unmatched-paren>librewolf gets close but has DRM support iiuc
<ndaniel>Ah, that was the one I was thinking off
<unmatched-paren>well, i think the other reason why firefox and librewolf aren't allowed is that they have a "recommended" extensions tab, which recommends some nonfree extensionss
<unmatched-paren>violating the FSDG
<unmatched-paren>ACTION tries to use 'herd stop networking' to figure out whether will actually make guix give better networking errors
<unmatched-paren>(without much success, i might add...
<singpolyma>Isn't even the add-ons search or a link to the add-ons website an FSDG violation?
<unmatched-paren>unmatched-paren :P
<unmatched-paren>singpolyma: probably not
<unmatched-paren>cargo and nix provide search functions that could include nonfree software
<ndaniel>What is cons*? I can only find cons
<unmatched-paren>ndaniel: (cons 'foo '()) -> '(foo), (cons* 'foo '()) -> '(foo), (cons 'foo 'bar '()) -> <ERROR>, (cons* 'foo 'bar '()) -> '(foo bar)
<elevenkb>I believe that (cons* a b) ≡ (append (list a) b)
<ndaniel>I know some Haskell and OCaml, but I don't quite understand what is going on with your explanation unmatched-paren
<ndaniel>But I guess cons* is the cons known from Haskell
<ndaniel>While cons in Scheme is only for pairs
<unmatched-paren>ndaniel: (cons 'foo 'bar '()) doesn't work, (cons* 'foo 'bar '()) does
<ndaniel>What is the meaning of the '?
<unmatched-paren>lists are pairs, pairs are lists
<unmatched-paren>ndaniel: it's Scheme's ``quote'' syntax
<unmatched-paren>which allows you to write literal code values
<unmatched-paren>'foo is the symbol "foo"
<ndaniel>Hmm, seems I need to look more into Scheme/Lisp
<unmatched-paren>'(foo bar baz) is (list 'foo 'bar 'baz)
<ndaniel>Wonderful, thanks!
<ndaniel>I wish something like that existed for C++ :p
<unmatched-paren>ndaniel: "lists are pairs, pairs are lists" applies to Haskell too, btw
<unmatched-paren>ndaniel: Something like that for C++ would need to be split into multiple volumes.
<ndaniel>Were tuples in Haskell really lists as well?
<ndaniel>It's been a while
<unmatched-paren>ndaniel: no, they're like records without labels
<unmatched-paren>if they were lists it'd be extraordinarily inefficient :)
<ndaniel>Aha, so pairs are lists and not tuples?
<elevenkb>yah, methinks unmatched-paren was using "pairs" to refer to lists of the form [a,b] instead of e.g. tuples.
<elevenkb>they have the same universal property so they are the same type :P :P
<unmatched-paren>(list 3 2 1) == (cons 3 (cons 2 (cons 1 '())))
<unmatched-paren>sort of the same with Haskell; you can think of its lists as chained 2-tuples
<ndaniel>Yeah, I remember that from other FP languages
<unmatched-paren>[3, 2, 1] is like (3, (2, (1, [])))
<ndaniel>So cons* just takes more arguments?
<unmatched-paren>ndaniel: pretty much
<unmatched-paren>cons is a fundumental operation, whereas it's easy to define cons* in terms of cons
<ndaniel>What is the channel introduction? i.e. why isn't an openpgp fingerprint enough?
<unmatched-paren>btw make sure to always use manual/devel instead of manual
<unmatched-paren>manual is quite outdated
<ndaniel>Ah, I've been looking at manual all the time. Thanks for the pointer
<zamfofex>ndaniel: I think a simple way to explain is that ‘cons’ takes a head and a tail, whereas ‘cons*’ takes multiple heads and a tail at the end. (Though of course, ‘cons’ doesn’t need to be viewed as creating a list, but rather an arbitrary pair.)
<ndaniel>I see
<zamfofex>It’s just conventional to use ‘car’ as “head” and ‘cdr’ as “tail”, but there’s nothing requiring them to be viewed that way specifically. (And I’m pretty sure certain data structures such as alists don’t.)
<ndaniel>What do car and cdr stand for?
<zamfofex>They just take the first and second element of a pair (or the “head” and “tail” respectively, if you view it as a list).
<ndaniel>I meant what the words are trying to abbreviate
<ndaniel>In case they are
<unmatched-paren>ndaniel: the names are from something to do with an old IBM assembly language (I think)
<unmatched-paren>lisp is *old* :)
<civodul>coding guideline for Guix is to not use "car" and "cdr" in part because because they're obscure:
<civodul>("content of address register" and "content of data register" IIRC)
<zamfofex>Interesting related read: <>
<civodul>i agree with the idea that poorly-chosen names can exclude
<ArneBab>I still use car/cdr, because head/tail , first/rest and similar are not availabe in the guile shell by default.
<ArneBab>also first/rest does not have the same length
<singpolyma>car/cdr are also more portable
<unmatched-paren>first/rest are available on any scheme with SRFI-1, and i don't think many schemes don't have that
<mirai>and the /ca+d+r/ analogues would be things like headtttail, ttttttail?
<zamfofex>You can just repeat either “fir” or “re” then add “st” at the end.
<mirai>ndaniel: all lists are pairs but not all pairs are lists
<unmatched-paren>mirai: tttttail is what you use when it's cold :)
<mirai>(cons 1 '(2)) = (1 . (2 . '())) = '(1 2), which is a list
<mirai>but (1 . 2) is not a list as you don't see 2 being paired with the empty list
<mirai>unmatched-paren: 😂
<unmatched-paren>essentially, a list is a social construct we use to talk about a bunch of conses onto each other ending with a nil.
<unmatched-paren>*there is no list, WAKE UP*
<zamfofex>Another way to view it (if you’re familiar with Haskell) is that in Haskell, you have to make the tail a list (because of its static types), but in Scheme, you can set it to anything, even though it’s common to set it to a list anyway.
<cmmm>mekeor[m]: Hi, I'm back. So... I've slept on the idea and figured out that it's not necessary to create auxiliary profiles for each containerized shepherd service, in place of those profiles simple compositions to extend the system profile could be used.
<cmmm>So right now I really need help only with making veths, macvlans/ipvlans and vxlans.
<unmatched-paren>for instance, for an alist, which is like a Scheme version of newtype Alist T = [(String, T)]
<zamfofex>Though as I said, you can have something like ‘("hello" . '("world"))’ actually be an entry in an association list (“alist”) instead (even though you can use it as a list).
<unmatched-paren>((foo . bar) (foobar . barbaz) (foobarbaz . barbazquux))
<ndaniel>Can stock emacs auto format config.scm?
<cmmm>mekeor[m]: Though, not having a profile also means that you have to push paths to everything that you use from the store through env/args, which might actually be preferable. And even though the container will run in mntns, it will see and be able to read everything in the store, which seems unnecessary, and maybe even insecure. It would be cool to make the mapped /gnu/store dir unlistable
<unmatched-paren>ndaniel: M-x pp-buffer
<ndaniel>unmatched-paren Where can I infos on commands like that?
<unmatched-paren>ndaniel: you mean, how can you search for commands?
<ndaniel>Yes, and to check what the commands do
<unmatched-paren>to check what the commands do
<unmatched-paren>usually you can use C-h f <FUNCTION> RET
<ndaniel>M-x pp-buffer looks terrible o.O
<unmatched-paren>ndaniel: hmm... maybe try ``guix style -f config.scm''
<ndaniel>I think it changed the permissions
<ndaniel>I can't cat as normal user anymore
<unmatched-paren>ndaniel: huh. that wouldn't make sense
<cmmm>mekeor[m]: Going back to your proposition on being able to containerize any shepherd-service. This could be done, to some extent, with a function that takes shepherd-service and alters it's start gexp to use make-forkexec-constructor/container, passing it the extra ns args. But this isn't really enough for me, I want to be able to declaratively specify my whole infrastructure and then guix deploy it (think docker swarm or even just
<unmatched-paren>just chown it, it'll be fine after that
<ndaniel>Wait, am I even supposed to modify the one in /etc/config.scm?
<unmatched-paren>ndaniel: yes
<unmatched-paren>but i personally recommend that you move /etc/config.scm to somewhere in $HOME
<ndaniel>copy or move?
<ndaniel>Does it say that somewhere in the manual?
<unmatched-paren>but it doesn't matter where config.scm is
<ndaniel>Why so?
<unmatched-paren>because it's just a spec for constructing the system
<unmatched-paren>if it had to be at /etc/config.scm, guix system reconfigure wouldn't take a filename :)
<ndaniel>So I can just rename it and place it in HOME?
<ndaniel>And whenever I change, I need to reconfigure?
<unmatched-paren>yes to both
<mrvdb>I run into a variant of trying to install sbcl on powerpc64le. Should I file a new issue for that or can I do something locally?
<reyman>hi !
<reyman>i'm trying to (invoke shopt -s "extglob") into modifying phase, but it seem this is the bash-minimal and the shop is not recognized
<unmatched-paren>reyman: pretty sure invoke doesn't run commands in a shell at all
<unmatched-paren>you'll want to do (invoke "sh" "-c" "shopt -s extglob")
<reyman>ok i try
<civodul>that won't have any effect though because the shell immediately exits
<unmatched-paren>oh, i wasn't sure what shopt actually did :)
<unmatched-paren>so it modifies the shell's state?
<reyman>so i need to make this with one-liner ?
<reyman>(invoke "sh" "-c" "shopt -s extglob && rm" "-r" "!(test_util)" )
<reyman>hum not better
<civodul>nope, 'invoke' invokes the program directly, though going through the shell
<civodul>instead of invoking "rm", you may want to use delete-file-recursively or something more elaborate with find-files
<reyman>thanks @civodul
<unmatched-paren>reyman: you don't need to use @foo in IRC; just foo suffices :)
<unmatched-paren>example: hello reyman
<reyman>i will try with filter() -> for-each() to remove all but not my directory