<ryanprior>A lot of go tools I use are that way. Super easy to build, since the go build tool handles fetching dependencies for you from github, and super easy to deploy, since you get a static binary.
<lfam>It could be done though. The new thing is "Go modules" which do tell us everything we would need to make an importer work
<ryanprior>Does it require opt-in by each package or does it provide a way of formalizing all the existing go package structure?
<lfam>ryanprior: For now, it's opt-in, and can be disabled at the compiler level (we still do this when building Go packages). In the future it will be mandatory. I've noticed solid uptake, because it does seem to solve the problem nicely, and it's built-in to the language
<lfam>Even though we disable it at build-time, we could still write an importer that would parse each package's 'go.mod' file to get the URLs and versions of dependencies
<lfam>Recently someone suggested making the importers output "fix output derivations", so in a sense the entire dependency graph would be considered source code, and one would only need to package the one thing you actually needed to use
<lfam>I haven't thought about it deeply but it would make dependency-crazy languages like Rust and Go a lot easier to package
<ryanprior>Yeah that would be nice. What do you think about a channel of lightly/automation-reviewed library packages from go/rust/node/python/etc ecosystems?
<lfam>In case you wanted to look that thing up, I meant to write "fixed output derivation"
<lfam>ryanprior: If people want to do it, go for it! I don't really have time or need for it though
<Fare>(un)happily this laptop has 2.5 more years in it (considering I bought an ultra-extended warranty)
<Fare>But I'm reminded to go shopping for a free-software-friendly laptop then.
<ryanprior>That's where I'm at. My laptop has non-free wifi and a lot of the software I prefer isn't packaged in Guix yet.
<lfam>The main wifi chips with freely-licensed drivers are the ones from Atheros using the ath9k driver. I believe there are also some free drivers for some realtek and broadcom chips, but ath9k is the most popular type
<ryanprior>So I'm working on packaging the software, and looking forward to installing Guix on a laptop with more respect for user freedom :)
<lfam>Also, with some laptops you can even change the wifi card. But some of them don't allow it in the laptop's firmware :(
<Fare>Has any of you used Guix as a Qubes virtual machine?
<lfam>I haven't. Would that be like a guest process (not sure of the terminology) in Qubes?
<ryanprior>I'm interested in the potential integration between Guix and Qubes, or even a Qubes-like swarm manager built around Guix.
<raghavgururajan>lfam I wanted to ask you something. When you fixed seg fault for xfe, you mentioned some bash-completion directory in the package definition. But that directory does not exist. I would like to know what it does. :-)
<peanutbutterandc>*ahem* I have a question: I am on a foreign distro. And I've been using sakura - a terminal emulator - from guix. But when I click on the URLs in sakura, and right-click>'copy' and try to paste it, it doesn't work. But highlighting and copying does. I suppose it has something to do with clipboard not being shared or something. Can anybody please give me some pointers regarding that please?
<bdju>did you use sakura and have different results before getting it from guix?
<peanutbutterandc>bdju, No, sir. I haven't used sakura from outside of guix yet. But the distro-supplied-terminal-emulator works just fine (the copy-paste issue isn't there)
<bdju>I just wonder if the right-click copy button works differently from how you expect
<peanutbutterandc>bdju, Sorry I got lost. So I just checked. I have openshot (from guix) as well. And from there right click > copy location does copy the url/whatever. So it seemed to be to be a sakura-specific thing but then I tried it with tilda (from guix, as well) and the same issue
<peanutbutterandc>So... I'm beginning to think it is an issue either with the terminal emulator dependency, or, more-likely, with gtk applications (openshot runs off of qt)
<reepca>dissoc3: not sure how you're trying to set up a static ip, but %desktop-services can be found in ~/.config/guix/current/share/guile/site/3.0/gnu/services/desktop.scm on line 1204. The relevant service would appear to be network-manager-service-type. There is also a static-networking-service-type instance in %base-services.
<dissoc3>reepca: i was just trying to use static-networking-service-type. is there a more full example of this? it seems like it should be something pretty common
<reepca>you can see how the service in %base-services is configured in ~/.config/guix/current/share/guile/site/3.0/gnu/services/base.scm. Methinks that to configure it further you'd want to extend that service with another service
<dissoc3>honestly im just an idiot trying to get a static ip to work
<dissoc3>i might just get my dhcp server to assign me the ip i want based on my mac address.
<reepca>ah, hm. Well basically, when guix system reconfigure processes your <operating-system>, it uses a procedure called fold-services to figure out how they all work together
<reepca>so for example, if you want your nginx server to not run as root, it can extend the user-accounts service or something like that IIRC
<dissoc3> it makes sense to fold over the sequence of services
<reepca>static-networking-service-type can likewise be extended
<dissoc3>so like normally with a lisp i could use a repl and see the %desktop-services data structure and then update it. but i dont see how to get that workflow in the config file
<dissoc3>i can run geiser and switch to the module but that's as far as i can go
<reepca>you can programmatically manipulate it with procedures like "remove". This is commonly done to, for example, remove the GDM service from %desktop-services and then cons a slim-service or sddm-service onto the result
<reepca>regarding the REPL, that's a good question. What happens when you try?
<dissoc3>reepca: so im using gieser and emacs. i start gieser. and can switch to module. but I cant compile the current buffer. so i'm unable to really do anything
<rbonnal>efraim: and a more general question, do you have API documentations for guix, I mean coming from outside and reading your code I discovered the `inherit` function which is very cool, but I can not distinguish if its a proper Guix function or specific by guix.
<dissoc3>reepca: maybe i cant use sudo and tramp for it
<reepca>dissoc3: yeah, I just tried it with /sudo::/etc/config.scm, and guile complains about being passed a TRAMP filename
<dissoc3>yeah. sorry. im kind of brain dead after messing with this stuff for the past few days. it all seems so freaking cool but im too stupid to get any of it to work
<reepca>running M-x geiser-load-current-buffer and M-x geiser-compile-file seem to work for me when config.scm is opened over non-tramp
<dissoc3>reepca: I guess that makes sense. thanks for trying and letting me know
<reepca>(well, I get a deprecation warning that causes the compile log buffer to pop up, but aside from that)
<dissoc3>i dont care about that. i just want to jump to definitions
<efraim>I picked up most of it by reading the source and modifying as needed
<reepca>it makes some sense that telling local guile to compile remote file wouldn't work, but even when I did M-x run-guile from a tramp buffer (so both of those buffers were remote ones), it still gives the remote guile the tramp name. That at least sounds like a bug in geiser
<dissoc3>reepca: i've been spoiled by clojure recently
<rbonnal>efraim: got it, it is a matter getting skilled. Make sense
<dissoc3>i appreciate the help. i will give it another shot
<reepca>to any interested, inherit actually isn't a procedure at all. define-record-type* from (guix records) is a macro which defines a so-called "named fields" constructor, which is also a macro, and that constructor interprets the inherit syntax specially.
<nikita`>i never got around to resolve the localhost/127.0.0.1 one because I had to take a long break
<NieDzejkob>Kimapr: Looks like you'll need to create a package for this driver, you can take a look at https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40568 for inspiration (when you do, please send it to firstname.lastname@example.org :D). Then, you can add it to your operating-system configuration in the kernel-loadable-modules argument
<mbakke>well this is new: "guix pull: error: Git error: error inflating zlib stream"
<rekado>mbakke: perhaps you got garbage from Savannah
<raghavgururajan>While building 'audacious-plugins', during install phase, I get the error "PermissionError: [Errno 13] Permission denied: '/gnu/store/2j2ajvz8v9f1kr12f1ys0ikwp14cjh4b-audacious-4.0.3/lib/audacious'".
<ennoausberlin>Hello, I need some help to finish the installation of guix sd on an external bootable usb stick. everything went fine, but the last step failed with "could not prepare Boot variable input/output error
<mothacehe>it may be solved by running the command I sent you earlier
<alextee[m]>i do have that file. i actually do get substitutes often, just sometimes it seems i hit packages that haven't finished building on the CIs i guess
<ennoausberlin>After failure I booted from install stick again, mounted the destination stick and tried to manually run guix system init /mnt/etc/config but init was talking about wrong number of arguments
<hulten>I actually searched for Calibri, but that's proprietary; and then I found that «Carlito [...] is metric-compatible to Calibri».
<hulten>I *suppose* this metric-compatability is associative, so Liberation would be metric-compatible to Calibri as well.
<mbakke>hulten: feel free to submit a patch that updates the descriptions to mention that
<nikita`>noto could be build from source, but it's an annoying process
<jvshahid>Hi everyone. I am trying to use augment-rpath from the (guix build rpath) module inside the copy-build-system phase. When I try to build the package I get the error `Unbound variable: augment-rpath'. I think I need to import the module inside the build-code, but I am not sure how.
<NieDzejkob>jvshahid: You'll need to add it to the #:modules argument, and also potentially #:imported-modules
<NieDzejkob>(the former is what's in scope, the latter is what's in the build container)
<lfam>grubles: I'm not sure, I don't see an error. I wonder if maybe something about the Qubes setup is tripping it up, but really have no idea
<lfam>If nobody else chimes in, you should send a message to <email@example.com>
<jonsger>can channels also be added to config.scm or only to channels.scm?
<PotentialUser-25>Hi guys, I tired to use guix env. to compile coreboot whit this: "https://paste.debian.net/1143822/" but launching the ./config the prompt sad this: configure: error: "qemu, coreboot and loongson ports need unifont" . Unifont was already on my manifest
<lfam>PotentialUser-25: Unifont has multiple "outputs" for different kinds of fonts. Make sure you pick the right output
<lfam>PotentialUser-25: You probably need the PSF fonts