IRC channel logs


back to list of logs

<xavierm02>On an unrelated topic: I'm having a hard time understanding the difference (aside from verbosity), in the config.scm, between adding a package in the package list, and making a simple-service that extends the profile service
<eric23>guix (GNU Guix) 8190e1edafac77606026f414a5951bde759bd26e
<xavierm02>(I'm going to bed but I'll read logs tomorrow so don't hesitate to answer while I'm gone)
*nckx is not sure what kind of answer is expected.
<nckx>xavierm02_: I mean, it'll probably work, I guess, and it's nice & hacky & sure (system-packages…) is just an abstraction you can opt out of if you're the kind of person who likes making their own screws, but why would you do that in practice?
<nckx>eric23: Which errors are we talking about here? ‘guix pull’ prints nothing odd; let's see if the pulled guix does…
*nckx pulls harder.
<eric23>something about nettle.go other files...
<eric23>now it is compiling just about everything.
<nckx>eric23: Could you be more specific, if possible through or similar?
<eric23>it's doing some sort of check with build log.
<nckx>Real packages? Or Guile modules? (If you don't know how to tell, that's fine.)
<OriansJ>well guix commit fc1ff7f was recent and guix pull on that would result in an error
<nckx>Ah. I missed that new cycle.
<OriansJ>but the current is 80fa745 which does appear to work but with a minor error message
<nckx>Now, I am pulling from a file:// guix repository, but it's fully up-to-date.
<OriansJ>which looks like this:
<OriansJ>now it does appear to be building; eric23 does that appear similar to what you see?
<nckx>OriansJ: That's the error one gets when /etc/guix/acl is empty, though.
<nckx>Are you sure guix pull is to blame?
<eric23>no that was it. Warning:
<OriansJ>nckx: then I guess one needs to update the logic to behave correctly when /etc/guix/acl is empty
<nckx>One must.
<eric23>no that wasn't it.
<nckx>eric23: Er, we talkin' warnings or errors here? Just to avoid any confusion.
<nckx>Just warnings, right?
<eric23>just warnings.
<nckx>OriansJ: Did you clear …/acl yourself on purpose? Guix handles a missing one just fine, but an empty one confuses it to no end. And would hint at corruption, asidedly.
<nckx>I'm not sure if silently treating an completely empty file as a valid acl list is desirable.
<OriansJ>nckx: why would an empty set for an ACL list be undesirable?
<eric23>Now that I think about it kind of looked like this:
<nckx>OriansJ: I don't know, my ‘not sure’ was meant literally, not disapprovingly.
<eric23>I don't remember there being errors. I remember it having load-thunk-from-memory
<nckx>OriansJ: Though I was talking about an empty ‘file’ (or, more generally, any file that isn't a valid sexp according to string->canonical-sexp, which rejects the empty string), *not* an empty set. ‘(acl)’ should work, no question. But ignoring an empty file might hide bugs. Does that make any sense?
<nckx>s/‘file’/*file*/, sigh.
<nckx>OriansJ: What I'd like to do is: still abort, but catch the error and print something more helpful than that monster you saw.
<nckx>Which means I am about to learn how exceptions are caught in Guile.
<nckx>Woo, hoo.
<OriansJ>nckx: sounds like a good time ^_^
<nckx>It's only 00:35 what else are nights for.
<OriansJ>nckx: building quality relationships with people you care about and who care about you; thus making the world a better place one night spent at a time.
<nckx>Oh, you.
<kmicu>See you Space Guix Cowhands!
<nckx>kmicu: o/
<eric23>They were not errors.
<nckx>eric23: Running ‘file <a random similar file>’ here gives me:
<nckx> /gnu/store/z5bk5v8kl2ll16mf1p3rbcb4hwgm4075-guix-module-union/lib/guile/2.2/site-ccache/gnu/packages/djvu.go: ELF 64-bit LSB shared object no machine, version 1 (embedded), dynamically linked, with debug_info, not stripped
<nckx>eric23: It would be interesting to see if ‘file /gnu/store/hvhcfn985gbpr5rmjp2g4gsr5qpp4szw-guix-module-union/lib/guile/2.2/site-ccache/gnu/packages/djvu.go’ returns something bogus for you.
<nckx>Though I'm not a Guile hacker and my advice ends there.
<eric23>I don't have file. Which package is it part of ?
<eric23>I see it in coreutils
<nckx>eric23: A life without ‘file’? Wow :-) Just ‘guix install file’ will fix that.
<eric23>nckx: I saw this synopsis: Core GNU utilities (file, text, shell) and downloaded coreutils and did not get file. I'll try what you said
<eric23>It just says : data
<nckx>eric23: They mean ‘utilities for working with files, text, and [the] shell’ with that.
<nckx>eric23: See, that sound suspicious to me. All my copies of that file (and I have many) are ELF files.
<eric23>should I roll back to a different generation?
<eric23>or just delete everything?
<nckx>eric23: If you have the time it would be best to run ‘sudo guix gc --verify=repair’ to see if it finds any corruption. And save the output.
<nckx>No, neither.
<nckx>Rolling back won't change a single file in the store (it is immutable, after all) and Guix can detect corruption if that's the issue so no need to reinstall.
<nckx>(Reinstalling could merely postpone the problem, you might have a bad disc, RAM, …)
<nckx>In Guix, in general, the ‘reinstalling something is the same as fixing it’ myth is really dead.
<eric23>$ sudo guix gc --verify=repair
<eric23>reading the store...
<eric23>checking path existence...
<eric23>didn't really do much
<eric23>echo $? gives me 0
<nckx>eric23: Sorry, that should have been --verify=contents,repair to actually, y'know, verify and repair the contents 😒
<nckx>=repair just replaces missing files, not damaged ones.
<eric23>and so it downloads.
<nckx>Hm, that means it found something damaged that needed to be replaced. I'd be interested in the full output.
<eric23>checking hashes..
<eric23>path `/gnu/store/12h5rnmxfmr63b7y1rg1a4v7ck3j61ay-guix-1.0.1-1.8204295' was modified! expected hash `cf4672b08afaaffe06fe0a1adb39bcc6fa32aefa9f08ed44e893ffc53596f914', got `be7764eeed6cca457783b826bf7feea8b45daa3ad5417daa73918ad202124233'
<eric23>fetching path `/gnu/store/12h5rnmxfmr63b7y1rg1a4v7ck3j61ay-guix-1.0.1-1.8204295'...
<eric23> guix-1.0.1-1.8204295 50.4MiB
<nckx>eric23: Whoa, not here ☺ when all is finished.
<nckx>But yeah, ‘was modified! expected hash’ means that a file was damaged. Store files never change, so there's no legitimate alternative for the hash not matching what was originally recorded.
<eric23>I guess I had to restart my computer when it froze too many times.
<eric23>so maybe it is bad RAM.
<nckx>eric23: It could have frozen because of bad RAM, or just because of a software bug, and it was the hard reset that caused file system corruption. No way to tell.
<nckx>If the freezes/crashes ‘feel’ more random than they should be, it could be RAM.
*nckx had 2 machines with bad RAM in their life. Weird things happen.
<nckx>I was half-expecting be7764eeed6cca457783b826bf7feea8b45daa3ad5417daa73918ad202124233 to be the hash of the empty file, but it's not.
<eric23>quite a bit is corrupted.
<eric23>does this verify everything on the computer or just guix ?
<nckx>eric23: All software installed by Guix; so what in traditional distributions would be in /bin, /lib, /usr… Not edits you might have made to /etc (such as your system configuration if you're on Guix System) or ‘live’ data in /var, &c. And of course Guix doesn't touch or hash your files /home.
<nckx>Short answer: everything in /gnu/store.
<nckx>Nothing else.
*nckx double-checks their own hourly backup script before the nightmares return.
<eric23>I guess this is why some people have their filesystems mounted ro.
*nckx pets vagrantc's cat.
<eric23>I think it wants me to do it all over again.
<nckx>eric23: Why do you think so?
<eric23>guix pull still gives me the same warnings. guix gc ... does the same thing
<eric23>yes I used sudo.
<nckx>Looks like all corrupted store items could stem from one hard reset during a guix pull or so.
<nckx>Oh no
<nckx>of course:
<nckx>repairing path(s) `/gnu/store/ds30n32jihyjp6lp9w37vg1jdjkv78qv-guix-package-cache'
<nckx>(repl-version 0 0)
<nckx>Generating package cache for '/gnu/store/gcwfyagf8haf74l5djpjwbs8p66c5jk4-profile'...
<nckx>;;; WARNING: loading compiled file /gnu/store/d2ga2jxqv5p8z425dsv8yp6vn1a9q0qv-guix-module-union/lib/guile/2.2/site-ccache/gnu/packages/djvu.go failed:
<nckx>;;; In procedure load-thunk-from-memory: not an ELF file
<nckx>Chicken, meet egg. >_<
<nckx>Uhm, this might be the very rare occasion where ‘just reinstall’ is a reasonable answer :-/ Also because I'm going to bed, much as I'd like to help you further.
<nckx>I'm not too happy with that answer either, sorry.
<eric23>I'll try to figure out how to mount it read only.
<eric23>This is karma for me since I told people in Windows their only answer is to reinstall.
<nckx>eric23: /gnu/store *is* mounted read-only, the corruption happened while adding (i.e. writing) new files, no way around that even with ro, don't waste your time on that.
<nckx>Well, you still weren't wrong. And there's certainly a way to get out of your pickle without reinstalling, I just can't pour it into 2 lines here before signing off. I'd be bound to forget something important, for one.
<nckx>Good night #guix o/
<eric23>nckx: thank you and good night
<nckx>eric23: Good luck… (and try writing to /gnu/store if you don't believe me. ;-)
<eric23>I see that... /dev/mapper/guix-test on /gnu/store type ext4 (ro,relatime)
<faif87_>I've never ran into this before, but I can't run executables via terminal using "./". I'd enter "./someprogram" and would get "No such file or directory". Any ideas on how to remedy this?
<eric23>faif87: out of curiousity what do other commands from system say?
<eric23>I mean can you execute any system commands?
<faif87>eric23: Yep. I'm not bash expert, but I can use: cd, ls, pwd, cp, etc.
<faif87>Here's a bit more context to my problem. I want to use Godot, but the one Guix provides is a version behind. I need the latest version because it supports OpenGL ES2, so I downloaded the executable from Godot's website, but can't run it via "./Godot...".
<faif87>I had to download ncurses to use the "clear" command. Is there something I have to install to use "./"?
<eric23>I don't think so. I made a executable bash file on my home directory and executed it fine.
<faif87>eric23: Hmm, strange.
<faif87>eric23: I was using GNOME before I switched to MATE. I don't recall using "./" in GNOME, but hopefully the DE switch didn't break anything.
<kkebreau>faif87: Did the Godot executable work when you were using GNOME?
<eric23>could it be his console. he could try using gnome-terminal
<eric23>within mate
<faif87>kkebreau: I didn't try it on GNOME.
<faif87>eric23: Hm, that's a good idea. I didn't think of trying a different terminal.
<kkebreau>faif87: It sounds to me like the binary can't find the software libraries it needs.
<kkebreau>I assume you're using Guix System?
<faif87>kkebreau: Yep.
<kkebreau>Then I'm probably right... This is a common issue on Guix System, and every time it's happened to me, it's been the library problem.
<faif87>kkebreau: Ah, gotcha. Were you able to find a way to resolve it or work around it?
<kkebreau>faif87: Yes, two ways in fact. Both ways are kind of a hassle.
<kkebreau>One way is to use patchelf to manually tell the binary where to find the necessary libraries.
<kkebreau>The other way is to flat out install a "normal" distribution inside a folder to use these pre-compiled binaries.
<kkebreau>In this case, there's actually a third option: update (or get someone to update) the Godot package.
<faif87>kkebreau: Ah, I see. I'll look into those later, since I've got to log off now. Thank you very much, though! I really appreciate your help.
<faif87>eric23: Thanks for your help as well!
<kkebreau>faif87: You're welcome!
<eric23>No problem faif87
<M4R10zM0113R>anyone got icecat fonts missing? how'd you get around? desktop seems to include the "essential fonts"
<M4R10zM0113R>trying to follow the manual for SLiM, I get " guix system: error: more than one target service of type 'dbus' "
<xavierm02_>nckx: Idk. That's how they add the nm-applet in %desktop-services so I was wondering why they did that
<apteryx>hello! I've tried setting my keyboard-layout to "dvorak" for my bootloader configuration, and it doesn't seem to have an effect; Grub still use the default US keyboard to input my LUKS key.
<apteryx>There are 2 LUKS prompt; one by Grub, and one by the kernel, from what I understand...
<xavierm02_>apteryx: Is the layout unchanged for both?
<apteryx>dvorak is honored for the kernel layout (2nd prompt)
<apteryx>and for my Xorg config as well; so it seems it's just Grub that is having problems with it.
<xavierm02_>If you have the keyboard-layout thing at the 3 places it should be (in operating-system, in bootloader-configuration and in xorg-configuration and it still doesn't work, I'd expect it to not be a Guix specific issue
<xavierm02_>apteryx: Seems to be a grub problem. One way to deal with it, as suggested in the second link, is to just add a second key to your encrypted volume, and type it with the default keyboard layout.
<apteryx>xavierm02_: that's smart! :-)
<apteryx>I see a good way to prevent having to enter the LUKS password twice would be to setup a key file that is in the initramfs. Would someone have attempted to configure this with Guix?
<apteryx>xavierm02_: thanks for the links
<xavierm02_>apteryx: I asked yesterday and people said no. I'm planning on looking into it (in the next month or so) but since I'm new to Guix, I'm not sure I'll succeed
<xavierm02_>And you have to be careful with this kind of stuff snce messing with encryption keys is probably the only way to really mess with a Guix install
<xavierm02_>in a non invertible way that it
<soocki>Hey. Thanks for guix, loving the OS, it has been a long time since I was excited about my computing so thank you.
<Gamayun>soocki: Yay! :-)
<soocki>Got: 'guix system: error: symlink: Permission denied: "/var/guix/profiles/"' at the end of 'guix system reconfigure ...' command. How do I fix please?
<soocki>It was run as a regular user.
<xavierm02_>soocki: run it with sudo
<OriansJ>soocki: although regular users can build all packages; they can not make changes that could potentially effect other users and thus commands like system reconfigure require elevated permissions
<soocki>Is it needed or am I fine as-is?
<soocki>Safe to ignore?
<xavierm02_>well it created everything, but didn't link it so it won't be used
<soocki>So best practice is to run with sudo?
<OriansJ>soocki: it effectively means nothing was changed; as guix either completes successfullly or does nothing
<xavierm02_>the way guix works is that it puts everything in the store, and then puts a symlink in the profile (which is contained in your path so that's where your shell etc. goes to find programs)
<xavierm02_>so if you don't update the link in the profile, you may have built stuff and added it in the store but it won't be usable
<xavierm02_>OriansJ: Are you sure? Last time I forgot sudo, when I rerun it with sudo it went much much faster. I assumed it meant it had kept the work it did and only added the link
<OriansJ>xavierm02_: that is because the successful builds are still cached and thus that work does not have to be repeated; partial builds and similiar problems have to be redone entirely (if you don't believe me try building python-minimal@3.7.0 on a 1GB machine)
<OriansJ>if you wish for it to keep failed builds you need to add --keep-failed
<xavierm02_>OriansJ: I believe you :)
<OriansJ>xavierm02_: what is so dumb about that is that the single test that will fail wouldn't actually detect anything useful and the binary that would be generated is identical to the one produced on a machine with 16GB of ram.
<soocki>My local config (~/.config/guix/current) points to '/var/guix/profiles/per-user/username/current-guix) which still points to the first system iteration '/var/guix/profiles/system-1-link' since the new one ("/var/guix/profiles/ couldn't be created, permission denied. So I am infact using the previous version. I was under the impres
<soocki>sion the whole point was to have per-user profiles/upgrades, hence 'sudo' shouldn't be needed. Is this normal it fails like this?
<lem0n4de>Hi, I m considering to switching GuixSD, but I am curious is it capable of managing user configuration files?
<OriansJ>lem0n4de: depends upon what you mean by managing user configuration files
<lem0n4de>Like managing .zshrc or some config files for terminal
<soocki>I am pretty sure the size of /gnu/store have doubled as a result of this process, yet since the symlink is not there it is not usable. This is weird.
<OriansJ>soocki: elevated priviledges are required when guix needs to perform an action that could potentially impact other users.
<lem0n4de>I want to use it for personal computer and trying to figure out is there a way to completely reproduce my user environment
<xavierm02_>soocki: Users can guix install, and if serveral users guix install the same thing, then I think it's shared. But guix system is for the admin, otherwise you could change another users' shel to something with a virus, or do other dangerous stuff
<xavierm02_>lem0n4de: If you mean configuration files, then no. The installed packages with their versions yes. And you can just keep a copy of configuration files.
<OriansJ>lem0n4de: well guix can easily ensure all packages are installed to your specification but guix doesn't yet provide that specific functionality like Nix does
<xavierm02_>lem0n4de: There's home-manager in nixos that tries to keep a file that described configuration files. I don't think there's anything prevent you from doing the same in guix, it just hasn't been done yet.
<xavierm02_>And yesterday, someone was trying to make his .config readonly but it wasn't really working because some programs just expect to be able to write there
<lem0n4de>Hmm, I am going to look further for that nix package
<lem0n4de>Thank you for answering
<tune>anyone know if the icecat version in guix supports wayland?
<OriansJ>lem0n4de: you might find this useful
<xavierm02_>Maybe you could even install nix from guix, and then home-manager in nix, and with a few symlinkx, you might be able to get it working
<lem0n4de>Yeah, I currently manage my dotfiles with a git repo but to install all system with a single command makes me somewhat excited
<soocki>xavierm02_: OriansJ: Thanks. I do not fully appreciate the fact how this is 'half-allowed' for a regular user but I suppose it's me not fully appreciating the repercussions involved. Since I am not in control of the other user's symlinks to the current version (~/.config/guix/current) than I cannot dictate their version of the system. Yet, somehow
<soocki>I can build and install a fully upgraded system, but not able to use it. I suppose the answer is, like you say, this functionality is for adminstrators, get used to it, fine and I will. Thanks again.
<OriansJ>lem0n4de: would 3 commands be close enough?
<lem0n4de>Haha, it is the best we can do I guess
<OriansJ>lem0n4de: atleast for now
<xavierm02_>soock: You can't "build and install", you can "ask guix to build" and "ask guix to make things available in the store". But that's not really installing. In "./configure; make; make install" words, you can "./configure", "make" and "make install for me" (guix install) but not "make install for everyone" (guix system reconfigure).
<soocki>xavierm02_: That makes sense. Running with sudo took no time the second time around.
<soocki>After installation of 'fprintd' what would be the most straight-forward way of starting/enabling the associated service? Is the intervention in the '/etc/config.scm' needed? ('gnu services authentication' + 'service fprintd-service-type' declarations), or is there an alternative way?
<soocki>DISCLAIMER: I have read the related documentation, yet it is still not clear to me, I would very much appreciate a little push in the right direction, hope you don't mind, I don't take this for granted, appreciate all your help answering my questons and clarifying it for me.
***ng0_ is now known as ng0
<xavierm02_>soocki: You can try "herd start fprintd" but I don't think it'll work before adding the service in config.scm
<soocki>xavierm02_: The 'herd' is not aware of the 'fprintd', even though it's installed, that is why I attempted the 'guix system reconfigure ..' in the first place. My user's profile still point to the wrong file system profile though, I guess I need a restart and whatnot. I will have to disconnect so thank you and farewell, talk you again.
<xavierm02_>soocki: Yeah, restarting should fix it
<xavierm02_>soocki: if te guix system reconfigure succeeded
<soocki>xavierm02_: The local profile file needs to be adjusted perhaps, I guess I will find out. Thanks again take care.
<xavierm02_>Is there a reason why we don't want guix system install <thing>?
<xavierm02_>my understanding is that the goal of guix is that there exists a file that fully describes the system, but not necessarily that we modify the system by editing that file
***jonsger1 is now known as jonsger
<cap>Has anyone a config for me, where sway is used without a display manager?
<OriansJ>cap: well I have a config where it is a drop in replacement for i3-wm
<cap>OriansJ: I would like to see it.
<OriansJ>cap: here you go
<OriansJ>cap: and here is the procedure I follow to use it
<nckx>sneek: later tell soocki: fprintd is enabled by adding ‘(service fprintd-service-type)’ to the services field of your operating-system. You *can* additionally ‘guix install fprintd’ to get the fprint-* tools to test your reader, but they won't work without the service.
<nckx>sneek: later tell soocki: Then you're pretty much done because nothing on Guix System integrates with fprintd [yet]. Or at least nothing that I've tried. Sorry. But you can manually fprint-verify until your fingers bleed.
<sneek>Will do.
<lagfra>does anybody experience a build failure with sed-4.5 derivation when updating with `guix pull`?
<nckx>lagfra: No.
<nckx>That's also a very ’low-level’ thing to be building for ‘guix pull’ (and it's not like core-updates were just merged).
<brendyyn>Thanks to whoever updated syncthing
<roptat_>hi guix!
<roptat_>I'm trying to use sxml->xml in a builder (in a gexp actually), and it outputs a weird #<unspecified> at the end
<roptat_>when I try to do exactly the same thing without sxml->xml (so displaying the sxml expression), there is no #<unspecified> and the sxml looks fine
<roptat_>so (display (sxml->xml `(test (a)))) output "<test><a /></test>#<unspecified>"
<roptat_>and (display `(test (a))) outputs "(test (a))"
<nckx>roptat_: OK, this confused me for a few minutes to no end, but now I get it.
<roptat_>do you know what happens?
<nckx>sxml->xml *writes* to the current output port, *returns* unspecified. So the first part of your output was written sxml->xml directly, then display printed the return value: #unspecified.
<roptat_>so, no display :)
<roptat_>let me try
<nckx>Scheme Procedure: sxml->xml tree [port]: Serialize the SXML tree TREE as XML. The output will be written to the current output port, unless the optional argument PORT is present.
<roptat_>yeah, it worked, thanks!
<OriansJ>any news on the IPFS integration with guix? in a related point has anyone come up with a simple way to automatically download all of the files referenced ?
<OriansJ>or gnunet integration?
<lagfra>nckx: ok then, I was trying to set up guix to perform a reproducible build using the gnu build system on a gentoo machine, I figure it's a misconfiguration from my side
<nckx>lagfra: Do you have (/want) substitutes enabled? In any case, a copy of the failed ‘guix pull’ output on would be helpful.
*nckx → food.
<M4R10zM0113R>icecat seems to still be missing fonts even if I force the font to be something else
<roptat_>weird, I get In procedure module-lookup: Unbound variable: ungexp
<roptat_>but in that file, I include (guix gexp) and the ungexp is inside a #~
<roptat_>I had a variable called gexp in that file, it seems to have interfered :)
<recj>I'm not exactly sure how to add my windows partition to the grub boot menu in my config.scm. I see a lot of examples for other gnu/linux distros, but not so much for microsoft windows
<recj>would someone be able to point me in the right direction of what to put for initrd/device
<roptat_>recj, it's not possible yet
<cap>OriansJ: Thank you really much.
<recj>ok roptat_, would i be able to do it in grub config or something ?
<roptat_>I don't think so, but if someone knows, I'd like to know too, so I can boot my haiku system :)
<roptat_>I can only boot it from grub's console
<nckx>recj, roptat_: There's no ‘escape hatch’ for GRUB?
<roptat_>it would be hard to have that escape hatch, because you need to know in advance where the kernel and initramfs is
*nckx doesn't mind not officially supporting Windows so much, but there are other free OSes than GNU/Linux.
<nckx>roptat_: But that's not true for both of those OSes.
<roptat_>it's as simple as adding a menu with chainloader +1
<roptat_>but I don't know of any way to do that
<shafo>Hi, I want to add a custom hwdb file to udev. I'm not sure how to approach this
<recj>sorry wrong channel
<recj>nckx: i don't mind it, but for people who might need to use it and want to dual boot it can be slightly unfortunate
<roptat_>shafo, if nobody answers here, you can try to send an email to
<recj>when packaging something, does guix generally have stable or developer builds ?
<recj>unsure of what the preference is
<nckx>recj: Sure, and one of the fine freedoms explicitly mentions ’for any purpose’. I'm not against booting Windows (well, I am, but don't expect others to be), but can understand that it's not on anyone's to-do list here.
<nckx>recj: Stable.
<nckx>While I *am* a bit surprised that nobody's added *BSD or configfile support, for example.
<nckx>I guess everyone's just enjoying themselves too much on the one true OS.
<recj>yeah I'm surprised about the lack of *BSD support as well
<westerwest>Is it really the only way that when I install guix from iso that I need to upgrade the whole system which takes hours?
<vagrantc>westerwest: are you getting substitutes?
<westerwest>What is that?
<vagrantc>downloading packages from a server rather than rebuilding everything from source
<westerwest>Ive got gnome 3.0
<vagrantc>guix is a rolling release, so a lot of packages have been updated since the iso version
<rvgn>westerwest Also depends on your system config. If there are many system packages and services mentioned, then gonna take while. But basic system config should go in decent time.
<rvgn>*minimal not basic
<westerwest>I ran guix pull and sudo guix system reconfigure as it was in the manual
<westerwest>I chose gnome in the installation
<vagrantc>and changes in the dependent packages also cause other packages to get rebuilt, so it tends to use a lot more disk space, downloads, compile time, etc. than many other distros
<westerwest>Other that that its clean install
<rvgn>westerwest If you are doing a clean install, you have to do "guix system init" instead of "guix system reconfigure".
<vagrantc>i thought the installer handles "guix system init" these days
*vagrantc admittedly hasn't tried the installer yet
<westerwest>I still have gnome 3.0
<vagrantc>westerwest: what are you expecting?
<rvgn>Oh. I assumed that user was doing manual install.
<marusich>recj, roptat_ nckx: you're right, if you want to chainload, you have to manually run the commands from e.g. a GRUB shell on boot. Or you could modify the GRUB configuration file manually, which as they say "may invalidate your warranty" ;)
<marusich>Emails exist in guix-devel about this; for example (I think roptat_ may have written this one):
<marusich>If you feel like hacking around, improvements have been suggested, but nobody has tried anything yet - maybe you could:
<westerwest>If I decide to delete my current system im gonna do manual but now im just spinning up a vm
<vagrantc>westerwest: so, without having a clear picture of your situation, with gnome installed, updating from the initial install could take quite a while due to a variety of factors
<westerwest>Also why there is in the repo only gnome 3.28 and not 3.32?
<vagrantc>updating gnome is in progress
<westerwest>Oh Im dumb. Gnome displays 3.0 but its actually 3.28
<westerwest>How do I get a recipe for my config tho?
<westerwest>I mean where is it
<vagrantc>maybe /etc/config.scm ?
<marusich>Guix doesn't store a copy of your OS config automatically in the built OS. In some cases, like some of the example VM os configs, it will be automatically copied into the VM image, but generally it's your responsibility to keep track of the file you used.
<westerwest>Thats so cool!
<westerwest>What do you mean by that?
<westerwest>You mean where I put it is where i put it or?
<marusich>I mean that, if you have a file named ~/my-config.scm which is the OS config, and you invoke "guix system reconfigure ~/my-config.scm", by default the ~/my-config.scm file will not be installed anywhere.
<marusich>Similarly, if you do "guix system build ~/my-config.scm", it will build the new system, but if you examine what was built, you'll find that my-config.scm is not present.
<marusich>If you want to arrange for your config file to always be installed, then you can do so. Just do what the example VM OS config does:
<marusich>See the part that says "Copy this file to /etc/config.scm in the OS."
<marusich>And replace "config.scm" with something like "/home/marusich/my-config.scm"
<marusich>Does that make sense?
<westerwest>So I need to make my-config.scm into /etc/config.scm to port my configuration elsewhere?
<marusich>I'm not sure what you're trying to do, so maybe I'm confused. As long as you keep track of where your config.scm file is, it doesn't matter where you put it.
<playX>Hello to all! Why there are no `clear` command in terminal?
<marusich>I was trying to explain that, by default, when Guix builds a system (e.g., via "guix system reconfigure config.scm"), it does not automatically store the OS config file that was used ("config.scm") anywhere in particular. Therefore, if for example you build a VM from the OS config (e.g., "guix system vm config.scm") and log into the VM, you will not find the "config.scm" file anywhere inside it, so you will not be able to tell what OS config was
<marusich>used to build it.
<vagrantc>i've always found that to be an odd default behavior
<westerwest>Oh I see
<westerwest>Also when I want to store what packages i installed I store what file?
<marusich>playX, the "clear" command is provided by the "ncurses" package. You probably don't have ncurses installed, which is why it is missing.
<marusich>You can press control+L to clear the screen, though, which is what I usually do.
<playX>marusich, thanks I will try to install this package
<playX>Also, I need to change something in `consig.scm` if I want install oh-my-zsh config from website?
<marusich>westerwest, do you want to keep a record of what packages are installed in your profile (e.g., via commands like "guix package -i foo")?
<vagrantc>westerwest: each user has it's own set of packages installed (including root), and there's the system-installed packages as well
<xavierm02>how do I allow normal users to mount?
<marusich>playX, I'm not sure. I don't use zsh, myself, so I don't know.
<westerwest>marusich: yeah, my user installed packages
<marusich>xavierm02, there are probably a hundred different ways. I use GNOME3, and I have the ability to mount devices (e.g., USB drives) automatically. GNOME usually "just works"...not sure what magic it does under the covers.
<playX>How I can edit sound configuration in XFCE? In GNOME I can change output device and etc
<playX>in xfce I don't have options for this
<xavierm02>marusich, thought nautilus? Or an tray applet?
<westerwest>playX: what about alsamixer?
<marusich>westerwest, you can run "guix package --list-installed" to list all the packages you've installed. However, I think it's easier to keep a "manifest" of packages that you want installed. You can install all packages in a manifest with "guix package --manifest=my-manifest.scm".
<playX>westerwest, I though that guixsd uses pulseaudio by default
<marusich>xavierm02, yeah, I use Nautilus. When I plug in a USB drive, I'm automatically asked if I want to mount it, and it even automatically handles LUKS encryption.
<westerwest>playX: alsamixer works even when using pulse
<westerwest>Also you can use pamixer
<marusich>I don't know if it's Nautilus that does that magic for me or something else; I suspect it's a variety of mechanisms working together. Not sure how it works with other desktop environments. It just works on GNOME, which is one reason why I stick with GNOME.
<westerwest>marusich: gnome probably uses its GVFS to handle all those weird things in the background
<westerwest>Another question: When I use custom package manager within emacs, i dont install emacs packages with guix right?
<marusich>In general, you should be able to use any custom package manager. Especially for an interpreted language like Emacs, I suppose it probably will be fine. But Emacs has a lot of things packaged in Guix, so I'd recommend using Guix to install the Emacs packages, myself.
<westerwest>But when I want to keep my configuration portable? Also isnt all of the things in melpa?
<marusich>I think you can use the Emacs package manager if you want. You might have to jump through some hoops to get it working on Guix; I haven't tried. There are enough Emacs packages packaged in Guix that I usually just don't bother with elpa.
<vagrantc>and it's easy enough to package anything missing...
<vagrantc>and then others benefit...
<marusich>Yeah, Emacs packages tend to be pretty easy to package
<westerwest>This is more because I want my confing on my phone :D.
*nckx just typed ‘git stache’ whut
<nckx>The mind does wander.
<marusich>I mean, one benefit of using Guix's packages is that you can include all your Emacs packages in your "profile manifest" file, as I mentioned above.
*vagrantc wonders how the gpg verification of commits on master works when expired keys are submitting things to the repository
<nckx>westerwest: <Gnome displays 3.0 but its actually 3.28> I don't know Gnome well, but is that not a bug then?
<xavierm02>I'm trying to open en encrypted hdd. I installed gparted. It said it wanted cryptsetup and dmsetup. I installed cryptsetup but can't find dmsetup...
<westerwest>nckx: maybe. But guix packages outdated gnome nontheless. I mean does it matter. I mean if it will pernist till update of gnome I will report it
*M4R10zM0113R starts getting a bearing on guix
<nckx>westerwest: I was going to say that ‘guix packages outdated foo’ is not necessarily a fair criticism (for any distribution, really), but I see that GNOME 3.28 is more than a year old and you might have a point there. 😛
<westerwest>Yeah I mean guix has 5.17 kernel but year old Gnome? That aint right
<nckx>xavierm02: Not saying that advice is good, but dmsetup is part of lvm2.
<vagrantc>some packages are harder to update than others due to larger interdependency sets
<nckx>westerwest: Well, a lot more people run the kernel than run Gnome, and if Gnome is as hellish to upgrade as that year implies…
<xavierm02>Alright I have an epic bug. I had sddm installed. Since I couldn't get gparted to decrypt my hdd, I added a gnome-desktop-service in my config.scm. Then my computer froze, and I tried to log in acter Ctrl+Alt+F2 and thought it accepted my login and password, it didnt' do anything else. So I rebooted and sddm fought with gdm (I think) and my screen kept switching between the two several times per second for a minute. And now apparentl
<nckx>We have a bleeding-edge i3. Jus' sayin'.
<westerwest>Also bleeding edge exwm wink wink
<nckx>And xavierm02 was never heard again. :-/
<vagrantc>xavierm02: you have to disable gdm
<vagrantc>or sddm ... or not use %desktop-services ...
<vagrantc>xavierm02: i fought with that for a while ... pointed out how to remove gdm
<xavierm02>Yeah I knew I should. But I thought that it'd default to one and tell me if they were conflicting (like it does for other stuff) but apparently not. I'm glad gdm was defeated ^.^
<vagrantc>probably worth filing a bug
<vagrantc>my earlier workaround was to set up sddm on a different tty ... which worked until i logged out
<vagrantc>then they would fight again
<vagrantc>not sure how to verify if they're actually conflicting...
<xavierm02>Now I can't find gnome in my scm. Is it possible that since I forced it to shutdown, it recovered a slightly older version of the file?
<westerwest>* westerwest starting to love guix
<nckx>xavierm02: It's possible that the data hadn't been flushed to disc, yes.
<vagrantc>seems like guix system reconfigure ought to force a sync
*nckx was just thinking of every software and their mother forcing (f)syncs when I don't want them too (I'm looking at you, apt), but one biggun at the end might be reasonable.
<nckx>xavierm02: For now, just run ‘sync; guix system reconfigure…’
<vagrantc>nckx: yeah, exactly.
<nckx>Or beginning, in this case. OK, *two* big syncs and that's it…
<nckx>*and so it begins.*
<vagrantc>nckx: and wouldn't it be nice to also sync at ...
<xavierm02>nckx: I added lvm2 and now I can decrypt and mount! Thank!
<westerwest>Sync is coming...
<westerwest>Lord Debian of house Apt, warden of the North Distros
<nckx>Come to destroy your latency and burn your SSD (…what? You'd rather watch a film and perhaps download a file instead of watching your PM's output scoll by? Traitor!)
<nckx>(I didn't mean to blame Debian specifically, there are plenty of ‘my data's probably the only thing in ur q lol’ offenders and apt is far from the worst. I just run it on an old laptop while my mother browses Twitters and then she complains.)
<westerwest>nckx: be loyal to your king of the seven man pages sections!
<westerwest>Dnf isnt great either in that regard FORCING sync every 5 seconds.
*nckx is loyal only to info, the documentation format of the future that hard-wraps at 80 characters.
<westerwest>nckx: I thought that its children's head was bashed with hammer. And that we would use some sane format but gnu in the cities of free software still practices unholy info format. And rumors say that she has 4 GNUs!
*vagrantc suspects this is the wrong channel to advocate man over info
<vagrantc>being, GNU and all...
<nckx>westerwest: Stop injecting the freedom straight into your veins. Re ‘sane format’: there was some mumbling on a guix ML about ‘modernising’ the texinfo toolchain (it did involve HTML, maybe even 5, ew, but hey, everyone deserves a chance).
<westerwest>Im just making fun of it
<nckx>It seems to have died down/moved to another ML tho'.
*nckx memories it but vague.
<westerwest>Html, oh god
<nckx>Yeah, it wasn't quite clear to me how deep that would go (Electron-like viewer? Exports with embedded JS viewer?) but I just skimmed the thing TBH.
<westerwest>Oh god. That would be torture
<westerwest>We are lucky that gnu project is very traditionalist in this regard
<nckx>So much to do; info's fine; but I can see it scaring off new contributors who like or whatever I guess. If someone wants to update it, fine, the nice thing about it being GNU is that ‘it still has to work in emacs’ will always be a loud requirement. ;-)
<nckx>So I'm not too worried.
<westerwest>Yeah. All it really matters. But would be nice if it was Org format for example.
<westerwest>Yet org tags can be in plain text overhelming
<nckx>Here's the thread: (as I said, the above was all from memory, hope I didn't misrepresent it too much.)
<nckx>So OK, it was more about creating a viewer, and then the 80-char thing came up.
<nckx>And other inherent format limitations.
<nckx>vagrantc: Thanks again for maintaining diffoscope in Guix. It really is the most sliced of all breads.
*vagrantc is just a newcomer there
<vagrantc>but it is a nice tool :)
<vagrantc>debating weather to remove some of the inputs, now that it can tell you what inputs are missing
<vagrantc>pulling in all of the recommended inputs is a bit absurd, but how the tool was designed to work
<vagrantc>not sure how guix could implement something like debian's "recommends" which is how it's resolved in Debian
<roptat_>g_bor[m], and
<roptat_>I really like the way I generate my openbox menu :)
<nckx>vagrantc: Yeah, that's always a judgment call once you hit edgy cases like this.
<vagrantc>nckx: i did think about a second package definition that just pulls in all the dependencies
<roptat_>it calls directly stuff from the store and it's saved in a profile, but it's separate from what I have in ~/.guix-profile
<vagrantc>nckx: think that would make sense?
<roptat_>so I can update graphical and non graphical packages independently
<nckx>vagrantc: Since you bring it up: I never got ‘recommends’, really, or I expect too much of them, or something else. It's just a dependency that isn't resolved by default but kept as dependency once it's installed?
<nckx>vagrantc: diffoscope & diffoscope-minimal? (or -maximal, though that's less conventional?) inxi (also a shell-out-to-mucho tool) does that IIRC.
<vagrantc>nckx: in debian recommends is currently treated more like "installed by default, but if you want to remove it, it won't remove the package"
<vagrantc>nckx: e.g. an optional dependency
<nckx>That really doesn't jive with a lot of core assumptions of current Guix.
<nckx>(I know you know, just saying.)
<vagrantc>i'll take a glance at inxi
<vagrantc>yeah, that's pretty much what i was thinking
<vagrantc>although it would be a weird upgrade for people who just had diffoscope installed to suddently pull in the entire universe
<vagrantc>so the minimal vs. maximal seems like that could use some thought
<nckx>Turns out that software is complex, and you can only get so (if surprisingly) far with a brutally simplistic reference scanner and a resolver-free package manager ☺
<nckx>(Still, both good things.)
<nckx>OTOH, use flags are coming.
<nckx>☝ that one's on you, westerwest.
<nckx>[awkward silence.ogg]
<westerwest>I am not sure what were you trying to tell me
<nckx>This is what happens when I try to join in with the cool pop culture references with the kids 😿
<westerwest>nckx: more like. Im non-native english speaker that why i dont get it haha
<nckx>Welp, at least I just used ‘(invoke "fart")’ to force a build failure so I know I'm still young at heart.
<westerwest>nckx: Explain it pls! Rn I desperately want to know what you were trying to say
<nckx>Just that ‘package arguments’ (like ‘options’ or ‘use flags’ on other distros) will probably and eventually be coming to Guix.
<nckx>Like… erm… winter…
<str1ngs>why that makes no sense
<nckx>I'll get me coat.
<str1ngs>I don't see the logic in use flags. it's only really useful for a ports distribution. which Guix is not
<nckx>I am also sceptical, hence my cautious reply.
<str1ngs>this is going to just cause more rebuilds that are not needed
<str1ngs>if it maintains the substitute status quo, I'm okay with it. but I suspect it wont.
<westerwest>nckx: we will probably wait 6 seasons for that
<emsyr>Hi. Does anyone use enlightenment? I have a problem with connman.
<nckx>str1ngs: Well, everything but the default package won't be substituted by default. At least not… by default.
<nckx>str1ngs: You could in theory iterate over all the options and build all the permutations but haha no.
<nckx>Post-quantum Guix perhaps.
<str1ngs>it's kinda contradictory to have repeatable builds, that everyone is rebuilding. and changes with use flags.
<str1ngs>pointless IMHO
<nckx>str1ngs: Hm. You can say the same for custom packages (nutjobs like me have dozens for unfathomable reasons) though.
<nckx>Hence why folks run their own substitute servers.
*nckx is still on the fence, pointy and uncomfortable as it may be.
<arbi>I ran my `guix system init` last night before dinner and it's still running this morning after lunch. Is this normal for a system install?
<str1ngs>nckx: maybe this won't be so bad after reading this ML
<nckx>arbi: It's not average. It can happen if substitutes aren't working properly or not available for $huge_packages.
<arbi>OK -- I know I don't have a supported wireless device. Could that have something to do with it? I've seen at least 3 different Guile versions installed at this point.
<nckx>str1ngs: TBH the fact that Ludovic of all people proposed it (and it wasn't early April) made me consider it more and longer. Which isn't correct, but hey, humans.
<nckx>arbi: You seem to be able to download sources, though. Although it's always possible that your connection was flakey while Guix was querying the substitute servers. (I've had WLAN cards that worked without firmware but were just plain unreliable then.) We can't really tell.
<nckx>It definitely isn't the target user experience, no.
<arbi>I'm installing from a "foreign" Linux in order to use my wifi card to do the base install
<arbi>How long does the install usually take? I was able to get a NixOS base install in less than an hour on the same machine (the "foreign" distro I'm installing from)
<nckx>arbi: Oh, then you will have to manually authorise the substitute server. The installation ‘CD’ takes care of this for you, guix on a foreign distribution doesn't.
<nckx>arbi: Something like that, yes. An hour-ish. Sometimes more, sometimes much less.
<arbi>nckx: thank you, that's much more reasonable
<arbi>I'll cancel this and try that out
<nckx>See ‘To use substitutes from ‘’ or one of its mirrors, authorize them:’ in the ‘Binary installation’ manual section.
<nckx>cat /etc/guix/acl to make sure it contains a key, too. I *think* that should suffice.
<nckx>arbi: But installing guix ‘to’ a foreign distribution to install Guix System is totally reasonable and should work.
<arbi>I see it now in the installation documentation. Thanks for pointing me in the right direction!
<nckx>arbi: I don't know how aggressively guix caches signature verification failures (probably not at all) but you can remove /var/guix/substitute/cache/… & ~/.cache/guix/substitute/… just to make sure it asks the substitute server for everything again.
<nckx>And you're always welcome.
<arbi>nckx: I see I'm now downloading binaries for many libraries instead of building everything from scratch. I presume this will speed up the install considerably. Thanks again!
<nckx>Guix isn't too different to Nix in these things.
<rekado>Hi Guix!
<rvgn>Hello Guix!
<civodul>hey hey!
<rvgn>I have question. Is it possible to acheive a setup where there is no building of packages at all and only using substitutes? I wonder why there are always some packages require building when others don't.
<xavierm02>rvgn: Not currently. When you build it's either that the substitute server hasn't had time to build it yet, or that the build failed
<xavierm02>rvgn: see
<rvgn>I see. So if the build fails at the server then is it likely that the build gonna fail on user's system too?
<kmicu>Heh, we can already such system by not guix pulling all the time ;)
<roptat_>in file-append, how do I refer to a specific output of a package?
<roptat_>like (file-append transmission:gui "/bin/transmission-gtk")
<roptat_>except transmission:gui doesn't exist in guile
<roptat_>a similar question is how to ungexp a specific output
<rekado>roptat_: can you use (list transmission "gui") perhaps
<roptat_>it doesn't work: Wrong type argument in position 1 (expecting struct)
<rekado>oh, sorry
<civodul>roptat: i think you'd write #~(... #$(file-append x y):gui ...)
<civodul>or maybe (file-append (gexp-input x "gui") y)
<civodul>hmm i realize this sounds a bit vague :-)
<roptat_>I tried to use (file-append (gexp-input transmission "gui") "/bin/transmission-gtk") but then I get "invalid input" for the package that uses it
<roptat_>so a #<gexp-input ...> object cannot be an input for a package?
<roptat_>that's weird because the file-append is not an input of a package, it's used inside a computed-file that's an input of that package
<rubic88>Hi Guix. I upgraded to guix packaged emacs26 on a debian distor. emacs play-sound-file not prints "No usable sound device driver found." Using alsa, which works from the command line.
<rubic88>guix alsa-lib package is installed. Any other packages I need for emacs sound?
<roptat_>civodul, le paquet « tyreunom-home@0 » a une entrée non valide : #<gexp-input #<package transmission@2.94 gnu/packages/bittorrent.scm:67 280e9a0>:gui>
<arbi>Can I define a package in one .scm file and reference it in another .csm file? Is this a good practice?
<roptat_>arbi, sure, but the scheme files will have to be modules
<arbi>roptat_: gotcha. defining a public package isn't enough
<roptat_>no, because what's public is not the package, it's the scheme variable
<roptat_>so you'll have to (use-module (something)) in the file that will use the other
<roptat_>basically, you'll be creating a channel :)
<arbi>would that be like `#:use-module (my packages my-package-name)`?
<roptat_>if your other file is name my/packages/my-package-name.scm
<g_bor[m]>hello guix!
<roptat_>hi g_bor[m]
<g_bor[m]>I was having some problems using icecat.
<g_bor[m]>It seems that it does not like some javascript...
<arbi>roptat_: so if my-package-name was in the same directory, it'd be simply `#:use-module (my-package-name)`?
<g_bor[m]>Maybe I am missing soething, though...
<roptat_>no, it's from the guile path perspective
<roptat_>g_bor[m], what's the error?
<arbi>gotcha, thank you
<g_bor[m]>one that I got is Javascript error: , line:0 uncaught exception: [object Object]
<roptat_>does it work in other browsers?
<g_bor[m]>This does not seem very helpful to me...
<g_bor[m]>Which browsers should I try on Guix System?
<roptat_>mh... chromium maybe?
<g_bor[m]>ok, will try and report back
<rekado>epiphany is an option
<roptat_>if it starts building chromioum though, cancel everything
<rekado>or eolie
<rekado>(both webkit-based)
<roptat_>I thought about eolie but checked and didn't find it
<roptat_>how is it called in guix?
<roptat_>mh... you're right... guix in one of my terminals doesn't find it, but it works on another terminal
<rekado>it’s defined in gnu/packages/gnome.scm
<g_bor[m]>ok, thanks for the suggestions... It seems that I am building git right now...
<nckx>Yah, I bumped that earlier today.
<nckx>Sorry about the test suite you are now running.
<g_bor[m]>nckx: no problem