IRC channel logs
2025-03-30.log
back to list of logs
<PotentialUser-11>for a complete list of supported layouts, variants, and models." but I dont know which directory the path share/X11/xkb represents. <Tadhgmister>taking a look at gnu/system/keyboard.scm it doesn't look likely there is a direct way to use your file unfortunately, it expects a list of options which could be generated by reading your file but it wouldn't be very clean <PotentialUser-11>Yeah I found the file directory, but there is a hash in the path. Does it change when I update the system? <PotentialUser-11>Because I could copy the files into the 'guix build xkeyboard-config' dir, but I doubt that it is persistent? <Tadhgmister>it says to look there for examples of what options are supported <Tadhgmister>it generates the kbd file by calling `ckbcomp` (from the console-setup package) with the options specified as command line arguments <PotentialUser-11>Hm, I'm not sure I can make the changes using the ckbcomp interface. It looks like it supports the same commands as setxkbmap. Which I found to be insufficient for what I wanted to do. I could rewrite the config in scheme, if that is possible? Maybe define the keyboard in scheme? <Tadhgmister>hmm... based on that you can probably trick it into using a folder of yours by doing `(keyboard-layout "??" #:options '("-I/home/me/kbd/"))` to specify your own folder as an include directory but idk how ckbcomp works <Tadhgmister>.... you **can** but I think it'd require recompiling guix to go that route <Tadhgmister>which would among other things mean you can't use any substitute servers since your version of guix doesn't match <Tadhgmister>specifically the command it uses to generate the keymap file which is passed to the early boot is it effectively does `ckbcomp -I$(guix build xkeyboard-config)/share/X11/xkb -rules base "name" "options"` <Tadhgmister>where if you give `(keyboard-layout "name" #:options '("options"))` <Tadhgmister>so if you can figure out what flags you can pass to ckbcomp that makes it use your file as you want it then you can basically just shove that string into the name of the keyboard probably <Tadhgmister>assuming you don't need this for early boot like to type in a decryption password there may exist an easier way to do what you want but as far as I can tell the only place guix uses the keyboard layout is in the initrd code (after bootloader, before linux mounts the root filesystem) so I'm not sure what would respect it <Tadhgmister>PotentialUser-11 I am unfamiliar with the format of the xkb folder, what do you actually have in /usr/share/X11/kbd that is loaded by the other distribution? <Tadhgmister>like it loads the keyboard layout from the `$(guix build xkeyboard-config)/share/X11/kbd/symbols/, does your file have the same format as the files in there? <ieure>PotentialUser-11, I've been meaning to figure this out as well, but some xkeyboard-config update broke all my layouts :( <ieure>PotentialUser-11, Probably the most straightforward is to make a version of xkeyboard-config with your changes and point the Xorg configuration at that instead of the stock one. <ieure>I haven't tried this, but I think it should work. <Tadhgmister>`(define my-kbd (keyboard-layout "custom" #~(string-append "-I" #$(local-file "./kbd" #:recursive? #t))))` would be worth a shot, where your custom file is under ./kbd/symbols/custom <snamellit>I prefer to reconfigure my keyboard by intercepting input events in the kernel with e.g. kanata or kmonad. <Tadhgmister>I can confirm that compiles and does load the file I'm describing but idk what to put there to properly test it <yggaegetsu>is there a way to know how to choose the right packages and where to find them? i ran 'guix package --install-from-file=tinywl.scm' and the error indicates there is so such package or "code" here is the error and my package file, https://paste.debian.net/1366368/ <iyzsong>yggaegetsu: hi, 'install-frame-file' requires the scheme file return a package object, which means a 'tinywl' should be aaded to the end of line. as guile 'load' will return the last value in the scheme file. <iyzsong>yggaegetsu: ah, as 'no code for wayland', you can figure it out that 'wayland-protocols' is in the 'freedesktop' module, as 'guix show wayland-protocols' reports. <jmes>I'm trying to spin up a Hurd VM on Guix System without declaring the hurd-vm-service-type ahead of time. Maybe it's ill-advised but I do find myself wanting to start a service "on-demand" from time to time. I've tried this to no avail: ‘sudo herd eval root "(begin (use-modules (gnu services virtualization)) (start-service (lookup-service 'hurd-vm)))"’ <jmes>But I get ‘no code for module (gnu services virtualization)’. I'm probably taking the wrong approach altogether. Any ideas? <jmes>I know I could declare the service type and ‘system reconfigure’ but I'm curious if this can work in any capacity. <meaty>Is there any way to define a home service that starts/stops within a session? <meaty>Like, startup apps and scheduled automations that only run when the user is in a graphical session <meaty>It seems sessions are controlled by the session manager and are disconnected from herd itself but it would be cool if the session was a service that you could hang things from. Then you could have packages that only get added to your profile if you have the appropriate kind of session for them <jmes>meaty: I've been hoping for something similar to that, not exactly the same. I would like a service that provisions 'display or 'desktop-environment so other services can depend on the graphical environment to be started first. <jmes>The issue, I think, is the boundary between system and home services <jmes>Not that I have a suggestion to work around or fix it, sadly <jmes>I guess the better name to provision would be 'graphical-session <meaty>jmes: I was theorizing that a possible route could be a a service that wraps a session's .desktop entry (used by GDM, at least) in another .desktop entry that encapsulates the session in a service <ngz>"Cannot find -llua++": No such file or directory. Does Guix provide this? <xelxebar>ngz: A simple guix search 'lua\+\+' and guix search luaplus doesn't show anything, so I don't think the library is packaged yet. <ngz>xelxebar: I was wondering if that could be a Lua feature not included in our lua package rather than a new package on its own. <xelxebar>It appears to be a completely different project, AFAICT. <ngz>Would both projects have been merged somehow? <Rutherther>ngz: seems to me they compiled the same source twice, once with gcc and once with g++ <Rutherther>and the LUA_SO make parameter is liblua++.so the second time <Rutherther>ngz: seems to me they compiled the same source twice, once with gcc and once with g++ <Rutherther>and the LUA_SO make parameter is liblua++.so the second time <ngz>Rutherther: would this be a correct approach for our Lua package? <Rutherther>ngz: I can't really say as I don't really understand what the difference is here, it seems to me like their lua++ is actually lua in disguise, but I might be just missing something... <Rutherther>ngz: anyway if it were the right course of action to just use g++ and change the so argument, I think it would be better to split it to two packages, it will be much easier with guix's approach than building two separate things inside of one package <ngz>I can’t remember if I tried to build my package with regular Lua. If that’s the case, I’ll try to provide a luapp package. <bjoli>my guix system reconfigure faills with etc-polkit-1.drv build failing. What is the best way to try to solve that? <bjoli>is there a general thing? guix gc or pull or something <Rutherther>the only time gc would help is if the issue is file corruption <bjoli>hmmm. I am vaguely hopeful a guix pull might have fixed it... <bjoli>Oh, but sad times, the kexec reboot did not work. <bjoli>Now Injustice need to figure out how to make the grub boot menu NOT 4k <platoxia>My Guix System config was created by the installer (v1.4) with EXWM selected...which setting controls num lock? Num lock is on when I reboot up until kernel starts loading modules, at which point it turns off by itself. The only setting I can find for it is in Slim, GDM doesn't seem to have a setting for num lock that I can find. <platoxia>Keyboard settings has a few num lock setting options but none I can find that actually turn it on automatically. <platoxia>I found the package called 'numlockx' that does this but I would think there would be a more cannolical way to handle this in the config file. <TaelTydes>Fair concerned me Rory Liam Boyes & my brother shayan river both from England Whitby North Yorkshire disappear today or in the next few. Unsure of who to trust at the moment but if I vanish try find me pls. Questioning familys role right now & local police. <TaelTydes>Bit heavy, but you move in separate circles so youre less likely to be involved. appreciate it. <dcunit3d>does guix run on Orange Pi? it's a RISC RK3588, 64-bit <dcunit3d>i'm more concerned about building images for the device <dcunit3d>The Orange Pi 5+ each have 2x 2.5Gbps, 2x HDMI out, 1x HDMI in, Arm Mali-G610 GPU, 8 cores (4x each: Cortex A76,A55 two clocks ... hmmm) <dcunit3d>it's a pretty beefy device. the 5+ doesn't usually include wifi, but has 2x Ethernet (and fast). the eMMC is cheap ($30 for 256G) ... anyways, it looks like a flexible device that can act as a streaming multiplexer (screen capture => forward via HDMI or forward to restream.io) <dcunit3d>probably somewhat difficult to work with, for now (unsure of OBS/gstreamer builds on RISC; things like that) <dcunit3d>and also unsure of needs for full range of VM emulation, but i'd rather spend about $200/device for something like that (since I can dedicate a LAN port for management plane) <dcunit3d>anyways, i just heard of them. I'm working with a Robotics team that has got one of them. I've never used RISC at all though. <lechner>Hi, does icecat work well in Guix? Are there drawbacks compared to non-free browsers? <identity>lechner: it's mostly just firefox with different branding and ad-blocker extensions pre-installed from what i know <podiki>it also blocks non-libre js (at least by default) if i remember <podiki>and separate addons if i remember <Rutherther>ACTION wondering how you can know if js is libre <podiki>some header/licence info metadata, something like that? non-minified too? <podiki>or it is just an allow list, i'm not sure <ieure>It also went through a period of around five years of having its stable release stuck on FF 60.x. Doing a lot better over the last year, though! <ieure>Obviously a bit biased, since I contributed/maintain the package, but I like LibreWolf. <podiki>icecat is pretty much maintained by guix people now? <ieure>Not sure who maintains the upstream. <bjoli>I tried to use some flatpak browsers to get something more up to date, but something about flatpaks on guix makes startup really slow. Icecat starts in under one second, but falkon, ungoogled chromium and some other all take way over 5 seconds to start under flatpak. <ieure>bjoli, There's a native Guix package for ungoogled-chromium, is it way out of date or something? <dstolfa>it's also a bad idea to use flatpak browsers for security reasons <dstolfa>flatpak browsers have flawed sandboxing today <dstolfa>chromium-based browsers use unofficial patches or zypak, which weakens the sandbox significantly. firefox just disables their namespace sandbox entirely <bjoli>ieure just trying around. I like icecat/ff, but I had a doctor's appointment online that required an update to date browser and I was playing with flatpak already. <bjoli>dstolfa: is that worse than a regular browser? <dstolfa>on firefox you can see this if you run about:support. on chromium you can do chrome://sandbox <ieure>bjoli, I don't trust any website that tells me my browser is "out of date." <dstolfa>you'll see that the namespace part of the sandbox is off or different <dstolfa>that's flatpak messing up the namespaces <bjoli>ieure: well, it was either that or no doctors appointment which made the choice simple. <bjoli>dstolfa: oh. So they are weakening the stuff in the browsers already? <dstolfa>it's because flatpak-run uses namespaces and takes the ownership away from the browser, so the browser itself can't nest various namespaces as desired. this *could* be fixed in theory, but in practice today it's either turned off (firefox) or worked around (chromium via zypak) <dstolfa>if you run firefox, your namespace sandbox is just turned off <ieure>bjoli, Spoofing the user-agent usually gets around it. <dstolfa>this is also true for any electron application, but usually you don't use electron applications to visit dodgy sites that could try and run malicious JS :D <dstolfa>(or break out of the renderer sandbox via pdf/video/etc...) <meaty>Is there some guide out there for developing Guix services? at least, how can I "test drive" a service <cancername>hm, a restart of guix-daemon fixed it, not sure why <cancername>nevermind, it built one package and then stopped again <attila_lendvai>meaty, this opens a serial TTY to the vm in the invoking xterm. it's pretty shitty, but i've seen somewhere that you can start an sshd and use ssh instead for a better experience. <attila_lendvai>meaty, i never got to setting it up. i got demotivated to work on shepherd... <nomike>I'm on ubuntu, i've cloned guix and ran `configure && make`. When I'm now trying to run `./pre-inst-env guix --help` for example, I'm getting errors "WARNING: loading compiled file /usr/lib/x86_64-linux-gnu/guile/3.0/site-ccache/guix/profiles.go failed:\nIn procedure load-thunk-from-memory: incompatible bytecode version" <nomike>`file` says they are: ELF 64-bit LSB shared object, no machine, version 1 (embedded), dynamically linked, with debug_info, not stripped <nomike>The files are owned by the guix apt package. <attila_lendvai>introspection into shepherd's internal state is pretty abysmal, so the length of the edit-compile-run cycle is pretty crucial. make sure to have something set up where you can emit some log lines for printf debugging. without that set up, you'll waste a lot of time pondering... <ieure>nomike, You built with a different Guile than you're running with. Did you run the compile in a `guix shell --pure', like `(guix)Running Guix Before it is Installed' mentions? <RavenJoad>cancername: Some things: I recommend increasing the interval. That determines how often Cuirass does a git-fetch on those channel's underlying repo AND how often Guix evaluates the channel. In the case of Guix itself, this can take quite some time. The default is to do it every minute, which I found to be just way too often. You could be saturating your machine with just channel evaluation. <RavenJoad>Another thing to check, are there any commits to those channels in that specified interval of time? If there are none, the fetch will go quickly, then there will be no channel evaluation. <weary-traveler>easy emacs package upgrade, in case someone has review time to spare: #77391 <ryan77627>Apologies if I am blind, but can someone point out where in the manual the contribution guidelines for what branch to make changes are? I have some patches I would like to upstream and don't remember the exact criteria for whether I should make them against master or some other branch. <ryan77627>Specifically I am looking for what command I can run to see how many packages are dependent on something, considering I had to update some dependencies to get a program building again. <ngz>ryan77627: you can find this there: (info "(guix) Managing Patches and Branches")