IRC channel logs

2024-01-05.log

back to list of logs

<jdlugosz963>Hi :) I have a trouble with my Guix system. After power off my laptop I turn it on and I'm getting kernel panic error. I tried to switch to different generation with different kernel version, but it gives me the same error.
<jdlugosz963>Here is a photo with an error massage: https://0x0.st/H6tc.jpg
<jdlugosz963>Ok, it seems I have broken disk
<jdlugosz963>Never mind
<jakef>I've got a git-checkout with ssh authentication in my guix home config. unfortunately guix home reconfigure doesn't prompt me to decrypt the ssh key so it just hangs. i could manually add the ssh key to the ssh-agent before guix home reconfigure, but is there a smarter way? using guile in the config maybe?
<loopback___>how to reliably test which derivarions are source derivations and which aren't?
<loopback___>or how to extract package version from source derivation store file name without the .tar.gz etc. extension?
<xisop>greetings. I am using guix shell --container to create an isolated development environment.
<xisop>I am currently using screen -s bash within that container and that seems to work fine. the issue i run into is that when i'm in vim, certain characters are not showing up properly.
<xisop>what used to be arrows are now blank characters that wrap to the far right of the screen instead of just rendering
<xisop>The interesting thing is if i just do `vim .` the arrows appear correctly
<xisop>but when i run `screen -s bash` then in that sesison do `vim .`, the digraphs aren't rendering
<podiki>xisop: I'm not sure, but note in a container you have nothing that you don't specify in terms of packages or environment; no terminfo, no variables, etc.
<xisop>yeah, i think i figured it out. i just removed a problematic vim package
<loopback___>is reading the contents of every /gnu/store/*-system.drv the only way to find which one owns /run/current-system?
<podiki>what do you mean own?
<podiki>/run/current-system is a symlink to a store item (the system currently used)
<loopback___>to find which .drv a system store item results from
<loopback___>only way I can think of is to read them all (*system.drv) and check which one has the *-system store item linked to by /run/current-system as an output
<podiki>what about guix system build <config file> (maybe with -n for dry run)
<podiki>maybe guix system build /run/current-system/configuration.scm -n
<podiki>oh, just guix gc --derviers /run/current-system
<podiki>should never really have to crawl through /gnu/system yourself, it is all specified from guix commands afterall (though i'm sure there are reasons in certain cases)
<podiki>generally "guix gc" has a lot of ways to find references between store items (and guix graph more generally)
<podiki>ACTION goes tv time
<loopback___>thanks
<loopback___>trying to get sources for everything in a generation. Trying a guix gc -R *system.drv approach
<xisop>is it possible to have the same dependencies be used for multiple invocations of guix shell --container? i would like to re-enter the container and have it use the same assets from previous runs.
<afm-victoria>xisop: look up how to set up a manifest--I think that does what you want
<afm-victoria>xisop: Did you figure out the issue with Vim not showing characters? Are you using a special font that needs to be included in your container? Do you have an init file that needs to be loaded?
<apoorv569>Where would one start, if they want to build an iso for PineTab2?
<apoorv569>There is an NixOS release for PineTab2 already. https://wiki.pine64.org/wiki/PineTab2_Releases#NixOS
<peanuts>"PineTab2 Releases - PINE64" https://wiki.pine64.org/wiki/PineTab2_Releases#NixOS
<ennoausberlin>Hello. I am trying to find my way through a local cuirass installation. When I use the WEB interface to deactivate a specification, what happens then? And where can I see all the specifications to delete some of them?
<ennoausberlin>If I want to re-add the main guix channel I get told that the specification already exists, but I can't see it. Do I have to poke in the postgres database itself?
<Franciman>is rust the greatest pain to package?
<Franciman>i wonder why i always end up trying to package rust applications
<tsmish>Franciman: Ones that are on crates.io are rather simple to package, just use `guix import`. Ones that aren't are a different story. I've tried to package ruffle, ended up with hundreds of dependencies and failed miserably. I do have a jq script that parses `cargo metadata` and tries to figure dependencies however, although I don't think it catches all of them.
<Franciman>not bad!
<Franciman>I'm having trouble with a cargo workspace project
<Franciman>and it is not on crates.io :(
<tsmish>I think I'll have to write my own importer for those, since current importer REALLY wants crates.io. Running your own crates.io for running importer seems to not be a right choice, I've tried. Maybe something like artifactory, but it seems like it splits public and private projects in separate repositories.
<Franciman>tsmish: do you think in a workspace project you have to separately package each crate?
<tsmish>Franciman: Yeah, but it's a pain, so don't bother. Optimally you'll do this in 'origin', but you'll need cargo to rewrite 'path' dependencies. You can do this by 'cargo package', but it needs to fetch dependencies for some reason and won't work in 'origin'. If you do this as a build phase, you'll need to somehow replace your sources by the result of unpacking of the .crate file.
<tsmish>also, you'll be multiplying your problems by amount of crates workspace has
<tsmish>alternatives are doing what cargo does in scheme and having dependencies and all that vendoring dances in 'origin'
<tsmish>*or having
<Franciman>i was trying the dumbest route of adding all external dependencies
<Franciman>and then just running cargo build --release
<Franciman>without specifiying anything further, but when it compiles the subcrates it can't find the dependencies i gave to it
<tsmish>Franciman: are you using cargo-build-system?
<Franciman>yes
<Franciman> https://bpa.st/PLJQ this is my package def
<tsmish>Franciman: what kind of dependencies? native or rust?
<peanuts>"View paste PLJQ" https://bpa.st/PLJQ
<Franciman>rust, cargo fails because it can't find `dirs` when building the first subcrate
<Franciman>thing is i have no idea how to debug it lol
<Franciman>how can I access the directory where the build is happening?
<tsmish>Franciman: mind pasting rust-crates-extra?
<Franciman>ye
<tsmish>Franciman: there is -K flag to guix build that will make it keep directory in /tmp it uses for builds.
<Franciman> https://paste.debian.net/1303124/
<peanuts>"debian Pastezone" https://paste.debian.net/1303124
<Franciman>it is just a collection of rust crates i needed for my packages
<Franciman>oh thanks
<Franciman>ok the problem seems to be that the Cargo.toml it considers is a virtual manifest instead of a package manifest
<Franciman>so this means i should package each subcrate by itself, i suppose
<Franciman>i hate rust
<Kolev>Maybe Rust is why we don't have Pika Backup.
<tsmish_>Franciman: maybe chdir into "top" crate as first build phase?
<Franciman>oh thanks for the tip
<tsmish_>Here is the build log in case somebody is intrested: https://0x0.st/H6wy.log. I frankly don't understand the problem cargo is having.
<cmiller>Someone using Emacs and vterm? The directory-tracking feature does not work for me. Also TRAMP in vterm does not work, too. It breaks vterm.
<Franciman>changing directory also gives the same problem tsmish_. It seems the problem is that it is using the Cargo.toml of the workspace
<tsmish_>Franciman: ok, I think I get what upsets cargo. It expects everything in guix-vendor directory to be a crate, but your package is not a crate, but it gets vendored by cargo-build-system because it assumes it builds crates.
<Franciman>oh i see
<Franciman>makes sense
<Franciman>then i must separately package each crate
<Franciman>good
<tsmish_>Franciman: I did a thing and now I have a different error: https://paste.debian.net/1303127/
<peanuts>"debian Pastezone" https://paste.debian.net/1303127
<tsmish_>Franciman: also `cargo package` fails because all crates have version v0.0.0
<meorly>can someone explain me the logic by which shepherd passes environment variables down into a service? I am playing with a custom home sway service, and XDG_RUNTIME_DIR isn't passed down to sway by forkexec constructor unless it is explicitly defined, but Shepherd has it in its own environment
<meorly>does it not pass its own environment variables down into services?
<Franciman>oh tsmish_ awesome
<Franciman>now it fails because itertools is the wrong version
<Franciman>thanks a lot
<tsmish_>meorly: It's a little weird. shepherd saves the environment it started with (https://git.savannah.gnu.org/cgit/shepherd.git/tree/modules/shepherd/service.scm#n1291) and passes it to services (https://git.savannah.gnu.org/cgit/shepherd.git/tree/modules/shepherd/service.scm#n1494) unless overriden.
<peanuts>"service.scm\shepherd\modules - shepherd.git - GNU Shepherd" https://git.savannah.gnu.org/cgit/shepherd.git/tree/modules/shepherd/service.scm#n1291
<peanuts>"service.scm\shepherd\modules - shepherd.git - GNU Shepherd" https://git.savannah.gnu.org/cgit/shepherd.git/tree/modules/shepherd/service.scm#n1494
<meorly>tsmish: so specifying any variable explicitly would remove inherited ones?
<meorly>I would probably better off with a shell wrapper then..
<tsmish>meorly: looks that way, there is (default-environment-variables) parameter that holds the defaults
<tsmish>you can just cons into it if you want to preserve the defaults
<ennoausberlin>Can someone have a look at https://issues.guix.gnu.org/68237
<peanuts>"Cuirass 1.2.0-1.bdc1f9f local builds never occur" https://issues.guix.gnu.org/68237
<meorly>hmmm
<meorly>thanks
<meorly>tsmish: it worked, and I learned something, thanks a bunch
<Franciman>tsmish: thaks a lot for the help. I'm almost there, now I just need to patch the version numbers of the subcrates and everything seems ok
<tsmish>Franciman: it doesn't build with v0.0.0?
<Franciman>it builds, but then it fails in the package phase
<Franciman>because as you said, v0.0.0 is not valid for cargo package
<Franciman>but maybe i can make it just package texlab and ignore the other crates?
<meorly>ha!
<meorly>it works
<meorly>I have headless sway and wayvnc running as a guix home service
<Franciman>tsmish: it was enough to set #:install-sources? #t
<Franciman>err #f
<Franciman>ok last step. I just need to tell it what to install
<loopback___>when --no-substitutes is passed, are grafts compiled too?
<futurile>loopback___: I believe not. I always pass --no-grafts as well.
<tsmish>what does compiling grafts even mean? From what I read in documentation grafts just replace paths from one store path to another.
<Franciman>seems it was enough to just chdir to texlab
<Franciman>but i don't think this is the right idea
<futurile>tsmish: AFAIK it means patch an existing reference in a binary package, to another binary reference. If you don't pass --no-grafts to guix build, I believe it will try and do a graft if there's an appropriate package in your Store - rather than build whatever you asked for.
<Franciman>ah luckily it maybe is, because of #:install-sources? #f
<adanska>Hi Guix!
<futurile>hello adanska o/
<adanska>hi futurile :) hows things?
<lalebarde>Hi, it would be nice to have a build-system for alien packages like debian, which would convert to a guix package. Even a semi automatic translator would be great. What do you think of this idea?
<futurile>adanska: Trying to learn about 'package transformations' (fun and confusing!). U?
<futurile>lalebarde: I don't think there's one for Debian. But do you know about guix import?
<lalebarde>futurile not yet, thanks for the tip.
<lalebarde>futurile found that https://pypi.org/project/guix-import-debian/ I will test it and give you feed back
<apoorv569>efraim: https://git.sr.ht/~efraim/guix-config/tree/master/item/rock64.scm where do you use this config?
<peanuts>"~efraim/guix-config (master): rock64.scm - sourcehut git" https://git.sr.ht/~efraim/guix-config/tree/master/item/rock64.scm
<apoorv569>Do you have a PineTab 2 as well?
<simpleton123>hi all, I'm usually using vim but trying emacs ...anyways...tried to get auto-complete to work  but not successfull.. Tried to use what was proposed at https://jeko.frama.io/en/emacs.html. Setup and error message:https://paste.debian.net/plain/1303141 . Just to clarify. Do i have to set guix-src-path like described here:
<simpleton123> https://guix.gnu.org/manual/en/html_node/The-Perfect-Setup.html ????
<peanuts>"The Perfect Setup (GNU Guix Reference Manual)" https://guix.gnu.org/manual/en/html_node/The-Perfect-Setup.html
<efraim>apoorv569: I have 2 rock64s in my home office
<efraim>no pinetab2 though
<efraim>ACTION goes back afk
<emru>simpleton123: autocomplete in what mode? maybe you need anaconda and proper packages for given mode
<Kabouik>So while I still haven't figured out why my Sway session started by GDM does not start with dbus properly, I can share my screen in Wayland with pipewire + wireplumber + dbus-launch chromium… But in that case I lose sound. What should I do to keep audio working with pipewire and wireplumber?
<loopback___>why does bootcfg pull in all those rust crate source drvs? Rust crates are statically compiled into programs. Haven't tried downloading the sources for or building bootcfg. Bug?
<podiki>sneek: later ask efraim as one who is more in tune with our non-x86 archs, how do you feel about mesa-updates status? seems berlin has plateaued and hasn't (won't?) do any more builds from what I can see
<ardraidi>Greetings.
<ardraidi>I would like to have a local copy of all the source code for all the packages in Guix, updated periodically, and somehow usable by Guix installations as source for building packages.
<ardraidi>As an example, aptly can download all the source packages for Debian, which has the apps source code. These can be built and installed.
<ardraidi>I was thinking of using Cuirass and then finding a way to stop it from actually building the packages, only download the sources, etc. Not sure how much effort that needs. Also, not sure if Cuirass retains the source code for a configurable period, etc.
<ardraidi>The other idea that came to mind is to have a local SoftwareHeritage installation and somehow make Guix send archiving requests to it.
<ardraidi>My ideas are still very crude, but I thought I'd ask if anyone has any ideas or pointers before I delve deeper.
<graywolf>Hi, I am trying to move my channel onto my own cgit instance, and I am getting: guix pull: error: Git error: invalid content-type: 'text/plain; charset=UTF-8'
<graywolf>Regular git clone works fine. Does guix require some extra server-side configuration?
<ssouth>ardraidi: There may be a straightforward way to implement this in Guile. The (gnu packages) module provides fold-packages, a procedure that will invoke a function on every package defined in Guix.
<ssouth>If you can find a way to programmatically kick off a "guix build --source" command (presumably evident somewhere in Guix's source code) you might be able to do what you want with maybe a dozen lines of Scheme.
<podiki>anyone running guix as a (home) server on a mini-pc? like those ones you see business and stores use and you can pick up cheap, like an hp prodesk or elitedesk?
<ardraidi>Thank you so much, ssouth. That's very helpful.
<ardraidi>podiki: Any specific info you're looking for?
<podiki>ardraidi: just curious any experiences. I would assume linux-libre works; wondering what might be a good target for cpu/ram specs. i would think it can use very little ram if it is not doing any major compiling
<ardraidi>Personally, ECC is a must for me when it comes to anything server/storage. I run Guix on my main system, which is hosts a bunch of VMs + storage.
<podiki>I also haven't use guix as a server, which I think for my use means learning some docker as we don't have packages for things I run like synapse
<podiki>(currently a pi4 with arch and it has been having issues of unknown variety, but worked well for years)
<ardraidi>Oh. Those PCs are more powerful than light older laptops, I think, so you should be fine with maybe 8 GBs RAM and a core or two.
<podiki>yeah, seems a good price for used gets some decent horsepower at 2-4 cores, 8gigs ram
<podiki>which will be a lot more than what my pi does so... :)
<podiki>though did think about playing around with guix on an sbc, maybe i can do that on the pi once i replace it
<ardraidi>I ran Guix on a P4 laptop with 786MBs RAM, and it kind of worked. Upgraded to 2 GB and it became even better :) Didn't use it for anything, though.
<podiki>something that idles under 10w too
<podiki>i figure won't need much ram and cpu, but it is nice to have some room to grow and play with
<ardraidi>My ThinkPad T460 full load is 15w, I believe. 6th gen, 2 cores HT + 16 GBs RAM. If power cost is a concern, that might be a good option.
<ssouth>podiki: For reference, I run a home server with Guix on a 4GB PINE64 ROCK64, basically an RPi 3B+ clone, with no issues. So you can get away with pretty modest specs.
<podiki>thanks all
<podiki>yeah, rock64 was on my radar as well if i went that route
<ardraidi>Btrfs or any filesystem with checksums might become a nightmare on hardware without ECC, I've heard. Don't remember if I had any experiences myself.
<podiki>the power cost in the end is minimal compared to any home appliance really (would 15w even turn a dryer drum?), but i don't want something that just uses up more power to do nothing
<podiki>btrfs is very common on non-ecc systems these days I would say; that's what i have on my desktop too
<podiki>no issues but let me not jinx it
<podiki>fun thing with guix is that I can work on the software config right away and then hopefully have a config that gets me up and running right away
<ssouth>You can even have Guid build your OS configuration into a VM so you can see it working right away.
<ardraidi>I think it's not that Btrfs is more sensitive, it's just that it's (was?) usually used for multi-device filesystems (RAID, etc), and those are different from the usual usecase. Don't remember much about the technical details.
<ardraidi>Guix is beautiful, no doubt about it. I fell in love the moment I laid eyes on it. :D
<dariqq>ardraidi: In https://guix.gnu.org/manual/en/guix.html#Invoking-guix-build there is "guix build --quiet --keep-going $(guix package -A | awk '{ print $1 "@" $2 }')" to build all packages. I assume if you add a "--source" this would then download the sources. But havent tested this.
<peanuts>"GNU Guix Reference Manual" https://guix.gnu.org/manual/en/guix.html#Invoking-guix-build
<podiki>ardraidi: ah, no raid here
<podiki>ssouth: yup, exactly what i was going to do
<ardraidi>Another great tip. Thank you, dariqq!
<podiki>ssouth: you can even put the config on a usb stick and boot it as a live system, that's how i first tried out guix
<ardraidi>Funny enough, I was thinking about Guix on mobile... I recently got a Nexus 5 from a friend with Ubuntu Touch on it, and thought it totally needs Guix.
<theesm>ardraidi: Guix as a package manager on a foreign mobile distribution would probably be easier than using guix system as a mobile device OS (even though doing so would be really cool)
<ardraidi>theesm: Indeed.
<ardraidi>The transactional nature of Guix is great for mobile, though.
<Franciman>why ardraidi
<ardraidi>Better chances of recovery, I guess? Kind of like A/B systems
<ardraidi>It might not take much work to adapt Guix vm generation and the like to generate B then switch to it or reboot into it.
<nathan-lt>Hi. Can anyone tell me how I can find the definition of `%mdns-host-lookup-nss`? Searching for `mdns-host` in `~/.config/guix/current/share/guile/site/3.0/` doesn't find it, and google only points to the docs.
<ssouth>nathan-lt: It's in gnu/system/nss.scm. You probably need to tell your search tool to follow symbolic links.
<ssouth>Try: grep -IRsn --include='*.scm' '%mdns-host-lookup-nss'
<ssouth>The capital R does the trick for grep in this case.
<nathan-lt>Ahh, thanks
<nathan-lt>I'm trying to debug my configuration where I am trying to set a custom tld via avahi. What is the best way to see what configuration my scm is generating? Normally the config file would be /etc/avahi/avahi-daemon.conf, but I'm not sure how to find the corresponding generated config on guix.
<nathan-lt>Alternatively, I'd like to see what the config for /etc/nsswitch.conf would be
<ssouth>nathan-lt: This can be tricky. Normally I try to inspect the command-line of the daemon process, using something like: pgrep avahi | xargs ps ww
<ssouth>That doesn't work in this case, though. I'd also like to know if there's a good way to find this information.
<apoorv569>efraim: I see.
<lispmacs[work]>Hi, I was wondering if there is an update planned for sbcl-mcclim (and derivates) to bring us up to the official December release (0.9.8)
<lispmacs[work]>tag 0.9.8-yule
<lispmacs[work]>they added some event timer stuff that I wanted to use
<nathan-lt>Additionally, it isn't clear to me how to go about configuring /etc/mdns.allow
<nathan-lt>Okay, I think I'm going to hold off on avahi for now. New question:
<nathan-lt>How can I configure guix to prepend a custom dns server to resolve.conf?
<graywolf>Answering my own question: libgit2 does not support dumb http git protocol.. :(
<nathan-lt>The only related options I see in docs are for configuring network-manager-service-type to use either default or dnsmasq
<Kolev>Should I use a Flatpak to install Session Desktop?
<mekeor>hello guix :) any idea why i have an empty file at /gnu/store/…-libxpm-3.5.17/lib/libXpm.so.4.11.0 ?