IRC channel logs

2022-08-07.log

back to list of logs

<apteryx>any clue about what this mean? did I miss some extension? https://paste.debian.net/1249557/
<rekado>apteryx: you need a service, not a service-type
<rekado>(service lightdm-service-type) perhaps?
<pkill9>how destructive would it be to set user shell to guile? not going to do it, but just wondering if it would be feasible
<pkill9>other than getting /etc/profile stuff done and user's .profile, would it break anythign else?
<pashencija[m]><vagrantc> "anything that depends on rust ....." <- Why? It builds locally
<Ox151>the variable python2 should be found if i add #:use-module (gnu packages python) to my file? Thats how its worked for all other package varaibles ive tried before, but i am getting this odd error error: python2: unbound variable
<nckx_>Ox151: Because typo.  python-2, not python2.
<Ox151>RIP, thank you. when doing guix package -s python2 it shows python2 and python.scm says python2 as well XD
<nckx_>Welcome to package vs. variable name crazyworld.
<Ox151>it feels good to be here
<nckx_>(define-public THIS (package (name NOT-THIS) ...) when writing Scheme code.
<atka>it feels like i'm taking crazy pills!
<nckx_>(define-public NOT-THIS (package (name THIS) ...) when using CLI 'specs'.
<nckx_>Hysterical raisins, mostly, some day the distinction may mostly vanish (good riddance).
<kabouik>Whoops, I'm afraid I might created a new issue when trying to amend the nmail package following your advice unmatched-paren. I used the git send-mail comamnd from my shell history, and forgot I needed to change the --to email address. Apologies. :(
<kabouik>s/might/might have/
<nckx_>Get in the hole.
<kabouik>Will I be able to get away after a few hours in it? :(
<nckx_>The hole is too nice and cosy.  You won't want to.
<kabouik>And of course the new issue doesn't show the changes of the previous commit, so it's not even like we could delete the old issue
<nckx_>kabouik: Are these the bugs?  56994 & 57021
<kabouik>Absolutely
<nckx_>You can merge them by sending "merge NNN NNN [NNN...]" control at debbugs dot gnu point org.
<nckx_>It probably won't do all the magic you seem to be expecting above, but it will merge them, not unlike what the command suggests.
<kabouik>What's the [NNN…] part?
<nckx_>Numbers.
<nckx_>We tend to use 'NNN' as bug number placeholders around here.
<kabouik>The square brackets are what puzzled me
<kabouik>Oh got it.
<nckx_>I was trying to convey '2 or optionally more'
<kabouik>Just means I can merge more than 2.
<nckx_>Yas.
<kabouik>I'm slow but if I focus real hard I can count to more than 2, see?
<kabouik>:<
<nckx_>Already superior to most computers.
<kabouik>So `git send-email "56994 57021" control --to=debbugs@gnu.org`? I'm unsure about the control, I prefer asking.
<kabouik>Oh and well, look at me, writing the full address when you took care of *NOT* writing it above for bots.
<kabouik>I guess fixing mistakes implies making more, for me.
<nckx_>Whoah, no, sorry.  For this I meant a real boring e-mail, from your mail client.
<kabouik>Or should I just send an old fashioned email?
<kabouik>Hey.
<kabouik>Getting slower but I was close.
<nckx_>Soon you'll be reading my mind.
<nckx_>Poor you.
<kabouik>Don't be sorry, it's all on me. Thanks for the help!
<nckx_>So git send-email is one (and my preferred) way of sending patches to any e-mail address, but this control business is not related to Git but to the GNU debbugs instance: https://debbugs.gnu.org/server-control.html
<Ox151>nckx: was there a trick to finding the correct way to reference a package? im running into the same issue with make package
<Ox151>oh i see it now its gnu-make
<nckx_>Not really a trick, but 'guix edit make' will pop up an editor at the exact define-public NAME you need.
<Ox151>the define-public value not the name value in package declaration
<nckx_>Yep.
<kabouik>Yeah nckx, finally got it when proof-reading myself. And I also noticed that I got the email address wrong (good, since I typed it full here).
<nckx_>Guix is normally installed read-only so 'edit' is a bit of a misnomer, but it would be able to edit a Git checkout.
<podiki[m]>e.g. when doing ./pre-inst-env guix edit package (will edit that package in that guix checkout)
<pkill9>does anyone have an example guix home configuration file?
<Cairn>How does GDM control backlight and volume? Cause I wanna steal whatever's it's doing for my desktop
<apteryx>rekado_: exactly: (services (cons lightdm-service-type %my-desktop-services)) thanks :-)
<Cairn>What package is `pactl` provided by?
<pkill9>does `guix home reconfigure` install the specified packages also?
<nckx_>It applies your configuration, so yes.
<nckx_>Cairn: pulseaudio.
<Cairn>Nice, ok
<Cairn>Thanks
<nckx_>(That's what the 'pa' stands for.)
<Cairn>Yeah, I just didn't know if it came with the package or not
<apteryx>is there a way/approach to implement polymorphism with records?
<apteryx>my (oops goops) introspection approach doesn't seem to work well, due to some variables not appearing to be bound
<atka>im stuck on the tty, trying to figure out this invalid field specifier error in my services section, any tips
<atka>I have appended a few items like dhcp, dbus-root-service-type, elogind etc to %base-services, that all works fine, but I'm trying to add another substite server which modifies %desktop-services
<atka>*substitute
<nckx_>I have a lot of RAM: https://www.tobias.gr/eb.png
*apteryx dumbs down the design to get through
<atka>I think my issue is that i'm not actually using %desktop-services, but just appending some extras to base
<nckx_>I've been 'using' GNOME for all of 10 seconds.  Is that a known bug?
<apteryx>nckx_: "of 3.1 kB", eh
<nckx_>'of 3.1 kB' hmm.  Yes.
<nckx_>So I have a lot of RAM but not a lot of RAM to keep it.
<nckx_>Problem.
<apteryx>is that system monitor stuck on v40 ?
<apteryx>you could try bumping it to latest, 41 or 42, perhaps
<nckx_>Uh, I dunno.  How could you tell.
<nckx_>41.0
<apteryx>ok, gnome-system-monitor is at 41 yes
<nckx_>I don't think I'm going to keep GNOME, it's waaaay to buggy (in ways that appear by design, like not honouring keyboard-layout).
<nckx_>Or is that Guix's fault?
<apteryx>keyboard layout at the level of the config?
<nckx_>Yes.
<apteryx>civodul had worked hard to get this working
<apteryx>perhaps it broke
<nckx_>Works fine on the VT, but GNOME reverts to QWERTY.
<nckx_>Hm.
<nckx_>I can switch manually in system settings.
<apteryx>gnome-system-monitor updates easily to 42 (and builds) if you want to try thta
<atka>nckx_: I had the same issue in the past
<apteryx>that
<atka>but couldn't switch it in system settings
<atka>well it wouldn't stick
<apteryx>can't try it easily though: Settings schema 'org.gnome.desktop.interface' is not installed
*apteryx checks on parter's x200
<apteryx>partner*
<atka>pardner*
<atka>:)
<nckx_>Context: this is a very WIP rescue medium, mainly for bcachefs support, and I thought I'd add a GUI to it even though I probably won't use it, and I chose GNOME just for laughs.
<nckx_>Hm, writing it out it does sound like a series of poor decisions.
<nckx_>🤠
<apteryx>memory shows fine on that machine
<apteryx>in gnome-system-monitor
<nckx_>Thanks.
<apteryx>1.6 GB (19.5%) of 8.2 GB
<Cairn>So the package `light` contains its udev rules which are supposed to make users in the `video` group able to run its commands without sudo. But it looks like I can't, even though I'm in the video group. When I run sudo, it works fine.
<Cairn>Here's the section in the readme: https://github.com/haikarainen/light#permissions
<nckx_>Y'know what this might be: it's booting from Ventoy (glorious software product), which does some device mappery voodoo, maybe it's affecting RAM readings somehow.
<nckx_>Hm, no, at least 'free' is unfooled.
<nckx_>Cairn: can you share the part of your configuration where you apply the rules?
<Cairn>Apply which rules?
<nckx_>They work here.
<Cairn>Hm
<nckx_>Cairn: you mentioned udev rules.
<nckx_>(service udev-service-type (udev-configuration (rules (list light ...))))
<nckx_>No?
<nckx_>If not, that explains it.
<Cairn>Yeah, I guess that explains it. Sorry, I wasn't even really sure what udev rules were.
<nckx_>Packages don't get to configure udev merely by being installed.
<Cairn>let me add that
<Cairn>Thank you for explaining =)
<nckx_>Just a sec though.
<nckx_>Yeah, as I suspected, I consider myself too good for Guix's defaults.
<nckx_>What you want is (udev-rules-service 'light light) I think.
<nckx_>Where 'light is any name you choose.
<nckx_>I use udev-configuration because I don't want the defaults but you probably do.
<Cairn>Oh yeah, I definitely do. Too scary otherwise.
<Cairn>I have a `(services)` expression. Do I put it somewhere in there?
*nckx_ removes GNOME from the rescue ISO, shrinking it by 1 GiB.
<nckx_>Cairn: yes!  It should be a list, just add it in there.
<Cairn>Sweet, I'll give it a shot. Thank you!
<nckx_>(services (list stuff (udev-rules-service 'light light) more stuff))
<nckx_>Or (cons* stuff (udev-rules-service 'light light) more stuff %default-something)
<nckx_>my disdain for defaults is deeply rooted, sorry.
<atka>defaults pull way way too much stuff
<apteryx>which defaults?
<nckx_>The default ones?
*apteryx tries booting a VM with lightdm as display manager
<Cairn>If it's a list, do I put `(modify-services %desktop-services)` inside that list or next to it?
<apteryx>power button stopped putting the system in suspend... odd
<apteryx>(x200 laptop)
<atka>when there is an invalid field specifier error in the services section, can the output be more granular than the whole services section? I've pruned it down to basically nothing and still issues
<apteryx>nckx_: fyi, gnome-system-monitor@42.0 with bb5afc5b9e
<apteryx>in case you'd like to try that
<apteryx>probably doesn't change a thing though
<nckx_>I appreciate the effort but I've already removed GNOME, sorry.
<nckx_>(Not because the system monitor's buggy, obviously :)
<Cairn>Ah, the cons* method seems to have worked
<Cairn>Thanks again nckx_
<nckx_>Worked as in light now works without root?
<nckx_>(Your 'seems' gives me pause.)
<Cairn>Oh, the guix system reconfigure worked. I'm just waiting on it to finish
<nckx_>I'm not sure if eudev reloads its rules or if that needs a reboot to take effect.
<nckx_>Do MacBooks dream of electric sheeple?
*nckx_ needs sleep...
<clarity_>think it's possible to run guix on bsd?
<clarity_>I'm thinking about setting up guix and put all of the packages/binary on a nfs share, so I can deduplicate the packages/software for an kubernetes cluster
<clarity_>I'll probably try to do it with debian first
<nckx_>BSD is brought up regularly but I've never seen (or contributed) more than armchair chat on the subject.  I've never seen someone say 'yes, I actually tried it, possibly using the linuxlator, it did or didn't work for these reasons'.
<nckx_>> Implying FreeBSD is by far the lowest-hanging fruit
<clarity_>yeah
<nckx_>Good night, Guix.  o/
<clarity_>I'm a fan of bsd
<atka>night
<clarity_>night nckx_
<clarity_>I have a weird use case for it
<nckx_>Thanks!  clarity_: Let us know if you try, and good luck.
<clarity_>I'm curious if I can do it
<yuu[m]>when i `(use-modules (main amodule))`, how does guile search for `main module`?
<yuu[m]>doesn't seem to be documented
<yuu[m]>nvm seems 6.18.4 Modules and the File System.
<Cairn>Ok, sorry I didn't check yet nckx_. The urxvt dev got back to me in IRC and I was trying out some of what they said
<Cairn>I restarted x and it doesn't look like the udev rules have applied. Should I just do a full reboot?
<Cairn>Oh sweet. Yeah, a full reboot worked
<Cairn>Nice! Every little step towards a comfy system feels great. I can now adjust my brightness! :D
<apteryx>nckx_: eudev reload its rules
<apteryx>it has a watch on /etc/udev/
<Cairn>Ok, I have some real info that I'd love some help understanding. I ran `strace -fefile urxvt` and got this output: https://paste.sr.ht/blob/8db84452cbcbe160adf9abb714a38fa88f84fd8e
<Cairn>I'm trying to understand where urxvt is getting access to a different set of cursor icons, and why.
<Cairn>I see libXcursor mentioned a lot in this output, so I guess it's something to do with that. But the urxvt dev says urxvt doesn't apply any xcursor themes
***butingta` is now known as butingtaon
<apteryx>we can't use computed-file as a gexp input to computed-file?
<apteryx>it doesn't get expanded
<apteryx>worked around it
<yuu[m]>do guile support string interpolation?
<apteryx>(format #f "~a ~a ~a" 1 2 3)
<yuu[m]>apteryx: isn't #f default? or is that because it is calling simple-format?
<yuu[m]>how to get the type of something?
<apteryx>it's not the default; at least in recent guiles
<apteryx>(class-of ...) from (oops goops)
<apteryx>(oop goops), rather (oops!)
<yuu[m]>thank you!!
<clarity_>it's scheme with extra features right?
<clarity_>guile that is
<clarity_>I was lucky enough to take a SICP course, so that's one of the attractive things about guix to me
<yewscion>clarity_: IIUC, guile is R5RS scheme with optional R6RS and R7RS support, as well as a wide array of implemented SRFIs and libraries.
<yewscion>(And some cool gnu extensions, as well, of course)
<clarity_>yeah, lambda's/function calls were too slow, so languages like c/c++ became popular, and now, all of the languages are adopting lambdas, even java/c++ LOL
<clarity_>I had a java dev telling me that it'll be hard for me to work on because it has lambda's now
<clarity_>few languages have call/cc tho
<Cairn>nckx_, I finally checked. Removing all local packages (so that ~/.guix-profile/bin doesn't exist) removes that location from path.
<Cairn>So I guess the directory does need to exist for it to be added to path.
*apteryx got lightdm to run, with icons missing
<atka>anyone using iwd instead of wpa_supplicant?
<yuu[m]>what is an alternative to let that returns void by default?
<abcdw>nckx_, bandali: Thank you for the fix!
<yuu[m]><yuu[m]> "what is an alternative to let..." <- i think i got confused. my actual problem... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/593a7df38d0381d96135cedfbc3bf94445b52558)
<lilyp>nckx_: Re GNOME language, it has a per-user dconf setting for the keyboard, which is not managed by guix
<yuu[m]>(let ((cwd (getcwd)))... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/14ce5a8fb8311bea0bdc8cf75aaa15ec92d5bfd4)
<yuu[m]> https://dpaste.com/GZ4EG9C3W
<lilyp>yuu[m]: add-to-load-path is not a function
<yuu[m]>lilyp: so maps won't work with macros
<yuu[m]>it just calls it a "scheme syntax"
<lilyp>yep syntax is expanded before stuff like map happenns
<lilyp>In your case I think just repeating the line is fine
<yuu[m]>"repeating the line" 😭😭💀
<lilyp>I mean, you could write your own syntax which takes multiple lines, but at some point you'll have to decide whether that's worth it
<trevdev>I have this crazy idea of somehow rolling the "org-babel-tangle" process of generating my emacs init files. I suppose...this could be done if I "packaged" this process and used emacs(cient?) as a dependency.
<trevdev>
<trevdev>Has anyone else had this potentially stupid idea?
<lilyp>trevdev: emacs-minimal, but go ahead
<trevdev>"lilyp said it wasn't a terrible idea" is validation enough for me
<lilyp>I didn't say that
<trevdev>I am clearly more enthusiastic than I am clever here
<lilyp>To make it work, you probably need a Guix Home service (so as to place it in the right location)
<trevdev>I had anticipated writing one with a gexp to a local-file initially. However, the local file doesn't exist unless emacs first tangles it
<trevdev>So I am not sure what order things should or can happen in
<trevdev>I may just clone this home env into a system with emacs already on board and script the tangle
<lilyp>and in that context I do think there's a few layers of indirection too many – you need a package-like build for your init.scm, the org file, the service, the home.scm...
<lilyp>Also note the significant overhead whenever you want to try out something – though that's a more general problem in literate programming
<trevdev>I currently have that sorted with de-tangling
<trevdev>But I do agree and feel like throwing guix in the mix here might be just a bit much
<trevdev>Perhaps I should just use stow for this sort of thing and walk away
<trevdev>Or tangle it, *then* reconfigure
<trevdev>And not try to combobulate the whole process.
<abcdw>trevdev: you can try to make a simple package definition like this one: https://git.sr.ht/~yoctocell/git-email/tree/master/item/guix.scm#L61 or even simplier (using trivial-build-system), and add a build phase, which will call emacs like this: https://orgmode.org/manual/Batch-Execution.html
<abcdw>trevdev[m]: One more source for inspiration: https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/emacs-xyz.scm?h=bb5afc5b9ebcea94bc083f14fbc83cab9f86adfe#n9047
<trevdev>Privet! And thank you, I will check out those links
<trevdev>Yep these are great ideas
<ulfvonbelow>anyone working on xonotic 0.8.5?
<abcdw>trevdev[m]: hi :) Later, when you will succeed with package you can use it as a source for home service to install configuration in apropriate location.
<trevdev>Still wrapping my head around the home service concepts, I will be sure to make the effort slow and carefully. I am also seeing this build system, which might be relevant: https://guix.gnu.org/manual/en/html_node/Build-Systems.html#index-copy_002dbuild_002dsystem
<abcdw>trevdev[m]: Sure, can work as well
<trevdev> /away
<tex_milan>Hello Guixers! How to use package tensorflow / tensorflow_lite? I have one python application that needs it, but when I add the tensorflow_lite as its dependency it can't see python package tensorflow / tensorflow_lite. I tried to install tensorflow manually and I get the same error. When I look at /gnu/storage, in folder for tensorflow there is the expected python package. How to tell python3 to add this path to its list of libraries? Thanks!
<unmatched-paren>tex_milan: Have you only just installed it
<unmatched-paren>Because it should have added it to the GUIX_PYTHONPATH, but you need to reload the search paths to use it.
<tex_milan>yes (in system), yes (in guix home), yes (in guix package install) I am using GuixOS.
<tex_milan>ahh, I remember. How to reload the search paths? Do I need restart PC?
<unmatched-paren>source your profile: source $GUIX_PROFILE/etc/profile
<unmatched-paren>where $GUIX_PROFILE is either .guix-profile or .guix-home/profile
<unmatched-paren>btw, s/GuixOS/Guix System/ :)
<tex_milan>tensorflow is missing in that path, all other python packages are there
<tex_milan>after sourcing, the tensorflow is still missing :(
<tex_milan>works now! thanks!
<tex_milan>i had to install it only with guix home
<abcdw>tex_milan: BTW, you can use `guix shell` for creating "virtualenv-like" environment with all needed packages and environment variables. https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-shell.html#Invoking-guix-shell
<tex_milan>I know, thanks! But for some reason that python package was not visible there. Are there any possible conflicts between this and fact I use guix home for my home configuration?
<tex_milan>(it installed, but python3 did not see it)
<unmatched-paren>tex_milan: You need to include `python` in the shell line
<unmatched-paren>guix shell --pure python python-tensorflow
<unmatched-paren>otherwise it won't bother to load the search path
<tex_milan>aha, that might explain it. thanks!
<abcdw>nckx_: I wrote a small postmortem, can you review it, please? https://cryptpad.fr/code/#/2/code/edit/-QpBZOTWCeVE4-NUOgAVbTtb/ If it's ok, I'll publish it to guix-devel.
***tex_milan1 is now known as tex_milan
<tex_milan>anyone using tensorflow-lite? it is missing its python api, do you know how to add it?
<unmatched-paren>so, i'm packaging libspng
<unmatched-paren>but it has an option to enable SSE
<unmatched-paren>SPNG_SEE=<1-4>
<unmatched-paren>s/SEE/SSE
<unmatched-paren>it also supports NEON on ARM
<unmatched-paren>so, should I just add tunable? #t, or is there something else i need to do to conditionally enable those optimizations?
<unmatched-paren>tunable? #t seems to work
***Dynom_ is now known as Guest4085
<unmatched-paren> https://issues.guix.gnu.org/57031 new patch for `sudo guix package`, this one only displays a hint the first time instead of bailing out when --allow-root isn't passed
<unmatched-paren>(thanks nckx for the idea :))
<higgins_plug420[>For your legit weed supplies and... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/61cbeac6d1b5590cd27af0aa6b6e6f11d682721a)
<euandreh>IIUC my extension to 'activation-service-type' will get called on every run of "guix system reconfigure". Is that right?
<efraim>nckx_, abcdw: Sorry for all the mess with the signing keys
<efraim>unmatched-paren: SSE2 is part of the baseline for x86_64 and IIRC NEON is assumed with armhf and part of the default of armv8-a (aarch64), but shouldn't need to be specified there
<unmatched-paren>okay, so no tunable? #t necessary?
<efraim>that I'm not sure about
<efraim>there's a couple of packages which seem they'd benefit from being tunable but I'm not sure about how to test it works
<civodul>unmatched-paren: sounds like a good candidate for 'tunable? #t'; you can test it with: guix build pkg --tune
<nckx_>efraim: It was a reasonable assumption to make.
<nckx_>abcdw: OK, but also at my leisure.
<apteryx>any clue to fix: [lightdm] ** (process:409): WARNING **: 07:21:15.347: Error updating user /org/freedesktop/Accounts/User1000: GDBus.Error:org.freedesktop.DBus.Error.InvalidArgs: No such interface ?org.freedesktop.DisplayManager.AccountsService?
<unmatched-paren>apteryx: Is accountsservice running?
<apteryx> herd status | grep accountsservice says nothing, but pgrep account finds PID 288 which runs libexec/accounts-daemon, so yes
<apteryx>(it's part of %desktop-services)
<apteryx>it only extends dbus and polkit, so it doesn't have visibility in herd (no provision symbol attached)
<apteryx>the lightdm service requires dbus, but not polkit... perhaps that's the problem
<apteryx>polkit-service-type also doesn't extend the root-shepherd-service, so doesn't have a symbol available to specify a requirement on it; I guess it's fine though
<abcdw>nckx_: Sure, no hurry[2] :)
<pkill9>it's pretty neat ive been able to fix up my tear old guix installation
<pkill9>year*
<apteryx>unmatched-paren: I think it means the AccountsService schema is not in dbus-daemon's XDG_DATA_DIRS
<apteryx>seems nixos already walked that path: https://github.com/NixOS/nixpkgs/issues/45059
<unmatched-paren>for the post-install hooks feature i'm trying to add: should the hooks have access to (1) the outside environment and/or (2) the filesystem?
<unmatched-paren>they'll be a field for <package>: (package ... (post-install (list #~(begin ...)))
<unmatched-paren>access to the outside environment would allow for:
<abcdw>efraim: I also had the same assumption about subkey authorization and probably would did the same :) I plan to prepare a patch to match the expectations and reality.
<unmatched-paren>#~(unless (getenv "GUIX_EXTENSIONS_PATH") (package-note #$name (G_ "Set GUIX_EXTENSIONS_PATH so that Guix can find extensions.")))
<unmatched-paren>access to the home directory of the user who built the package might be nice for setting up initial config files
<unmatched-paren>but i'm leaning towards 'no' for both
<apteryx>ah, I think our dbus-service only honors the system and default user profiles
<apteryx>so, the lightdm-service-type needs to extend the system profile to add the lightdm package for dbus, and the lightdm service needs to have XDG_DATA_DIRS set to the lightdm package for the accountsservice extensions to be found
<apteryx> (https://github.com/NixOS/nixpkgs/commit/6f8fe25ccfb138d716d3b1c0cea25e6f11208d450)
<podiki[m]>apteryx: there is a bug report about that I think, letme find
<podiki[m]>yes, that you filed :-) https://issues.guix.gnu.org/48538
<podiki[m]>and that I think we had discussed here way back when
<podiki[m]>would be great to have lightdm and more robust dbus service finding while we're at it :)
<yuu[m]>i have https://dpaste.com/4VLM2EBPM... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/5f6a8969ab79100b034144a38445b8c0db13a65a)
<yuu[m]>why?
<podiki[m]>apteryx: you are reviving that older patch series with the lightdm service?
<yuu[m]>(load-from-path "channel") ice-9/boot-9.scm:1685:16: In procedure raise-exception:
<yuu[m]>error: channel: unbound variable
<unmatched-paren>yuu[m]: #:use-module (guix channels) :)
<unmatched-paren>Also, you can use `%default-guix-channel` instead of that guix channel
<yuu[m]>unmatched-paren: so really no need to load?
<yuu[m]>ahhh ok
<unmatched-paren>what i mean is s/(channel (name 'guix) ...)/%default-guix-channel
<yuu[m]>gotcha
<unmatched-paren>i think ~/.config/guix/channels.scm is normally evaluated in an environment where (guix channels) is already imported
<yuu[m]>this is the code btw https://dpaste.com/4VLM2EBPM. matrix bridge seems to mess up long messages
<unmatched-paren>yeah, it does
<unmatched-paren>it's a little annoying having to select and copy the "full message at ..." link :)
<Cairn>Hey could, I get one other person to test out this urxvt issue? All you have to do is add a cursor theme in your .Xresources (e.g. "Xcursor.theme: Adwaita") and make sure it works elsewhere on your system. Then you install urxvt and hover your mouse over it. It should be an I-bar icon, but I wanna know if it's the I-bar icon for the theme or if it seems to be a different theme.
<abhiseck>does gnu-build-system adds coreutils, grep, gawk in the package's runtime environment as well or only build environment?
<unmatched-paren>abhiseck: A build system can't do that
<unmatched-paren>so no :)
<unmatched-paren>Well, it could using propagated-inputs, but that would be a Very Bad Idea.
<abhiseck>okay thanks, so I need to list those as inputs?
<unmatched-paren>If a program calls other programs, you need to use substitute* and search-input-files to patch absolute paths into it
<unmatched-paren>(substitute "foo.sh" (("grep") (search-input-files inputs "bin/grep"))) etc
<unmatched-paren>s/substitute/substitute\\*/
<unmatched-paren>in a phase
<unmatched-paren>abhiseck: You won't need to list them as inputs, because they are implicitly added as inputs
<unmatched-paren>but that doesn't make them accessible at runtime
<unmatched-paren>you almost always want to do substitutions like that one above
<abhiseck>oh I see!
<abhiseck>thanks
<unmatched-paren>Though be careful the "grep" regex doesn't accidentally substitute something that isn't a program :)
<unmatched-paren>If there are too many programs to reasonably substitute, try this:
<unmatched-paren>Make a patch that replaces all instances of "foo-prog" with "@@foo-prog"
<unmatched-paren>specify it in the origin
<unmatched-paren>s/@@foo-prog/@@foo-prog@@/
<unmatched-paren>Then, do this:
<unmatched-paren>(substitute* "foo.sh" (("@@([^ \t\r\n@])@@" _ program) (search-input-files inputs (string-append "bin/" program))))
<abhiseck>btw the script doesn't call by absolute path, it searches in the PATH
<unmatched-paren>which will replace all @@(...)@@ with the full path to bin/(...)
<unmatched-paren>abhiseck: I know
<unmatched-paren>you need to modify it so that it does use the absolute paths
<abhiseck>oh okay
<unmatched-paren>because otherwise, if someone does `guix shell --pure myprog`, it won't work
<unmatched-paren>because myprog won't be able to find the programs it needs
<abhiseck>right
<unmatched-paren>You could also use propagated-inputs, but propagation is wonky and goes against one of the philosophies of guix: "if you didn't install something, you can't use it"
<unmatched-paren>(which allows for e.g. multiple versions of libraries to be used at once)
<pkill9>unmatched-paren: you use the 'foot' terminal don't you?
<unmatched-paren>yes
<pkill9>do you have issues with opening ncurses applications with TERM set to foot?
<unmatched-paren>i did with nmtui, but i think that's because it's installed system-wide
<unmatched-paren>there was something wrong with system-wide installation of the terminfo database, i guess
<unmatched-paren>things like aerc and vim work fine
<yuu[m]>unmatched-paren: but the thing is that i'm having trouble to load the file/module (channel.scm) even though its path is is already in %load-path
<unmatched-paren>yuu[m]: What's the error you get?
<unmatched-paren>It should work.
<Michal_Atlas[m]>Well, it also has to be in the correct path (according to the name) under the load path afaik, could that be the issue?
<unmatched-paren>Oh, right.
<unmatched-paren>I thought you were trying to load (guix channels) and failing
<yuu[m]>unmatched-paren: from this code https://dpaste.com/4VLM2EBPM
<unmatched-paren>So, you should replace (getcwd) with (dirname (current-filename))
<yuu[m]>unmatched-paren: i get (load-from-path "channel") ice-9/boot-9.scm:1685:16: In procedure raise-exception: error: channel: unbound variable
<pkill9>does nmtui only use the system-wide terminfo database?
<unmatched-paren>Also, you need to add #:use-module (guix channels) to channel.scm
<unmatched-paren>pkill9: NetworkManager is usually installed system-wide
<unmatched-paren>which presumably means it uses the system-wide terminfo :)
<unmatched-paren>Might be wrong though
<yuu[m]><unmatched-paren> "So, you should replace (getcwd..." <- why is that? current-filename only returns #f if i try C-x C-e on emacs/geiser, while getcwd actually returns a directory/string
<unmatched-paren>yuu[m]: current-filename returning #f in the repl makes sense
<unmatched-paren>given that the repl doesn't actually have a filename...
<unmatched-paren>adding paths relative to getcwd to %load-path works only if you're in the right directory
<yuu[m]>unmatched-paren: but then we can't load-path from the repl/geiser from code using current-filename, which is not cool 😭
<yuu[m]>add-to-load-path and load-from-path*
<unmatched-paren>i'd think that when you load a file into the repl, any current-filenames in the file would be expanded to the file's filename...
<unmatched-paren>at least, that would make sense
<yuu[m]>unmatched-paren: what do you mean by "any current-filenames in the file"?
<unmatched-paren>any usage of the procedure/(whatever it is) named current-filename
<unmatched-paren>Yes, it does
<unmatched-paren>if i write (define (foo) (display (current-filename)))
<unmatched-paren>and then do
<unmatched-paren>(load "test.scm") in the repl
<yuu[m]>unmatched-paren: i see. by then we need to load the whole file, we can't just eval some pieces?
<unmatched-paren>(foo) prints /home/paren/test.scm
<unmatched-paren>Oh, eval'ing of expressions
<unmatched-paren>Maybe Geiser can handle that? idk
<yuu[m]>unmatched-paren: i think i misunderstood you in my last sentence. i have emacs opened in /etc/yuuguix.scm. then in geiser-mode in yuuguix.scm i try evaluating (current-filename) with C-x C-e, which returns #f. by what you said, i should instead load yuuguix.scm fully in the repl for (current-filename) to work, correct?
<unmatched-paren>yes
<unmatched-paren>although it should be possible for geiser to know that (current-filename) should be replaced with the buffer name
<yuu[m]>yeah, maybe there is an option. i look into its manual/customize-group
<yuu[m]>i'll*
<apteryx>podiki[m]: yes!
<apteryx>(about lightdm)
<podiki[m]>nice! I used to use lightdm and liked it for my non-DE life
<raghavgururajan>We don't service-type for lightdm, correct?
<podiki[m]>I don't think we have a lightdm service (yet)
<podiki[m]>there were patches that seemed almost there, from some time ago
<podiki[m]> https://issues.guix.gnu.org/35305
<muradm>hi guix
<muradm>may be anyone knowns a command which given a file as an argument will return that file's user and/or group
<unmatched-paren>muradm: stat
<muradm>stat
<muradm>unmatched-paren: thanks :D
<unmatched-paren>`stat` provides the functionality of the eponymous syscall as a command :)
<unmatched-paren>you can use -c to control the output:
<muradm>yeah always sing it as api, and totaly forgot that it has also a command
<unmatched-paren>stat -c %U shows the user, %u shows PID, %A shows mode
<unmatched-paren>There's also `statx` for extended stat :)
<unmatched-paren>Oh, there isn't.
<unmatched-paren>I remember seeing a statx command, but okay.
<chino>I'm trying to package a vim plugin for vim/neovim using guix under debian. I installed it using guix package -f vim.scm, everything seems to be placed under the correct location under `~/.guix-profile`. However I can't seem to stop guix' vim from loading my `$HOME/.vimrc`, how do you test vim plugins packages?
<superkamiguru>Hello all, I have been trying to create a service that runs a command on start, but have not had much success. Is the best way to go about this using simple-service?
<muradm>how did that happen https://paste.rs/3Rz
<muradm>was sending git send-email --to=56699... but got ack for new issue