IRC channel logs
2025-09-27.log
back to list of logs
<jpmf>sorry which was the pam file you mentioned? I closed the chat :/ <Deltafire>22:29 <Rutherther> Okay, so then I would expect the issue to be pam rules. Can you check /etc/pam.d/gdm-password, does that file exist and if so, do the contents look intact? <dlakelan>gonna take a bit of time to get used to good old IRC again... last time I used it probably 2003 :-) <dlakelan>anyone here who can help me debug getting Guix to boot from my `guix system image` file? <dlakelan>when I write it to a USB stick it boots ok, but when I write it to the /dev/mmcblk0 on my test laptop, it can't find the partition and aborts into guix repl <dlakelan>I suspect it's something to do with modules needed to recognize the partitions, but adding a few candidates didn't help <ekaitz>dlakelan: what if you try to /dev/mmcblk instead of mmcblk0? <dlakelan>let me take a look, gotta boot it off the USB stick, will take a minute <ColdSideOfPillow>I'm getting an error whilst trying to run `guix pull' and rebuilding my channel <ColdSideOfPillow>(exception misc-error (value #f) (value "no code for module ~S") (value ((gnu home-services version-control))) (value #f)) <dlakelan>there is no /dev/mmcblk just /dev/mmcblk0 which shows two sub partitions as it should. the BIOS/UEFI boots linux properly but within the initrd doesn't seem to see the partitions <dlakelan>yeah, it's a puzzle. How would I do the equivalent of ls /dev from the guix repl? <luis-felipe>sneek: later tell dlakelan: Maybe (scandir "/dev") from Guile's (ice-9 ftw) module? <ieure>I guess I'm the first to notice that qtwebengine-5 is completely broken :( <ieure>On Guix commit 3755088384294652d4ca58aa2045ec58b9ac2ac4, qtwebengine@5 builds, but the output only contains license files, no actual libraries. <Ironsmith>heya guix! i have a custom package channel that i added into my channels.scm file such that both the official "guix" channel as well as my "local" channel are present. how can i `guix pull` to only update my local channel? <FuncProgLinux>little bit of nagging here: guix/guix#2997 in case anybody wants to help or if you are using MATE and you are experiencing a bug/issue I omitted here :) <Ironsmith>i tried `guix pull --url=file:///home/ironsmith/path/to/my/channel --branch=main` but then it tries to update both "guix" and "local" channels with this URL which fails <Ironsmith>Updating channel 'local' from Git repository at 'file:///home/ironsmith/path/to/my/channel'... <Ironsmith>Updating channel 'guix' from Git repository at 'file:///home/ironsmith/path/to/my/channel'... <Ironsmith>guix pull: error: aborting update of channel 'guix' to commit 05c564e187338e5b7d47868751f98b334cf11e5e, which is not a descendant of 076b5a0b68f8571a4db9eed1be57f329e2063fd5 <thanosapollo>Ironsmith: you could use a custom channels.scm file and pull from there using `guix pull -C`, use (cons* (channel (name 'local) (url (string-append "file://" (getenv "HOME") "path..."....))) %default-channels). There are a couple examples for this in the cookbook <thanosapollo>You could specify the current commit of your system for 'guix channel on your channels.scm, or even clone it locally and checkout your current systems commit and provide it the same way as your 'local channel. Not sure if it's possible to only pull one channel. <futurile-afk>Ironsmith: I guess the issue is the 'only' part? If you have the commit of the 'guix' channel, and the commit you want of the 'local' channel - then guix pull will update both to those specific commits. If the 'only' means I want to try only my custom channel, then I think you can make a custom channel.scm (guix describe --channels > custom-channel.scm), remove the and then I guess you use `guix <Ironsmith>thanks thanosapollo and futurile-afk, yeah i was looking to only update my local channel mainly to save syncing time with "guix" channel but also so i can reconfigure without getting the latest from "guix" in case anything was broken (like FreeCAD recently) i'll just stick with the regular `guix pull` and wait the extra time, but it would be cool <Ironsmith>if there was a feature where you can select which channels to update and which to ignore <futurile-afk>Ironsmith: yeah, there's no "select a channel" option that I know of. The way I do it is to have the specific commit in my channels.scm (so it's explicit) for all my channels. <mgd>thank you to whoever patched claws-mail. glad I can use it again <hugohugo>if I move through git branches, then `guix build` is often spending more time with compiling scm files then actually building the package. So I now often do a `make` after a `git checkout`, but that is suboptimal as well. Is there a better way? Or should I just not switch around branches too much? Or have a separate clone for long-lived branches (like the team ones)? <Rutherther>you do not need separate clones, you can use multiple worktrees for a single repo <hugohugo>(I now had to do a 'make clean; make' because something was still looking for barriers.scm.) <hugohugo>thanks Rutherther, that sounds like what I was looking for. I've never used worktrees so that option did not occurr to me <hugohugo>Sometimes I feel like I should watch over one of your shoulders to see just what exactly the more experienced people do in practice <hugohugo>Let's share something I learned: sometimes `guix build` gives me an inscrutable error, and it can help to just pass the scm file to `guile`, which tells me exactly what typo I made. (I try to write from memory instead of copy pasting, to internalize things better, and thus make many mistakes.) <futurile-afk>hugohugo: yeah worktrees are really useful if you're working on more than one branch at the same time. It's really annoying having to recompile the whole of guix when you switch. You can also do a `make clean-go` to just remove the cached go files <futurile-afk>hugohugo: so I have one for 'master'; one for 'rust-team' etc <hugohugo>good, git worktrees it is! Ever learning <hugohugo>Tangential, if anyone is interested in some light nerdy operating-system-developer-themed reading, I can recommend "git commit murder", by Michael W Lucas <futurile-afk>it works out new things that are failing from the previous derivation. <futurile-afk>I think it's supposed to be the previous one on that branch. But, I find the UI a bit confusing, so it's always a bit difficult to tell <Rutherther>so when looking for example at mesa-updates the new failures are the most important to look at? it's hard to distinguish for me what was already failing and what not <Rutherther>the qa is much better for this imo, but unfortunately it's not evaluating mesa-updates :( <Rutherther>oh maybe it evaluated it afterall, but still processing <futurile-afk>Yes, if you click into it should then show you the 'new failures' list. I think a lot of people grab the json directly. <sahar_sedigh>Iwan to install guix package manager on some other linux distro. <sahar_sedigh>the default linux directories? /usr/bin /usr/share /usr/lib? <Rutherther>everything guix builds is put in the /gnu/store. Then symlinks point to it, like the ~/.guix-profile that you get when you "guix install" something <Rutherther>yes, you cannot use the internet during the build. All sources have to be fetched prior to the build to ensure they are reproducible (you specify a hash). In this case it seems it tries to obtain rust dependencies, so you will need to provide those dependencies as input, see the cookbook for packaging rust <sahar_sedigh>Rutherther: and guix handles the libs and other software's needs? <Rutherther>sahar_sedigh: yes, guix is a functional build system that captures all the necessary inputs. It's able to bootstrap itself from very little. The produced outputs in the /gnu/store do not depend on libraries/software outside of the gnu store. <sahar_sedigh>Rutherther: is it binary distribution or building from source kind of package manager? <Rutherther>sahar_sedigh: guix is a source-based build system. Thanks to its functional nature it has substitutes, where you can fetch the resulting outputs instead of building them on your own. <Rutherther>you have the source, from the source you can determine the path under /gnu/store you need and the substitute server can provide you that path <Rutherther>moreover you can make your own substitute, like if you have multiple computers, you can substitute from one to another <anemofilia>A little time ago someone made a procedure that takes a service (or a service-type, I don't remember) and modified it to have it's shepherd-services have (auto-start? #f). Do someone here know where can I find it? <trev>yeah, just confirmed again that "./" only copies those two subdirs (de/ and fr/) <sahar_sedigh>I didn't get it? with guix; I have to build packages on my own system? <trev>sahar_sedigh: you can, but you can also download substitutes (pre-built packages from CI servers) <trev>kestrelwx: i guess for my issue, guix probably thinks there is only one subdir after unpacking the zip and it just drills in there and that's it <sahar_sedigh>trev: due to low-system I can only use binary packages. does guix do that for every packages available in its manifest? <Rutherther>sahar_sedigh: then you might want to deploy to that system using guix rather than using guix on that system itself; No, it cannot do it for every package, the package has to have a substitute actually available. So it depends on what packages you are using and what substitute servers you are using. If you are going to use the main channel only then you should get substitutes for basically everything (except for stuff like zfs that has licensing... <Rutherther>Yes. Meson build system doesn't know how to utilize rust dependencies, cargo-build-system knows that. So you will either have to switch to cargo build system / split the package to two, one making the rust part, the other doing the rest, or use part of the cargo build system. Specifically the phases unpack-rust-crates, patch-cargo-checksums, configure would be important. It's more advanced, mixing two build systems together. <Rutherther>You would have to use the #:imported-modules and #:modules arguments, then #:phases with modify-phases. There are some packages in guix that can works as examples, though I don't know about any using cargo + meson. You can take a look at vorta package. <Rutherther>alternatively you could use cargo-build-system and use parts of meson-build-system, that might even be easier than the other way round. <PotentialUser-85>aah got it - I might try it another day. I never actively used meson myself so that's a bit of research I would have to put in. Thank you though! <trev>sahar_sedigh: for anecdotal reference, it took me an entire day to install gnome successfully on a new system. it sometimes takes finding the correct commit hash to use <trev>versus using a sway-based config, only took around 30 minutes or so <trev>i hope one day we can have p2p substitutes <simendsjo>Just found an empty derivation in my store again, this time on my build server. Should I rather run something like btrfs than ext4 for Guix? <ekaitz>simendsjo: i've been running ext4 for years (quite a few) and 0 issues <simendsjo>ekaitz: Second time for me :( This time it was quite simple to fix though as I could simply run a gc (and free 900GB) <ekaitz>yeah the gc lies with the numbers a lot <simendsjo>It's been running as my offload server, and I don't use it for anything else, so I don't notice it filling up. <simendsjo>I just set it up as a substitute too. I point a subdomain to a ddns entry (hosted at no-ip), and created a shepherd service starting an ssh tunnel to a guix publish service running there. Setting up cuirass for my private channel there too. <kestrelwx>Guile-ERIS was it? For the decentralized substitutes. <aidans>Hi, sorry I keep asking this on here but I feel someone likely knows the answer because cgo is very commonly used in Go. Is it possible to enable a Go package with cgo enabled without having to write my own package definition? Currently I get this error when trying to compile my project: Binary was compiled with 'CGO_ENABLED=0', go-sqlite3 requires cgo to work. <futurile-afk>aidans: I think you want to ask sharlatan; they are on Mastodon sometimes; or guix-devel/guix-help <hugohugo>simendsjo: I switched to ext4 after several data corruptions in the store on btrfs. Like files with only NULL-bytes in them. Not sure whether btrfs was the cause, but hasn't happend since. <simendsjo>hugohugo: Auch, that sounds at least as bad :/ I think one of the times was me pressing the button after triggering a reboot which never finished. But the one on my build server doesn't make sense as it has never crashed.