IRC channel logs


back to list of logs

<nckx>Native means ‘for the host architecture when cross-compiling’.
<alextee[m]>nckx: my understanding of native-inputs is that "these are inputs that are only needed at compile time"
<alextee[m]>if my understanding is correct, static libs go there, no?
<alextee[m]>but if they're not inputs needed at compile time, is there a place to define that?
<alextee[m]>but that means that those packages will get installed along with the program, doesn't it?
<nckx>Guix doesn't require packagers to differentiate inputs based on when they are used.
<alextee[m]>ok i'm having a little enlightenment moment now
<nckx>Guix doesn't look at packages' inputs to determine dependencies of store items, it looks only at embedded store references.
<alextee[m]>nckx: is this the command to check them? guix gc --references /gnu/store/....-mypackage ?
<nckx>So your ‘understanding’ above is correct, but your reasoning is not 🙂 git is a native-input because it runs at build time, and has to run on the host (say an x86 machine when you're compiling for an AVR chip). A static library contains compiled code that is embedded in the final resulting AVR binary, so it can't be ‘native’ (x86). Does that make sense?
<nckx>alextee[m]: Yep.
<nckx>I chose AVR as example of an ‘exotic’ arch, but it coulde be anything.
<alextee[m]>nckx: ahh okay, i see what it means now and what the "native" stands for. thanks for clarifying it!
<nckx>Yay! I love this moment. I agree it can be confusing, but it does make sense.
<nckx>Once you realise that Guix doesn't trust packagers to say what needs to be kept around as a run-time dependency but figures it out itself, thank you very much, it starts to click.
<alextee[m]>yeah just not used to this way of describing packages. other distros are usually "these are the build requirements" and "these are the runtime requirements" so i thought it was the equivalent, but i see guix is much more elegant
<nckx>‘inputs’ just throws things into the build environment. Only what comes out is a dependency.
<mbakke>I suspect it's mostly confusing for people with experience packaging for other distributions, where 'inputs' typically equate to what Guix calls 'propagated-inputs'.
<alextee[m]>"‘inputs’ just throws things into the build environment. Only what comes out is a dependency." i should post this somewhere to remember it
<nckx>alextee[m]: Like all things it has its own gotchas and tradeoffs (references can be ‘hidden’ in e.g. compressed jars, which is why Guix installs uncompressed jars) but yes, on the whole it is much more elegant.
<alextee[m]>so basically propagated-inputs are for dependencies that are not referenced but must be installed manually along with the package ?
<nckx>To (very) roughly paraphrase the Nix thesis: ‘this sounds like it shouldn't work half as well as it does in practice—but it does.’
<nckx>alextee[m]: Correct!
<alextee[m]>yay! lightbulbs lighting up everywhere
<nckx>They are an overused but very convenient ‘I don't want to bother with this, just throw it in the end profile’ hack.
<nckx>When propagated-inputs start to conflict and otherwise misbehave you remember how complex and tricky it is to do manually, the non-Guix way.
<alextee[m]>yeah sounds like things can go wrong, but also sounds like it should work fine most of the time (on my machine (tm))
*alextee[m] goes back to *properly* packaging stuff
<nckx>I didn't mean to scare you off prop-inputs, they have their uses, but don't let them become a crutch. Have fun o/
<alextee[m]>yeah no, it's much clearer now at least. thanks!
<nckx>alextee[m]: I just read Jakub's comments on the zlfo patches. They'll make more sense now. 🙂
<alextee[m]>they do!
<User-77785>hi Guix! I'm trying to install rustup, but am running into an error "no such file or directory". I've traced it to ld not being able to find glibc, (rustup-init requires: Requesting program interpreter: /lib64/ I've found, but am not sure if the --set-rpath wil
<User-77785>l have negative effects in the future. Should I follow those instructions? is there a long-term solution? will that cause issues if I update glibc and guix gc?
<User-77785>odd.. maybe I'm wrong about this. "ldd ./rustup-init" says "/lib64/ => /gnu/store/ahqgl4h89xqj695lgqvsaf6zh2nhy4pj-glibc-2.29/lib/ (0x00007f7880f60000)", which makes it seem like it does know where glibc is
<User-77785>ahh, here's the culprit: " => not found". Find finds it though: /gnu/store/347y0zr1a9s2f5pkcncgi3gd0r33qq81-gcc-9.2.0-lib/lib/
<User-77785>super strange. after `patchelf --set-rpath ...`, `ldd ./rustup-init` no longer says "not found" for any of the libraries... but I still get this error "zsh: no such file or directory: ./rustup-init"
***jonsger1 is now known as jonsger
<guix-vits>Hi Guix.
<guix-vits>User-77785: ? "Mozilla has an overlay, but we expect not questions, but pull requests":
<guix-vits>Last message from 27-th Marth of 2019
<guix-vits>But rust is packaged, aren't it?
<guix-vits>`guix install rust`
<funfuna>User-77785: you need run patchelf --set-interpreter
<PotentialUser-95>Anyone know how to set up wireguard kernel modules? I added (initrd-modules (cons "wireguard" %base-initrd-modules)) but it doesn't build
<funfuna>Wireguard should not be placed in initrd.
<guix-vits>funfuna: It's should be built-in?
<funfuna>The wireguard I use is loaded as a module.
<funfuna>GuixSD I haven't used wireguard yet, I have used other distributions
<guix-vits>funfuna: `guix search wireguard` --> "wireguard: This package provides the userspace tools for setting and retrieving configuration of WireGuard network tunnel interfaces, and a patch that can be applied to a Linux kernel source tree in order to build it with WireGuard support."
<funfuna>I think things like vpn or network are not what initrd should do. (Although these operations can be put in initrd).
<guix-vits>interesting, how to chech if Linux-Libre built with this support...
<nckx>guix-vits: There is no Linux with Wireguard support yet.
<nckx>That's 5.6.
<guix-vits>nckx: thanks. But the module is there?
<nckx>It's in the kernel-patch (or patch, I don't remember) output of the wireguard package.
<nckx>You can add it to your system profile and run ‘insmod /run/booted-system/profile/lib/modules/`uname -r`/extra/….ko’ at boot. Let's hope makes that seamless.
*nckx → 😴
<guix-vits>PotentialUser-95: ^ (thanks)
<PotentialUser-95>nckx: thanks, looking forward to being able to being able to have it load automatically
<PotentialUser-95>I added it to system profile (packages) section of operating system, but I don't have any modules dir under /run/booted-system/profile/lib
<guix-vits>PotentialUser-95: Is /run/booted-system/kernel/lib/modules/`uname -r`/kernel/extra/ exist?
<Blackbeard>hello Guix :)
<bavier`>howdy Blackbeard
<Blackbeard>I'm still having problems to install Guix with a dual boot setup
<Blackbeard>how are you bavier` :)
<bavier`>doing alright, trying to fix a 'guix pack' bug
<Blackbeard>this is my config
<Blackbeard>I am sure the problem is with the (menu-entries )
<Blackbeard>because if I comment that part it starts installing
<Blackbeard>but if I uncomment it, I get a huge wall of text
<bavier`>Blackbeard: the value should be a list
<Blackbeard>should I save the backtrace in a file and report as a bug?
<Blackbeard>bavier`: with (cons* )?
<bavier`>so (menu-entries (list (menu-entry ...) (menu-entry ...) ...))
<bavier`>no cons* necessary unless you're adding to another list
<Blackbeard>maybe then I can change the documentation
<Blackbeard>so it mentions that in the example
<Blackbeard>it does say that in menu-entries now that you mention it
<Blackbeard>but the example does not have it
<bavier`>yeah, I've been confused by that before.
<Blackbeard>bavier`: wonderful! it is installing now :)
<bavier`>I think even having the menu-entry example include the enclosing menu-entries would help there
<bavier`>Blackbeard: great!
<Blackbeard>I will install tmux first though, so I can deattach from my laptop
<Blackbeard>I would love to move to guix but my damn printer >_<
<Blackbeard>it so frustrating :( I am studying a master on law of IT and Privacy
<Blackbeard>and yet even my teachers who are lawyers and know abuot technology and privacy use proprietary technologies and stuff like facebook
<Blackbeard>It is so frustrating that most software has so many lock-ins
<bavier`>it is perplexing sometimes
<drakonis>Blackbeard: you gonna have to roll your own package to have your printer function
<Blackbeard>drakonis: yes, I will try to do that :)
<Blackbeard>bavier`: It is, I was expecting people to be more conscious here, they even hosted an RMS conference. But nothing.
<Blackbeard>anyway, Guix is installing so I am happy :)
<Blackbeard>I saved in my todo list to add to the documentation the (list ) part in the example
<Blackbeard>hopefully tomorrow I will send it
<Blackbeard>I want to start sending more patches
<Blackbeard>hopefully participate in GSOC too
<bavier`>I have on my todo list to review more patches ;)
<bavier`>Blackbeard: that would be great. do you have a project in mind?
<Blackbeard>well, I was thinking that maybe the systemd parser would be helpful
<Blackbeard>but I don't know if somebody is working on that already
<drakonis>that's a nice one.
<drakonis>there's also proposals from previous years
<drakonis>the ones that werent taken
<Blackbeard>a while ago when I was on guix system I wanted to use some daemon and I remember there was a systemd file for it
<Blackbeard>and that's why I thought that it could be helpful to do that with shepherd
<Blackbeard>because it is something I wished existed
<Blackbeard>but of course my printer was a problem and as I print daily, I moved to parabola again with guix package manager
<raghavgururajan>Did just hear systemd on guix? :P
<raghavgururajan>*Did I
<Blackbeard>not exactly raghavgururajan haha, it is just parsing systemd files
<drakonis>no that's just the ability to parse systemd units
<bavier`>April fools!
<drakonis>arent we two months away?
<raghavgururajan>Blackbeard, drakonis: I know I know. xD
<bavier`>drakonis: yes, but that has been one of the jokes
<Blackbeard>is anyone so far working on it?
<bavier`>drakonis: very elaborate:
<Blackbeard>I want to start since right now, because I want to have a solid proposal
<Blackbeard>and actually start contributing even if I don't get accepted
<drakonis>its a real patch
<drakonis>the bad is that people miss that it is a joke and get angry about it
<Blackbeard>it is a real patch!
<raghavgururajan>Imagine a sliced pizza, where you try to lift and pull a slice but won't come out, because the cheese fibres are so tight. That's what systemd is.
<Blackbeard>on reddit people swear by it
<Blackbeard>but I don't like it
<Blackbeard>my parabola has openrc
<drakonis>systemd is alright
<raghavgururajan>slices=modules. cheese fibres=interlocked dependecies.
<raghavgururajan>But yeah. Neat ideas though.
<drakonis>its neat.
<Blackbeard>drakonis: oh maybe I should write an email like that one too
<drakonis>it did do wonders for uniting distros under a single flag
<raghavgururajan>It does gives opportunity to unite. But instead releasing it as some suite. They released init-system. That fired up things. Why would an init system comes before boot and manage this like dns etc.
<drakonis>those are addons
<drakonis>you're not required to use any of them
<raghavgururajan>That's true.
<drakonis>in fact, only a couple distros actually use it
<drakonis>they use a small slice of the feature set offered
<raghavgururajan>Yeah, it's a system manager rather than init system or service manager.
*raghavgururajan is going through an experience of using IRC via phone.
<Blackbeard>raghavgururajan: nice! which app?
<Blackbeard>I use simple IRC from f-droid
<raghavgururajan>Blackbeard: Conversations
<raghavgururajan>Blackbeard: I use IRC via XMPP.
<Blackbeard>Conversations?? how can you enable IRC in conversations?
<drakonis>there's an interesting gsoc project
<Blackbeard>how ??
<raghavgururajan>Biboumi (IRC Gateway for XMPP).
<drakonis>see guix system monitor
<Blackbeard>I was using IRC via Matrix but Blackbeard[m] is dead now after an upgrade to the server
<drakonis>the message passing system can be reused for a variety of things
<Blackbeard>I can't even login to Blackbeard[m] now to log it out
<Blackbeard>raghavgururajan: looks great!
<raghavgururajan>Blackbeard: Providers I know: 1) 2)
*raghavgururajan also uses SMS via XMPP
<Blackbeard>ohh I would love a disroot account
<Blackbeard>last time I checked they were closed
<raghavgururajan>Blackbeard: Hop on :-)
<Blackbeard>I use for email but the other services I don't have them
<raghavgururajan>Blackbeard: If you would like an Riseup Account, I can send you an invite code.
<Blackbeard>ah wonderful! it is open now!
<Blackbeard>raghavgururajan: that would be great!
<Blackbeard>my current email is
<raghavgururajan>Cool, I'll shoot you an email.
<Blackbeard>raghavgururajan: thank you!!
<raghavgururajan>Blackbeard: TBH, Disroot is better than Riseup. Some XEPs are missing on riseup's xmpp server.
<raghavgururajan>You're welcome!
<Blackbeard>I recently started to play widelands, seems like it is not on guix,
<Blackbeard>maybe I can try to add it
<Blackbeard>I have no idea how hard would it be to package it
<drakonis>what's the source deps?
<drakonis>its very easy to package
<raghavgururajan>Blackbeard: E-Mail Sent.
<Blackbeard>raghavgururajan: thanks!
<Blackbeard>drakonis: oh yes! seems like there are not that many dependencies
<Blackbeard>it can be my first package!
<drakonis>all packaged.
<drakonis>cool beans.
*guix-vits FUUU.* moment above...
<raghavgururajan>guix-vits: o/
<guix-vits>raghavgururajan: o/
<guix-vits>Maybe, today: : why guile was sensetive to whitespace with "sqrt-iter"?
<raghavgururajan>guix-vits: What was the moment?
<guix-vits>raghavgururajan: "a: it can be my first package! -- b: all packaged, cool beans (trololo)"
<raghavgururajan>guix-vits: Cool!
<bavier`>guix-vits: I think the messages are interleaved; as I read it the "all packaged" refered to "not that many dependencies"
<guix-vits>bavier`: but ambiguous enough to be funny?
<bavier`>guix-vits: sure, yes :)
<raghavgururajan>Blackbeard: You should try "Revolution IRC" from F-Droid. You'd love it.
<Blackbeard>raghavgururajan: the only problem i have with it is I don't know how to complete nicks, so I alwas end up going back to simple IRC
<raghavgururajan>Blackbeard: I see. Cool!
<raghavgururajan>Blackbeard: Anyway, once your disroot account is approved. You can join this channel via Conversations. Syntax is
<bavier`>ugh, youtube-viewer's API key was disabled by the Googs
<raghavgururajan>Yeah :/
<raghavgururajan>For now, I use
<bavier`>a suggestion was to have distributions create and distribute their own API key
<bavier`>I don't know that we've got that kind of organization yet
<Blackbeard>raghavgururajan: ah nice :)
<funfunA>How to install vim-full without GUI.
<PotentialUser-95>guix-vits: /run/booted-system/kernel/lib/modules/5.4.21/kernel/ exists but no extra/ inside it
<PotentialUser-95>oh it's probably because I'm using a different kernel than the default guix one (since I need support for my wifi card)
<guix-vits>funfunA: neovim seems to not bundle GUI.
<guix-vits>PotentialUser-95: Is it should be somewhere in /gnu/store/*-wireguard*/ , then?
<terpri>funfunA, if you'd like exactly vim-full minus the gui, you can define your own package using different configure flags, e.g.:
<funfunA>; export PATH="/root/.config/guix/current/bin${PATH:+:}$PATH"
<funfunA>I pressed the wrong shortcut
<Blackbeard>seems like guix is installed now!
<Blackbeard>now i just need to reboot, wish me luck :D
<guix-vits> /o/ -- forward!
<guix-vits> 0
<guix-vits> /\
<Blackbeard>it kinda worked hahaha
<Blackbeard>I can't boot into parabola
<Blackbeard>but I can boot into guix
<Blackbeard>I think this was my mistake, now I gotta make guix recognize parabola and reconfigure I guess
<Blackbeard>but guix work so I am happy :)
<DamienCassou>hi everyone
<DamienCassou>I'm using `$(guix system vm ./current.scm)` to start a VM running Guix from Fedora. It works but I can't install anything for the guest user inside the VM because the store is mounted read-only. Is that normal?
<mroh>I try to use shepherd as a user. How can i generate a shepherd service file from a guix service? i tried something like "(shepherd-service-file (service bitlbee-service-type))" but that throws in shepherd-service-provision...
<guix-vits>DamienCassou: is `guix install emacs` not working? In manual that was said, that the store writable only by the guix-daemon, and somehow mounted read-only for the rest.
<DamienCassou>`guix install emacs` (what else?) answers:
<DamienCassou>> guix install: error: changing ownership of path '/gnu/store': read-only file system
<DamienCassou>in Fedora, `/gnu/store` belongs to user `root` and group `guixbuild`. In the Guix VM, `/gnu/store` belongs to user `root` and group `964`. I guess I should play with the group number in the VM too, right?
<guix-vits>DamienCassou: ?
<DamienCassou>I read this page several times already. Which instruction are you referring to? The one that says I should copy the image to somewhere writable?
<guix-vits>i'd ask if you read them. So you'd read them, and it's not work...
<guix-vits>DamienCassou: did you tried to use `guix package -i` instead of `guix install` (maybe)? It's working for non-guest?
<DamienCassou>exactly same error
<guix-vits>For non-guest too?
<DamienCassou>`sudo guix package -i emacs` reports same error
<DamienCassou>what is surprising is the "changing ownership" part of the error message
<guix-vits>DamienCassou: `sudo -i sh -c 'guix install emacs'` ?
<efraim>in a vm created by Guix the store is mounted read-only. You probably want 'guix build vm-image ./current.scm'
<mroh>DamienCassou: afaik, vm created w/ "guix system vm" are immutable. maybe its better to create an image "guix system vm-image" and copy that...
<guix-vits>efraim: but `guix build vm-image` is a special case? No compilation?
<efraim>it creates a stand-alone VM image that you can copy out of the store and will allow you to make changes inside the VM, like installing packages
<PurpleSym>Can I somehow obtain the build directory, similar to `assoc-ref inputs "someinput`?
<janneke>PurpleSym: you can do (getcwd)
<guix-vits>efraim: the manual: `guix system ...` --> "If you built your own image, you must copy it out of the store (see The Store) and give yourself permission to write to the copy before you can use it.". Maybe change it to `guix build ...` ?
<efraim>'guix system vm-image foo' returns a (qcow2?) image that can then be run with qemu or another virtualizer
<PurpleSym>janneke: Ah yes, that’s what I was looking for. Thanks!
<guix-vits>efraim: 'guix build vm-image my.scm' doesn't work.
<efraim>guix-vits: 'guix system vm-image'
<efraim>system, not build
<raghavgururajan>Does Guix Manual have a page for `guix system vm` ?
<guix-vits>efraim: got it, thanks.
<raghavgururajan>I couldn't find it when I skimmed over the manual.
<DamienCassou>raghavgururajan: yes. From the main page click "8.14 Invoking ‘guix system’"
<raghavgururajan>DamienCassou: Thanks.
<DamienCassou>and you will find a section for the `vm` command
<raghavgururajan>Great, I was meaning to learn how to use it.
<Gooberpatrol66>so i chose several DEs in the initial installer. how do i switch between them?
<guix-vits>Gooberpatrol66: in GDM look for "gear" icon near password input field
<Gooberpatrol66>i don't see a gear
<guix-vits>Gooberpatrol66: Near the button "Sign In"?
<rndd>hi everyone! could i ask newbe questions here?
<sneek>rndd, you have 1 message.
<sneek>rndd, rlb says: of course
<rndd>i have question about guile compiler. i found function compile-file and argument #:output-file. but the result is a bite-code. can i build machine code out of guile file?
<guix-vits>rndd: idk. But there is also a #guile channel.
<guix-vits>also, Wikipedia refers to `guile` as to interpreter.
<rndd>guix-vits: well ye, but there is a compiler guild that can output bitecode. and i was interested, is it possible to compile machine code of guile file or not?
<guix-vits>about `guile` i'd only heard (recently) that it's got a JIT ...
<guix-vits>So, probably it's not a priority (idk, btw).
<rndd>ok, thank you for answers
<guix-vits>again wrong one... sorry
<guix-vits>There -- interpreters.
<guix-vits>rndd: #guile should know for sure.
<leoprikler>rndd: Currently, guile is not compiled directly to machine code.
<leoprikler>That's why Wikipedia refers to it as 'interpreter'.
<zzappie>Hi Guix!
<zzappie>I was experimenting with environments recently. I create .genv folder in repository I am working in for storing environments and then use "guix environmet" with "--link-profile --container --user=project-name --share=project/.genv/genvname=/home/project-name". This way I can install arbitrary things like python and npm packages and make this environment persist between invocations
<zzappie>Next step for me is to integrate it with emacs. I thought it would be very cool to use "-- python" for example to start repl with comint within an environment
<zzappie>Has anyone done that already?
<guix-vits>zzappie: not sure. Looks like an example:
<guix-vits>"Elnode has this example code for doing a Javascript shell:"
<zzappie>guix-vits: Thanks! Looks cool
***apteryx_ is now known as apteryx
<efraim>how do i test which versions of opengl I can run?
<guix-vits>efraim: what device it is? is prints supported versions of opengl.
<efraim>looks like I'm looking for glxinfo
<efraim>glxinfo looks like it's in mesa-utils
***happy_gnu is now known as Blackbeard
<Blackbeard>hello guix :)
<Blackbeard>ok, so it seems that I have to update grub to recognize the partition with parabola
<efraim>looks like I support 2.0 or 2.1. alacritty needs 3.2+
<Blackbeard>does this means I need to install os-prober
<Blackbeard>or what is the guix way to do it?
<DamienCassou>mroh: thank you for your tip regarding using `guix system vm-image` instead of `vm`. It works better
<mroh>DamienCassou: yw, glad i could help!
<infertux>hi there, I've been playing with Guix for a few days after seeing your FOSDEM talk and it looks like it could be a great server distro - no more need for Ansible/Chef/Puppet as everything could be deployed and configured using Guile, is that a fair assumption?
<infertux>however, as a long-time Debian fanboy, I'm wondering whether using a rolling-release distro for a production server is a good idea? should I run 'guix pull && guix upgrade' hourly or similar?
<leoprikler>Running it regularly is a good idea, but you shouldn't spam savannah with requests either.
<roptat>Blackbeard: on the guix system you can set the bootloader menu entries from the configuration file (usually /etc/config.scm). Maybe try to read
<leoprikler>I personally try to update daily or at least sometimes per week.
<Blackbeard>roptat: oh yes I did, but I think I made a mistake
<Blackbeard>I had the linux kernel and the initrd on my /dev/sda1
<infertux>leoprikler: would you recommend me to set up a mirror (called a substitute in Guix land I think?) and sync my servers from it so I don't spam savannah?
<Blackbeard>but when I installed guix I installed grub again on /dev/sda1 and now those are gone
<Blackbeard>hahaha and I don't know how to fix it
<leoprikler>a mirror is not a substitute
<abralek>Does anybody use MAAS? I know that for a custom images you need a cannonical agreement or something like that
<leoprikler>substitutes are pre-compiled packages coming from a trusted source, such as the Guix CI if you trust it
<abralek>It would be cool to have something similar
<leoprikler>a mirror would be a source code mirror of the guix project
<leoprikler>these are the package definitions that you pull through `guix pull`
<zzappie>leoprikler: one could host one's own cuirass
<leoprikler>sure, but that's still distinct from a mirror
<infertux>leoprikler: I see, mirroring the Git repo pulled by 'guix pull' does not seem necessary then? I should rather set up my own substitute?
<infertux>say as I set up my own substitute, is it possible for me to rebuild all packages from source?
*zzappie wonders how much resourses needed to compile all 12K+ packages in guix
<leoprikler>Both a mirror and a CI might be helpful depending on what you're doing.
<roptat>Blackbeard: so you overwrote your other linux distro? I don't know if you can recover from that…
<leoprikler>If e.g. you have to roll out some packages on 100 computers, having one to host a local mirror of guix and the CI (or perhaps the CI on another) will improve speeds considerably.
<leoprikler>At least if the "local" mirror and CI are closer than berlin ;)
<Blackbeard>roptat: I only overwrote the partition with grub, the one with parabola is still there on /dev/sda2
<infertux>leoprikler: thank you, I've got some spare resources on a beefy machine so I might do it if it's worth it - but first I need to read up on this more, thanks for your help so far
<roptat>Ah so /dev/sda1 only contained grub? Then you'll have to find the kernel and initrd on /dev/sda2 and use these values to create a menu-entry
<Blackbeard>roptat: ah wonderful! thanks :)
<Blackbeard>roptat: I fixed it :) !!
*apteryx just fixed earlyoom build
*apteryx and git-repo now really works
<Blackbeard>apteryx: :)
<guix-vits>Blackbeard: There was a notification about cleaning out the unused nicks and accounts (scheduled on Easter). (Blackbeard[m]).
<mehlon>infertux: do note that there's no separate unstable/master channels as with NixOS, so some packages might be failing their build when you get them
<mehlon>or their build might simply not be done yet on the CI
<infertux>mehlon: thanks, good to know
<alextee[m]>is it acceptable to derive packages via calculations?
<alextee[m]>like run a loop over a few words and then declare a package for each?
<mehlon>sure, why not?
<alextee[m]>mehlon: i was thinking maybe it would cause problems with things like guix edit
<alextee[m]>or maybe maintainers just dont want such things
<mehlon>I'm not sure if it's been done before, but it should probably work
<alextee[m]>the use case is there's 43 separate repositories that share the exact same build/install procedure and dependencies, so i could write what's different in a hashtable and loop over it or something instead of inheriting 42 times
<mehlon>oh, like that
<leoprikler>is this really something, that's a proper package?
<leoprikler>because if it is, then you'll also have synopses, descriptions, etc.
<leoprikler>if not, you can try solving your problem with computed origins
<alextee[m]>leoprikler: it's about this
<alextee[m]>what do you mean by computed origins? leoprikler
<alextee[m]>i was thinking the synopses/descriptions would go in the hash table too
<NieDzejkob>Somebody edited /etc/guix/machines.scm on ci and got their parens wrong; builds are failing
<NieDzejkob>now that you mention it, yes it is funny
<NieDzejkob>though we still need someone who can fix this
<leoprikler>looking at this, I don't think wrapping this in a function is really necessary
<mehlon>it sounds like one of those jokes about LISP
<alextee[m]>leoprikler: so inherit all of them separately?
<nckx>NieDzejkob: What's wrong?
<nckx>I have 5 minutes.
<NieDzejkob>like I said, builds are failing, guix can't parse /etc/guix/machines.scm, mismatched parens
<NieDzejkob>guix offload: error: failed to load machine file '/etc/guix/machines.scm': (read-error "scm_i_lreadparen" "/etc/guix/machines.scm:234:6: in pair: missing close paren" () #f)
<leoprikler>alextee[m]: depends on what you mean by that. but having (define package-1 (package (inherit package-0) ...) etc. does not feel wrong to me here
<alextee[m]>i see. eek, that's a lot of work
<leoprikler>perhaps you can simplify the origin by defining a method (gx-origin ...), but I don't think that's necessary
<leoprikler>instead of all the string-append stuff you can also use git-version and git-file-name
<mbakke>rekado_: offloading fails on berlin due to "/etc/guix/machines.scm:234:6: in pair: missing close paren"
<leoprikler>alextee[m]: In which way is that a lot of work, can't you simply revert the patch?
<mbakke>oh right, nckx and NieDzejkob is already on it
<alextee[m]>leoprikler: i mean, it has to be done (and tested) for around 40 packages
<nckx>I was hoping for something more specific but found the error. Strange place though (armv7 boards…).
<leoprikler>I don't follow here. Wasn't it done (and testes) for 40 packages before this patch?
<alextee[m]>leoprikler: no, the patckages before this patch are just a few of the 43 packages that are included in the meta repo that this patch uses
<alextee[m]>so besides reverting, it means also adding all the missing ones
<alextee[m]>the patch was to add all of them in one go
<leoprikler>ahh, I see
<alextee[m]>(through the meta repo)
<leoprikler>in that case, you might want to define a snippet for yourself
<alextee[m]>leoprikler: would that be acceptable upstream? i don't think i've seen something like it before
<leoprikler>I mean snippet as in yasnippet
<alextee[m]>that generates the packages as text?
<alextee[m]>ah okay, well i'll see if i'm ever up for that. thanks!
<apteryx>bandali: answering to your comment above native-search-paths in emacs-next: We could use emacs's native extra ":" separator in the search path, and this would take care transparently of finding its own Lisp librairies. The problem is there's currently no way of telling a search-path-specification to include such extra separator.
<apteryx>I have a patch somewhere...
<apteryx>bandali: also, the restore-emacs-pdmp phase failed for me with:
<apteryx>perhaps we could use GLIB-OR-GTK-WRAP-EXCLUDED-OUTPUTS to prevent having pdmp wrapped (and renamed) in the first place?
<leoprikler>such a variable exists?
<apteryx>it's in the `wrap-all-programs' phase of the glib-or-gtk-build-system
<leoprikler>ah, wait, that's just outputs as in '("out" "bin" ...) isn't it?
<apteryx>leoprikler: you're right, it seems to apply only to outputs such as "out" or "doc"... Hmm.
<apteryx>we'd have to enhance it :-)
<leoprikler>but how is that phase failing for you – there should be two lists of equal length IIRC
<apteryx>to take an arg such as excluded-file-names '("pdmp")
<nckx>Great time to get disconnected.
<apteryx>rebuilding with -K, we'll see.
<nckx>mbakke: Is there a sane way to restart affected builds?
<NieDzejkob>nckx: I think the builds will get built when we push any commit
<nckx>New ones, not old ones.
<nckx>I'm pretty sure Cuirass tracks its own failures (as opposed to guix gc --clear-failures).
<nckx>It also doesn't have a concept of transient failure (fair enoug).
<nckx>Ach, not the end of the world, as you say new builds should succeed fine. Thanks for the heads up.
<mbakke>nckx: not to my knowledge :/
<NieDzejkob>alextee[m]: BTW, your lv2lint patch has some unbound variables
<alextee[m]>oh crap, NieDzejkob: thanks, i'll fix the other stuff to later today
<alextee[m]>weird that it builds here though, i am using it already
<alextee[m]>copy paste fail probably
<NieDzejkob>alextee[m]: are you using it in-tree, or in a separate channel?
<alextee[m]>NieDzejkob: separate channel, then i just copy paste to the guix repo
<NieDzejkob>alextee[m]: that's the problem, since you have to import modules in a specific file to have access to packages as variables
<dalas>Hey guys, anybody knows how to set up a window manager or a desktop environmen other than the ones included with guix?
<alextee[m]>NieDzejkob: i usually test them but I must have forgotten to do it with this one :-)
<alextee[m]>sounds like you're correct though, probably missing a module include
<NieDzejkob>dalas: what WM are you looking at?
<bavier1>dalas: s/guys/folks etc
<mehlon>dalas: as for the question....
<mehlon>dalas: you can usually type into a terminal "info guix dwm" or something to get info about using dwm with guix
<apteryx>leoprikler: I tested with a configure --prefix=/tmp/emacs-next-install
<apteryx>and the only emacs.pdmp I have is: ./libexec/emacs/27.0.50/x86_64-pc-linux-gnu/emacs.pdmp
<apteryx>I don't have the wrapper
<leoprikler>the wrapper is added by glib-or-gtk-wrap IIRC
<apteryx>leoprikler: perhaps due to my changes, retesting on origin/master
<dalas>i was looking into bspwm, thank you i will look into the manual, i obviously didnt check it
<apteryx>I was testing the change where I byte compile the autoloads
<leoprikler>can I see your package definition?
<lispmacs[work]>I get like 20 collision warnings each time I install anything, because libreoffice and xdg-mime-database have colliding mime files
<leoprikler>only 20?
<dalas>anybody uses ungoogle-chromium?
<leoprikler>install any icon theme and you have way more :)
<NieDzejkob>dalas: probably yes ;)
<lispmacs[work]>is there someway at least silence the warning. it wasn't obvious to me in the Guix manual
<NieDzejkob>dalas: what motivates your question?
<leoprikler>turning down the verbosity -- normally guix package should not print them
<lispmacs[work]>leoprikler: I'm using emacs-guix
<lispmacs[work]>leoprikler: do you happen to know the right variable, or...
<dalas>NieDzejkob: Because it takes so much time when "package -u"
<dalas>dont know if it's only me
<mbakke>dalas: there should be a substitute available, did you run `guix pull` recently?
<dalas>yes everytime i run guix pull I then run "package -u"
<leoprikler>lispmacs[work]: You probably want to use (set-build-options (%store) #:verbosity ...)
<NieDzejkob>dalas: what architecture are you using? (32- or 64-bit?)
<NieDzejkob>unless it's ARM, it should work
<mbakke>NieDzejkob: ungoogled-chromium now works on ARM too :)
<NieDzejkob>mbakke: the substitute build failed, though
<mbakke>NieDzejkob: well, the CI thinks it failed, but it did actually succeed(!?)
<mbakke>dalas: when did you install Guix? Do you have as substitute server?
<mbakke>NieDzejkob: I had started the build manually, so I guess Cuirass thought it failed because it was waiting forever for the lock...
<NieDzejkob>huh, ok
<apteryx>leoprikler: I think I've found the problem; comparing a successful log to a failed one, I can see: WARNING: (guile-user): `%standard-phases' imported from both (guix build glib-or-gtk-build-system) and (guix build gnu-build-system)
<apteryx>so the glib phases must not have ran
<leoprikler>nice find
<leoprikler>but wouldn't glib-or-gtk:%standard-phases usually be the preferred one?
<apteryx>leoprikler: it was due to a change I made, adding %glib-or-gtk-build-system-modules to the #:modules argument
<apteryx>curiously in glib-or-gtk.scm the import-modules (%glib-or-gtk-build-system-modules) countains %gnu-build-system-modules, but import (%default-modules) doesn't.
<leoprikler>huh, interesting
<apteryx>I guess importing %gnu-build-system-modules *through* %glib-or-gtk-build-system-modules gets it right... but I'm equally puzzled.
<apteryx>anyway, it builds now :-)
<apteryx>had to change the build system of emacs-minimal to glib-or-gtk-build-system, otherwise it'd now fail
<apteryx>well, I just drop the override actually
<apteryx>probably triggered by messing with the import/import-modules of my changes as well ;-)
<DamienCassou>I've created a qcow2 image with `guix system vm-image`. I can boot that image and get a nice XFCE desktop running Guix. However, in this guest, `/etc/` doesn't contain the config.scm for the system. How is it possible?
<leoprikler>/etc/config.scm is not actually required by Guix. You can name your config.scm anything you like and it only stays on your disk because guix does not make any efforts to bind or remove it.
<NieDzejkob>DamienCassou: /etc/config.scm is just an example path for the config
<NieDzejkob>if you want to get the configuration anyway, it might be in /run/current-system/configuration.scm
<apteryx>the doc under 8.16 Running Guix in a Virtual Machine refers to /etc/config.scm
<apteryx>it suggests the VM images available for download have this property. If you want to mimick it you could have a look at the operating system examples, perhaps you'll find a plain-file of the config to extend the etc-service-type service.
<DamienCassou>`/etc/current-system` doesn't have any scm file, only folders
<DamienCassou>apteryx: I confirm that this is where I usually found it in new installation
<DamienCassou>leoprikler: that's where I searched, sorry
<apteryx>DamienCassou: I don't see anywhere where this is done, except in the graphical installer: (define %installer-configuration-file (make-parameter "/mnt/etc/config.scm"))
<apteryx>perhaps you used the graphical installer before?
<DamienCassou>in my previous installs, I indeed used the graphical installer
<apteryx>OK :-) that explains it
<DamienCassou>where can I find the config.scm that were used to generate the current system?
<leoprikler>normally /run/current-system/configuration.scm
<DamienCassou>then I'm not in a normal situation :-)
<DamienCassou>even though I have using Linux for 15 years, I feel that I lack to basic knowledge. For example, I would like to understand better what `sudo` exactly does, what is the initrd etc. Do you know where I could learn about these?
<leoprikler>Do you mean how sudo works philosophically or intricately?
<leoprikler>For the high level stuff, there's man pages, for the nitty gritty you'll have to read source code.
<leoprikler>For anything in-between you may find stuff from info-pages to papers and books.
<DamienCassou>I've always known I can execute commands with administrator privelegies by prefixing commands with `sudo` but I don't understand exactly what `sudo` does, especially regarding the shell. I would like to understand the result of `sudo whoami` for example
<DamienCassou>which info pages are you referring to?
<leoprikler>Emphasis on "may", I don't know whether there's actually `info sudo`
<leoprikler>Philosophically, sudo merely executes your command as another user. Usually, that is root, meaning the user which may do anything, but it can also be any other user.
<DamienCassou>thank you
<DamienCassou>I understand this last sentence. But I would like to understand the impact of it exactly. For example, `sudo guix pull` probably changes the HOME environment variable otherwise we would have root-owned files in the user home directory
<apteryx>DamienCassou: you could look at sudo sh -c 'env' to have an idea of what is going on
<apteryx>w.r.t. the environment variables
<DamienCassou>thank you
<DamienCassou>does any of you know why /gnu/store is shared read-only in a VM?
<leoprikler>because otherwise you could modify the disk-image (probably)
<leoprikler>and that's a no-no when said image itself lives in /gnu/store
<DamienCassou>is it possible/recommended to copy the vm image to my home directory and then arrange for /gnu/store to be shared?
<NieDzejkob>I built an installer image with "./pre-inst-env guix system disk-image --file-system-type=iso9660 gnu/system/install.scm" and ran it with "qemu-system-x86_64 -m 3072M -cdrom /gnu/store/0wwsa2lsqrg7rfl46j5hh3vwfhxs1pcw-image.iso". The TUI installer does not start, it flashes the screen blue a few times and then stays black. Am I doing something wrong? When I use `sendkey ctrl-alt-f3` in the QEMU monitor, I can access the shell login normally
<leoprikler>"If you built your own image, you must copy it out of the store (*note The Store::) and give yourself permission to write to the copy before you can use it."
<NieDzejkob>huh, does it apply to ISOs? those are usually readonly anyway. I'll give it a go when I'm done testing cow-store stuff
<leoprikler>That was meant for DamienCassou.
<leoprikler>Not sure about your case. Effectively you have 3G of virtual RAM in your qemu system, so graphics should work.
<DamienCassou>leoprikler: I read that part of the manual. But it won't magically give write access to /gnu/store in the VM. I could do that by tweaking the parameters of qemu but I don't know if it is a good idea that the VM and host can both write to /gnu/store
<DamienCassou>also, /gnu/store isn't writeable by the HOST normal user, only by root. So I don't know if the VM running under QEMU can write to it anyway
<NieDzejkob>apart from /gnu/store there's also an sqlite db that tracks the stuff in the store
<leoprikler>/gnu/store in the VM should follow the same rules as /gnu/store on the host, provided that the disk itself is writable
<DamienCassou>I asked the same question on the mailing list. I hope I will learn even more stuff :-). Thank you very much for all your answers.
<DamienCassou>regarding my earlier question about not finding /run/current-system/config.scm in the VM, it seems to be due to the absence of the `--save-provenance` option when creating the VM
<NieDzejkob>Hmm, I'm looking for a way to make "guix system init" warn the user if they skipped "herd start cow-store". I tried using statfs to check the filesystem type, but it's overlayfs both before and after cow-store. Any ideas on how to best do this?
<valignatev>Hey guix o/
<valignatev>I just removed my alacritty from pacman and installed alacritty from guix. Works great so far, thanks efraim for merging all the patches :tada:
<rekado_>mbakke: oh, sorry
<rekado_>mbakke: I successfully ran “guix offload test” before
<nckx>rekado_: It failed when I ran it.
<rekado_>failed how?
<rekado_>right now I get a match error because something produces <eof>
<rekado_>disabled the two nodes that are connected over an SSH tunnel and it works now.
<nckx>rekado_: No, before 7cf60fe31d2713941406f32b60c9f3397cade732.
<nckx>rekado_: My nodes?
<nckx>Hm, indeed they are unreachable from berlin (but fine from Munich 😛)
<rekado_>oh, that’s weird. Must have accidentally staged these changes :-/
<nckx>But I didn't check through the tunnel.
<rekado_>nckx: dmitry is fine
<rekado_>sergey is not
<rekado_>we’ve got SSH tunnels for both. Only localhost:2223 responds.
<rekado_>sorry, “sergei”
<rekado_>and “dmitri”
<nckx>There's an extra gotcha in that the ports on berlin got swapped somehow. 5552 is dmitri. ‘ssh -p 5552 sergei’ will connect to dmitri because it's the same IP (in case I need the flexibility some day).
<nckx>It doesn't really matter in practice since they tend to die together.
*nckx hopes that was clear; working.
<rekado_>nckx: yes, understood. We should change the SSH tunnel loop then.
<rekado_>I’m looking at mumi’s open file handles. It definitely leaks sockets.
<rekado_>692 open files now
<rekado_>a couple of minutes earlier it was 642
<rekado_>almost all of them are sockets.
*rekado_ looks at the code once more
<joshuaBP`>Hey guix!
***blackbeard[m]1 is now known as blackbeard[m]11
<leoprikler>NieDzejkob: Have you tried invoking herd status cow-store?
<leoprikler>(or doing the equivalent through scheme)
***blackbeard[m]11 is now known as blackbeard[m]12
<rekado_>the socket leak appears to be in guile-debbugs.
***ngz` is now known as ngz
***blackbeard[m]12 is now known as Blackbeard
<joshuaBP`>Hey guix, I am wanting to help test the installer images.
<joshuaBP`>should I just download the image from Or should I generate it from my own guix version?
<nckx>joshuaBP`: Build it yourself, the Web site downloads are ~a year old.
<joshuaBP`>nckx: ok. Let me google for a bit to figure out how to do that.
<joshuaBP`> guix system disk-image --file-system-type=iso9660 gnu/system/install.scm
<joshuaBP`>that was as easy search.
<nckx>joshuaBP`: No, always look at the manual first. (guix)Building the Installation Image
<nckx>Random googling will only open the door to nonsense.
<joshuaBP`>nckx: hahah. I might put that quote up on my wall.
<rekado_>found the culprit: (http-post … #:streaming? #t …)
<rekado_>this returns a port, which isn’t ever closed.