IRC channel logs

2024-08-03.log

back to list of logs

<FlaminWalrus>ieure: only way huh? That's annoying.
<ebrasca>When I run "sudo -E guix system init config.scm /mnt" I get "build of /gnu/store/vlh6cfqm9sr9mzaxvz0zwk5inb2yyr43-glibc-2.35.drv failed"
<cooney>Hi everyone! I'm trying to figure out where the entry points are in the code when someone runs `guix install` to install a package. I'm wondering because I'd like to try to change the code to make the installation process faster.
<cooney>I noticed that guix install weirdly hangs on my machine at the final "building profile with XYZ packages" step and uses 100% of all 12 of my CPU threads, which seems strange
<cooney>does anyone know where the entry points are?
<jaft_r`>What's the way that Guix makes a login manager (like GDM or SLiM) aware of available options (e.g. Openbox, Gnome, XFCE, etc.)?
<Isaz>as far as I know GDM uses the XDG_DATA_DIRS variable to look for .desktop files. Those files are installed automatically when you install a system-wide desktop environment
<jaft_r`>Isaz: gotcha; thanks a ton.
<PotentialUser-59>Hello, where can I find documentation about individual functions such as use-module in config.scm?
<PotentialUser-36>How can I remove epiphany from the gnome-desktop service?
<PotentialUser-36>is anyone here?
<PotentialUser-36>Please help
<PotentialUser-36>is no one here?
<AwesomeAdam54321>PotentialUser-36: There are people here
<PotentialUser-36>Finally someone replied! is there a way to remove epiphany?
<cage>Hi PotentialUser-36, i do not know how to help you, but just a bit of patience and someone will
<PotentialUser-36>okay.
<cage>PotentialUser-36: 👍
<Franciman>hi PotentialUser-36 i think you have to change its configuration, which is a gnome-desktop-configuration object
<Franciman>that one contains the list of packages it pulls in
<Franciman>so we have to understand how to create a modified gnome-desktop-configuration that you later pass to gnome-desktop service
<yelninei>PotentialUser-36: Found this thread on the mailing-list which has a snippet that should work: https://lists.gnu.org/archive/html/help-guix/2024-06/msg00001.html
<jaft_r`>PotentialUser-59: it's going to vary; some are Guile functions (like "use-modules": https://www.gnu.org/software/guile/manual/html_node/Using-Guile-Modules.html) but some are going to have been defined by (and specifically for) Guix.
<jaft_r`>If you have Scheme editor of choice, they can say which module a function comes from; for example, Geiser – in Emacs – will usually list the module, when auto-completing.
<futurile>jaft_r`: the manual has a bit on using Qemu - probably needs expansion - https://guix.gnu.org/manual/devel/en/html_node/Running-Guix-in-a-VM.html
<PotentialUser-77>Thank you.
<futurile>PotentialUser-59: still trying to understand functions? use-module is a guile scheme function - https://www.gnu.org/software/guile/manual/html_node/Using-Guile-Modules.html
<futurile>whoops see jaft_r` answered you lower down
<mfg`>I can't remember if I did this myself: Is .gnupg normally a symlink to .config/gnupg or not?
<mfg`>because guix pull throws an exception because of it. Never did before though
<Franciman>i have a question. I am managing my dotfiles with guix home. But, and i know this is for ensuring reproducibility, the thing is that each time i want to change something, i can't really do it in the natural way
<Franciman>i have to go to my repo change them and fire a guix home reconfigure
<Franciman>but in this way, software like weechat is not allowed to modify the configuration files
<Franciman>and modifying them by hand is hard
<Franciman>what is the solution you adopt to deal with this?
<mfg`>Franciman: I usually configure a program the way i want before using guix home to manage it. The assumption is that i don't change the config often; otherwise - yes - it's more work.
<mfg`>such that i can just copy the config the program generated
<Franciman>i do that too, but with weechat it is difficult :(
<Franciman>i tend to change things often
<mfg`>i don't know weechat, tbh. What makes it difficult?
<jaft_r`>futurile: thanks a ton. I've come across that page before but couldn't quite get it to work for Linux Mint; granted, I was trying with an .iso, instead. Maybe I need to give it another look-over. But I definitely appreciate the advice!
<mfg`>Franciman: If you change yourt config often you might want to write a script that automates the annoying parts of it. I'm not sure if it's worth the time though.
<jaft_r`>mfg`: I can't speak for usually but, at least on my machine, it's just a directory. I'd /imagine/ linking to a directory under ".config" would be none the wiser but your experience would seem to indicate otherwise; nonetheless, mine's a directory, rather than a symlink.
<Franciman>mfg`: the difficulty is that with weechat you don't usually directly edit files, but use the UI to change the config
<Franciman>and you can't do that if you are using guix home, because the config are read only symlinks to the actual config files
<mfg`>jaft_r`: thanks, i removed the link and moved the folder there. Problem solved. :)
<jaft_r`>🎉
<mfg`>Franciman: I know the pain. If the config has a understandable syntax, /i/ might just ry to write it directly anyways. Another idea (also kind of inconvenient): When you want to change your config copy it from the store, tell weechat to load the copy instead (i bet there is acmdline flag for it) and then put the changed file into your repo of configs from where guix home reconfigure can use it.
<mfg`>But i don't think there is a convenient way, because just mutating a file in-place is as convenient as it gets :D
<Franciman>mfg`: maybe i can use a mixed technique. I can ensure reproducibility thanks to git
<Franciman>i use rcm for some dotfiles
<Franciman>and then i add a service that adds the specific git commit as dotfiles
<Franciman>don't know :(
<Franciman>your idea is also cool, tho
<mfg`>i don't know rcm... I have the foles themself also in a git repo, but i rarely change them. So i didn't think about that problem before
<mfg`>hm, so if you already have your dotfiles versioned, instead of rcm you could also use guix for that. It's basic, because it just copies the configs into the store and creates corresponding symlinks in $HOME, but it might be enough. https://paste.debian.net/1325312/ as an example of such a service.
<mfg`>Franciman: Also my previous idea can be simplified. You don't need to copy the files out of the store and start weechat with that configuration. You can just use the file in your repo. Combined with a dotfiles-service like in the example i pasted this should actually be not too inconvenient.
<Franciman>yep, i was trying it thanks mfg`
<Franciman>it's not bad!
<Franciman>i don't change config SO OFTEN lol
<Franciman>thanks a lot
<Franciman>btw i use home-xdg-configuration-files-service-type
<mfg`>Hm, i didn't even know home-xdg-configuration-files-service-type... I'll look it up, maybe i can use it too :D
<Franciman>there is also a dotfiles one already ready for use
<mfg`>nice, thanks
<PotentialUser-59>thanks, jaft_r`and futurile, looks like the guile reference manual and geiser are exactly what I wanted
<Franciman>do you allow lto enabled in guix packages?
<Franciman>iirc it can introduce nondeterminism
<futurile>PotentialUser-59: cool - Guile is fun
<mfg`>Franciman: I don't think that it is used, but i don't know if there is a policy.
<Franciman>i'm trying to prepare a patch for spotify-qt package
<GNUtoo>hi, is there a way to get rid of /var/guix/profiles/per-user/<my username>/ somehow? When I do 'guix package -I' I've 'guix package: error: unsupported manifest format' because I use an older Guix.
<GNUtoo>ACTION already tried removing all the packages (with guix time-machine --commit=<the 1.4.0 commit hash> -- 'package -r <packages>' and also 'package -d'
<faust700>hello #guix!
<AwesomeAdam54321>o/
<Franciman>hi faust
<faust700>how i can rebuild my /gnu/store from scratch?
<faust700>there is some broken derevatives in store
<faust700>derivatives*
<GNUtoo>faust700: there is a command for that but I never managed to fix my store with it.
<faust700>GNUmoon: which one?
<faust700>GNUtoo: which one?
<GNUtoo>ACTION looks in the manual, I've to find it (I don't have broken store often)
<Franciman>what is a broken store?
<GNUtoo>guix build --repair
<GNUtoo>In my case I had files like shared libraries that took 0 bytes, and I just reinstalled when I had that.
<Franciman>engorgio, guix gc didn't work?
<faust700>Franciman: guix install: error parsing deravative /gnu/store/...alacritty.drv: expected string
<Franciman>hmm sad
<GNUtoo>Maybe someone more experienced than me would have known how to fix it though. But I used guix system, so a reinstall was relatively fast.
<faust700>GNUtoo: guix build --repair alacritty - output with same err
<GNUtoo>ACTION was having something similar with guix build --repair would somehow re-create the bogus files if I recall well.
<GNUtoo>Also note that I was using btrfs so maybe it was related to some bug between Guix and btrfs.
<GNUtoo>So here we probably need someone who knows Guix better than me to help you.
<faust700>GNUtoo: any way thank you for help )
<faust700>strange the command guix gc --verify=contents,repair dosnt help
<faust700>cannot repair path...
<faust700>strange that guix doesnt give you simple way to fix that kind of stuff
<faust700>what is the easiest way to reinstall guix?
<faust700>guix system init /mnt/etc/config.scm /mnt
<faust700> ?
<faust700>if i'm already have running guix system
<faust700>may be i can run - guix system init /mnt/etc/config.scm /
<faust700>?
<Altadil>Hello everyone, it seems the guix website is now completely blocking Tor! It’s not just the bug tracker interface anymore… No idea who we should report this to. :/
<mfg>What exactly can be the reason for guix hanging indefinitely after e.g. reconfiguring the home environemnt? I had this problem before and the solution was to ensure that a specific kernel module was not loaded and the problem went away. Now even though said module is not loaded the problem came back again. I can't even run reboot as this also hangs indefinitely
<dckc>trying to grok .drv ... `less` was cutting them off in odd ways, so I opened it it emacs... pleasantly surprised to find that it was auto-indented
<dckc>I wondered how I was going to do that, since it's in a format that I don't recognize. Turns out to be "ATerm" https://nix.dev/manual/nix/2.18/protocols/derivation-aterm
<dckc>interesting that with all the homoiconicity stuff around scheme / lisp, procedure definitions are not s-expressions...
<dckc>I find this hard to read: derivation store name builder args [#:outputs '("out")] [#:hash #f] [#:hash-algo #f] [#:recursive? #f] [#:inputs '()] [#:env-vars '()] [#:system (%current-system)] [#:references-graphs #f] [#:allowed-references #f] [#:disallowed-references #f] [#:leaked-env-vars #f] [#:local-build? #f] [#:substitutable? #t] [#:properties '()]
<dckc>from https://guix.gnu.org/en/manual/en/html_node/Derivations.html
<dckc>the definition at https://github.com/haskell-nix/hnix/blob/master/src/Nix/Effects/Derivation.hs#L47 works better for me, especially in combination with the stuff around it.
<Guest28>Hello Atladil. I have noted that guix.gnu.org is now not only blocking Tor, but also became inaccessible from certain countries, e.g. Russia.
<Guest28>Altadil: sorry for misspelling your nickname.
<Altadil>Guest28: it’s fine. ^^
<Altadil>I guess there has been a change of hosting maybe… or a change of blocking rules at the current one. :(
<mfg>dckc: my guess is that this on-disk format gets read by the daemon, which isn't written in scheme but a fork of an old version of the original Nix daemon (C++)
<dckc>quite
<dckc>"data ages like wine; code rots like fish" or something
<nikolar>mfg: original nix daemon?
<nikolar>do they have a new one
<Guest28>Altadil: 'ping guix.gnu.org' reveals the same ip 141.80.181.40 as 'ping ci.guix.gnu.org', which means that both these cites are now hosted at Berlin, while a few weeks ago guix.gnu.org was hosted at Bordeaux.
<mfg>i meant from the orginal project, it seems to me there are quite a few forks right now
<Guest28>Aldadil: ci.guix.gnu.org is notorious for blocking both Tor and Russia.
<Altadil>Guest28: that explains it, then. Thanks for looking into it!
<Noisytoot>Why does it do that?
<GNUtoo>For me even guix.gnu.org doesn't work anymore due to Tor blocking by the hoster or hoster ISP.
<GNUtoo>A way to workaround that could be to also expose the website and all these services through an onion address, as usually the providers only block exit nodes.
<GNUtoo>And then it could be documented in the official documentation as well, this way people could just grep the Guix source code for the .onion.
<GNUtoo>For substitutes there is that already:
<GNUtoo>doc/guix-cookbook.texi:@set SUBSTITUTE-TOR-URL https://4zwzi66wwdaalbhgnix55ea3ab4pvvw66ll2ow53kjub6se4q2bclcyd.onion
<GNUtoo>Also read the cookbook if you can as it contains some warnings about the lack of privacy guarantees if I recall well.
<GNUtoo>Guest28: ^^^
<GNUtoo>It would be great if all was hosted on a hoster that doesn't block Tor, but I've no say on that so I can just suggest workarounds.
<GNUtoo>Another workaround could be to use some free VPN from non-profits.
<Guest28>GNUtoo: Do you mean that anybody with access to Tor could expose the website through an onion address, and not only the website owners?
<GNUtoo>That probably works too, but it'd be easier if it's the website owner
<GNUtoo>else people would probably not trust the website at all...
<GNUtoo>For the website archive.org probably works, but nowadays it requires JavaScript, so it's not very convenient for me.
<GNUtoo>Another option could be to somehow package the website / documentation.
<GNUtoo>We at least have the info manual, and that works fine.
<GNUtoo>The http documentation can also be generated but then it's harder to automate (you can't simply add 1 more package in your system or home definition)
<craigbro>curious, is the blocking of either due to legal requirements in germany?
<Guest28>GNUtoo: I agree, it would be nice to have an onion address for guix.gnu.org too.
<dckc>wrote up what I learned about .drv files: https://github.com/dckc/madmode-blog/issues/144#issuecomment-2266778687
<wehlutyk>hello all! I'm a bit stuck (in my guix system) with xdg-open
<wehlutyk>e.g. file -i ~/.../spot.epub
<wehlutyk>gives application/epub+zip; charset=binary
<wehlutyk>then "xdg-mime query default application/epub+zip" gives "com.github.johnfactotum.Foliate.desktop", so far so good
<GNUtoo>It could be possible as there are sometime countries under embargo, but then more fine grained economical sanctions that don't prevent dissent in these countries might be a better option...
<wehlutyk>but then "xdg-open /.../spot.epub" fails with "xdg-mime: mimetype argument missing"
<GNUtoo>An issues with embargoes is that not so long ago they were not very clear, and they seem to be different in various countries, so it's a bit a mess...
<wehlutyk>(and actually more after that, but secondary:
<wehlutyk>)
<wehlutyk>would there be anything obvious triggering this?
<redacted>Can geiser help me find where symbols are defined? When I want to use a value in a package definition, like `pyproject-build-system', I have to grep my guix source directory for the file where it's defined. That's a little tedious.
<raghavgururajan>Can LVM's VG renamed in a booted Guix System, change config.scm, and `guix system reconfigure`?
<dckc>hm... nothing about ssh keys in https://guix.gnu.org/en/manual/en/html_node/User-Accounts.html ... wondering where to look...
<dckc>index is pretty good... https://guix.gnu.org/en/manual/en/html_node/Networking-Services.html#index-authorized-keys_002c-SSH
<dckc>Throw to key `match-error' with args `("match" "no matching pattern" prohibit-password)'.
<dckc>ugh.
<dckc>this config.scm works fine for `guix system vm` but fails `guix system init`. how could that be???
<dckc>I copied (permit-root-login 'prohibit-password) right out of https://guix.gnu.org/en/manual/en/html_node/Networking-Services.html#index-authorized-keys_002c-SSH
<rodrigo-morales>[question] How to get the path in /gnu/store where the propagated inputs of a given package were installed?
<rrobin>rodrigo-morales: from guile or from the shell?
<rodrigo-morales>rrobin: from the shell
<rrobin>guix graph will list you the inputs
<rodrigo-morales>rrobin: Thanks!
<rrobin>then guix build would list the paths for every package
<Rutherther>hello, I am new to guix, and I was wondering, can I "guix build" a manifest, to get the output profile folder instead of the individual packages?
<dckc>odd... `guix system init` didn't add anything to /boot/efi/
<dckc>ugh! how annoying! /dev/disk/by-id changes when the disk is connected by usb
<Rutherther>have you tried using by-uuid rather than by-id?
<dckc>no; I guess that should work. it's harder to read, though
<dckc>hm. the disk doesn't seem to show up in by-uuid; only partitions. in my Makefile, I have rules to make the gpt partition table and such, so I need the disk
<Rutherther>ah, yeah, I guessed you probably wanted partitions anyway. by-uuid is unique per filesystem, so it's not for a whole disk
<raghavgururajan>Usually, I see `/`, `/gnu/store`, `/nix/store` in the 'mount point' for '/dev/mapper/vgname-lvname' in the output of `lsblk`. But after changing vgname and system reconfigure I only see `/nix/store`.
<rodrigo-morales>[question] I have sent messages 2 days ago and today to help-guix@gnu.org, but I don't see my messages in the mailing list archive: https://lists.gnu.org/archive/html/help-guix/ What could be the reasons for this behavior? I am indeed subscribed to the mailing list because I tried to subscribe again using the same e-mail address and I got a message from help-guix-bounces@gnu.org which stated "An
<rodrigo-morales>attempt was made to subscribe your address to the mailing list help-guix@gnu.org. You are already subscribed to this mailing list.". My email address is rodrigo-mailing-lists@gnu.org
<rodrigo-morales>* I'm sorry, I made a mistake in my previous message: My email address is: rodrigo-mailing-lists@morales.pe
<dckc>ps23/etc/config.scm:15:2: error: (bootloader-configuration (bootloader grub-efi-bootloader) (targets (quote ("/boot/efi")))): extraneous field initializers (targets)
<dckc>what is going on? how do I diagnose this?
<dckc>I copied this right out of the docs:
<dckc> (bootloader-configuration
<dckc> (bootloader grub-efi-bootloader)
<dckc> (targets '("/boot/efi")))
<Isaz>rodrigo-morales: from my experience it sometimes takes multiple days (over three) for mail to appear in the list, I doubt your messages are lost
<rekado>dckc: what version of Guix?
<dckc>$ guix --version
<dckc>guix (GNU Guix) b20956651a53a8f23828fdeb6945e1a31e6997a8
<dckc>is that what you mean?
<rekado>okay, that's very recent. There have been no changes and "targets" is in fact a valid field.
<dckc>how can I tell? I have my config.scm open in emacs, with geiser running
<dckc>how can I tell that "targets" is a valid field, that is?
<dckc>bleah... geiser is confused:
<dckc>scheme@(guile-user)> (use-modules (gnu))
<dckc>While compiling expression:
<dckc>no code for module (gnu)
<dckc>I find that error message in a definition of make-syntactic-constructor. oh boy. macro fun.
<rekado>can you show the whole config?
<dckc>sure, rekado : it's https://github.com/dckc/madmode-blog/blob/master/projects/ps23/etc/config.scm except with (targets '("/boot/efi")) added inside bootloader-configuration
<dckc>the bfbc454 version there doesn't seem to install grub right, so I'm trying to add the targets field
<dckc>I started with the config.scm from https://guix.gnu.org/en/manual/devel/en/html_node/Using-the-Configuration-System.html ; a diff from there (not including targets) is: https://gist.github.com/dckc/98a7460695be76cb3bac7ce99bf4a44d
<Kabouik>I am suddenly getting "guix pull: error: Git error: unexpected http status code: 500" with guix pull, probably on my private channel if I understand correctly, but this never was an issue. The channel is on git.sr.ht, which many here use too I believe. How can I get more information on what is wrong? The guix pull was working earlier today but got interrupted (battery).
<Kabouik>guix pull --verbose=3 does not give me more information.
<Kabouik>verbosity*
<dckc>rekado, I have a stray version of guix. when I sudo, I get guix (GNU Guix) 1.3.0
<Kabouik>Is there any way I could reset it all, in case the interrupted pull would be the issue?
<dckc>where does `guix pull` keep its git clone? is it shared between my user and root?
<dckc>"Your Guix installation is 19939 days old." I'm not looking forward to catching up AGAIN.
<nikolar>kek
<dckc>docs say "Any user can update their Guix copy using guix pull, and the effect is limited to the user who ran guix pull." hm. is there an alternative?
<rekado>Kabouik: a 500 is a server-side error
<Kabouik>Hum, so git clone https://git.sr.fr/~myyself/mychanneĺ gives a error 500 too. Yet it is publicly available (https://git.sr.ht/~mlaparie/guix-private-channel)
<dckc>500 here too, fwiw, Kabouik
<Kabouik>Thanks dckc. Git cloning the url gives 500 but it is reachable in a browser. I wonder if this is a sourcehut change today. Man here use sourcehut too so I guess someone else may experience the same issue too if that was the case.
<Kabouik>Man*
<Kabouik>Many* (faulty y key, sorry)
<dckc>commits 9edb3f6 to b209566 (63,132 new commits) didn't take too long. ok this looks better:
<dckc>building /gnu/store/6hlvxhcnzspwkk5xjyg36kqnvr0m11id-install-bootloader.scm.drv...
<dckc>guix system: bootloader successfully installed on /boot/efi
<Kabouik>So turns out it's a sourcehut issue indeed, a ddos is ongoing.
<dckc>nooooo! magit is horked now! when I hit b, I get: transient-setup: Symbol’s function definition is void: transient-prefix-object
<dckc>I am not alone: https://emacs.stackexchange.com/questions/81726/magit-getting-error-transient-setup-symbol-s-function-definition-is-void-tra
<dckc>Missing Free firmware <- boot sequence is paused after that. clues?
<dckc>the 1.4.0 release boots fine on this machine, so a hardware compatibility issue seems unlikely
<dckc>1.4.0 release iso on usb stick, that is
<dckc>how do I find the config used for the 1.4.0 iso?