IRC channel logs

2020-02-15.log

back to list of logs

<NieDzejkob>I'll look into it tomorrow if you prefer, but I figured you might be the better person to do that since you already looked into that patch.
<drakonis>NieDzejkob: 3.0
<NieDzejkob>hmm, then you'll need guile3.0-readline and optionally guile3.0-colorized. Add it to your environment with --ad-hoc, or to a profile that also has guile-next installed
<commanderkeen>when i try to add the alsa service i get "ERROR: In procedure symlink " any ideas?
<commanderkeen>In procedure symlink: File exists
<drakonis>NieDzejkob: so i've tried, didn't work.
<NieDzejkob>commanderkeen: any backtrace? line numbers? file paths? I feel like there's more to the error
<commanderkeen> NieDzejkob: http://dpaste.com/2R9YJSF
<lfam>commanderkeen: It means the file already exists
<lfam>The filename of the symlink you are trying to create, it already exists
***wxie1 is now known as wxie
***daviid` is now known as daviid
<lmmarsano>on a foreign distro low on disk space, I try running `guix gc -d` and get an error
<lmmarsano>deleting unused links...
<lmmarsano>guix gc: error: statting `/gnu/store/.links/0gyj3qz0hw80kq8n0dhxmw86wcvmf5fcfn2q5i9npgj7gm3q0xh5': Invalid argument
<lmmarsano>anyone know what to do?
***OriansJ` is now known as OriansJ
<drakonis>oh boy, it took me a while to find out that there's a procedure for writing text files, this makes everything so easy
<drakonis>i feel silly now.
<OriansJ>drakonis: it is far better to feel silly than to feel you know everything.
<drakonis>definitely.
<commanderkeen_>drakonis: what was the procedure you were referring to?
<drakonis>mixed-text-file
<drakonis>its declarative
<drakonis>there's text-file as well.
<commanderkeen_>interesting. im new to guix so im just learning at the moment
<drakonis>so am i.
<drakonis>i like guix but the learning curve is still a bit steep
<drakonis>so its a slow burn
<commanderkeen_>yeah. i've been using common lisp and clojure for a while. but scheme and guile is fairly new to me. i've had some very frustrating moments so far. but it's cool
<drakonis>heh.
<commanderkeen_>i've made a few packages but struggled with some of the harder ones i've tried
<drakonis>i'm doing a kernel module and boy i'm getting destroyed here
<commanderkeen_>like doing fancy stuff with linux kernel modules or creating a guix kernel module for config.scm?
<drakonis>i mean, i'm trying to get a bad ol' terrible up to no good video module working
<drakonis>and i'm getting my shit slapped
<drakonis>maybe its a little out of my depth right now, but nothing like drowning to learn how to swim yeah?
<commanderkeen_>yeah. i may or may not have done something similar. immersion is the best way to learn
<drakonis>seems like i'm nearly capable of getting it working...
<drakonis>then i'll try and spin up a full module that does all those things
<raghavgururajan>Hello Guix!
<commanderkeen_>hi raghavgururajan
<pinoaffe> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=39514 < I submitted my first patch to guix a couple of days ago, could someone take a look?
<str1ngs>pinoaffe: split these into two commits one for the radare2 upgrade and one for the clutter upgrade
<str1ngs>pinoaffe: does radare2 not provide a release tarball for this new version?
<str1ngs>err cutter*
<pinoaffe>str1ngs: even though applying either of the patches seperately would cause breakage?
<pinoaffe>str1ngs: the only source tarballs cutter provides seem to be autogenerated by github, that's why I kept the git reference
<pinoaffe>and, while I was able to find radare2 source tarballs for older versions, there weren't any for new releases
<NieDzejkob>yeah, then we'll just push the patches together
***ddima_ is now known as ddima
<OriansJ>NieDzejkob: to create a super patch that slowly grows until it becomes its own distro?
<pinoaffe>ah okay, I"ll split it
<NieDzejkob>sneek: later tell apteryx: interesting. slim-service-type adds xterm to the list of packages
<sneek>Okay.
<nckx>kahiru_: Not yet. There's a bug about this with discussion on how to add this. https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37868
<zzappie>Hi Guix!
<nckx>o/
***wxie1 is now known as wxie
<zzappie>Any chance someone knows why make-forcexec-constructor #:directory keyword is not used in any service curently defined in guix? Or does it work even. It seems like service i'm trying to define is crashing trying to create files in root directory...
<NieDzejkob>zzappie: perhaps no service in guix needs to run in a specific directory?
<NieDzejkob>you could try to run a simple script that prints `pwd' and see if it's working
<zzappie>NieDzejkob: I'm doing it uglier way :) I am opening file named whereami and writing debug info to it. Cause i I am lauching system config with guix system vm.
<NieDzejkob>zzappie: okay, so you have the #:directory parameter and your service runs in / ?
<NieDzejkob>could you paste your service definition?
<zzappie>NieDzejkob: yep https://paste.debian.net/1130710/
<zzappie>NieDzejkob: right. Ive checked shepherd' make-forkexec-constructor. It does invoke chdir somewhere
<NieDzejkob>zzappie: does /var/lib/tendermint exist? Maybe chdir is failing silently?
<zzappie>it does. Ive checked the log file the tendermint is failing with failing triying to create .tendermint directory where it stores data by default
<zzappie>*failing with panic
<NieDzejkob>OH, you're looking at tendermint-activation
<NieDzejkob>activation-service-type runs at boot and after reconfigure
<NieDzejkob>you don't want to start your daemons with that
<NieDzejkob>oh. wait. There's two "whereami-"s
<zzappie>they both apear in /
<NieDzejkob>but you're doing your tests outside of make-forkexec-constructor
<NieDzejkob>so you're like 1. log pwd 2. change directory 3. run program
<zzappie>ah yea
***nly` is now known as nly
<zzappie>that was stupid. But I can basically run any function in place of make-forexec-constructor command so I could run "bash" "-c" "echo" "hello" > "whereami"
<dctrud>Hi Guix! Was pleasantly surprised how easy it was to get Infiniband working on my Guix system yesterday evening. It does require modprobe-ing a couple of things.
<dctrud>Am wondering what the 'best' place to get modules modprobed on boot is?
<nckx>dctrud: Probably (initrd-modules (cons "inifinifoo" %base-initrd-modules)).
<nckx>This will include and (forcibly) load them in the initrd, but that might be what you want here.
<nckx>I don't know of a non-initrd Linux module service.
<dctrud>That would work, but probably isn't the most elegant as these are things that are generally not added to initrd
<dctrud>e.g. on a Fedora/RHEL install there are systemd services that will load them
<nckx>Side note: Guix doesn't use modprobe or any other helper to load modules. Unimportant but don't rely on their configuration files or other kmod-specific things.
<nckx>dctrud: I'm not aware of any such service on Guix.
<dctrud>nckx: thanks - the initrd will probably be fine for what I need in practice
<dctrud>A service is just slightly more convenient when you need to 'unload' the stack if you want to pass the PCIe device through into a Virtual Machine.
<nckx>I don't disagree. https://paste.debian.net/plain/1130716 😉
<nckx>Muffle your screams.
<dctrud>heh :-)
<dctrud>Pretty much my actual need for the Infiniband is within 'enterprise' distros for testing stuff... and they will be in VMs on Guix if I drop my infrequent dual boot of Fedora.
<dctrud>It's just 'nice' having the IB network in Guix ocassionaly also.
<dctrud>Having backups run at >> 1GbE is fun.
<jlicht>hey guix
*nckx looks at their enterprise back-up server with wi-fi dongle sticking out.
<nckx>Must be.
<nckx>Hullo.
<dctrud>Heh - the IB is only between 2 machines...I am still reliant on WiFi from the office room to be on the net :-)
<jlicht>while sipping a nice coffee, I suddenly realized I borked up the S-O-B line in a commit I pushed on Brice's behalf.
<jlicht>so, sorry for that :/
<nckx>jlicht: No problem. You can re-apply for commit access next year.
<nckx>jlicht: You mean 53e7e3 with a missing S-O-B, right?
<jlicht>nckx: no, that one is mine and mine alone ;-)
<jlicht>I mean 96945cabe038cd02c2d76e8821d264626fcc999a
<nckx>Eh, that's what I meant to paste.
<nckx>We'll survive 🙂
<oliverp_>hm it would cool if the Brave browser was available as a Guix package
<oliverp_>hehe
<oliverp_>*it would be cool
<oliverp_> https://brave.com/
<nckx>I didn't realise it was [/had become] free software.
<oliverp_>I think its quite clear that it is https://github.com/brave/brave-browser
<oliverp_> https://github.com/brave/brave-browser/wiki/Linux-Development-Environment
<bdju>Isn't it chromium-based? That can get complicated.
<joshuaBPMan>morning guix!
<joshuaBPMan>oliverp_: I was under the impression brave browser connects to a server or something...
<joshuaBPMan>to block ads or some such. Maybe I'm wrongi.
<joshuaBPMan>wrong*
<oliverp_>@bdju, its true that (at least to my knowlage) that Brave is based on Chrome
<bdju>It looks like Guix has ungoogled-chromium packaged, but on the 100% free distros it has been common to refuse to package chromium due to it being unclear if all of it is truly free software and people not wanting to do an audit.
<bdju>I remember when I was on Parabola for a while there wasn't anything packaged that used chromium or webengine.
<nckx>oliverp_: The first thing that page says is it's a Chromium fork, the freeness of which isn't clear at all.
<oliverp_>hm I don't that brave connects to a third party server
<oliverp_>hm
<oliverp_>well the Github page at least includes quite elaborate build instructions
<nckx>On their Web site, freeness is only mentioned in the F.A.Q., couched in the most *creepy* ‘empowerment is letting your browser spy on you client side’ wording.
<nckx>It's an interesting concept but it seems like it has… Implications. Wow.
<oliverp_>hm https://github.com/brave/
<oliverp_>Well don't think Brave basically just relies on free/openly developed components to block ads and (some) scripts.
*nckx will think.
<zzappie>NieDzejkob: AARGH! It was the $HOME variable... pwd showed /var/lib/tendermint. That was the wat moment. Then i inspevted tendermint's source and found out the were expanding the HOME var. so much time wasted
<zzappie>*inspected
<nckx>Injecting other ads based on an ‘attention-based’ kryptokoin is something quite else.
<oliverp_>hm
<oliverp_>well yes ads are "opt-in"
<oliverp_>as a strange as it may sound in the case of Brave I think thier using a system where the user must opt in for ads whlie Brave by default block ads
<oliverp_>and scripts for that matter
<nckx> https://community.brave.com/t/is-brave-built-off-of-ungoogled-chromium/43931
<nckx>oliverp_: Oh, interesting.
<zzappie>/gnu/store/77pypdm76hih6b69pq80n0shla7n83iy-run-vm.sh
<timthelion>Does anyone have docker-compose with port binding working on guix? I get an error that the docker-proxy executable is not found (and it really doesn't seem to be in $PATH).
<oliverp_>hm
*zzappie ok now im confusig shell prompt and irc chat. Enogh work for today
<nckx> https://github.com/brave/brave-browser/wiki/Deviations-from-Chromium-(features-we-disable-or-remove)#how-does-brave-compare-to-ungoogled-chromium
<nckx>I'll stop link-bombing now and read for myself.
<nckx>Guixfolk: does anyone know why we ship 2 minor versions of Blender?
<raingloom>nckx, because 2.80 doesn't run on older hardware
<raingloom>like mine
<raingloom>not everyone has OpenGL 3.3
<raingloom>(also, it would be neat if that package had a different name, so i wouldn't accidentally upgrade it every time)
<nckx>raingloom: Thanks, that's should be a comment/description then.
<raingloom>+ NOTE: This older version of Blender is the last release that does not
<raingloom>+ require OpenGL 3. It is retained for use with older computers.
<raingloom>from guix package --show=blender
<raingloom>(last two lines)
<nckx>raingloom: I agree, something like blender-for[or with?]-opengl-2?
<raingloom>sounds good. "blender-old" could also work, but "-opengl2" is more explicit about its purpose.
<raingloom>(well, there are other reasons to use it, like addons that have not been ported to 2.80)
<lfam>nckx: The ultimate reason is that I added 2.8 when it was still a beta. To go along with the policy of not packaging betas, I kept the old version
<nckx>I take back my previous message. ‘Pinning’ versions shouldn't depend on ad-hoc -with-foo names, if it's hard to use (supported) older packages without Guix helpfully upgrading them every time, that's the bug.
<lfam>There are may also be Blender file format changes at 2.8, but I don't remember the details now
<nckx>lfam: Thanks.
<nckx>Background: blender 2.79b currently fails to build due to openimageio.
<nckx>Hm, now Let's Encrypt root certs have changed from under me (us?) :-/
<nckx>Interestingly(?), ‘openssl x509 -in $old_or_new_pem -text’ returns the exact same text.
<lfam>nckx: Did they really change? Maybe just the URL changed?
<lfam>Let's get rid of Blender 2.79b
<nckx>lfam: And leave people like raingloom blenderless?
<nckx>lfam: What do you mean by URL changed?
<lfam>I guess, what do you mean by the root certs "changed"?
<lfam>It's not about leaving people blenderless. But we don't normally package old versions of software
<lfam>There needs to be a compelling reason for the distro
<lfam>If it doesn't build anymore, it's time for it to go
<lfam>`guix time-machine` is here for this use case
<lfam>Also, for the certs, handling them as content-addressed may not be a great idea. We should instead check that they are the same certificate, regardless of format or packaging
<nckx>lfam: That the contents of the files, well, changed 😛 As unversioned things tend to do. Updated in 505b263.
<nckx>& I thought I was radically pro-newness. I'll happily remove Blender 2.79b (building 2.82 now), unless raingloom has an argument against time-machining and is willing to fix the build.
<raingloom>nckx, time-machine sounds fine. i'll have to figure out how to use profiles eventually. :D
<nckx>Nudge economics.
<noobly>hi, my install has failed on the last step with a problem installing the bootloader. I should've taken a picture, but it said something about having no BIOS thingy, and that blocklist were unreliable. So I restarted the graphical install, and I want to make sure the recommended partition scheme is good
<nckx>noobly: Is this a non-UEFI machine with a GPT-partitioned disc, by chance?
<noobly>it's a thinkpad x60, i always forget if there's uefi support. The disc are GTPT
<nckx>If so you need a tiny ‘BIOS boot partition’ at the beginning (well, that's where I always put it) of your drive.
<noobly>ok, thanks, I'll give that a go
<nckx><1 MiB is fine, it fits in the empty 1 MiB-alignment space before your first partition if you like gaming things like that.
<nckx>Otherwise put a 1 MiB BIOS boot partition somewhere and try again 🙂
<nckx>Maybe our installer should handle that (nominally niche) case considering how heavily our community slants towards old Thinkpads…
<nckx>Pretty sure the manual installation manual already does.
<noobly>yeah, normally i do manual installs but graphical seemed like a great way to 'just work'. I think I'll just do the manual install and rtfm this time :)
<joshuaBPMan>Hey guix, does anyone have a code snippet that would allow me to auto-login to my main virtual console?
<joshuaBPMan>I'm currently using (mingetty-service-type config => (mingetty-configuration (inherit config) (auto-login "joshua")))
<joshuaBPMan>but that logs in all of my virtual consoles....
<NieDzejkob>joshuaBPMan: Maybe (mingetty-service-type config => (if (equal? (mingetty-configuration-tty config) "tty1") (mingetty-configuration (inherit config) (auto-login "joshua")) config)) could work?
<joshuaBPMan>NieDzejkob: thanks!
<jackhill>Hi, how would I try to build all the packages reported by guix refresh -l, if I wanted to check that my change didn't break dependent packages?
<jackhill>I guess copy-and pasting the list works, but I was hoping for a clever shell pipeline or something :)
<jackhill>guix build $(guix refresh -l go |sed -e 's/.*://') works. Thanks for helping me think through this, guix :)
<lfam>jackhill: It would be nice to make the command composable, like so many other Guix commands. So you could do `guix build $(guix refresh -l foo)`
<lfam>It's close now but not quite there
<NieDzejkob>the message with the count could be printed to stderr
<lfam>Yeah, something like that
<jackhill>lfam, NieDzejkob yeah, I was hoping for more composability
<jackhill>I think it would also be nice if guix show accepted more than one package name
<jackhill>unfortunately, I've found another that does't currently build with go 1.13: mongo-tools
<nixo_>Hi! Anybody had problems with determinism with qt5 qm translations?
<efraim>looks like i can't start enlightenment with wayland using sddm due to some missing pam modules
<efraim>if I'm reading the error correctly
<NieDzejkob>efraim: paste the error for a second opinion ;)
<NieDzejkob>is it possible to run package builds with `nice'?
<efraim>NieDzejkob: https://paste.debian.net/1130742/
<efraim>it's a pretty useless message, just says "error 255"
<lfam>NieDzejkob: I would nice the guix-dameon
<lfam>You may also want ionice
<efraim>using nice on the daemon has been known to make packages fail to build
<sirgazil>NieDzejkob: Thanks for reviewing my package.
<NieDzejkob>efraim: keep in mind that you need root to authenticate with PAM, maybe there's some missing setuid?
<NieDzejkob>sirgazil: oh, fuzzywuzzy?
<sirgazil>Yes, that one.
<NieDzejkob>I'm currently waiting for my kernel to build so that I can reconfigure and test your xf86-video-intel patch ;)
<efraim>I can authenticate without problems for regular enlightenment, its only the wayland enlightenment that doesn't work
<efraim>so I suppose it is also possible that enlightenment/wayland is the culprit
<mwette>anyone else being bitten by the github access_token issue (bug #39511)
<efraim>not yet
<zzappie>mwette: I had this issue
<PotentialUser-26>does xorg need the setuid permission to run as a normal user? I'm getting "unable to retrieve master" doing something similar to this: https://lists.gnu.org/archive/html/help-guix/2018-07/msg00080.html (my user is in the video/input groups)
<NieDzejkob>"something similar" is probably where we need more details to help you ;)
<PotentialUser-26>well it could be drivers we're not supposed to discuss in this channel, but if it's not that, here's my .bash_profile: http://ix.io/2bOn, /etc/config.scm: http://ix.io/2bOo, start script: http://ix.io/2bOp, and the user profile I'm using: http://ix.io/2bOq (note: I delete nomodeset from the grub menu when booting, haven't removed it from the config
<PotentialUser-26> yet)
<PotentialUser-26>It /was/ working with xf86-video-fbdev (@ 800x600 only), but no longer does (I think it stopped after I flipped a flag when booting... something radeon-specific)
<NieDzejkob>hmm, it's hard to say. Maybe there's some hint in the Xorg log? could you paste that?
<PotentialUser-26> http://ix.io/2bOs
<PotentialUser-26>thanks for taking a look!
<PotentialUser-26>this is the last step before I move my data over and start using guix as a daily driver
<PotentialUser-26>:)
<nckx>dbus-core: error connecting to system bus: org.freedesktop.DBus.Error.FileNotFound (Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory)
<nckx>That's something I don't have.
<PotentialUser-26>do I /need/ dbus (and/or polkit?) trying to keep it minimal.. but I thought that was a red herring
<commanderkeen_>seems like easy enough to install it and see if it works
<nckx>I don't know. If it's not an error the (EE) is annoyingly dramatic.
<PotentialUser-26>mostly because https://lists.gnu.org/archive/html/help-guix/2018-07/msg00080.html doesn't suggest it... though they could be using %desktop-services (they suggest just removing the greeter, not using %base-services in that thread)
<PotentialUser-26>commanderkeen_: do you know if dbus has any deps I should also install? or do you think (dbus-service) in the services list is enough?
<NieDzejkob>(dbus-service) should be enough
<NieDzejkob>services can add packages to your system too, so if there's a dep, it should get added automatically
<nckx>It does seem to be a permissions error. I thought rootless startx flat-out didn't work in Guix, but you say(?) it did at some point?
<PotentialUser-26>well this is xinit, not startx (unsure of the diff, startx is a script, right?)
<PotentialUser-26>while I'm here-- is service order important @ all?
<nckx>PotentialUser-26: Nope.
<nckx>Well: I've never seen it be, and it would be an interesting case.
<PotentialUser-26>nckx: no idea if it works or not, just going off that ML thread. it seems like it /should/, if I'm in the video/input groups
*nckx has to AFK.
<PotentialUser-26>same error w/dbus-system running
<PotentialUser-26>could be a radeon flag in grub. I'll see if I can find those
<efraim>mwette: I wasn't able to get your code snippet to work, it seems it didn't like the Authorization header
<shader>so, I just read the following line in the manual: (about the store monad) "since store operations have side effects and/or depend on external state, they have to be properly sequenced."
<shader>why do they have to be sequenced, if everything is stored under its hash and therefore unique and independent?
<commanderkeen_>PotentialUser-26: do you still get (EE) Failed to load module "ati" (module does not exist, 0)?
<commanderkeen_>
<PotentialUser-26>commanderkeen_: yeah. oddly, I get the same error w/xf86-video-fbdev. That /used/ to work (though it only gave me a 800x600 resolution). Stopped working after I changed radeon.something temporarily @ boot once (or maybe after a profile update or some cache thing xorg did? I'm not sure)
<PotentialUser-26>commanderkeen_: correction-- it doesn't say "failed to load module ati" if I add ati and remove amdgpu. I'm wondering if it's using modesetting, and skipping the installed drivers (modesetting is a driver, right? or is it just a kernel setting? this[0] makes it sound like a driver) [0]: https://forums.gentoo.org/viewtopic-p-8280192.html
<noobly>so what should my partition scheme look like with BIOS/GPT
<nckx>shader: That's exactly what side effects are
<nckx>: things that aren't self-contained.
<nckx>And that can affect other things.
<noobly>can i tell from my bootable usb media whether my computer uses UEFI or BIOS?
<nckx>noobly: Yes.
<nckx>If /sys/firmware/efi exists, you're on UEFI.
<nckx>And ‘uses’ is correct: if your computer supports UEFI but it's ‘turned off’ (CSM/BIOS mode), that directory will be missing.
<janneke_>you might be able to switch between using uefi or legacy in the bios
<PotentialUser-26>does anyone know if this would apply, even though guixsd uses herd rather than systemd (don't remember if %base-services includes things like elogind or other systemd components): https://archives.gentoo.org/gentoo-user/message/65d718009941406b04e40435c11154f1
***janneke_ is now known as janneke
<shader>nckx: I guess I was forgetting about the fact that a given derivation might make multiple changes to the same directory in the store, so it could interfere with itself
<NieDzejkob>PotentialUser-26: elogind is in %desktop-services but not in %base-services
<shader>PotentialUser-26: plus that sounds rather old, and seems like a bug that would affect everyone /but/ systemd users. As in systemd apparently did something to bypass that issue
<shader>I can't claim to understand it that well without digging further into the context though
<dftxbs3e>nckx, so, news on the powerpc64[le] portage part: gawk contains a removed reference to bash-static in the store, so obviously it doesnt work. however it's unclear where that reference comes from. I could not find a way to get access to the sources of a package *before* compilation, so that I can figure out where that is... :-/
<raingloom>has anyone tried keepassxc as a secret service provider?
<NieDzejkob>dftxbs3e: does `guix build --source PKG` do what you want?
<shader>I notice the 'github' package updater - is there something specific about github vs other git repositories?
<shader>i.e. is it only looking at releases (which would be github only), or at tags on master?
<dftxbs3e>NieDzejkob, it's not exactly a package here, it's an expression within a package
<dftxbs3e>I tried few things already, but my skills with Scheme feels limiting
<dftxbs3e>NieDzejkob, I need the source of this: https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/make-bootstrap.scm#n232 'gawk' part
<dftxbs3e>I need to have access to a directory where there's the sources just before `configure` phase is run
<dftxbs3e>with the inputs overrides applied etc.
<NieDzejkob>well, you could always add a phase that fails on purpose and use guix build -K
<dftxbs3e>NieDzejkob, how would I do that?
<dftxbs3e>(invoke false) ?
<dftxbs3e>(invoke "false")
<drakonis>the altter
<drakonis>latter
<dftxbs3e>drakonis, okay will try, thx
<NieDzejkob>I usually do (lambda _ #f) and then guix yells at me, but I don't care :PP
<dftxbs3e>NieDzejkob, okay!
<PotentialUser-26>NieDzejkob: do you think https://stackoverflow.com/a/29711077 means https://lists.gnu.org/archive/html/help-guix/2018-07/msg00080.html is impossible as non-root?
<PotentialUser-26>I wonder if I need /something/ running as root, like the x11-socket-directory-service. going to read their descriptions..
<PotentialUser-26>the thread mentions https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/services/xorg.scm#n327, but I'm not sure how I could wrangle that into like a lambda in the services list (or if that's possible) to start x as root, but when my user logs in