IRC channel logs

2023-01-11.log

back to list of logs

<jackhill>hmmm, looks like guile-git could be doing a better job keeping repository size down: https://paste.debian.net/1266814/
<jackhill>which I think is a separate concern from our other conversation on the mailing list about not duplicating the checkouts for every user
<bjc>mirai: i have it fixed, but the fix is not super-interesting: http://ix.io/4kQI
<panosalevro>florhizome[m]: not sure i understand
<bjc>you may be more interested in *how* i fixed it. when i got the error you were complaining about, it pointed to a problem in a specific derivation, which was at the top of the backtrace: (primitive-load "/gnu/store/87i8s4lpi2nw33wa33h5l6n63yc?")
<bjc>the derivation is the code that's created by the config, then run on the build side, so you can see exactly what it's doing
<bjc>in this case: (begin (use-modules (ice-9 textual-ports)) (call-with-output-file ((@ (guile) getenv) "out") (lambda (port) (put-string port (string-join ("127.0.0.1\tlocalhost\tkomputilo" "::1\tlocalhost\tkomputilo" "::1 localhost" "::1 example.com") "\n" (quote suffix))))))
<bjc>there you can see the problem: the argument to ‘string-join’ is ‘("127.0.0.1…")’, which looks like a function application
<bjc>the fix (which is in that paste above) is to simply quote the list. you caould also just prefix it with the ‘list’ function. it'd do the same thing
<mirai>that fixed it for you ? (did you rewind the magick commit)
<mirai>because I think I also tried this out
<bjc>the good news is that, with that one-character fix in place, it looks like everything else worked. the vm had the extra hosts lines, as expected
<mirai>it would just give me the un-evaluated sexp
<bjc>i did undo the patch i sent, so i could give you an accurate post-mortem
<mirai>huh, that's intriguing
<mirai>wonder what happened on my end then
<mirai>thanks for taking a look into it
<bjc>no problem. glad it was fairly straight-forward
<bjc>also, i'm kind of impressed you managed to basically nail it out of the park without being able to check your work
<bjc>i've spent *ages* on stuff like this, just trying to even be able to look at interim results
<mirai>yeah, I stared hard into it for longer than I'd like to admit
<bjc>the documentation at this level of guix is pretty sorely lacking, imho. it's tough to navigate
<mirai>the "giveaway" was that typical message you get when you do a procedure call with a string
<mirai>the backtrace was utterly useless
<bjc>yeah, i knew what the problem was, it was a matter of finding *where* it was ;)
<bjc>guile backtraces are notoriously bad
<mirai>boot-9 exceptions, error in backtrace (!!)
<mirai>boot-9 exceptions, error in backtrace (!!)
<mirai>and the very informational lines of the form (# _ _ _ _ _ _ _ _ _)
<bjc>there are ways to turn off compiler optimizations, but it didn't seem to help me much
<bjc>others say it help a lot, so i probably did it wrong, though
<mirai>I'm afraid that improving this part of guix might be extremely challenging
<mirai>guix/guile
<mirai>as you also need to account for the macro soup that happens behind the scenes
<bjc>i suspect it is, since everyone complains about it, and it makes things tremendously harder, but it's never been fixed
<mirai>backtraces or failure messages for missing modules can be their own adventure as well
<mirai>ohh, I think I know why when I tried your fix before it didn't work
<mirai>that commit also went with a computed-file approach
<bjc>d'oh: forgot one other thing. in the sysconf you've got a list of lists
<bjc> http://ix.io/4kQM/diff
<bjc>it should only be a single list
<mirai>so I suspect these interactions are taking place at the no man's land of gexps and quotes
<bjc>gexps are a quoting mechanism
<bjc>they're for delaying evaluation until building, which is done by the guix daemon
<mirai>that from the custom-os ?
<mirai>yeah, that one is wrong
<bjc>but the config is compiled and processed on the user end
<mirai>though it wouldn't work anyways as there would be two etc-hosts-service-type
<bjc>if you do a normal quasi-quote, the things you unquote are going to be evaluated on the user, not build, side
<bjc>(unless it's inside a gexp, at least)
<mirai>btw, I think I overthought a bit on this
<mirai>I just thought that instead of doing all this funky gexp and file-obj reading business
<bjc>i didn't really look at anything other than how to fix it. i'm probably not that qualified to judge the quality of the patch anyway =)
<mirai>it could have been a if branch with a (simple-service 'host-file etc-service-type ... )
<bjc>but yeah, until you get a handle on gexps it's easy to over-do things, just trying to make something work
<mirai>it's infinitely simpler than this coding tarpit
<mirai>:))))
<Euler-Maskerony>Thank you for a person who adviced to watch guide by system crafters on YouTube. It actually helped a lot. But now can, please, someone tell me what is wrong with this services definition: https://i.ibb.co/KL8BDK5/IMG-20230111-024039-902.jpg? It tells: "invalid field specifier"
<bjc>Euler-Maskerony: ‘services’ takes a single argument, which is a list. you've supplied 2 arguments to it (each of the ‘append’ calls)
<bjc>you need to merge them together. you'll also need to pick one of ‘%base-services’ or ‘%desktop-services’, probably the latter
<cauli>hi
<sneek>Welcome back cauli, you have 2 messages!
<sneek>cauli, daviid says: both patches pushed
<sneek>cauli, daviid says: I pushed a fix - to the g-golf devel branch - to also create proxy (runtime) GInterface class(es) when appropriate. This will fix the clipboard problem you faced in your environment - please pull, make, try and let me know ...
<cauli>I'm running Guix on a foreign distro (Garuda) and many host programs crash with this error:
<cauli>symbol lookup error: /gnu/store/…-glibc-2.31/lib/libpthread.so.0: undefined symbol: __libc_pthread_init, version GLIBC_PRIVATE
<cauli>(I don't have anything as LD_LIBRARY_PATH)
<cauli>does anyone know how to fix it?
<Euler-Maskerony>bjc / Thank you for the quick answer! How can I merge them then? I tried to define to 'services' fields, but parser doesn't allow me to do it.
<bjc>right, you can only have one services field
<Euler-Maskerony>bjc How can I redefine both base and desktop services?
<lechner>Euler-Maskerony / you don't
<bjc>take: (append (list x y z) %desktop-services) (append (list (1 2 3) %base-services))
<bjc>make: (append (list x y z 1 2 3) %desktop-services)
<lechner>you either build up from base, or more commonly work with desktop
<bjc>👆
<Euler-Maskerony>So there is no difference between desktop and base?
<bjc>base is a “minimal” system config, with basic utilities
<bjc>desktop has stuff for x11/wayland, for people to use as a desktop os
<bjc>iirc desktop includes everything in base
<lechner>Euler-Maskerony / there are a lot of differences. why not just use desktop?
<Euler-Maskerony>Then I just put them all in desktop and I am good to go, am?
<Euler-Maskerony>I
<bjc>you don't "put" anything in desktop, you use that as a starting point
<lechner>Euler-Maskerony / which keyboard layout do 👆
<lechner>#guix@Libera Chat
<lechner>you use
<lechner>sorry
<bjc>all the other stuff you install (what's in your (list) call) is added on top of the desktop services
<Euler-Maskerony>Qwerty
<lechner>you may need ssh on top of desktio, but that's it
<Euler-Maskerony>So desktop services won't run without X?
<lechner>do you use X or Wayland?
<Euler-Maskerony>X
<bjc>desktop-services *includes* x
<lechner>yes
<lechner>it includes GDM and Gnome
<Euler-Maskerony>When do they start then?
<lechner>Some time after boot
<Euler-Maskerony>So as base?
<lechner>i would forget about base, if i were you
<bjc>i think you're misunderstanding something fundamental, but i'm not quite sure what it is
<Euler-Maskerony>I used to start x with startx. Would desktop services be available in CLI?
<lechner>you can select in GDM
<bjc>desktop services starts gdm automatically after boot. if you don't like that you can either delete gdm from it, which i'm going to guess is a bridge too far right now, or start from base-services and build up from there
<Euler-Maskerony>bjc I can't find proper documentation about these %desktop-services and %base-services variables.
<lechner>earlier i posted a link for my own config, which does that, but it's too complicated right now
<lechner>Euler-Maskerony / with your level of interest you should consider the Guix code base
<bjc> https://guix.gnu.org/manual/en/html_node/Desktop-Services.html
<bjc>or start from https://guix.gnu.org/manual/en/html_node/Services.html
<Euler-Maskerony>Oh, thank you! So can I just put xorg-configuration at base for now?
<bjc>i don't know, i've never tried, but from the name i doubt it will work
<lechner>Euler-Maskerony / don't use base
<bjc>but feel free to try it out. the absolute worst that can happen is that you have to roll back your system
<mirai>base-services ⊂ desktop-services
<Euler-Maskerony>I now added (gnu home) module, but compiler insists that I can't specify home-directory for my user. I have really have no idea why. I did all just like that: https://guix.gnu.org/manual/devel/en/html_node/User-Accounts.html
<Euler-Maskerony>Same thing with shell
<gnucode>Euler-Maskerony: I still haven't set up guix home either. It's confusing...
<bjc>here's my user setup: http://ix.io/4kR2/text
<bjc>you don't specify your home directory (or user at all, in fact) in the home config, because that's a system level item
<Euler-Maskerony>Anyway it doesn't work for some reason.
<Euler-Maskerony>gnucode how do you use your system without home? :O
<Euler-Maskerony>And now I noticed that strange lsblk output: https://i.ibb.co/Hd7ZS87/IMG-20230111-034929-563.jpg
<Euler-Maskerony>I am pretty sure that I mounted dev/sda2 to /mnt
<Euler-Maskerony>Now it is mounted to /tmp
<Euler-Maskerony>It is my root partition
<gnucode>Euler-Maskerony: I just do I guess. I have a git repo of my home, so that helps me re-create everything...
<gnucode>Euler-Maskerony: you've got a lot of partitions...
<Euler-Maskerony>Why xorg-server required elogind? As I understand it is only needed by DMs. Right? How can I provide it if guix says: "service 'xorg-server' requires 'elogind' which is not provided by any service"?
<Euler-Maskerony>requires*
<gnucode>Euler-Maskerony: hmmmm. You could just use elogind...
<gnucode>I think I use seatd instead...
<Euler-Maskerony>Yeah, but I can't actually figure out how to start it.
<Euler-Maskerony>Also here is another problem: guix is trying to update substitutes from ci.guix.gnu.org, but it seems down.
<Euler-Maskerony>Can I get rid of this mirror?
<gnucode>Euler-Maskerony: that's the main mirror...but yes you can temporarily specify substitute servers via guix system --substitute-urls= reconfigure config.scm
<gnucode> https://guix.gnu.org/manual/en/html_node/Getting-Substitutes-from-Other-Servers.html
<gnucode>also you don't need to start elogind...you just add the elogind server and reboot.
<gnucode>it'll start it for you automatically
<Euler-Maskerony>How can I add it? I am now configuring system and everything works fine after deleting xorg service from services
<Euler-Maskerony>I am planning to set up xinit
<Euler-Maskerony> https://lists.gnu.org/archive/html/help-guix/2018-07/msg00109.html From this page
<gnucode>Euler-Maskerony: if you are willing to learn a little bit...I would highly recommend using sway. It's wayland so future proof, and it is by far the most stable gui system ever.
<gnucode>that I have ever used.
<Euler-Maskerony>Never heard about it, but I will try to set up bspwm because I already have neat config and scripts for it :)
<gnucode>Euler-Maskerony: fair enough. Sway was one of the first wayland window managers. It created the wlroots library, which lots of other wayland compositors are now using.
<gnucode>I actually could not use guix system for a long time, because using X randomly caused my mouse to only move vertically on guix system. Using sway fixed this problem for me.
<Euler-Maskerony>Good night. I am almost done with installation. I have already installed system but forgot to specify kernel. Now I need to reconfigure system. How can I do it easily? 'system init' again or it can be done with 'system reconfigure' ?
<apteryx>is the system usable already (does it boot?) otherwise you have to init again
<Euler-Maskerony>It boots
<Euler-Maskerony>But without internet
<Euler-Maskerony>apteryx So I see your point here. If it boots with internet then I could run system reconfigure, otherwise I need to init again. Right?
<apteryx>you do not have a cable or teethering to get you passed the wifi issue?
<Euler-Maskerony>No
<apteryx>hmm. how does the installer gets connectivity?
<Euler-Maskerony>It is patched with full kernel
<apteryx>OK. then it seems your only option is to re-init, yes, since you do not have connectivity options at this point
<Euler-Maskerony>Would it overwrite all files?
<apteryx>I think so
<Euler-Maskerony>And, I mean, without any danger?
<apteryx>yes, as good as new
<Euler-Maskerony>Ok then. Thank you!
<apteryx>np
<bumble[m]>I want to learn how to go from one global file to separate config files for things like sway and qutebrowser
<bumble[m]>can anyone recommend a resource or a way to get started with that?
<bumble[m]>for example, I have start emacs in sway this way TERM=xterm; emacs -nw how could I import or use an scm files, separate from the global config.scm, which exports env var TERM=xterm?
<bumble[m]> * for example, no-window emacs must be started in sway this way TERM=xterm; emacs -nw how could I import or use an scm files, separate from the global config.scm, which exports env var TERM=xterm?
<dtx>trevdev[m]: binary blobs referring to downloading from getcomposer? I mean I'm good with that.
<bumble[m]>would anyone share a qutebrowser config scm file?
<iyzsong>bumble[m]: well, i have a home service for configure home files with a directory of files. eg: https://git.envs.net/iyzsong/guixrc/src/branch/master/dothome/files/.config/sx/sxrc this will copy to ~/.config/sx/sxrc when 'guix home reconfigure'. may not be what you want though...
<bumble[m]>thanks! I tried using guix home reconfigure for the first time just now and guix mutated my .bashrc and .bash_profile files
<bumble[m]>and now they both have multiple repeated blocks of the same code
<bumble[m]>the duplicates are not top and bottom but are interleaved together inside the files
<bumble[m]>I wish guix did not do this
<bumble[m]>it looks like guix does this every time reconfigure is called and unfortunately I called it multiple times
<bumble[m]>sigh
<iyzsong>that sound like a bug in your config or guix home service
<bumble[m]>actually, I called guix home import multiple times
<bumble[m]>and this is probably what caused the issues
<bumble[m]>the reason I called home import multiple times is...
<bumble[m]>I was updating the bashrc and bash_profile files to see what guix home would generate
<bumble[m]>so that I could follow the example to start defining more things with scheme configuration rather than bash
<iyzsong>yes, guix home import is designed to run once, after that you need modify the generated files and the scheme config file, not touch ~/.bashrc or run import again any more.
<bumble[m]>I tried deleting the guix home generated directories, .bashrc and .bash_profile and then calling home import one time
<bumble[m]>but the files it generates are no good
<atka>bumble[m]: do the generated .bashrc .bash_profile contents repeat themselves 1.5 times or something along those lines?
<bumble[m]>yes
<iyzsong>bumble[m]: after run 'guix home import DIR', in DIR, there is '.bashrc' and '.bash_profile', you need/can edit thoes files in DIR.
<bumble[m]>those .bashrc and .bash_profile files inside DIR look nice, just like the original ones
<atka>but the ones it puts in your home dir are wrong, right?
<bumble[m]>yes
<atka>ok, I had the exact same issue when guix home first came out
<bumble[m]>home dir links are symlinks to /gnu/store/verylongstring-bashrc
<atka>one sec, I'm trying to remember the fix, it has something to do with a default flag in your home config if I remember correctly
<atka>ok in your home configuration .scm set (guix-defaults? #f)
<atka>and reconfigure your home, and check the generated .bash files in your home folder
<atka>this would be under the (service home-bash-service-type (home-bash-configuration section
<bumble[m]>thank you that is much better
<bumble[m]>the files are still not correct, but they are much better
<bumble[m]>.bashrc still duplicates a few lines at the top, these lines aren't found inside the DIR .bashrc
<bumble[m]>something else that has happened since the first time the home configuration was generated is
<atka>I think it's because the default .bashrc and .bash_profile already are the defaults and if (guix-defaults?? #t) it appends the defaults to the already default files if you follow
<atka>sorry its late
<bumble[m]>when I login to the tty, there is a warning
<bumble[m]>warning: XDG_RUNTIME_DIR doesn't exists, on-first-login script won't execute anything. You can check if xdg runtime directory exists, XDG-runtime-DIR variable is set to appropriate value and manually execute the script by running '$HOME/.guix-home/on-first-login'-bash: /home/bumble/.guix-profile/etc/profile: No uch file or directory
<bumble[m]>XDG_RUNTIME_DIR, however, is defined inside .bash_profile
<bumble[m]>s/XDG-runtime-DIR/XDG_RUNTIME_DIR/
<bumble[m]>I've tried running "on-first-login" script but nothing seems to have happened
<bumble[m]>I hope it didn't delete or move anything around
<atka>hmm, I'm not sure, I think I faced a similar issue but I'm not on a guix box right now and haven't used guix home in quite a while
<atka>I'm sure someone here can get you sorted though, just might have to wait a bit
<atka>bumble[m]: found something
<atka>Note: Make sure the operating system has elogind, systemd, or a similar mechanism to create the XDG run-time directory and has the XDG_RUNTIME_DIR variable set. Failing that, the on-first-login script will not execute anything, and processes like user Shepherd and its descendants will not start.
<bumble[m]>.bash_profile defines export XDG_RUNTIME_DIR=/tmp/
<atka>from this: https://guix.gnu.org/manual/devel/en/html_node/Declaring-the-Home-Environment.html
<bumble[m]>the operating system is configured with an analog of elogind, seatd
<atka>ok, I'm familiar but guix home might not be
<atka>are you using sway?
<bumble[m]>yes
<atka>what does 'echo $XDG_RUNTIME_DIR' return?
<bumble[m]>from inside the tty that shows this warning, echo $XDG_RUNTIME_DIR is '/tmp/'
<jpoiret>ahhhh, the seatd woes :)
<atka>bumble[m]: I think you'll have to set it manually or use elogind
<bumble[m]>do you know how I would start to set it manually?
<jpoiret>i haven't used guix home yet but you'd need to check that wherever you define XDG_RUNTIME_DIR in your profile file comes before the guix home stuff
<bumble[m]>I have tried updating the home-configuration.scm to include
<bumble[m]>`(environment-variables '(("XDG_RUNTIME_DIR" . "/tmp/")))` as well
<atka>I know how to set it up on other distros, not sure with guix or home
<jpoiret>no, this needs to be set outside of guix home, since it relies on it to work
<bumble[m]>I would expect /tmp/ to be a persistent directory always present in the rest of the system but I am not familiar with guix so not sure
<atka>elogind will handle it for you :)
<bumble[m]>is elogind generally preferred over seatd?
<atka>I'm not sure, i've only ever used elogind, seatd is portable so works on BSDs and what not
<bumble[m]>I followed some example using elogind and could not get past errors trying to use and configure it. When I replaced it with seatd, that went in with no errors or configuration and I was able to start sway after that
<unwox>bumble[m]: can you share your configuration?
<bumble[m]>it would be difficult the machine just has a tty and not sure how to get files out at the moment
<jpoiret>I know some people are using seatd with agetty so it should probably be doable
<bumble[m]>To get seatd, "seat" was added to user's supplementary groups and (service seatd-service-type) was added to the services list above the openssh-service-type
<unwox>here is an example of sway+seatd (i hope unmatched-paren doesn't mind me sharing it): https://git.sr.ht/~unmatched-paren/conf/tree/root/item/system.scm
<unwox>here is my configuration with sway+greed+elogind https://git.sr.ht/~unwox/etc/tree/master/item/guix/t480.scm
<unwox>greetd*
<bumble[m]>sway and seatd are and were usable still, but before home configuration was attempted, there were not XDG_RUNTIME_DIR errors
<atka>bumble[m]: cat ~/some_file.txt | nc termbin.com 9999
<atka>terminal friendly pastebin, just needs netcat
<bumble[m]> https://termbin.com/dx90
<unwox>bumble[m]: do you set XDG_RUNTIME_DIR in your .bash_profile?
<bumble[m]>@unwox yes
<unwox>i don't think guix home is picking variables from .bash_profile
<unwox>usually these xdg variables are set by elogind. it seems that seatd doesn't set them
<unwox>have you tried setting XDG_RUNTIME_DIR via home-environment-variables-service-type?
<bumble[m]>(simple-service 'seatd session-environment-service-type
<bumble[m]> '(("XDG_RUNTIME_DIR" . "/tmp/")))
<unwox>like this https://git.sr.ht/~unwox/etc/tree/master/item/guix/home.scm#L288
<bumble[m]>I have not tried that
<bumble[m]>that worked! session-environment-service-type
<bumble[m]>thank you @unwox @atka @jpoiret
<bumble[m]>I am lucky and appreciative to get such help
<unwox>great!
<atka>glad to hear it
<bumble[m]>@unwox your scm file is readable and perfect reference for me. I bookmarked it and will reference it in the future. thank you
<jpoiret>Be aware that seatd is extremely minimal, i remember from my initial investigation that getting dbus to run would be painful
<unwox>bumble[m]: yeah, reading others' configs is the best way to learn guix i feel
<bumble[m]>I added this, also found in the unwox scm file `("QT_QPA_PLATFORM" . "wayland")` but qutebrowser fails to start when that is included
<bumble[m]>WARNING: Could not find the Qt platform plugin "wayland" in ""
<bumble[m]>CRITICAL: This application failed to start because no Qt platform plugin could be initialized.
<telmo[m]>ACTION uploaded an image: (36KiB) < https://libera.ems.host/_matrix/media/v3/download/bolha.chat/TkDAClslqeYewindOuTwkdPe/Captura%20de%20ecr%C3%A3%20de%202023-01-11%2010-15-45.png >
<telmo[m]>ACTION uploaded an image: (103KiB) < https://libera.ems.host/_matrix/media/v3/download/bolha.chat/TohjAxLdzDCqtREVTLeJBJRv/Captura%20de%20ecr%C3%A3%20de%202023-01-11%2010-15-55.png >
<telmo[m]>what is the problem?
<rekado>telmo[m]: what does the (packages …) field look like?
<unwox>bumble[m]: do you have qtwayland-5 installed?
<bumble[m]>no I don't I will try installing that
<bumble[m]>(thank you)
<telmo[m]>ACTION uploaded an image: (90KiB) < https://libera.ems.host/_matrix/media/v3/download/bolha.chat/nXJugrsAbjYzUdzsKGPQuVtZ/Captura%20de%20ecr%C3%A3%20de%202023-01-11%2010-22-02.png >
<telmo[m]>if this is the reason , thanks
<jpoiret>a lot of QT applications in Guix have wrappers that override QT_PLUGIN_PATH, I just ran into that this morning
<jpoiret>so even if you install qtwayland-5, the application won't be able to see it
<jpoiret>I think the long term solution would be to include qtwayland by default in qtbase, that would probably also solve the qt5/6 mismatch problem
<jpoiret>this would also make wayland work OOTB (at least a bit more than before)
<bumble[m]>does it need to be qtwayland-5 specifically? there is qtwayland-6 also https://packages.guix.gnu.org/packages/qtwayland/6.3.1/
<telmo[m]><telmo[m]> "what is the problem?" <- thanks, but its possible make "package1" "package2" and etc ?
<telmo[m]>or only individual specification?
<unwox>bumble[m]: i've got qutebrowser working with qtwayland-5, cannot say if 6's good too
<bumble[m]>that works here also
<bumble[m]>qutebrowser does not render text
<bumble[m]>going to sleep thank you for the help everyone
<unwox>bumble[m]: add this line to your config.py c.qt.args = ['disable-seccomp-filter-sandbox']
<jpoiret>qtwayland has to be the same version as the qt that the app is using
<jpoiret>you cannot use qtwayland@6 with qtbase@5 and vice-versa
<omlet[m]>ACTION uploaded an image: (194KiB) < https://libera.ems.host/_matrix/media/v3/download/matrix.org/BRLIOzTCwhfKnHvdRYdCBDGQ/20230111_130841_3835602030807290084.jpg >
<omlet[m]>What is the error?
<drakonis>(append (service gnome-desktop-service-type) sddm-service-type)
<drakonis>oops
<drakonis>(list ...)
<drakonis>your parens are balanced poorly
<omlet[m]>Iwant replace tha display manager
<omlet[m]>Add wayland and and use sddm
<omlet[m]>Its possible use?
<omlet[m]>* and use greetd or sddm
<omlet[m]>I not can experience with guix
<drakonis>hhhmmm
<drakonis>do we have rules with regards to foreign languages in the channel?
<drakonis>also
<drakonis>can i open up a temporary channel for foreign language support?
<drakonis>omlet[m]: yes it is possible
<telmo[m]>I not learning about languages or channels
<telmo[m]>Its the basic
<telmo[m]>Only
<telmo[m]>But my config.scm its vanilla
<drakonis>i mean, i'm seeing people using translators to communicate here and clearly there's a barrier
<ngraves>Hi guix !
<ngraves>Is it possible to refer to patches that are in another (package-source directory ? in the field patches from origin ?
<ngraves>I'm able to build a gexp that would match such patches if evaluated, but can't get to evaluate it.
<apteryx>cbaines: did you report the bug mentioned for git send-email in the manual?
<apteryx>more accurately, the -v option used by 'git format-patch'
<drakonis>omlet[m]: https://guix.gnu.org/manual/en/html_node/X-Window.html#index-sddm_002dservice_002dtype
<cbaines>apteryx, nope, I think it has been reported to upstream though
<ngraves>here's my example :
<ngraves>(patches
<ngraves>(list #~(let ((dir #+(file-append (package-source libreoffice) "/external/skia")))
<ngraves>(map (lambda (p) (string-append dir p)) (find-files dir "\\.patch\\..$")))))
<civodul>drakonis: traditionally all languages have been accepted on this channel
<drakonis>i see
<civodul>if it ever becomes a problem, we can change that
<nckx>I don't think splitting #guix at this size would improve support quality. The power of lurkers in number vastly outweighs any language barrier IMO.
<nckx>That said, somebody opened #guix-jp and haven't been prosecuted.
<nckx>That said, the channel's never been used. :-(
<nckx>That said, good morning #guix.
<pjalsDanielv[m]>good morning
<pjalsDanielv[m]>(even though its like 16:00) here
<pjalsDanielv[m]>* s/)// s/re/re)/
<nckx>It's 15:00, morning is a state of mind.
<telmo[m]><drakonis> "omlet: https://guix.gnu.org/..." <- I not see examples
<telmo[m]>Add examples in future its good
<telmo[m]>The manual can inprovenments
<bjc>why do shepherd services have a slot named ‘requires’, but the accessor is named ‘required-by’? =(
<Euler-Maskerony>Hello everyone! I managed to install system with working internet, but I still have few questions. Is it important where to put my wpa_supplican.conf? For now I just created one by myself and put it in /etc. Is it ok? Now I need to reconfigure system to make corresponding service know where this conf file is. I want to do the following as user:
<Euler-Maskerony>'sudo guix pul; sudo guix system reconfigure /etc/config.scm'.
<Euler-Maskerony>Is it appropriate?
<bjc>don't use sudo for guix pull, only use it for ‘system reconfigure’
<Euler-Maskerony>Why?
<drakonis>omlet[m]: os parenteses estão alinhados incorretamente e o serviço do sddm esta no lugar errado
<bjc>as for the wpa_supplicant, if there isn't existing, scheme-level support for that config, you can use the ‘extra-special-file’ service to place it
<drakonis>telmo[m]: os pacotes estão todos no local errado
<drakonis>tem um campo na especificação onde que vai os pacotes
<drakonis>nckx: native language superpowers!
<Euler-Maskerony>Also I saw that people put /etc/system.conf to ~/.config/guix/system.scm. Maybe I need just to symlink instead of copy? And what is the purpose of this action?
<bjc>if you use sudo for ‘guix pull’ it'll mess up the permissions in the guix profile and make your life more complex later. it's also completely un-necessary to use sudo with guix, except for when doing a ‘system reconfigure’
<nckx>ACTION was literally just wondering if 'wow, that sounds native, is it?' would be considered too personal :)
<Euler-Maskerony>bjc for wpa_supplicant I use wpa-supplicant-confiuration data type inside corresponding service field.
<nckx>bjc: Not in a position to check but I thought a straightforward sudo was now disallowed, at least for guix pull...
<Euler-Maskerony>Why?
<drakonis>nckx: i mean
<drakonis>i'm just a bit weird about communicating on the internet
<nckx>It's an unnatural state.
<nckx>(The Internet, I mean, not yours.)
<Euler-Maskerony>Can I modify sudoers if I want to manually?
<the_tubular>How do temporary stop gdm from starting ?
<the_tubular>When I kill it it just restarts
<nckx>Yes, but the 'guix pull' protection isn't implemented that way and is ill-advised (without -i) for a reason, if you were replying to me.
<nckx>Even with -i it won't do what you think you're doing unless you know what you're doing.
<telmo[m]><drakonis> "telmo: os pacotes estão todos no..." <- sim eu removi o que eu fiz de errado, mesmo assim eu perguntei com o meu inglês meia boca
<Euler-Maskerony>nckx Hm. There is no -i option as I can see for guix pull.
<telmo[m]>@drakonis tens conta no matrix?
<telmo[m]>@drakonis1
<nckx>the_tubular: I don't use GDM but was going to recommend stopping it normally (restarting abnormally killed services is kind of init's job) but then https://issues.guix.gnu.org/35509 appeared.
<guix-helper-bot>Stopping gdm-service results in an unresponsive system <https://issues.guix.gnu.org/35509>
<nckx>So 🤷‍♀️
<drakonis>não uso matrix
<the_tubular>Wow, nckx that bug is very interresting
<nckx>Euler-Maskerony: I meant 'sudo -i', if you insist on running it.
<nckx>the_tubular: Also very old :-(
<the_tubular>That exact same thing happens to me but I noticed it doesn't happen when gdm isn't running ...
<the_tubular>So I'm kinda confused ...
<nckx>Can't help you, the Gesktop confuses & intimidates me.
<the_tubular>I mean it might not be related to gdm at all
<bjc>Euler-Maskerony: when using ‘wpa-supplicant-service-type’ you shouldn't need to create your own config. that's the job of the service type
<the_tubular>Can't find logs of what's happening ... :(
<Euler-Maskerony>nckx In man sudo there is no info about this option either :/
<Euler-Maskerony>bjc / I mean, I need somehow specify said password and interface. So I need to pass config to service.
<trevdev[m]>dtx: There we go then :)
<nckx>the_tubular: Oh, I interpreted ‘it doesn't happen when gdm isn't running’ as implying the opposite.
<the_tubular>Well, as I said, I didn't find any logs of what's happening. So I'm kinda guessing
<nckx>I think it logs to your home somewhere but that's just a half-remembered of a random bug report.
<nckx>s/d o/d snippet o/
<bjc>Euler-Maskerony: i don't use wifi on my guix box, so i can't tell you how to set this up, unfortunately. i can tell you, though, that you'll have trouble trying to use the ‘wpa-supplicant-service-type’ and writing to ‘/etc/wpa_supplicant.conf’ at the same time. maybe ‘extra-options’ will work for you?
<Euler-Maskerony>Hmm. Also can't find any info about ~/.config/guix/system.scm. What is the purpose of this file? Can someone, please, explain or give me a link?
<nckx>Euler-Maskerony: Unless you have a specific reason to [think you] need to pull as root, don't let's embark on a scenic detour of the sudo man page. There's plenty more to learn first :)
<bjc>oh, there's also the ‘config-file’ field, which seems like it may be what you want
<nckx>Euler-Maskerony: The location is irrelevant.
<nckx>Put your system.scm wherever you like. Call it spock.scm. Guix really does not care; *you* provide the file name to ‘guix system reconfigure’.
<nckx>Some people put it in /etc. I put it in /etc/guix. $HOME is equally valid. I recommend against /tmp.
<Guest39>hi all. A query about guix packaging: is there an easy way to create a writeable config file modifiable after the package is installed?
<Euler-Maskerony>nckx Ok, I thought guix reads it somehow automatically like channels.scm from the se directory. Thank you.
<Euler-Maskerony>same*
<Euler-Maskerony>bjc Yes, I am using exactly this field now.
<bjc>ok. you should be able to point that wherever you want. since it's going to contain a password, i would recommend against using guix to create the file
<bjc>the reason being that guix would need to keep that file in the store, and the store is world-readable
<Guest39>it seems in all my profiles there are only two real files: etc/profile and manifest. since these are mutated by guix-daemon, would there be a possibility to setup something similar for a guix package?
<nckx>Euler-Maskerony: Nope, there is no default system configuration, like there is a default channel configuration (two, in fact, /etc/guix and ~/.config/guix).
<nckx>Guest39: You mean, have ‘guix install some-package’ create an arbitrary real file outside of /gnu/store at some-package's request? No.
<Guest39>@nckx I was suspecting this.. so etc/profile and manifest are special, right?
<nckx>Well, special as in not created by a mere package, yes.
<Guest39>nckx. OK, I will think of a functional workaround.. thanks
<nckx>You could modify Guix to create any file you want (the keyword I believe you want is ‘profile hooks’), but this is not something you can just throw into gnu/packages/foo.scm.
<zamfofex>reyman: Sorry to bother you, but has your Deno packaging been going? I tried to search around, but I could only find some issues you opened on the Deno repository about it.
<mirai>Does the following pattern have any reason to exist? #~#$variable
<mirai>gexp followed immediately by ungexp
<nckx>Guest39: I actually missed your first message (that you want a writable file) and was responding to your second. Even profile hooks aren't meant to do this, so be aware that whatever you might stumble upon will be unsupported. The supported answer would be: no, Guix creates read-only configuration files, and it's up to the programme to create a default skeleton file at first run time if that's what it/you wants.
<nckx>Talking specifically about Guix here. Yes, Guix System creates writable skeleton files if they don't exist. That's in the realm of system services, not packages, I don't know if that would work for you.
<apteryx>hmm, python packages cannot be cross-built
<nckx>mirai: Yes, but I find it hard to explain intuitively :) The only time I've ever used it was to ‘conditionally gexp’: #~(… #$(if x? #~#$a #~b))
<nckx>Why this monstrosity? To temporarily avoid unnecessary rebuilds in the common case. E.g. commit 8d8272dd474abebed4d98b9b14e525073c6dc436.
<nckx>ACTION should take a look at those TODOs…
<mirai>I'm looking at gnu/system.scm
<mirai>the section where it builds the list of files to pass to etc-service-type looks mysterious
<mirai>nckx: would it have been that bad to rebuild?
<Euler-Maskerony>Is such high latency of gnu.org connection common or is it just today?
<lechner>final dot should work now 8d8272dd474abebed4d98b9b14e525073c6dc436.
<guix-helper-bot> <https://git.savannah.gnu.org/cgit/guix.git/commit/?id=8d8272dd474abebed4d98b9b14e525073c6dc436>
<apteryx>with python not cross-compilable, how can we even build operating system images with --target=X ?
<apteryx>the python-build-system, I mean
<mirai>bjc: the magick show yesterday was completely unnecessary
<mirai>some time away from the screen yields this: https://paste.centos.org/view/a3e73245
<mirai>no more gexp or quasiquote sorcery
<the_tubular>It happened again nckx :(
<the_tubular>I got a blank terminal nothing I can do
<the_tubular>SSH sends a connection reset
<the_tubular>My computer was sitting idle
<mirai>gdm service also handles session logins and etc iirc
<mirai>(not etc-service-type, my bad)
<mirai>that pulls dbus and friends in as well
<mirai>I recommend a reboot instead
<mirai>you're unlikely to end up in a consistent state otherwise
<gabber>i get "source not archived on Software Heritage and missing from the Disarchive database" on `guix lint` for a new Python package i will shortly request to merge. is this to be expected? the (source) refers to a (pypi-uri). doesn't Guix trigger the source to be stored on SWH (anymore)?
<apteryx>'guix build --target=aarch64-linux-gnu python-coverage' -> build system `python' does not support cross builds
<apteryx>any idea of how to fix that?
<gabber>apteryx: huh, i just did that with my package (also python build system) and this yielded no errors
<apteryx>does python-coverage fails the same for you?
<gabber>let me check
<gabber>yes, i get the same error
<apteryx>hm
<gabber>i have to change my previous statement: when trying to cross compile my package i get the same error
<apteryx>ok, that's better
<apteryx>at least it's consistent
<gabber>the manual instructs as follows: `guix build --system=aarch64-linux --rounds=2 hello`
<gabber>this works for my package as well as for python-coverage :)
<apteryx>--system is not cross-compilation, it's native compilation
<apteryx>through QEMU user emulation or offload machines of the actual target
<apteryx>it's often much faster to cross-build if your host machine is powerful
<gabber>ACTION is slightly confused
<apteryx>--system == native, --target == cross-build
<gabber>i see
<lechner>the_tubular / maybe try Host * ServerAliveInterval 300 in ~/.ssh/config
<gabber>apteryx: native as in "we compile the package natively on a different architecture" whereas you would love to cross-compile for the other architecture (without the whole emulation)
<the_tubular>ssh isn't the problem, the machine isn't responding at all
<apteryx>gabber: exactly
<lechner>the_tubular / this is bare metal?
<the_tubular>Yes
<lechner>what type of equipment, please, and how old
<the_tubular>Poweredge R720
<lechner>and how long was the idle time before it went cold
<the_tubular>Not the first time it's happening
<the_tubular>Usually between 15 minutes and 2-3 months
<lechner>you have your own rack server?
<the_tubular>Yes
<gabber>apteryx: it might just not be possible -- does python byte-code even differ on different architectures?
<lechner>the issue is that your client does not respond with PONG to libera.chat?
<lechner>the_tubular / or that you get a blank screen?
<the_tubular>I get a blank terminal, nothing I can do but reboot
<the_tubular>Looks like : https://issues.guix.gnu.org/35509
<guix-helper-bot>Stopping gdm-service results in an unresponsive system <https://issues.guix.gnu.org/35509>
<the_tubular>But it happens even with gdm running
<lechner>do you use gnome?
<the_tubular>No
<the_tubular>Can I ping you later lechner ?
<mirai>the_tubular: on system reconfigure?
<the_tubular>I gotta run :/
<apteryx>gabber: byte-code doesn't differ, and c extensions are correctly dealt with setuptools/pep517 build systms
<the_tubular>No, it's idle
<apteryx>so it should be free for the common case
<lechner>the_tubular / i would get rid of GDM. on my server it blows up NFS service after fifteen minuts
<mirai>aaah
<the_tubular>As I said I'm not sure it's related
<mirai>you need to disable auto suspend of GDM
<the_tubular>How do i do that ?
<mirai>if using desktop services, modify services
<the_tubular>I'm not
<gabber>apteryx: WDYM "free for the common case"? i guess .pyc should /just work/ among different architectures, then?
<lechner>the_tubular / no, that's the modification suggestion
<mirai> https://paste.centos.org/view/6eaea034
<mirai>the parenthesis probably don't match
<mirai>but you get the idea
<lechner>or just get rid of GDM. for you, it's just a pretty face
<the_tubular>Thanks ill check it out later, really gotta run :/
<the_tubular>Idk how :(
<mirai>if you're not using desktop-services, skip that tango and set auto-suspend field to #f
<the_tubular>It's been pulled by something else I think
<lechner>it's part of desktop-services. you can have my config later
<the_tubular>Thanks
<the_tubular> /afk
<mirai>lechner: does GDM really kill your NFS mounts?
<mirai>that seems to make little sense
<mirai>did you disable auto-suspend?
<lechner>mirai / the exports stop working, but i all fairness it could also be elogind. i am still chewing on that one (and still running GDM on the affected server). my solution currently is to switch to a virtual terminal, which sidesteps the issue for the current boot
<lechner>on my clients i have yet to deploy your nm-online patch, but i cannot wait. i currently mount those volumes manually after boot, as well
<mirai>care with that technical debt :))))
<akonai_>Is guix copy'ing a profile and then copying the symlink sufficient to copy a profile to a different machine?
<acrow>sneek: later tell vagrantc that acrow has some more code for you
<sneek>Will do.
<seninha>Hi, I'm testing guix on a virtual machine. For the machine to boot, I have to edit the Grub entry and pass the "console=ttyS0" argument every time I boot the virtual machine. How can I configure the linux arguments so I do not need to do editing in the bootloader every time?
<nckx>Add it to kernel-arguments and reconfigure.
<nckx>mirai: Thousands of pointless rebuilds are excessive.
<nckx>A handful of pointless rebuilds are, of course, still pointless, but can be tolerated if there's no unugly way to avoid them.
<katco>lfam: o/ are you around? i don't know what your hours are
<apteryx>they don't appear to be online, you could use sneek
<apteryx>sneek later tell katco this is how it works in case you haven't used it yet
<sneek>Will do.
<katco>ty apteryx! yeah, i've used sneek before i just wasn't sure if they were around right now. but looks like not!
<sneek>Welcome back katco, you have 1 message!
<sneek>katco, apteryx says: this is how it works in case you haven't used it yet
<Avichi>is there anybody out there? (to discuss handling mutable state...)
<sneek>Welcome back Avichi, you have 1 message!
<sneek>Avichi, nckx says: <what's the reasoning behind maintaining these keys in an unrelated branch rather than in a separate repo?> No advantages to the latter whilst adding complexity and (potential) risk?
<Avichi>nckx not sure what you mean, its been awhile - missing the context
<nckx>Yes.
<nckx>You were probably suggesting putting GPG keys in a separate repository or something.
<Euler-Maskerony>Hi. I'm trying to install packages and for some reason this message popped up: https://i.ibb.co/qN2DDb0/IMG-20230111-235636-207.jpg . Is it internal guix problem or from my side?
<danialbehzadi[m]>May anyone merge this?
<danialbehzadi[m]> https://issues.guix.gnu.org/60727
<guix-helper-bot>[PATCH] gnu: tractor: Update to 4.1.1. <https://issues.guix.gnu.org/60727>
<nckx>Euler-Maskerony: Probably an unhandled network error. Try again, see if it does the exact same thing, then we'll know more.
<Euler-Maskerony>It doesn't
<Euler-Maskerony>Also for some reason 'guix install' tries to connect to ci.guix.gnu.org substitute server, but fails because it is inaccessible from where I am living. And it takes a lot of time for it to understand this. :/
<panosalevro>are there any people interested in packaging hugo and zrythm for guix?
<lilyp>Isn't zrythm already packaged?
<panosalevro>lilyp: it's outdated
<nckx>Euler-Maskerony: You can remove it from the list of servers. On Guix Systems, see ’Getting Substitutes from Other Servers’, but you'd replace the list instead of appending to it.
<gnucode>hey guix, in order to use guix deploy do you need to set up ssh-agent ?
<civodul>too late, but i think the answer was "yes"
<gnucode>well apparently you do need to set up ssh-agent.
<gnucode>I think they way I am doing it might be very odd...
<gnucode>in .bash_profile eval `ssh-agent -s`; ssh-add
<gnucode>so now at every login, it is asking me for the password for ~/.ssh/id_rsa .
<gnucode>but guix deploy works, so that's nice.
<civodul>uh, joke
<civodul>?
<civodul>it's hard to have a discussion, gnucode :-)
<Euler-Maskerony>Now I am trying to set up display manager (lightdm). I have some problems. Can someone help me, please? First: why there is no information anywhere that I must add (gnu services lightdm) to use-modules?
<Euler-Maskerony>Only with this line compiler accepts lightdm-service-type
<Euler-Maskerony>I think I am doing something wrong because there is no information about it.
<Euler-Maskerony>I use this reference by the way: https://guix.gnu.org/manual/en/html_node/X-Window.html
<fiesh>is there some documentation on how to allow users to use NetworkManager for certain devices? couldn't find anything
<Euler-Maskerony>Here is my config: http://ix.io/4kW4
<acrow>Euler-Maskerony: You are in the right place. The use-module docs would be associated with guile.
<Euler-Maskerony>Here you may see that I defined lightdm service and there xorg-configuration is commented, because for some reason I can't specify keyboard-layout. It says that it is wrong type.
<Euler-Maskerony>Also I can't specify session-wrapper. I entered file name, but it says that it is wrong type
<Euler-Maskerony>I tried load command but there is error too.
<Euler-Maskerony>I am confused
<Euler-Maskerony>acrow I actually saw this documentation, but there was info only about guile language.
<Euler-Maskerony>I can't find information about modules themselves
<Euler-Maskerony>fiesh Maybe this is helpful: https://wiki.archlinux.org/title/NetworkManager#Set_up_PolicyKit_permissions
<Euler-Maskerony>What is maybe-file-like type and file-like type?
<Euler-Maskerony>In guile