<dustyweb>I just forgot the magit commit for "changelog style commit for this line" <lle-bout>hello! when I try to authenticate a third party channel it tells me this: "hint: Did you forget `(use-modules (guix channels))'?" if I had it at the top of the /etc/guix/channels.scm file it continues to say it. What could I do? Thanks <joshuaBPMan>slightly off topic question...I want to buy a integrated "drake"-like headphones with an integrated microphone. I have a T400. Does anyone know hardware that works well with linux? <lle-bout>specially the error is: "error: make-channel-introduction: unbound variable" <NieDzejkob>lle-bout: Try pulling without the authentications once <NieDzejkob>make-channel-introduction was only made public "recently", you might need a newer guix <lle-bout>NieDzejkob, ah ok! Will do that! I wondered but I figured GNU Guix was already being authenticated; but if the public interface after that.. <jcob>Hey uh so I have a lil problem. Something ends up in /share and I want it to end up in /etc (so that I can use it as a dbus service) <jcob>Is there any way I can easily symlink something using guix after its been built? <jcob>(like inside the package definition) <dissoc>there is a symlink function. i dont know if it's the best solution ***catonano_ is now known as catonano
<jcob>dissoc if i wanted to add symlink, where would i do it? in the build? <jcob>would I add it as a build step? <jcob>dissoc do you have any examples of shoving in a lil code after a phase <dissoc>im pretty knew and dont really know what im doing so im a little hesitant to give any advice but if you look at the luajit definition there's something similar going on there <lle-bout>marusich, I'm spending time on powerpc64le-linux-gnu FYI, fixing the bootstrap binaries <clodeindustrie>I have copied part of my config.scm from somewhere, it had a simple-service that copies the config.scm from someplace to /et/config.scm <clodeindustrie>does this mean I can run sudo guix system reconfigure ~/whatever/config.scm <bdju>clodeindustrie: I believe you can run your config.scm file from anywhere and even name it something else (though I personally stick to the default) <tho1efx>Does Mr. Larabel from phoronix have some beef with guix? <tho1efx>He keeps talking about the Linux kernel deprecation. <janneke>tho1efx: i don't think they are lingering here? <janneke>if you want to know, better ask them? <tho1efx>I don't think he's very responsive. I was just wondering if it was a known thing. <tho1efx>People here are somewhat responsive. <janneke>why would writing about guix be a bad thing? *janneke hardly ever reads a "news" article that is mostly correct <janneke>news article => "somethin's going on"; if that interesting => look into it? <bdju>an outsider with only casual interest could get the wrong idea and dismiss it <tho1efx>He keeps saying that the Linux kernel is going bye bye in guix. People have said it was a fools thing in the comments. <janneke>maybe he likes the Hurd just as much as we do, and he wants to help? <tho1efx>Put flatly: no. He does not and is not so benign. <tho1efx>But I do appreciate his work collating most of the newsworthy open source news. <tho1efx>But he has a thing for 'dunking' on projects he doesn't respect for some reason. <janneke>tho1efx: i don't read anything negative "dunking" in the article at all <janneke>and i like it that the comments share other perspectives on it <janneke>(several of the comments speak derogatorily about the Hurd, though, and even use harsh words) <tho1efx><janneke "tho1efx: i don't read anything n"> Not in this case but he is selling the deprecation as a real thing after a few articles where people have told him it was a joke. <tho1efx>That's a whole other kettle of fish đ
<kmicu>âFew articlesâ is a nice euphemism for literally two articles. đș <mothacehe>janneke: The "grub-cross-system-i686.patch" breaks grub native i686 compilation with the following error: "lib/i386/relocator64.S:97: Error: bad register name `%rsp'". <janneke>mothacehe: ah oops, that's probably because of this: <janneke>mothacehe: line 97 (lines 85..100) are only included when #ifdef GRUB_MACHINE_EFI <janneke>it also means that the condition "__x86_64__" may be the wrong one...hmm <janneke>we need to test wether gcc/gas include a 64bit persona (the cross tool does not have that) <mothacehe>What does ".code64" mean? It's been a while since I read ASM code :p <janneke>mothacehe: hehe, i just "discovered" it while creating this patch <janneke>i believe it switches a 32 bit assemler to 64bit mode <janneke>without .code64, it does not recognise %rXX, only %eXX registers <janneke>but, the (our??) iX86-cross-gcc compiler barf on ".code64" <janneke>given the fact that this relocate64.S file was already partially littered with 32-bit #ifdefs, but incomplete, i made an effort to complete pure 32-bit compatibility (and failed to see the EFI lines), and also apparently broke things by guarding that .code64 instruction <janneke>...but we may want to change the __x86_64__ for "something else" <janneke>mothacehe: what about i make the update pasted above, and we can possibly try changing __x86_64__ in another patch? <mothacehe>Oh now I understand, thanks for explaining! Yes sounds good to me. <janneke>thanks for the very digestible bug report! *janneke wonders if they could (should) try this build before pushing the patch... <janneke>yeah, i have an i686 box setup for hurd-reconfigure purposes, i'll do that <mothacehe>Haha yw :) I hit this bug while trying to spawn an i686 Guix System VM to investigate test i686 failures. <mothacehe>Having the "vm-image" build and boot, will allow me to keep investagating :) <janneke>mothacehe: ah, i didn't notice because i did not build EFI <janneke>hah, no need for my i686 box; this reproduces your bug nicely: ./pre-inst-env guix build --system=i686-linux grub-efi <janneke>and it suggests that my patch update is OK :-) <janneke>well, grub only takes ~1min to build, unlike things like automake <janneke>mothacehe: i'm not sure what to do with it...i am not prepared to "fix" automake in any other way than helping with a rewrite in guile <janneke>so...cannot complain; only suffering remains? <janneke>i could try a bug report...but do i want others to really spend effort on automake? <janneke>my main frustration is--how did we get here, when did i consent to this? <mothacehe>we can always hope to find someone picking up the "Guile based build-tool" GSoC project in a near future! <janneke>it was a big motivation behind the creation of gash <janneke>(not the GSoC project, the build tool idea) <dftxbs3e>I would love if I was productive with GNU Guile, unfortunately not <dftxbs3e>I'm lost with GNU Guile, I feel handicaped :'( <janneke>dftxbs3e: if you like the idea enough, you could learn to be creative with Guile by startitng the project ;-) <dftxbs3e>janneke, I have like 10 years of Lisp computer science to catch up with <janneke>dftxbs3e: that's your discouragement speaking ;) <dftxbs3e>janneke, is it possible you explain me clearly what quoting, quasiquoting, and all these things are? and why are they useful? how they can be used? <dftxbs3e>also is there a logic to srfi numbers like the man pages? by what are they grouped? how do you remember it? <efraim>I think wingo described it as 'code' vs 'text' and to think of it as a toggle <dftxbs3e>I havent found a clear explanation to these answers, and I've read a lot of things! Even entire books, I still don't really get either of these - FYI, my background is C and Rust <efraim>It's been a few weeks, but I think the last time I tried to use my 32-bit ppc branch to build bootstrap binaries for ppc64le it still failed, so it might be more than just some glibc thing <dftxbs3e>efraim, I had to patch libffi, and add --with-128-long-double <dftxbs3e>The build is still running I think, let me check. <janneke>dftxbs3e: i remember srfi numbers through usage and experience; i still often looked-up symbols through the index in the Guile info doc; just a couple of keystrokes away <janneke>i saw a nice talk on guix with a scheme intro where speaker used the concepts of code-mode and data-mode <dftxbs3e>It's interesting you suggest Racket, because I didnt read Racket because it wasnt GNU Guile\ <janneke>the data-mode toggle is on the ceiling, the code-mode toggle is on the floor <efraim>dftxbs3e: I'm curious if the long-double works by itself ontop of core-updates, the patch I pushed wsa a collection from upstream <efraim>janneke: that might've been win go (don't need to call him again) <janneke>' (quote) switches to data-mode; ` quasiquote also switches to data-mode...but you can escape from it, using the toggle on the floor: , (unquote) <efraim>and ,@ which I read as "do the following" <dftxbs3e>that's already much clearer than all the docs and books I've read. <efraim>i normally see it as ,@(alist-remove "foo" (package-inputs bar)) *efraim goes offline for a bit <janneke>yea, the '@" also unrolls the resulting list in-place (splice) <janneke>dftxbs3e: i suggested racket because i supposed you already read the guile docs and it didn't land yet :-) <janneke>it's all lisp, you could also read the elisp manual to learn about this aspect <dftxbs3e>janneke, good to know, because I'm clueless about Lisp and careful <jonsger>does someone has dictionaries and spell checking working in LibreOffice? <janneke>dftxbs3e: scheme is a modern lisp, some things are (still) the same, other things changed... <raghavgururajan>So, [1] I spent hours editing package definition of librsvg-next in gnome.scm. I just save the file in text editor. [2] Then, I made changes to rust-cssparser in crates-io.scm, git added crates-io.scm and git commit the changes for rust-cssparser. [3] I did `git reset --hard` to undo the commit on rust-cssparser. But now, my changes in gnome.scm is gone. <nckx>raghavgururajan: First, relax, you won't do anything clever while panicked. <nckx>raghavgururajan: Does your editor save back-up files? <dale`>Hello, anybody around to talk about gnu/package/linux:util-linux, in particular installation of mount.nfs? <dftxbs3e>raghavgururajan, remember, never use --hard <nckx>raghavgururajan: It's your only hope. âgit reset --hardâ is the ârm -fâ of git. You should not be in the habit of using it. Use âgit stashâ whenever possible. <dale`>raghavgururajan: are you familiar with gitk? <nckx>raghavgururajan: If the file is still open in your editor, can you âundoâ the reset? *raghavgururajan installing gitk <dftxbs3e>I'm afraid you've lost your changes if you've used --hard <mroh>dale`: mount.nfs is in nfs-utils not util-linux. <nckx>When I said it's hard to lose committed changes in git y'day the word âcommittedâ was very important. <nckx>The reflog stores commits. <nckx>raghavgururajan: You didn't commit these gnome.scm changes at any point? <janneke>...and using emacs makes it even less likely to ever lose work <dftxbs3e>GNU Emacs makes it an habit to open an infinite amount of buffers and never closing them aha <nckx>Post-learning curve I agree. While still learning the sharp edges of git, adding those of emacs (and magit andâŠ) can backfire. <raghavgururajan>nckx: When I commited the changes for rust-cssparser, would it also save the state of the whole repo? If that;s the case, if I recover the rust-cssparser commit via `git checkout -b <branch> <hash>`, would it also bring back the old gnome.scm? <janneke>yeah, not using git, emacs or computers makes it even less likely to lose work :P <dftxbs3e>raghavgururajan, if you didnt git add the gnome.scm changes, it wouldnt <nckx>raghavgururajan: gitk is in the git:gui output but it's not something that will help you with this. It's just the original Git GUI. <dale`>mroh: Hi! My problem is not mount.nfs per se, but that mount is configured to look in /run/current-system/profile/sbin for mount.nfs, but it is not there, it is in /root/.guix-profile/sbin. Either I need to change the installation of mount.nfs, or I need to change the configuration of util-linux to look in the other path. What do you think? <dftxbs3e>to do this kind of thing you can switch between branches and use git stash to save temporary changes and git stash apply to re-apply them onto another branch <janneke>raghavgururajan: using work is terrible, i can only sympathise <nckx>If you didn't commit the changes (even by accident), they're gone unless you have some file-system level snapshots or back-ups. The reflog or gitk or ⊠are irrelevant. I'm very sorry. I'm sure it's happened to most/all of us. <mroh>dale`: install nfs-utils in the system profile. <janneke>raghavgururajan: hopefully doing it a second time goes quicker than the first time... <nckx>You can check the reflog to see if you committed them by accident but⊠âč <efraim>the vim undo tree? I've never explored it personally <janneke>raghavgururajan: i guess i can safely say that all of us lost work at times, don't feel too bad about it <nckx>raghavgururajan: Definitely don't get in the habit of using âgit reset --hardâ in your regular workflow. It's a special command, generally not needed, and learning âgit stashâ (it's like a stack of temporary commits, although you can pop them out of order) will serve you well in future. <dale`>raghavgururajan, did you get gitk? <nckx>raghavgururajan: As you know, I just lost 2 weeks of some work because my backups broke. That's no consolation but you may feel less alone. <nckx>It has its place. Like a chain saw or a bone saw. <dale`>Then run gitk in the directory, go to view/new view, select All refs, hit okay. If there is anything above the current checkout (yellow dot) you may be in luck... <rekado_>I lifted the toggle switch imagery from âThe Land of Lispâ <nckx>> The reflog stores commits. <janneke>you did give a talk using that imagery, right? <rekado_>I think so. But I have been using the same explanation on here a number of times. <raghavgururajan>dale`, Nothing above the yellow dot. :( . But it seems I did git stash before I did git reset hard. <nckx>raghavgururajan: What does âgit stash showâ show? <nckx>Or, y'know, look at it before you pop it. <mroh>hmm, maybe we could extend emacs-build-system to install .org files to share/doc/pkgname? I dont like to `guix show pkg`, copy the url, paste in a browser etc just to read an html rendered org file for the documentation of the pkg. <raghavgururajan> gnu/packages/gnome.scm | 286 ++++++++++++++++++++++++++++++++++++--------- <nckx>raghavgururajan: gitk is just a GUI front-end, it won't solve any problems or get your data back any more than command-line git. <nckx>raghavgururajan: Congrats đ <nckx>You can restore them with âgit stash popâ. <nckx>Even if that gives you a conflict, it won't delete the stash, so your changes are safe. <dale`>nckx: I am totally with you about the command-line, but sometimes being able to explore graphically is a massive help. <dale`>I personally love gitk and use it all the time. <nckx>You *can* âgit stash pop stash@{number}â but by default it pops the newest entry, like a stack (hence the push/pop imagery). <raghavgururajan>nckx, dale`, dftxbs3e, efraim, janneke: Thank you all so much!!! It worked. <nckx>raghavgururajan: Don't forget that you got very lucky and must have run âgit stashâ somehow. Git does *not* do it by default; next time you use reset --hard you won't be so lucky. But yay! <raghavgururajan>nckx: Yeah, I didn't even remember doing it. I think I must have done my mistake while using tab completion. <raghavgururajan>Btw, if I wanted to reset unadded and uncommited changes to a particular file, how do I do it? <nckx>raghavgururajan: Do you mean tab-completing the stash or the reset? <dale`>Just delete the file, and then 'git checkout -- file-name' <nckx>raghavgururajan: Yes. But which command did you run by accident. <nckx>I want to know if you're incredibly lucky (running git stash by accident) or unlucky (running git reset --hard by accident). <nckx>So I can send you my lottery tickets. <jonsger>what does `bash: /path/to/foo: file or folder not found` mean on guix? is there something wrong with bash, the executables or some env vars? <raghavgururajan>I usually use git stash a lot. That is why it was execute when I pressed up arrow and enter. I rarely use git reset --hard. <nckx>jonsger: Could be any? Unixes don't have âfoldersâ so that's not a system message so who knows. Where is the error coming from? <nckx>raghavgururajan: That's a good habit. <nckx>âstash --hardâ isn't *wrong*, I use it often, but you should always treat it as its own exceptional thing and not part of a standard workflow/routine. <nckx>There are often safer ways. dale`s example was a good one. <nckx>âŠnow I kinda want stash --hard though. <nckx>jonsger: Can you manually verify that /path/to/foo exists and is an executable? If it is, but running /path/to/foo still says that it âdoesn't existâ, it could mean it's missing some library dependency. âldd /path/to/fooâ (part of glibc) will print them. Etc. If it runs fine, a bad $PATH is likely, a bug in bash is not. <jonsger>nckx: ah yeah, it's missing libraries :P <stikonas>dale`: you can also explore graphically with CLI, althouh, you see fewer lines with git log --graph --all <mekeor>are there plans to make guix-system better accessible for people not familiar with scheme, programming, the command-line etc? it would be nice to have a nice GUI, e.g. for creating a systems-declaration. that way, guix-system would be an alternative e.g. to UBOS and YunoHost. <rekado_>mekeor: a big part of the work would be to figure out what would make that GUI âniceâ <rekado_>mekeor: there are countless ways to provide a GUI here <rekado_>as an example, one could provide a graphical structural editor for the kind of S-expressions Guix uses <rekado_>that would ensure that the config file is at least syntactically valid, and it would provide drop-down choices for services and the like <mekeor>it would be easier to build such a GUI, i think, if there the guix' scheme-source-code had type-declarations for the fields of the services and configurations <rekado_>and anyway thatâs a moot point because Guix doesnât have types <rekado_>(well, other than record types and the primitive types that Scheme provides) <rekado_>for the âservicesâ field, for example, we know that we want a list of services <rekado_>a service value is a value of a certain record type <dale``>I think some introspection of the 'config' record types would be needed to show the user what options are available. <rekado_>I donât think you donât need more than that, definitely not type declarations <rekado_>bigger picture: what should this GUI be like? <mekeor>but when we'd try to write a GUI, we would have to manually specify for every configuration which values are possible, right? <rekado_>before Iâd even look at specific programming problems Iâd ask myself what the goal is <rekado_>I donât know what Iâm looking at there <mekeor>rekado_: it's a linux-distro with a web-interface for enabling and configuring web-related services, so that people can easily self-host those <rekado_>and after clicking around for a total of 1 minute Iâd say that this is not what Iâd like to see as a GUI for configuring Guix systems <mekeor>yeah, i don't mean to clone that. just as an inspiration. <PotentialUser-56>There is something like aur? Some user repository with proprietary or custom pathed software? <mekeor>rekado_: so what would you like a guix-system-GUI to look like? :) <PotentialUser-56>There is something like aur? Some user repository with proprietary or custom patched software? <mekeor>PotentialUser-56: AFAIK, there are many community-driven, non-official guix-channels â apart from the official one. :) <NieDzejkob>there's no single big repository with "more" like the AUR ***sputny1 is now known as sputny
<mekeor>PotentialUser-56: do you have guix installed locally on your machine? <NieDzejkob>there's `guix search foo' and also another interface that I can't find the link for right now <nckx>But âguix searchâ is recommended. <nckx>mekeor: That channel is specifically for software that doesn't meet Guix's standards (i.e. mostly nonfree stuff). <nckx>We ask people not to share nonfree software here. đ <PotentialUser-56>Ok, for example, currently im'm windows user(but at home i have laptop with arch). To run some windows apps i use wine. Is there any channel for latest wine releases? For example. <nckx>jonsger: We know đ It's a month younger than the real Guix. What's interesting is that we (well, I) didn't get a single message about it until Microsoft bought it last year. The power of owning open source and the SEO that comes with it! <nckx>PotentialUser-56: Then the version in Guix needs to be updated, not all effort duplicated in some random channel. I use Wine-staging so I'll update that. <nckx>They own the web site that makes all the open source. <nckx>Oh, it also makes wine-staging, indeed. <nckx>PotentialUser-56: Microsoft bought Express Logic and their GUIXÂź (not related to GNU Guix) in 2019. <janneke>rekado_: pushed a coreutils patch setting pwd-long to xfail for the hurd <bonz060>When building with guix, how do set a TMPDIR? <nckx>bonz060: The variable needs to be set in the *daemon*'s environment, so it depends on how you start the daemon. <nckx>On Guix System, the guix-configuration record has a âtmpdirâ field. <nckx>On other systems, edit the systemd unit file or whatever. <nckx>Or, stop the service and start a âtemporaryâ daemon on the command line with all the right options and environment variables exported đ <nckx>raghavgururajan: I'm not a regex oracle, but it looks correct apart from \\> & \\<. Escaping those should not be necessary. Best is to test (using -K). <nckx>Also: I *think* you mean to write \" instead of \\" but it depends on the context. <nckx>Assuming this is Scheme (substitute*): use \". <nckx>raghavgururajan: This might be a good time to point out the REPL (âguileâ or âguix replâ): paste your strings in there and it will remove one level of escaping, and out will come what the regex engine sees. <nckx>If you paste "assert_eq!\\(settings.get::\\<String\\>\\(\\"test-string\\"\\).as_str\\(\\), \\"Good\\"\\);" <nckx>that will throw an error because of the \\". <bonz060>nckx: thanks. But restarting the deamon would not be a viable option in my case. How do you clear builds you've just run. It appears I'm eating too much space with my builds hehe... <bonz060>NieDzejkob: From what I can see, failed build are stored in /tmp/guix-build* <bonz060>Also, I think this helps, `guix gc --list-dead` <bonz060>But now the question becomes, how do I remove dead files? <NieDzejkob>that's what guix gc (without any extra args) does <joshuaBPMan>hey guix, I instlled gtk-doc...how do I view the documentation? <roptat>gtk-doc is used to build the documentation of packages, but I don't think it's needed to view it, is it? <roptat>I'd expect the documentation to be in share/doc <roptat>relative to the package's store path, or your profile's path <roptat>some packages also have a specific doc output <roptat>gtk-doc mostly generates html documentation, so you only need a web browser <joshuaBPMan>if gtk-doc is needed to build the documentation...what program can I install instead of gtk-doc ? What program can I install instead of gtk-doc to read the gtk documentation? <blendergeek1>I'm having trouble installing GNU solfege in Guix. It seems to have to build something from source but fails complaining about malformed UTF-8 characters. Here is the log file: https://pastebin.com/b7HU9Laf <joshuaBPMan>I'm having a weird problem where "glib" appears to be installed, but I can't uninstall it. <janneke>rekado_: $ ssh childhurd guix build hello <janneke> /gnu/store/803q5wapfnmr91ag8d9dzwabkbdxz3ay-hello-2.10 <NieDzejkob>joshuaBPMan: It's probably being propagated by some other package <reepca>huh. So today I learned that guile-sqlite3 has used sqlite3_extended_errcode in the exceptions it throws instead of sqlite3_errcode all along. <zimoun>sneek later tell civodul Is a new presentation at JDEV? Or a recycled one? <jcob>my problem is, I have not signed any commits yet <jcob>is there any way I can temporarily bypass the need for a channel introduction <jcob>ALSO, is there any way that I can add this package to my guix search path _without_ adding it to a channel? I'm trying to write a service that depends on these package definitions <dustyweb>I'm VERY excited about replacing all my crufty server setups with Guix ***familia_ is now known as familia
<jcob>it will give me an error saying no code for module xdg-desktop-portal-gtk <jcob>I have no idea how to debug that. <jcob>How do you debug such a general error? <jcob>here's what it looks like: <jcob>building /gnu/store/9928qhkyzxynk4xsxbcgsqxrw7r42njg-xdg-desktop-portal-guix.drv...(repl-version 0 1 1)(exception misc-error (value #f) (value "no code for module ~S") (value ((xdg-desktop-portal-gtk))) (value #f)) <NieDzejkob>jcob: (define-module (gnu packages xdg-portals)) <- you sure? <jcob>ahh ok. Yeah I meant to eventually move it into forked guix source <NieDzejkob>when I mess with patches that are meant to go upstream, I do it in the guix tree from the start <jcob>I didn't because I figured I wanted to get this rolling as quickly as possible, wanted a proof of concept w/o having to compile guix itself <NieDzejkob>ah, that's a reasonable concern. I usually have a guix checkout ready to go anyway, so I didn't even think of that <jcob>OK so now I have another problem. How do you use modules written in another channel inside a service> <jcob>when I try to it says "no code for module" <jcob>nvm found that in the manual <jcob>OK so now here's my problem: <jcob>but when I try to declare a service with the following use modules: <jcob>oops, I meant: (use-modules (xdg-desktop-portal packages portal-gtk)) <jcob>I still get no code for module <jcob>NieDzeJjkob yes, I ran guix pull. <jcob>I'm defining the service in two files: <jcob>If i remove the use modules, which I was just testing out, then it works because the service for now just echos hi <jcob>ALSO if i try to do guix install xdg-desktop-portal-gtk it also doesn't work <jcob>is there a way to check which packages are provided via a channel? <NieDzejkob>oh, you're putting it in your shepherd config. Sorry, no idea how to refer to guix stuff from there <jcob>also I figured it out, I needed to resource guix <jcob>I mean i figured out why the xdg-desktop-portal-gtk package was not showing up <jcob>also, tiny frustration. While guix is very well integrated with emacs, I wish it were more "lispy" in its error handling <jcob>Like it would be really nice if when "guix build" failed, you were dropped into a scheme REPL <jcob>sort of like what you might expect when an ASDF build fails in common lisp <jcob>that would be a killer feature IMO <rekado_>jcob: for Guix itself you can drop into a REPL on errors. <rekado_>jcob: but thatâs not the case for anything that the daemon does. <rekado_>I hope that once the C++ daemon has been replaced weâll get to implement a few more niceties like that. <rekado_>I wonder if I can import my Hurd builds so far on berlin <rekado_>donât want to discard them all when the VM is restarted *rekado_ tries âguix copyâ <joshuaBP`>may I ask what the current status is on the guix daemon and moving it from C++ to guile? <janneke>rekado_: i've been using guix copy a lot <rekado_>joshuaBP`: reepca is dilligently working on it. We are not in a rush to switch, but whenever parts of the work have become mature they get added to Guix. <joshuaBP`>rekado_: hmmm. Good to know. I thought it used to be a google summer of code project... <rekado_>janneke: I see âaccess denied for publickeyâ, but I guess I just need to copy keys then <janneke>rekado_: remember to add a signing key <rekado_>joshuaBP`: it used to be a GSoC project, but I think that it had to be aborted for reasons I no longer remember <rekado_>joshuaBP`: but itâs continuing as an academic project IIUC <reepca>well, last spring I worked on it as part of my senior project. Right now I'm just doing it to get it done. <rekado_>reepca: thanks for the clarification! <rekado_>reepca: I appreciate your tenacity and dilligence <janneke>gawk took me a couple of retries, dunno why <joshuaBP`>reepca: Yeah it is pretty awesome that you're still working on it. <rekado_>I think itâs odd that âguix copyâ complains about SSH authentication, while plain SSH login works fine <rekado_>now I doubt whether âguix copyâ supports â--from=0.0.0.0:11022â <janneke>ah, i added "childhurd" entry in ~/.ssh/config <jcob>Hey does anyone here know how I could easily add to shepherd's load path to use packages in guix modules? <jcob>I need code from guix packages because apparently dbus services take a package <jcob>and I defined the package in a module that gets pulled in by a channel <joshuaBP`>jcob: in the shepherd file you could do something like (use-modules (guix packages)) <joshuaBP`>please don't quote me on that, but I think that you can just pull in modules that way. It is guile code afterall. <jcob>sadly thats not enough for pulling in channel code AFAICT <jcob>joshuaBP`but you dont use jmacs or perl-extra in your services <joshuaBP`>It's actually getting to the point that I rarely use my packages... <jcob>I appreciate the help but I dont understand why on gods green earth this thing does not see modules from my channel <joshuaBP`>hahahah. I'm sorry man. I get that frustration. <joshuaBP`>Would this work? (define-module (services yourservicename) #:use-module (guix packages) your code here) <jcob>well my big problem is this: I have a package installed in a channel <jcob>it can be accessed in the guix repl like so: <jcob>,m (xdg-desktop-portal packages portal-gtk) <jcob>but when I try to use that same package in shepherd, it fails. using (guix packages) does not fail <joshuaBP`>hmmm. Well I think you'll need someone more experienced to help you out. You're a little beyond what I can help. <jcob>yeah this is kind of a doozy <lfam>jcob: In what way did you try to use your package in a service? <lalo-salamanca>Guys, I want to setup a DE free guix on RPi 3. The ARM guide out there shows how to install on existing system. I don't get what becoming root user means on no OS <jcob>lfam: I have not yet suceeded but my goal is to pass it to the #:services slot of the dbus service constructor: <lfam>lalo-salamanca: What guide are you looking at? <jcob>Is there anything like G expressions but instead of pointing to whats built it points to its source? <jcob>I am able to get the use-modules to work as long as I stick in a "load" to the absolute path of portal-gtk.scm <lalo-salamanca>I see there are aarch entries in installer script. I'd like to use that <NieDzejkob>jcob: I think #$(package-source foo) should work, I think <lfam>lalo-salamanca: That section of the manual is for installing the Guix package manager on another OS. It doesn't install the full OS. You need to look at the manual section System Installation <NieDzejkob>lalo-salamanca: the binary installation is for installing on top of a foreign distro, see "system installation" insteda <lfam>jcob: I haven't used channels :/ but using the old-school GUIX_PACKAGE_PATH mechanism, my config.scm has to include a module import like (use-modules (lfam packages foo)) <lfam>The System Installation section has a chapter called "Building the Installation Image for ARM Boards" <lispmacs[work]>in config.scm, is the object received by the packages field exactly the same as a Manifest? <NieDzejkob>lispmacs[work]: AFAIK it wants a lisp of packages <lalo-salamanca>And where to build this image ? Do I need a specific environment? I use Parabola <NieDzejkob>lalo-salamanca: you'd want to install guix (the package manager) on top of your Parabola <lfam>I'm not sure, because I don't use these ARM boards, but I don't think we support the rpi3 "out of the box" at this time <lfam>We do support some other 64-bit ARM boards. If I understand correctly from reading 'gnu/packages/bootloaders.com', we support some Rockchip and Allwinner devices <lispmacs[work]>NieDzejkob: I want bind:utils added to my config.scm packages, but specification->package doesn't want to accept that <lfam>Not sure lalo-salamanca. A lot of libre distros won't support raspberry pi <lispmacs[work]>I know with manifests you can do (packages->manifest `((,bind "utils"))) <NieDzejkob>lispmacs[work]: argh. I'd try (packages (cons* #~#$bind:utils rest of your packages)) <lfam>lalo-salamanca: Although, that mailing list discussion I linked to shows there is a free bootloader for rpi3, so who knows <lispmacs[work]>NieDzejkob: whoa. are you sure that spell won't call forth a daemon or something? <lispmacs[work]>am getting error "inferior-package-inferior: Wrong type argument: #<gexp #<gexp-input #<procedure bind (_ _ #:optional _ . _)>:utils> 7f15ed702390>" <NieDzejkob>I'm not sure why you're putting stuff like that in your operating system definition, though <reepca>I find myself struggling to distinguish between multiple errors that have the same errno. For example, link(a, b) can produce ENOENT because a has missing directory components, b has missing directory components, or both. A subsequent stat could give some information, but it would be subject to race conditions <lfam>So many error messages are overloaded :/ <lispmacs[work]>NieDzejkob: in my approach, I consider basic office software and also some system diagnostic utils as part of the system (along with Gnome) <lispmacs[work]>NieDzejkob: it works fine for me, I just don't know how to add the non-default output of a package to the system packages. I figured out how to do it for Manifests, but that doesn't seem to apply here <jcob>when I try to do register-services <jcob>also how can I tell what slot its missing <reepca>could it be that shepherd and guix services are being mixed up? <jcob>reepca: yeah that file was all kinds of funky. I changed some things and now I get the same error... it happens when I try to instantiate the service with a service funciton <jcob>^^ thats what I have now <jcob>and tbh cannot figure out whats wrong with it <jcob>trying to go off of the avahi definition because this is a dbus daemon... <reepca>"service" has two distinct meanings: the shepherd thing you create with (make <service> ...) and the guix thing you create with (service some-service-type ...) <jcob>(service some-service-type) is what I'm talking about <hendursaga>reepca: Is there a name for the latter? Service type? Service declaration? Service...? <reepca>register-services is a shepherd procedure, and should be given shepherd services as its arguments <reepca>xdg-desktop-portal-dbus is a guix service, so it would make sense if shepherd doesn't know what to do with it <jcob>hmm.. So is the only way to really add these to add them to the guix source code? <reepca>hendursaga: the technical term for the thing that expression evaluates to is just "service". If you want to be maximally clear, you could call it a "guix service". <jcob>reepca: or is there some other way that I could get the guix service to launch <reepca>I guess if you wanted to be really, really clear, you could call it a "guix service instance" (as opposed to a "guix service type") <reepca>jcob: guix services are a bit more broad an umbrella than shepherd services, but there is a guix service type (shepherd-service-type) which can be extended with a guix-specific representation of a shepherd service. Then the config file generated for the shepherd when the system is built will include code to register and start the shepherd service derived from that representation. <jcob>reepca: how do I... start xdg-desktop-portal-dbus? or is there a way that I can.. <jcob>I'm so damn close to having it working... <reepca>well, you've got the right idea to extend shepherd-root-service-type, but it needs to be given a guix representation of a shepherd service, a <shepherd-service>, rather than a <service>. <reepca>that probably sounds confusing, but if you look at 8.17.4 in the manual it might make more sense <reepca>basically at system-build-time it'll be transformed from <shepherd-service> --> shepherd config file containing (make <service> ...) <jcob>so you can't really do this sort of thing inside a user init file <terpri__>(don't listen to me, i just woke up and there's already an example in the manual ;)) <terpri__>-specific services i think, but not systemwide services, no <jcob>yeah if they're transformed at system build time, I dont see how that would happen <jcob>because I wanted to register a new dbus service in my user init file <reepca>you could probably reuse a bunch of the code used to generate the config file though <reepca>but if you can't integrate it with the rest of the system I don't think there'd be much point <reepca>I'd be inclined to just look up how exactly dbus-service-type works and write it in pure-shepherd based on that <lispmacs[work]>ha, now I find out that there is a "specification->package+output" procedure <Formbi>I'm trying to package Firefox 79 <Formbi>so I'm trying to package it too and it says «error: no matching package named `heck` found» <Formbi>even though I added ("heck" ,rust-heck-0.3) to the inputs <Formbi>do you know what may be going on? <raghavgururajan>nckx: I am going to sleep now. Please leave me a message via sneek. Thanks! <lfam>Formbi: Is that the version of heck it's looking for? <Formbi>it't the newest one, so I think it is <lfam>Formbi: Are you using '#:cargo-inputs'? <efraim>Cargo packages are ... different <lfam>Formbi: I recommend looking at the Rust packages in 'gnu/packages/crates-io.scm', and making your package look like those <lfam>Guix handles Rust dependencies in a weird way <dustyweb>the new install-the-binary-thing-via-this-shell-script thing is <Formbi>«error[E0658]: use of unstable library feature 'inner_deref': newly added» what the flying f? <Formbi>how to enable those unstable features? *apteryx manages to update ruby-cucumber after 30ish commits <alextee[m]>is there a way to specify a specific file with guix build -L ? <alextee[m]>it takes a long time to scan everything in gnu/packages <rekado_>now I get âguix copy: error: protocol error on remote host '0.0.0.0': setting synchronous mode: locking protocolâ <rekado_>alextee[m]: âLâ only adds a directory to the load path; you canât limit it to select files. <janneke>rekado_: ah yeah, you'd need the locking_mode patch series; possibly copying out from within the childhurd might work -- i don't remember <janneke>damn, i forgot, i have been running that for almost a week now <janneke>i have been using guix copy for at least a month now (long before the locking patch series), i guess copying out should work, possibly making sure that just one guix-daemon runs and is idling... <guix-user-392>anywork around for configuring guix: configure: error: `aarch64-linux-musl' is not a supported platform. <janneke>guix-user-392: so, your best bet is to cross-compile on another machihne, to aarch64-linux-gnu <dustyweb>I'm awfully confused because they have /dev/sda (as opposed to /dev/sda1 or etc) being the root device of the debian disk they set up <dustyweb>so I figured, well, ok I guess I reconfigure to /dev/sda, but it sure didn't like that <dustyweb>said that grub refuses to install to an ext2 filesystem or something <nckx>dustyweb: âŠyou mean blocklists? <nckx>Without partitions there's no empty space (usually ~1MiB) for GRUB to hide, so it has to use an unreliable technique. It requires some --yes-do-that option that Guix doesn't pass. ***dingenskirchen1 is now known as dingenskirchen
<nckx>If that's the only available (or Linode-âsupportedâ) method, you can call grub-install by hand and use the (const #t) trick to disable Guix's GRUB installation. <nckx>(bootloader-configuration (bootloader (bootloader (inherit grub-something) (installer #~(const #t))⊠<nckx>I don't know how âUNRELIABLEâ the blocklist technique is, I've never used it đ€· <jackhill>dustyweb: I used the const #t trick on lindode. I use their install of grub, reading guix's grub.cfg <jackhill>I bootstrapped it by installing Guix on top of their (Debian) foreign distro, and they `guix system init` on a filesystem *that they created* <jackhill>that last part is important, if you want to use their "images" feature to deploy future nodes. <nckx>jackhill: So do they use an âexternalâ GRUB that lives in the âfirmwareâ? (Extensive finger quotes all-round.) <nckx>Or are you still praying that nothing moves those blocks. <jackhill>dustyweb: also, it's not in what I pasted, but you may have to add the virtio modules to the initramfs. I think I grabbed on old file. <rekado_>janneke: âguix archiveâ (with scp to copy the nar) was successful <jackhill>nckx: before they had kvm, they had xen vms where that was a pretty common pattern. Also, they would often use their own kernel instead of the distros. Whacky! <jackhill>dustyweb: the âfirmwareâ grub is the "GRUB 2" boot setting. <nckx>jackhill: Sounds like Scaleway [years ago], they did something very similar and bonkers. <nckx>Installing Guix was an adventureâą. <dustyweb>I may have an idea to make it slightly less bonkers <jackhill>dustyweb: ah yes, "(initrd-modules (cons "virtio_scsi" %base-initrd-modules))" is what I added so it could find the disk <jackhill>getting the serial console to wrok is left as an exercise to the reader. <dustyweb>I'm experimenting now with resizing the debian disk and making a new disk <dustyweb>and partitioning that one and installing guix on it from debian *nckx .oO âWrokâ is a Dutch word familiar to anyone who ever needed to use a VPS serial console. <dustyweb>then switching the boot disk to the guix one <jackhill>dustyweb: you're welcome! Good luck. I probably should have written up an experience report to help folks, but I left so many loose ends. *jackhill also needs to do some âwrokâ to make a cable to get a console on their HP MediaServer server. <jackhill>Guix is installed, but it doesn't show up on the network, and there is not a way to tell what it wrong. <nckx>Hm, I'm building both qtwebengine and webkitgtk⊠world o' pain incoming? <alextee[m]>can someone point me to an example package that uses a commit instead of a tag? <nckx>The "0.1" version means (or should mean!) that there was a 0.1 release before this commit. If there have been no releases so far, use "0.0.0". <nckx>(version "yyyy-mm-dd") is acceptable if that's how upstream formats their release numbers. But only if it's a reliable pattern. <nckx>Lots of repositories have random yyyy-mm-dd tags for forgotten snapshots. <rekado_>if you want to be safe you could slap a â0.â in front and call it a version <nckx>Good point. 0. is a get-out-of-monotonic-jail-free card. <nckx>Neat, I always forget that find-files can take a λ. *nckx â zzz, but if nobody beats me to it (& I don't forgetâŠ)âŠ