IRC channel logs


back to list of logs

<pkill9>does .profile not get read when logging in via tty?
<leoprikler>it should be read IIRC
<leoprikler>might depend on your shell
<leoprikler>if you're using zsh, then it's .zprofile
<pkill9>i use bash and it's not getting read
<bandali>do you also have a .bash_profile?
<pkill9>hmm yea
<bandali>that’s why :-)
<pkill9>removing it works, but then .bashrc isn't read
<pkill9>inside .bash_profile it sources both .bashrc and .profile, but it doesn't seem to successfully source .profile if it's there
<bandali>right. bash seems to only source .profile if there’s no .bash_profile
<bandali>fwiw, i “manually” source .bashrc in my .profile if the shell is bash
<pkill9>that' swhat i done and it works, thanks
<bandali>cool; cheers
<PotentialUser-52>Hi Guix! I recently reinstalled and ran a "guix pull". guix now appears to be rebuilding the world (things like emacs and ffmpeg and flac), even though those aren't in my config (using the default config + zsh, no extra packages or services, %base-services)
<PotentialUser-52>I'm guessing this is because of the default imports? Any way to avoid this?
<drakonis>its rebuilding because its in your profile?
<drakonis>though it shouldn't be happening?
<drakonis>merely importing shouldnt cause that
<PotentialUser-52>ohh I think I know what it might be... I used a manifest as my user... but canceled the install (intending to install later)... so maybe the guix pull is finishing that?
<jackhill>hmm, `guix pull` should really only build the guix tools proper (and their dependencies). Is that the only command you ran?
<PotentialUser-52>I did a guix pull and then a guix system reconfigure /etc/config.scm... not sure which one it's on now
<jackhill>Also, if you enabled substitutes, it shouldn't be nessisary to rebuild everything (alhtough if you don't want to use sustitues, that's a resonable choice but will require building).
<jackhill>PotentialUser-52: ah! it's the reconfigure. I bet those are part of your operating system definition. So the question is why they are if you didn't mean them to be. Can you paste your config somewhere? (e.g.
<PotentialUser-52>so I'm not sure how to disable those... says to change how I invoke the daemon... which I'm not doing (guessing it's in %base-services)
<PotentialUser-52>I just deleted /etc/guix/acl to temporarily disable substitutes
<PotentialUser-52>I'd like to disable them
<jackhill>well that at least explains why it's building instead of substituting them :)
<PotentialUser-52>I'd also like to drop privileges when building too
<PotentialUser-52>yeah, I expected that... just not things like emacs and ffmpeg
<drakonis>why are you deleting substitutes though
<jackhill>PotentialUser-52: build should already be happening as one of the guixbuild users
<drakonis>sorry, why disable substitutes?
<PotentialUser-52>warm fuzzies :P
<jackhill>PotentialUser-52: can you paste your config somewhere? I might be albe to spot it (of course I might not…)
<oriansj>PotentialUser-52: if you wish to remove %base-services; you can replace it with:
<PotentialUser-52>I don't have curl installed right now.. can I install when the other one is going? otherwise I can describe it.. just nss-certs + %base-packages, and dhcp + %base-services, then zsh for my user's shell.. and some kernel params (nomodeset), and that's about all that differs from the minimal install
<lfam>There are some good tools in Guix for examining dependency graphs, both "up" and "down"
<PotentialUser-52>oriansj: thanks. I haven't decided yet.. looks like the guix daemon isn't in there either.. odd
<oriansj>you can of course remove (service slim-service-type) if you don't need a gui
<lfam>For example, what depends on the flac package?
<lfam>`guix graph --reverse-package flac | dot -Tsvg > ~/tmp/out.svg`
<oriansj>PotentialUser-52: that is in (guix-service)
<lfam>It's a nice graphical representation
<lfam>It takes a minute for dot to process the input
<PotentialUser-52>ohh got it. thanks oriansj
<PotentialUser-52>lfam: thanks. eventually I want to use those tools.. but the setup is pretty barebones at the moment (no gui yet)
<lfam>It can be a bit overwhelming but there are other ways to process the output of `guix graph`. Even grep can be useful
<lfam>Well, this graph from my example is very overwhelming. It would be worthwhile learning how to massage the style of the drawing produced by dot
<PotentialUser-52>it's gotta be the profile/manifest. it's okay to C-c guix commands in the middle... right? (they're atomic?)
<PotentialUser-52>ok. but I shouldn't run multiple at once?
<lfam>All the work is done and only at the end is it made effective
<lfam>You can run as many as you want
<lfam>I do think that, recently, profile operations starting using an exclusive lock. But I'm not sure exactly what you can and can't do
<PotentialUser-52>oh I was looking through ML threads the other day saying whatever/etc/profile was cleared out for someone when running two commands (that one of the commands "won")
<PotentialUser-52>also the daemon runs as root... right? and if I guix pull as root... it builds /everything/ as root.. right?
<lfam>I think that in the past it was possible to do `guix package -i foo` and `guix package -r bar` at the same time, and the order they completed in was nondeterministic
<PotentialUser-52>if so, will that be changed eventually? seems a bit scary to me
<lfam>No, it builds as the 'guixbuild' users
<PotentialUser-52>ohh perfect. I saw a couple pages in the manual about setting up your own build users and really didn't want to do that... but didn't want it run as root either
<lfam>The guix-daemon runs as root and delegates the work to these unprivileged users
<lfam>If you are using the full Guix system all this will be handled for you. On other distros you should make the users
<PotentialUser-52>I'm using guixsd, yeah
<lfam>It would be great to avoid using root here but for now it's the best option to isolate the build users. Unprivileged chroot / containers are not really an option in gnu/linux yet
<oriansj>PotentialUser-52: well it is possible to not depend upon guix's generated profiles but people generally warn against it as you'll be forced to manually update to keep up with guix changes
<PotentialUser-52>I think I'm going to try to get startx to work.. because of the recent gdm bugs (it wasn't starting for me and there was a discussion in here I think w/jackhill) about those.. ideally wanna sidestep any extra complexity.. especially that prone to breakage
<PotentialUser-52>oriansj: I don't understand
<oriansj>your commonet from ML threads
<lfam>pkill9: The bash man page explains how the shell uses things like bashrc in the section INVOCATION
<PotentialUser-52>lfam: so eventually it won't even need to be run as root? I take it running guix commands as an unprivileged user uses the root daemon (there's only one, right?), but (theoretically) doesn't have privilege escalation issues or anything like that.. right?
<oriansj>Speaking as someone who has opted for that route, it only works if you are comfortable feeling dumb in front of other people.
<lfam>PotentialUser-52: If the wide world of gnu/linux ever successfully implements unprivileged containerization features, then guix-daemon will not need root. But currently it's based on chroot and that requires root
<jackhill>PotentialUser-52: well the gdm problem is fixed now, yay! There also are sddm and slim services
<jackhill>lightdm is packages, but I don't se a service.
<PotentialUser-52>jackhill: has it otherwise been pretty stable for you? If so I'll try it out in a vm then use it. I don't really want to figure out startx... but I'd like as simple and stable a system as possible
<jackhill>PotentialUser-52: otherwise yes. I also use gnome-shell, so the integration between gdm and gnome-shell is nice for me.
<PotentialUser-52>lfam: but nothing to worry about as a normal user... right? eventually my plan is to notify users of updates... log in as root to pull those (needed to update the base system... right? or does guix pull as a normal user do that?), then just do everything else as a normal user
<PotentialUser-52>jackhill: good to hear... I'll give it a shot :)
<lfam>PotentialUser-52: In general `guix pull` is per user
<jackhill>I can't commend on how it compares to sddm, but a nice thing about gdm is that it knows how to run the xserver as a non-privledged user. IIRC other display managers don't
<PotentialUser-52>sddm seemed a little complex for my liking... and froze in a vm, which I didn't take as a good sign (it was virtualbox though.. so maybe that doesn't mean much)
<jackhill>Oh, and the nice thing about guix, when the gdm problem cropped up, I just rebooted into my previous system generation until it could be sorted.
<PotentialUser-52>jackhill: so I'd run gdm as root in the services list... but could install (e.g.) gnome-shell as my normal user and go from there? that'd be great
<lfam>PotentialUser-52: So, each user can control their own profiles by doing, for example, `guix pull && guix upgrade`. But the "system" stuff needs root to do `guix pull && guix system reconfigure /etc/config.scm`
<PotentialUser-52>jackhill: I was wondering about that... that is super nice. I've definitely ran into breakage on other distros where that wasn't the case
<PotentialUser-52>lfam: got it. if I haven't changed /etc/config.scm... is guix pull enough to update? or should I still reconfigure? as you can tell I'm new to this... but I feel like I have the basics mostly down
<jackhill>PotentialUser-52: I have gnome-desktop-service installed system-level as well. I'm not sure how gdm finds which sessions it knows how to start/if it would find gnome shell if it was installed only as your user.
<jackhill>That sounds interesting, I should figure that out.
<lfam>PotentialUser-52: It's okay :) What distro are you coming from?
<PotentialUser-52>gotcha. I'll test it in a vm before trying it
<PotentialUser-52>lfam: gentoo now. arch before that. ubuntu/fedora way before those too (longest on arch)
<PotentialUser-52>considered alpine... but I like some of guix's properties
<PotentialUser-52>what's the org structure like in guix? BFDL? something else?
<lfam>You can think of `guix pull` as kind of like apt-get update. It basically updates the list of available packages, as well as the `guix` and `guix-daemon` commands. Then `guix system reconfigure` rebuilds the system-level stuff, whereas `guix upgrade` updates the packages the user has installed
<PotentialUser-52>ohh so would I `guix pull && guix upgrade` as root if I haven't changed /etc/config.scm? reconfigure to me feels like saying "I changed stuff... make it happen", not "update it for me"
<lfam>Not exactly. Each user can install their own packages that only they see. But there is also software running at the system-level. `guix upgrade` handles the user's packages, `guix system` the system stuff
<PotentialUser-52>ohh so I do need to reconfigure to update.. good to know, thanks :)
<lfam>I would say the organization is led by a collective of maintainers. I'm not sure how they are making decisions since the group expanded past two because since then I became less attentive.
<lfam>Due to personal stuff, nothing wrong with Guix
<PotentialUser-52>ok. eventually I'd like to be involved... but I have some other stuff going on at the moment. looking forward to it though if I can clear out some time
<lfam>We're always happy to see new people around :)
<PotentialUser-52>yay :)
<oriansj>lfam: generally who does decides;
<lfam>Work is not really "assigned" like in Debian
<PotentialUser-52>oh, another question I haven't found the answer to yet: do all guix packages sort of follow the same philosophy re features? e.g. enable everything or minimalist, or is that kind of all over the place?
<lfam>You show up to help and start helping
<lfam>We aim to offer fully-featured packages. Sometimes there will be a minimal variant of the package if it seems broadly useful
<PotentialUser-52>ok. how about patches? as close to upstream as possible? or heavily modified (a la debian)?
<oriansj>PotentialUser-52: what ever the developers feel best suits the needs they see and wish to address
<lfam>As close to upstream as possible! If we have to patch things we like to send them upstream unless it is really Guix-specific
<PotentialUser-52>so there's no common standard re patches? I haven't seen anything too patched yet (most to support guix store paths and stuff)
<lfam>oriansj is right too
<lfam>Not really... if you have a specific question about patches we can try answering it
<PotentialUser-52>ohh got it. that's one thing I really liked about arch (and especially gentoo, because you make those decisions yourself, for the most part)
<oriansj>some upstreams don't take patches and we have to maintain them ourselves but that is work we like to avoid
<PotentialUser-52>no just wondering about what to expect :)
<oriansj>PotentialUser-52: expect to be treated as an adult
<oriansj>No babysitters but there are nice and helpful people
<PotentialUser-52>oriansj: I appreciate that, though it probably means different things to different people. it's been awhile since I've used debian/ubuntu... but found those packages too heavily modified for my liking
<lfam>I think a lot of people in Guix feel that distros are not the place to do feature development in packages. We may package forks but they should be maintained independently from Guix
<oriansj>PotentialUser-52: there is no package in guix, you can't in 30 seconds modify to do something different
<lfam>Yeah and it's so great :)
<oriansj>(if you take responsibility for that work)
<PotentialUser-52>is there any effort to avoid using (for example) too many different versions of gcc-toolchain (i.e. once something is updated... does guix try to move things towards the new version to avoid lots of different versions of the same package?). my gut says this is the wrong move, but I can't totally explain why. by new version I mean same version but d
<PotentialUser-52>ifferent inputs
<PotentialUser-52>oriansj: yeah but as much as possible I'd prefer not to maintain too much separate config. it's nice to see sane defaults, I guess. more predictability and less to think about
<oriansj>PotentialUser-52: by default guix moves towards newest packages; however pinned package versions are entirely possible (and sometimes required)
<PotentialUser-52>ohh got it.. so as things pass they get upgraded? that'd be super cool to visualize!
<PotentialUser-52>have there been any guix-specific CVEs yet? sorry about all the questions... I've appreciated you all humoring me :)
<oriansj>PotentialUser-52: yes
<PotentialUser-52>right, something I could've searched for >.<
<oriansj>but we actively wish to eliminate those sort of issues
<lfam>No worries, I looked it up a few minutes ago. Something told me you'd ask ;)
<PotentialUser-52>so guix uses nix as a backend... right? or just as prior art?
<oriansj>prior art
<PotentialUser-52>haven't dug into the guts yet (though I've been reading the blog a bit)
<oriansj>It is a fork, which replaced the nix bits to be precise
<PotentialUser-52>got it. anyone you know of using it in production? I would guess reproducibility would get high marks for security and stability...
<PotentialUser-52>on that note... do people use linux-libre in production? I've only recently heard of that.. seems like a good idea if it works on your hw
<oriansj>Scientist mostly
<lfam>We are still using some code from Nix, in the guix-daemon
<lfam>But it's diverged enough that we have different bugs
<lfam>And there is a goal to replace it
<PotentialUser-52>ohh interesting. what language is that in? I notice the guile bootstrap compiling some go programs... but know guile isn't in nix (right, it's their language + hs or something?)
<oriansj>PotentialUser-52: scheme extensively where possible
<apteryx>PotentialUser-52: the guix-daemon is written in C++ (from Nix)
<vagrantc>guix tends to lag in default gcc version since it would require rebuilding almost everything
<PotentialUser-52>apteryx: got it. that was my ? (the remaining nix code)
<PotentialUser-52>is that a problem though? doesn't the build farm kind of always do that anyway?
<oriansj>vagrantc: only when providing substitutes; but that is a good thing
<PotentialUser-52>rebuild everything
<oriansj>PotentialUser-52: rebuild from bootstrap is slow sadly
<PotentialUser-52>tell me about it :P
<oriansj>PotentialUser-52: well going from hex0 to a C compiler is actually quite fast, it is the stages after it that really really lag
<PotentialUser-52>the seed is still ~50mb, right? eventually to be brought down to just source?
<vagrantc>oriansj: if you disable substitutes it uses a different compiler? that seems like it would break the liklihood of guix challenge ever working
<oriansj>PotentialUser-52: that is the current official seed; the seed in progress is 357bytes
<oriansj>and it just takes 22seconds to bootstrap a C compiler and mes-m2 from that
<vagrantc>i thought packages that want something other than the default gcc needed to specify it through inputs
<oriansj>vagrantc: not if one uses --bootstrap
*vagrantc had to do that for a few packages
*vagrantc must be misunderstanding something
<oriansj>vagrantc: guix build uses the same compiler as the build farm should; as it should be rooted from the bootstrap binaries in guix
<oriansj>So those using substitutes and those building locally should always get the exact same binaries (that is how challenge works)
<oriansj>same input + same source + same environment => same binaries
<vagrantc>that part makes sense ... but i'm not getting what you're meaning by the substitutes using a different default gcc ...
<vagrantc>e.g. if you don't specify a different version of gcc in your inputs, you get gcc 7.x with recent versions of guix
<vagrantc>used to be gcc 5.x
<oriansj>vagrantc: I expressed that one only had to rebuild everything when upgrading one's compiler if one distributes substitues
<oriansj>and that is a good thing
<apteryx>vagrantc: I think that in order to successfully build the entire collection of software in Guix, using the latest and greatest GCC would inflict more damage than gain.
<vagrantc>i'm not putting a value judgement on it, just stating that it is one of the things that doesn't tend to get updated to the newest versions
<apteryx>yeah. I'm trying to guess why. The above is my guess. :-)
<oriansj>apteryx: well some packages are pinned to specific versions
<vagrantc>apteryx: i'd guess it has more to do with "rebuilding the world" since it's so low down on the dependency graph
<vagrantc>apteryx: or all of the above :)
<apteryx>vagrantc: but then why would core-updates be stuck at gcc 7.5? We don't really mind rebuilding the world on core-updates.
<vagrantc>apteryx: it was the anwer i got when i asked why it was gcc 5 when i started, and only "recently" updated to gcc 7.x ... when i think gcc 9 and certainly 8 were already out...
<apteryx>it's a good question.
<vagrantc>and specifically asked why not update to newer verisons on core-updates or one of the other "big update" branches
<vagrantc>or i guess "disruptive updates"
<vagrantc>that said, it made it more meaningful to build a bit-for-bit identical mes on guix, nix and debian, which each used a different version of gcc :)
<apteryx>sadly, it seems 'guix deploy' ain't working easily with a target machine running the guix installer.
<apteryx>unless I'm doing something silly.
<apteryx>vagrantc: hehe
<vagrantc>apteryx: i was wondering about using guix deploy from the installer ... since that's the closest thing guix has to a live image boot
<drakonis>guix needs a graphical live image
<drakonis>for laptops
<drakonis>installing guix on networks that depend on browsers to input passwords isnt super fun
<vagrantc>most of guix's features wouldn't really mean much with a live image
<vagrantc>although being able to create custom live images seems like a good project for guix
<drakonis>they're good for rescue images though
<oriansj>drakonis: well, it would be trivial for anyone to make one
<drakonis>hmm, i need to add new udev and modprobe rules to my system through a service
<apteryx>it seems to have to do with the way the file system is laid out (nothing is apparent under /), it's an overlay FS which I don't quite understand yet.
<drakonis>what's the good and fun way?
<oriansj>(The image not the program that does the install graphically)
<vagrantc>it seems like you could just take the installer .cfg and add more packages to it, no?
<drakonis>probably, yes.
<drakonis>that's easy for someone already using it
<apteryx>in any case, the error 'guix deploy' gives me ATM is: Throw to key `srfi-34' with args `(#<condition &store-protocol-error [message: "creating directory `/gnu/store/nix-18553-0': No such file or directory" status: 42] 7f38c61ecc90>)'.
<vagrantc>but yeah, an "official" live image would be nice
<oriansj>could someone please add an option to guix challenge to not download the binaries to determine the diffs; instead just show the different hashes
<vagrantc>i'm pretty sure that used to be the default behavior, and i didn't think the new --diff feature was default
<bandali>bavier, any news?
<apteryx>anyone knows how to refer directly to /gnu/store items when booting the Guix installer image? The actual /gnu/store directory contains nothing.
<apteryx>OK, could understand how overlay works. There is a lower dir which gets shadowed by an upper dir. The lower dir when running cow-store is empty, everything gets written to the mount point that was passed as an argument to the cow-store service.
<apteryx>the cow-store service doesn't exist in my deployed image, so as it transfers its shepherd config and attempts to start it the cow-store service gets removed and stopped, which breaks access to /gnu/store IIUC.
*apteryx tries again to 'guix deploy' to an Guix installer target, without having enabled cow-store.
*apteryx gives up 'guix deploy' to installer running target and uses 'guix system init config.scm /mnt' directly.
***Guest49392 is now known as sturm
<jellie>Hello all, I'm trying to build seqwish from here: and I get this error that doesn't even seem related to the scm
<jellie>Any ideas
<jellie>Okay how do I specify a version in the .scm file?
<jellie>Is anyone here?
<efraim>jellie: I have a copy of seqwish here
<efraim>It's still early on coffee here but I see seqwish.scm already imports (gnu packages gcc) so my first suggestion is out
<jlicht>Hey guix!
<jlicht>When does the first presentation start at ICAB?
<efraim>Wiki says coffee at 9:30 and start at 10
<jlicht>Thanks! Train internet blocks http, but irc seems to work :-)
<efraim>Interesting combo
<efraim>I normally use the riseup vpn app when on public wifi
<g_bor[m]>Hello guix!
<g_bor[m]>I will soon board my flight in Frankfurt. Hope to be there by 1100.
<g_bor[m]>apteryx: I am woking to close this gap by an automatic minimal intaller that allows to spin up a system to a state where you can deploy onto it.
<g_bor[m]>It is actually complete, but needs some cosmetics, a little refactoring, and more features.
<g_bor[m]>I hope to get something out of it by the end of FOSDEM.
<akoppela>Hello everyone.
<akoppela>I'm going to setup a hove server with GuixSD running on it.
<akoppela>I'd like it to be a mini PC
<akoppela>Such as asrock a300.
<akoppela>Could you please recommend any options? What is the best hardware to run GuixSD?
<nckx>apteryx: Did the system init work where deploy failed?
<nckx>akoppela: There's also, which lists devices that should work without binary blobs. I don't know how comprehensive or up-to-date it is but it's a start.
<akoppela>@raghav-gururajan Yep I checked it already. There is only one server and it's huge. I'd like a mini PC.
<akoppela>@nckx Yep, I checked that
<raghav-gururajan>akoppela Huge in size or configuration?
<akoppela>In size
<raghav-gururajan>You could ask the vendor if the system can be confined in a smaller cabinet?
<akoppela>that's an alternative it seems
<akoppela>Though servers are intel based
<akoppela>Maybe it's better to just use mainboard and build a server
<raghav-gururajan>akoppela The system in the previous link comes with non-free boot firmware. You can try this
<raghav-gururajan>akoppela Yeah, that works too.
<akoppela>Wow, the cost is huge. 3k-6k.
<raghav-gururajan>No not the whole system
<raghav-gururajan>The cabinet/rack like that.
<raghav-gururajan>Also, the cost of that system, anyway, is basedn on what motherboard+CPU you choose.
<raghav-gururajan>You can ask the vendor for D8 instead of D16, that should reduce the price atleast 40%.
<raghav-gururajan>akoppela So you can ask the vendor a quotation for THE SERVER (1U), with D8 MB+CPU (instead of D16), 8/12GB RAM (instead of 16GB), without RAID, sever rails and secondary HDD.
<raghav-gururajan>That should the reduce the cost.
<akoppela>as an alternative ThinkPad can be used, right?
<raghav-gururajan>You mentioned that you want a home server. Not sure if laptops can handle that constant load and heat as it has to kept powered -on all the time.
<akoppela>that's a good point
<pkill9>i found an alternative to ranger that is way faster and doesn't lockup the UI when loading, it's called "lf":
<pkill9>there's also this apparently
<DamienCassou>Installing guix's git on my Fedora workstation broke my git installation:
<pkill9>DamienCassou: do you have GIT_SSL_CAINFO environment variable specified?
<pinoaffe>about the discussion on parameterizing packages: what does it mean to compose parameters?
<DamienCassou>pkill9: I don't. The only GIT related env var is `GIT_EXEC_PATH`
<pkill9>DamienCassou: try setting it to point to ca-certificates.crt, which is usually in /etc/ssl/certs
<pkill9>guix provides it in the nss-certs package too, but your fedora installation probably provides it
<DamienCassou>how is it that guix updates GIT_EXEC_PATH but not GIT_SSL_CAINFO?
<DamienCassou>should I report is as a bug?
<pkill9>not sure
<pkill9>is there a way to lock the screen when suspending in the console?
<pkill9>ah, thanks, when i run it though i get it constantly saying "authentication failure"
<leoprikler>vlock on its own just locks your terminal, but it can lock other stuff as well with the right options
<pkill9>it just keeps repeating itself
<pkill9>doesn't give me an option to log back in or whatever
<pkill9>just says "authentication failure" every second
<leoprikler>could it be, that I'm misunderstanding terminal here?
<leoprikler>you're probably not talking about VT2-6
<pkill9>this is the issue
<pkill9>probably just need to add a pam rule
<pkill9>maybe i need to add it as a screen-locker-service
<alextee[m]>im making a personal package and it needs to fetch something with wget, but i get wget: unable to resolve host address ‘’
<alextee[m]>it works when i go there directly
<alextee[m]>this is the command that fails `cd deps && wget -4 && tar xvf libuv-v1.9.1.tar.gz`
<alextee[m]>any ideas?
<pkill9>alextee[m]: the build process doesn't have access to the internet
<alextee[m]>pkill9: is there a way to allow it? this is not for the official repos, just for personal use
<leoprikler>just add whatever you're trying to fetch as an input
<kmicu>DamienCassou: Guix sets both
<pkill9>yes it worked (adding vlock as a screen-locker-service)
<pkill9>now just to run it on suspend
<alextee[m]>oof, i see
<alextee[m]>bad makefile
<alextee[m]>yeah this looks pretty impossible to do with this makefile unless i waste a lot of time on it. is there no way at all to enable internet access during a build?
<pkill9>it ensures it's reproducible
<leoprikler>alextee: you could (substitute* "Makefile" (("wget") "true"))
<alextee[m]>then it wouldn't find the tarball it needs to download for whatever reason leoprikler
<alextee[m]>this is the worst build i've ever experienced
<alextee[m]>have fun:
<kmicu>alextee[m]: not really. One of main goals of Guix/Nix is to force us to do the correct thing. Otherwise Guix is no better than pacman or apt-get.
<leoprikler>alextee: symlink the tarball to deps/libuv-v1.9.1?
<alextee[m]>that's a good thing kmicu
<alextee[m]>leoprikler: too much work lol, i think it needs more hacks
<kmicu>Ah, that mruby-zest is required for ZynAddSubFX/zyn-fusion. A worthy goal.
<alextee[m]>not worth losing your sanity over it
<alextee[m]>maybe someone else wants to do it lol
<kmicu>Yes, sometimes it’s easier to just spawn a Debian container in Guix System and play the darn thing :)
<alextee[m]>i'm jealous of arch sometimes:
<pkill9>it's easy to add a symlink
<kmicu>The issue is that Arch can break our studio/live performance setup on any update. Guix makes it immutable aka invincible.
<pkill9>kmicu: can i see your setup?
<pkill9>sounds interesting
<kmicu>I was talking about real artists here not my silly Guix+Ardour+Edirol+MPK49+a Parker guitar silliness xD
<kmicu>(Though even that simple thing was constantly broken during my Arch days ;)
<kmicu>(With Guix we can pin set of apps and enjoy it. On Arch… pacman broke Guitarix today, oh pacman broke Carla today, oh pacman broke Ardour today… and so on.)
<kmicu>(Guix breaks things on master too but that doesn’t affect pinned stuff and rollback is trivial.)
<pkill9>do you pin stuff using inferiors?
<kirisime>Would it be possible to move a process into a guix environment by calling setenv from it with data from some guix interface?
<kirisime>As in, my ASDF system required libGL, would it be practical to write a simple ASDF helper that changes the lisp's environment to include the mesa package?
<leoprikler>What's with all the people wanting to hack environment variables into running processes lately?
<kirisime>Such a thing would be a bad idea on conventional systems where allowing a language package manager to interact with the system package manager in order to fetch native libraries would imply the language package manager needing or having the privilieges to modify the entire system but since that's not a concern with guix I think it could be done for great benefit.
<kirisime>leoprikler: It's a thought I had a long while ago but only now came to actually need.
<leoprikler>Is starting your asdf system in the right environment not enough?
<kirisime>leoprikler: It's the difference of having (setq inferior-lisp-program "sbcl") versus having a (setq inferior-lisp-program "guix envionment --ad-hoc dependencies -- export LD_LIBRARY_PATH=$GUIX_ENVIRONMENT/lib && sbcl") or starting the lisp with such a command line every time you start one.
<leoprikler>okay, first things first: collect your dependencies into a package or a manifest
<kirisime>It doesn't even seem practical anyhow as according to dlopen's man page the $LD_LIBRARY_PATH needs to be defined at the time the program starts so hacking it together with the environment won't do.
<kirisime>leoprikler: It's also about possibly having the perfect system counterpart to loading systems with quickload on a whim.
<leoprikler>secondly, you can do guix environment --ad-hoc stuff -- emacs and then no longer worry about it
<leoprikler>plus emacs should already allow you to setq-local some variables to make things easier
<leoprikler>so in the worst case, you can set inferior-lisp-program to a wrapper script at the project root
<kirisime>I can also write myself a stupid little thing that extends the *foreign-library-directories* variable according to the package outputs from guix.
<wingo>hey! is it possible to use flatpak with gnome?
<wingo>i have the weirdest problem with my gobby from guix that it disconnects sometimes, and for some reason the flatpak that work publishes works and guix's doesn't
<wingo>but when i go to 'flatpak install gnome org.gnome.Platform 3.22' it fails
<NieDzejkob>"it fails" is really quite unspecific
<wingo>error: No remote refs found similar to ‘gnome’
<wingo>that is the specific error
<wingo>it is the first time i try flatpak on guix
<bricewge>Hey Guix!
<bricewge>I thought there wouldn't be a stream from FOSDEM but I just ran on too
<jonsger>bricewge: not today, only saturday and sunday
<bricewge>jonsger: So would we be able to watch some Guix related streams this weekend?
<jonsger>yes, see
<bricewge>Or do we have to wait for them to be edited in the coming weeks?
<bricewge>I have already read this post and nowhere it speaks of some video stream from FOSDEM.
<bricewge>I remember reading on the mailing list about the impossibility of streaming from there but then I found out about this link that will live stream from the Janson room.
<kmicu>pkill9: inferiors only for serious business ;) Usually when pull broke something I just not garbage collect and link what I need directly from the store 😺
<bricewge>All of the rooms which will host Guix related talks have such a link. So maybe we'll get some livestreams.
<bricewge>For example the Minimalistic language room is at
<gnutec>Red Eclipse 2.0 is in guix and I have not internet for upgrade. D: Anyone want to pay a good internet for me? ashuashuashu $17 month.
<nckx>bricewge: Those messages were about the off-campus Guix Days (live now!) before FOSDEM. FOSDEM has excellent streaming, using nifty custom-built hardware IIRC.
<pkill9>kmicu: how do you pin a package without using an inferior?
<bricewge>nckx: Hum, okay. Have a good time there!
<raghav-gururajan>wingo You need to add a remote repo to flatpack, where it can find particular reference (packages/apps).
<raghav-gururajan>wingo For example, `flatpak remote-add --if-not-exists flathub`
<wingo>raghav-gururajan: tx!
<raghav-gururajan>wingo Welcome!
<wingo>do you know if that's the repo for the org.gnome.Platform package? i would think that gnome would run their own repo but who knows
<raghav-gururajan>They should. For example, there is GIMP in flathub repo, so you do `flatpak install flathub org.gimp.GIMP` and `flatpak run org.gimp.GIMP`.
<raghav-gururajan>Like that something should available at org.gnome
<raghav-gururajan>wingo Here. 1) `flatpak remote-add --from flathub` 2) `flatpak install flathub org.gnome.Platform//3.32`.
<wingo>raghav-gururajan: thanks!
<raghav-gururajan>wingo Wait wait.
<wingo>for some reason the remote-add segfaults :P
<gnutec>Looks like Linus is doing a very much stuff in Linux kernel and the Free Software Foundation tweet about this. Is GNU/Hurd coming?
<raghav-gururajan>wingo 1) `flatpak remote-add --if-not-exists flathub` 2) `flatpak install flathub org.gnome.Platform//3.32`
<raghav-gururajan>wingo that should work.
<wingo>raghav-gururajan: does that not segfault for you??
<wingo>for me it does
<wingo>flatpak remote-add --if-not-exists flathub
<wingo>mkdirat(AT_FDCWD, "/var/lib/flatpak", 0777) = -1 EACCES (Permission denied)
<wingo>--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x198} ---
<wingo>that's the last bit in the strace, i guess because it failed to open the flatpak dir
<wingo>maybe i need a flatpak service?
<raghav-gururajan>wingo Oh I thought the error was because of "--from", so I removed when I reposted. I used flatpak long back, not using atm.
<raghav-gururajan>wingo Wait a sec, Try including '--user' before '--if-not-exists'.
<wingo>ah :)
<raghav-gururajan>Did it work?
<wingo>yes it did, tx
<raghav-gururajan>Cool, then you should also use '--user' for `flatpak install` and `flatpak run` commands.
<kmicu>pkill9: when we don’t GC, everything is pinned in the store. I know that’s a silly notion but e.g. creating a wrapper shell script called ‘icecat’ which invokes /gnu/store/hash/icecat gives us a pinned icecat 😺
<wingo>"flatpak install" seems to work fine without --user fwiw
<wingo>at least it's downloading things
<raghav-gururajan>wingo Intresting, that's intended to install for all-users/system-wide. But that cannot happen in guix.
<wingo>i hope i'm not borking my user :)
<wingo>but we'll see i guess
<apteryx>nckx: Yes, the init eventually worked (after I resolved an obscure GRUB issue about find old RAID or LUKS headers at the start of the drive and complaining that it didn't support embedding (this problem: After clearing the start of the drive with dd and recreating the GPT
<apteryx>table and my partitions, it was OK.
<apteryx>I think if we don't use cow-store, nothing will get written to the actual drive, making the installation pointless. But cow-store is problematic with 'guix deploy', which has no knowledge of the actual, rw partition being mounted at e.g. /mnt instead of /. It's probably fixable by some remounting magic but I was too tired to keep investigating.
<apteryx>when you run 'guix system init config.scm mount-point', the last argument tells it where to install the files (e.g., /mnt), which is why it works.
<leoprikler>Correct me if I'm mistaken, but does 'guix deploy' not rely on an already existing guix installation (or some other infrastructure to make one)?
<waynedpj>is it possible to share the /gnu/store between Guix System and other Guix instances running on other installed OSs on the same machine? e.g. create a Btrfs subvolume for /gnu/store/ that is mounted for each OS. thanks.
<waynedpj>i found this thread but it never was resolved
<pkill9>what does this mean when trying to use pypi url as source? guix/build/download.scm:744:0: In procedure url-fetch:
<pkill9>Invalid keyword: #vu8(127 169 24 139 126 16 170 220 21 152 210 46 169 217 142 147
<pkill9>123 56 157 196 68 121 2 97 8 240 161 17 104 78 168 127)
<pkill9>i think it's happened before
<thomassgn>after upgrading emacs and removing emacs from my OS config (it's now only in my user manifest) I get a ton of errors like this "Warning: Lisp directory '/home/ton/.guix-profile/share/emacs/site-lisp/guix.d/ag-0.48': No such file or directory" for different modules it seems. It looks like most of them exist in /home/ton/.guix-profile/share/emacs/site-lisp/ though. Anyone know what's happening here?
<pkill9>worked out the issue, i imported (guix build download) instead of (guix download)
<daviwil>thomassgn: Within the last few months, EMACSLOADPATH logic has changed such that the guix.d subpath has been eliminated. you might check your EMACSLOADPATH to make sure it's not still referring to outdated paths
<daviwil>now .guix-profile/share/emacs/site-lisp has symlinks to generated autoload .el files
<daviwil>Ahh, that last part is wrong, it's symlinks to the actual package .el files
<leoprikler>It symlinks to all the elisp code + autoloads.
<apteryx>thomassgn: you probably want to source .guix-profile/etc/profile again, so that EMACSLOADPATH is set correctly.
<apteryx>(or re-login, if you are using a window manager)
<daviwil>this ^
<lfam>Which package module should hold a QR code library?
<apteryx>leoprikler: you can describe what kind of "environment" the target is. Currently there exists only two supported environments, "managed-host-environment-type", which is a system reachable through SSH which already has Guix installed, and "digital-ocean-environment-type", which is for a VPS from that provider.
<apteryx>perhaps we could implement a new environment "guix-installer-environment-type" that would know the peculiarities of the Guix installer image (such as overlays used).
<apteryx>but I'm not sure this is a common enough use case. It was easy enough to 'herd start ssh-daemon', edit my config file there using Tramp in Emacs then issue 'guix system init my-config.scm /tmp'.
<NieDzejkob>why would you install your system into /tmp O_o
<daviwil>some people like to live dangerously ;)
<apteryx>err, s/tmp/mnt/ :-)
<NieDzejkob>lfam: image.scm? image-processing.scm?
<apteryx>there's also graphics.scm.
*lfam realizes they don't have any idea what a Guix machine type is ;_;
<lfam>I feel like those are good suggestions... but maybe it's time for barcode.scm. Or computer-vision.scm
<lfam>Or something like that
<apteryx>it's the type used to describe a target when using 'guix deploy' :-)
<apteryx>lfam: yes, this would be more accurate.
<lfam>I just set up a new server on digital ocean, it would be great to manage it with Guix
<daviwil>Side question, anyone actually using the digital-ocean-environment-type? I was looking to set up a Guix-based VM there but found conflicting info about the setup process, wondering if 'guix deploy' actually works there
<lfam>I also am wondering this :)
<daviwil>I need to add a server to my Guix machine tribe :)
<apteryx>hmmFF, my guix build command has been stuck for hours on a "substitute: updating substitutes from ''... 100.0%" message, with no sign of progress.
<lfam>apteryx: I've noticed this recently. Sometimes it hangs after updating the substitutes. I don't think it's specific to; it happens also with my private mirror
<apteryx>I see 'guix substitute' using 70% of a core, guix-daemon 30% of a core.
<lfam>Can you attach to it with strace and see what it's doing?
<apteryx>the daemon?
*apteryx tries
<thomassgn>apteryx: ah, perfect. did the trick :)
<apteryx>thomassgn: welcome to the era of per-profile manageable Emacs
<daviwil>It's pretty amazing. I'm using a `guix environment` to load a profile for testing Emacs 27 to figure out why my configuration doesn't work with it
<daviwil>Running an Emacs 27 window inside of Emacs 26 via EXWM
<apteryx>daviwil: great to know some are making use of that power :-).
<daviwil>biggest everyday benefit is being able to have a separate manifest for all of my Emacs packages so that I can update it separately from my desktop apps
<daviwil>Who wants to upgrade ungoogled-chromium when you just want to update emacs-evil
<apteryx>lfam: it appears to be doing mes/bootstrapping related work:
<apteryx>well, to be fair, I had ^C it before restarting it then attaching (my bad), so this is happening while the message "substituting /gnu/store/4q1ffvk79np2jhaqbwfjczml5m4lgdlf-libpthread-stubs-0.4..." is print.
<apteryx>lfam: the full context of the guix build I run is this:
<apteryx>there's lots to do obviously, but I'd expect more output
<NieDzejkob>apteryx: you sent a link to the homepage
<thomassgn>About emacs and config, anyone know what I've fudged to make the fonts look like this:
<apteryx>lfam: seems I could escape the hang by rebasing off current core-updates then re-issuing.
<apteryx>It's downloading stuff now.
<apteryx>thomassgn: interesting. maybe you are using a fixed font? FWIW, I use the 'font-hack' package and put this in my ~/.emacs to configure the size: '(default ((t (:inherit nil :foundry "SRC" :family "Hack" :height 110))))).
<apteryx>err, (custom-set-faces ...) should encapsulate the above snippet
*apteryx finally resurrected a 14 years old machine to offload some builds to (Core 2 Duo Q6700, 8 GB RAM).
<thomassgn>it seems it doesnt find the fonts or something. Maybe another fontcconfig issue on my part, maybe a reboot would solve these things... :)
<thomassgn>Awesome apteryx :)
<apteryx>thomassgn: Are you running in a pure environment? Fonts may need some globally set environment variable to be found (unless you install the package responsible to set the search path in your environment itself).
<daviwil>thomassgn: I and others have hit this issue when using Emacs in a separate manifest. The solution for me was to add a fontconfig that includes the font path in the other profile where I install them
<daviwil>Alternatively you can install the font in your emacs profile too
<leoprikler>apteryx: I think you replied to the wrong person. You're basically echoing what I said, albeit with an important addition.
<daviwil>Here's what my .config/fontconfig/fonts.conf looks like:
<nckx>lfam: I don't know the context, but saw you mention barcode.scm: there's already aidc.scm ( which has 100% bigger words == better.
<lfam>Haha, perfect
<daviwil>Hmmm... I wonder if there are some gotchas to migrating from Emacs 26 to 27 in the same profile without first cleaning out the entire thing
<daviwil>The weird issues I was experiencing with Ivy in Emacs 27 are eliminated if I do a simple repro with `guix environment --ad-hoc emacs-next emacs-ivy --pure`
<daviwil>Easy to check though, will give it a shot
<daviwil>hmmm, completely clean profile didn't fix it
<apteryx>if you are using a manifest or upgrading all teh packages in that profile at the same time, you shouldn't have byte compilation issues (all the emacs packages will be rebuilt against emacs 27).
<bandali>doesn’t that require re-byte-compiling all those packages for emacs 27?
<bandali>afaik, emacs-minimal currently is at 26.3
<bandali>(which is what is used to byte-compile emacs packages)
<leoprikler>bandali: you can rewrite those builds to use emacs-next, although it will trigger some bugs with certain packages
<daviwil>apteryx: Yeah, I think this must be an elisp loading issue of some sort. I'm hitting the max-lisp-eval-depth when I load my configuration and then have strange behavior from packages like Ivy. EXWM also fails to capture focus correctly when it starts. I think something unexpected must be happening when loading packages in the profile
<bandali>leoprikler, ha, rewrite them to use emacs-next instead of emacs-minimal?
<bandali>nice. i’ll give that a shot
<leoprikler>for packages built with gnu-build-system you have to replace the input, for those with emacs-build-system you have to add #:emacs emacs-next as argument.
<bandali>ha, cool. is “#:emacs” recognized?
<leoprikler>inside emacs-build-system, yes
<KE0VVT>What's emacs-next?
<NieDzejkob>the unreleased emacs 277
<NieDzejkob>uh, emacs 27
<bandali>leoprikler, awesome, thanks!
<NieDzejkob>we don't have a time machine, just a git repo, so we can't see *that* far
<leoprikler>Apple stans will hate Emacs until version 277, I'm sure of it.
<NieDzejkob>Anyway, is there a more lispy way to write `(,@build-flags ,import-path) ? I feel like what I wrote is just line noise. ( if you need context for that)
<commanderkeen>how do I list services with herd? Im trying to get cups running
<NieDzejkob>commanderkeen: sudo herd status
<leoprikler>NieDzejkob: ,import-path ,build-flags?
<commanderkeen>NieDzejkob: thanks. i guess i didnt realize i needed to sudo to view it
<bandali>leoprikler, do we have an example of a package using #:emacs? if not, i guess i should look at python packages, as i recall the python build system has #:python
<leoprikler>emacs-telega builds with default emacs IIRC
<commanderkeen>so to properly install cups i would sudo guix install cups?
<leoprikler>I may be mistaken though.
<bandali>will check it out, ty
<leoprikler>commanderkeen: Not on Guix System. There you'll have to add a cups service to your config.scm
<bandali>ah nice, there’s actually a whole bunch of ’em in emacs-xyz
<leoprikler>e.g. (service cups-service-type)
<NieDzejkob>leoprikler: that order doesn't work, import-path has to go last
<commanderkeen>leoprikler: gotcha. thanks
<leoprikler>NieDzejkob: in that case I really don't have anything better than the stuff you do.
<commanderkeen>okay so i added the cups service to the config.scm file. how do i reload?
<leoprikler>If I'm not mistaken services are reloaded after reconfiguring.
<commanderkeen>i think im missing something. im really confused
<leoprikler>`sudo guix system reconfigure /etc/config.scm` then `sudo herd status`
<leoprikler>does that list cups somewhere?
***nckx- is now known as nckx
<leoprikler>If not, you can find out your shepherd config through `sed -ne 's/.*--config\" \"\(.*\)\".*/\1/p' /run/current-system/boot`
<leoprikler>then `sudo herd reload root $config`
<commanderkeen>one sec. i think im getting somewhere.
<commanderkeen>it lists cups in herd status
<tigre200>Hello. I've just installed Guix with the GNOME desktop and am trying to configure the keyboard. I have a portuguese keyboard, but none seem to have the keys in the correct place. Is there a program to detect the correct keyboard configuration?
<mbakke>hmm, civoduls the gdb patch caused a huge rebuild, I wonder if we should revert it
<Blackbeard[m]>tigre200: are the GNOME settings not working?
<tigre200>Blackbeard: They are working, but the keyboards do not match mine. I tried all the portuguese keyboards.
<bandali>mbakke, it seems ludo isn’t around right now. and also typo in his nick
<Blackbeard[m]>tigre200: what layout are you using,?
<Cadey>How do I install guix if i need to make /gnu a symlink?
<lfam>Cadey: Did you try following the installation instructions make altering that one step?
<lfam>I mean, "but altering that one step?"
<Cadey>i extracted my GNU store to /home/errata/gnu
<Cadey>(mostly because /home has the disk space guix would need)
<Xe>well cool
<Xe>installing hello killed my tmux session
***Xe is now known as Cadey
<lfam>That's unexpected!
<pkill9>earlyoom is great, it killed a guix build when it was eating up all my RAM and about to cause my system to freeze
<jackhill>Cadey: I don't know if guix will follow a symlink at /gnu (have you tried? I haven't…), but another idea would be to bind mount /home/errata/gnu there
<Cadey>yeah i did the bindmount
<jackhill>cool, did it work?
<pkill9>guix definitely feels snappier with guile 3.0
<daviwil>anyone tried to install Guix in Termux on Android? Seems like it isn't possible to install right now due to lack of su privileges unless you root your device (which I can't do at the moment)
<leoprikler>There are some blog posts and what not, but I think they all depend on a rooted device anyway (if they don't go one step further to actually flash the image onto the phone).
<leoprikler>You could try adapting some of the rootless guix setups out there to Android, but I don't know whether it will have e.g. proot.
<daviwil>Termux definitely has proot, people install other distros within Termux with that
<daviwil>I've just been turned off a bit by the performance complaints
<daviwil>but maybe the satisfaction of having Guix on my phone would make up for it ;)
<leoprikler>You'll have to try and see and maybe write a blogpost on it 😉️
<Cadey>jackhill: it was incredibly effective at making `guix install hello` kill my tmux session
<daviwil>lol, like I need *another* thing on my todo list! but since you suggested it...