IRC channel logs


back to list of logs

<lechner>bjc / great! what was the key, please?
<bjc>mostly just getting greetd working. i already had sub[ug]id stuff from before, which is probably necessary, and i had to create a simple /etc/containers/policy.json, too
<bjc>i'm still cleaning up my config from my tests to make sure all the non-required stuff is gone. i had an earlier ‘(kernel-arguments '("elogind.legacy_elogind_cgroup_controller=1"))’ which i don't think is necessary with seatd, but we'll see
<bjc>indeed, it's not
<bjc>lechner: here's my full config:
<bjc>it's huge, but it does work if you want to try it in a vm
<lechner>bjc / thanks!
<lechner>sneek / later tell civodul / yes, it does include indexing, although that's a fancy term
<sneek>Got it.
<fruit-loops>" at a5dd244c871046c0c6fce7463229b43e4f39af14 - -"
<jlicht>bjc: fwiw, the containers.conf can also be managed by a user, in XDG_CONFIG_HOME/containers
<bjc>ah, i hadn't thought of that. makes sense
<jlicht>*policy.json, but also applies to containers.conf ;-)
<bjc>i'll make that change after dinner. one less thing cluttering the system config
<lechner>mirai / thanks for the certificate variables. i might prefix them with letsencrypt- but they look great!
<lechner>bjc / is that worth a blog post?
<bjc>maybe? i know it's something a lot of people want
<bjc>seatd and greetd may be better done first, since it builds off that
<jlicht>I'm not 100% certain if the slirp4netns is needed; it should be referenced by podman already (but I might be wrong)
<jlicht>still, great achievement bjc! \o/
<bjc>yeah, i don't know how much of the network stuff is necessary. i put a lot if this together from reading other documentation
<bjc>now that it works, i can see what i can cut
<apteryx>rekado: it used to be that we could use 'guix-emacs-autoload-packages' to refresh the packages under ~/.guix-profile/share/emacs/site-lisp/, but with the (re)-introduction sub-directories we lost that
<apteryx>it could be fixed by adjusting the logic in guix-emacs-autoload-packages, I think
<apteryx>lechner: uh, lintian has no build system
<jlicht>which peeps are (informally) part of the rust team effort? Would love to know if "clippy" is on the roadmap, or what I can do to help
<lechner>apteryx / please tell me why you need lintian
<fruit-loops>"deb - Debian package format fpm - packaging made simple 1.9.0 documentation"
<lechner>this is lintian's build system
<lechner>plus all the other files in here, especially lintian.install and lintian.links
<fruit-loops>"debian · master · lintian / lintian · GitLab"
<lechner>i am not sure that it can be packaged, however. it checks thousands of things about Debian packages. some of the Perl modules call external executables (but do not expose their path). it may be easier to rewrite the fpm tests to use a VM with Debian installed.
<bjc>does ‘--image-size’ work with ‘guix system vm’? the manual says it does, but when i pass it ‘10G’ it doesn't seem to do anything, and my root fs is only 228M
<lrabbt>hello, how do you guys manage local scripts? guix-home, or just add <local>/bin to $PATH?
<bjc>ahh, i needed to add ‘--persistent’
<Parnikkapore_m>What is the current convention for adding Guix GUI apps to the apps menu? Should I declare XDG_DATA_DIRS within the package, or should I patch it in my .profile to include my Guix profile?
<lechner>bjc / Hi, is the image a sparse file?
<fruit-loops>"Sparse file - Wikipedia"
<bjc>lechner: no, it's just that the underlying image size doesn't matter with a volatile root because the overlayfs hides it
<bjc>minimal rootless podman:
<the_tubular>Those config should really be in the package by default bjc
<lechner>bjc / that's really great! I would start with an email to -devel. you will probably receive many encouraging comments. eventually, you might consider a blog post
<bjc>i'm going to be away for a week or so, so i won't have time. just dumping it here because i can
<bjc>the_tubular: which configs should be the package default?
<the_tubular>This part : containers/policy.json
<bjc>yeah, we should probably supply a ‘podman-service-type’ with some reasonable default configuration
<bjc>i'll add a todo around it and see if i can figure something out when i get back
<the_tubular>I guess you already did most of it
<bjc>there're a bunch of configs in /etc/containers that are probably reasonable to create, but ‘policy.json’ is the only one that's actually required to live somewhere
<the_tubular>I only know of policy.json
<the_tubular>What else can live in /etc/containers ?
<bjc>still, it'd be nice to be able to tweak the configs in scheme, especially if they can also be used for the per-user configs
<bjc>i've got registries.conf, storage.conf, mounts.conf, containers.conf, seccomp.json, and some subdirectories for oci, networks, registries.conf.d, and registries.d
<bjc>this was all installed by default on arch. i adjusted almost none of it on that system
<the_tubular>Welp, I'll have to read up on that.
<lechner>good work
<the_tubular>Netavark will be a dependency of podman soon
<bjc>i'll have to look it up
<lechner>Hi, I keep getting ssh errors on deploy "[GSSH ERROR] Parent session is not connected"
<fruit-loops>"debian Pastezone"
<lechner>but the deploy completes after repeated attempts, each of which transfers more files
<apteryx>lechner: good news, I don't need lintian anymore; it was only an optional test dependency of fpm
<lechner>apteryx / i'm glad to read that. maybe one day you can use bjc's rootless podman to run the lintian test in Debian
<ArneBab>jpoiret: it’s great to hear that you’re working on the Hurd! Thank you! It would be awesome to finally be able to leverage it’s capabilities in production.
<bitblit1>Hello everyone!
<bitblit1>I am new to Guix as I like Lisp and the Nix philosophy but am now officially tired of NixOS
<iyzsong>bitblit1: welcome, and you're not alone!
<bitblit1>Yeah I knew about Guix for quite some time but thought it would be a more degraded and locked down version of Nix but this is soo much more amazing. I just started downloading this yesterday and am installing it on a virtual machine. Thought i'd come to this IRC Channel to see the community.
<bitblit1>I just hope it works on my old hardware (nix doesnt support i686)
<bitblit1>And the wifi drivers are pretty cursed.
<bitblit1>I have come super close to completing the install. However, upon running guix init I was given a bootloader error message which was telling me to specify --target. Here is my config:
<jpoiret>bitblit1: do you have efi on that machine? Can you paste the full error maybe?
<bitblit1>Sure, I'll run it again.
<bitblit1>Oh. I am very sorry, my host machine has UEFI but my VM still uses the legacy version. I will try installing with legacy and check again.
<apoorv569[m]>installing xorg-server also doesn't shows lightdm perhaps something else is not correct
<apoorv569[m]>the lightdm service also fails to start via herd
<bitblit1>So, I just want an adequately minimal machine. I just need Xorg, Stump window manager and thats it, I don't need a login manager or a desktop environment. So what can I remove?
<bitblit1>apoorv569: Also, I didn't give any other information, so how do you know this? Did you do some guix wizardry with my config?
<bitblit1>If so that's pretty cool.
<apoorv569[m]>I was telling about my problem.
<apoorv569[m]>I recently switched from %desktop-services to %base-services and I no longer get lightdm to show.
<bitblit1>Oh, sorry apoorv569. Got a bit conffused.
<apoorv569[m]>CodeBitCookie: Me too :D
<tasankovasara>Hello wizards. I was hoping to solve a big problem with Guix – needing to pair PHP 7.2.24 with an up-to-date MySQL on a production Ubuntu system. I was hoping just doing 'guix install php@7.2.24' would do it, but it seems not. Pretty please for pointers as to how to do this? Probably by pointing Guix to the PHP git, but how does that spell go?
<tasankovasara>ah. channels.
<AwesomeAdam54321>tasankovasara: Do you need specifically PHP 7.2.24? Would PHP 8.2.2 work?
<efraim>alternatively, would a later release of 7.2 work?
<tasankovasara>AwesomeAdam54321: there'd be no problem if PHP 8 worked :D But I think I've found the thread to follow
<civodul>Hello Guix!
<sneek>Welcome back civodul, you have 1 message!
<sneek>civodul, lechner says: / yes, it does include indexing, although that's a fancy term
<fruit-loops>" at a5dd244c871046c0c6fce7463229b43e4f39af14 - -"
<civodul>oh, nice
<civodul>sneek: later tell lechner what's the deal with the trademark stuff on though? :-)
<sneek>Will do.
<tasankovasara>Looks like I was too early to celebrate. So "channels" refer to package repositories specific to Guix. I was hoping I could just point Guix to the PHP Github and it would do its magic.
<tasankovasara>So asking again – what would be the elegant, meaningful way to have Guix install a specific version of PHP (one that's not available on the default build system)?
<civodul>tasankovasara: hi! you could try the --with-version transformation option:
<fruit-loops>"Package Transformation Options (GNU Guix Reference Manual)"
<civodul>or you could define a package variant as shown at
<fruit-loops>"Defining Package Variants (GNU Guix Reference Manual)"
<tasankovasara>civodul: thanks a bunch, I'm on it :)
<abrenon>hello guix
<mekeor[m]>hello guix
<Parnikkapore_m>Hi Guix! What's the current convention for adding Guix GUI apps to the apps menu? Should I declare XDG_DATA_DIRS within the package, or should I patch it in my .profile to include my Guix profile?
<Parnikkapore_m>(sorry for resend, I didn't get a reply earlier today)
<AwesomeAdam54321>Parnikkapore_m: The convention is to declare XDG_DATA_DIRS
<Parnikkapore_m>Ah, remind me to do that for Lagrange then
<Parnikkapore_m><s>and add gui-package to ngapsh</s>
<davidl>Hi, when I switch my gnome session from VT7 to another VT Im getting locked out but I want to stay logged in - is that possible?
<haugh>sneek seen unmatched-paren
<sneek>I think I remember unmatched-paren in #guix one day and 13 hours ago, saying: ellysone[m]: definitely not ready for daily usage :).
<tasankovasara>davidl: look at greetd, it can be configured to log an user in automatically.
<tasankovasara>* a user X(
<cbaines>any idea what these kind of messages mean in the guix-daemon logs? killing process 432: Invalid argument
<cbaines>this is from a childhurd VM
<cbaines>the guix-build-coordinator-agent is having trouble getting the guix-daemon to substitute a derivation, so it could be related to that
<bjc>cbaines: typically “invalid argument” would mean trying to send a signal that doesn't exist. i dunno if that's true on the hurd, though
<davidl>tasankovasara: thanks. I want to try and make it work Gnome on Wayland and gdm-wayland
<apteryx>cbaines: is everything good with the new repos requested for Savannah?
<cbaines>apteryx, yes, thank you, I've already switched things across to using them :)
<jlicht>loving the dark mode on!
<mirai>do I need to do something for scripts that start with "#!/bin/env sh" to work?
<bjc>change it to ‘#!/bin/sh’, which is what it should have been in the first place
<zimoun>civodul: you were talking about right?
<sneek>zimoun, you have 1 message!
<sneek>zimoun, nckx says: Thank you for the SWH report!
<fruit-loops>"CODECHECK | CODECHECK is a process for independent execution of computations underlying scholarly research articles."
<mirai>bjc: I'm interested in hearing this
<bjc>that path has been portable for far longer than ‘/usr/bin/env’ existed
<mirai>why "should have been in the first place?"
<bjc>that they messed up the path to ‘env’ in addition to that is just shameful, really
<wingo>has anyone attempted to replace "make" with something different based on guix? i feel like there should be something there...
<mirai>I know that env has a problem with multiple args
<bjc>iow: ‘/bin/env’ is non-portable, and the portability of ‘/usr/bin/env sh’ is a subset of ‘/bin/sh’
<mirai>wingo: to whoever reads this, whatever ends up being the replacement for make, if it's still similar to 'make', pls make it support files with spaces; ty.
<bjc>the correct invocation of env is ‘#!/usr/bin/env some-command’, but for sh, specifically, ‘#!/bin/sh’ should always be preferred
<wingo>of course. it would be in guile, files would be identified using strings (or bytestrings, ugh)
<bjc>wingo: i know of hall, but i think that just ends up using the standard gnu tools in the end
<mirai>bjc: thanks
<abrenon>what's the proper way to use gexp operators in a package definition ? I'm writing my use-modules explicitly with #:select to show where everything is coming from
<abrenon>but this fails with ungexp
<abrenon>I get a message that ungexp is unknown, and when I add it to my line using (guix gexp), I get an error that (guix gexp) doesn't define ungexp
<bjc>ungexp is only defined inside a gexp, so maybe that's the issue?
<evilsetg[m]>I am looking to add shepherd service for my user which starts an emacs-deamon.... (full message at <>)
<abrenon>oh, you mean it's not exported ? (if that even makes sense for guile, I really don't know)
<bjc>i don't know if exporting figures, since ‘ungexp’ only exists inside a gexp. i'm not that sure of how that works in guile/scheme
<bjc>but if you're calling a bare ‘(ungexp …)’ outside a gexp, that never works and throws an undefined symbol error
<bjc>evilsetg[m]: here's my emacs shepherd service:
<bjc>to add it to shepherd, i put this in my services list:
<bjc>whoops, wrong section =)
<abrenon>hence my question: I can have the package file work fine by writing the line (guix gexp) alone without any #:select restriction, but I wasn't able to find the appropriate #:select to put with it
<bjc>oh, no, that's right, i just have my offline-imap stuff mixed in. you can remove that
<bjc>abrenon: i'd assume you can't select it, because it's not defined at the module level
<abrenon>ok, I've gotta understand how `define-syntax` works
<abrenon>I've figured the proper way to write my #:select, and it's as follows: ((guix gexp) #:select (gexp))
<evilsetg[m]>bjc: Thank you! That is helpful.
<surpador>wingo: Looks like there was a proposal for this for 2020 GSoC:
<fruit-loops>"Group:Guix/GSoC-2020 - LibrePlanet"
<surpador>I wonder if anyone gave it a shot
<abrenon>the idea came reading the guix/gexp.scm module and seeing ungexp come up as a case for a syntax thing called `gexp`
<bjc>abrenon: are you familiar with lisp-style macros? because ‘define-syntax’ is basically just a wrapper around that.
<abrenon>no, unfortunately : (
<bjc>ah, then you're likely to run into trouble. even though they look the same, macros do not operate like procedures. they do compile-time syntax tree manipulation
<bjc>so, basically, ‘gexp’ can introduce a symbol ‘ungexp’ that is only valid for its lexical scope
<bjc>my guess would be that ‘ungexp’ exists, for the brief moment it does, in whatever module you're actually in
<abrenon>I'm still at a loss to understand compile-time for guile, which seems only evaluated to me (when I pass a guix.scm file for instance)
<abrenon>ok, indeed, looking at the code it looked more like pattern-matching to me than like a value
<bjc>it's still compiled, in a sense, because the reader and macros can manipulate the ast before its interpreted
<bjc>‘define-syntax’ does do pattern matching, but in the end it produces a macro out of it
<apteryx>what's the cure for a failing Anthy (ibus)? I can select it, but it doesn't switch the typed romaji text to japanese, for example
<apteryx>ACTION guesses some stale cache
<abrenon>ACTION 怖い
<abrenon>broke after some upgrade ?
<apteryx>I seldom try typing Japanese, so I couldn't know :-)
<bjc>btw, i'd push against manually selecting symbols during import. while i 100% agree that it's a saner way to program (or, even better, prefixing invocations with a module name), it's just not how things are done in guile
<abrenon>darn, I hope mine doesn't break next time I upgrade
<bjc>you're free to do whatever you want, of course, i'm just pointing out the prevailing culture
<abrenon>bjc: but why ? I've seen that it was almost never done but it makes the code very hard to read for newcomers
<abrenon>it's such a good property for a code to show all the loose threads to follow out of the module
<abrenon>it gives a precise idea of the surface and that's really nice
<abrenon>apteryx: so you definitely had it working at some point ?
<bjc>my guess as to ‘why’ is because guile heralds from a time when this is just how things were done. it's only fairly recently that language cultures have started being more explicit about module use
<apteryx>abrenon: yes!
<apteryx>I do have weird environment variables set, which used to be required; perhaps they aren't anymore: export GTK_IM_MODULE=xim, export XMODIFIERS=@im=ibus, export QT_IM_MODULE=xim, export IBUS_COMPONENT_PATH="$HOME/.guix-profile/share/ibus/component${IBUS_COMPONENT_PATH:+:}$IBUS_COMPONENT_PATH"
<bjc>i also kind of hate the way guile imports work, but it is what it is. and while manual selection helps, it doesn't solve the problem, and it's very tedious
<abrenon>bjc: I'd love to see guix following the evolutions in terms of language culture ! but thanks for pointing that out
<bjc>i think guile needs to be fixed, tbh. i don't want to select things by hand
<wingo>i tend to think we should switch to `import` ;)
<wingo>rather than use-modules
<abrenon>now I'll spend twice the time wondering whether I'll keep explicit or implicit imports in my personal code (packages I create for my own software without knowing if they could be submitted to the official repository)
<wingo>fwiw i use #:select if there are a couple things i want from a module, otherwise i pull in the whole thing
<abrenon>apteryx: wait, I see no GUIX_GTK3_IM_MODULE_FILE
<abrenon>(or, I assume, equivalent for QT, but which at least combines both GUIX and IM something)
<abrenon>mine is export GUIX_GTK3_IM_MODULE_FILE="/run/current-system/profile/lib/gtk-3.0/3.0.0/immodules-gtk3.cache"
<bjc>wingo: what's ‘import’? i can't find it in the docs
<rekado>bjc: same as use-modules, but shorter
<wingo>the r6rs or r7rs import form
<tux_life>Hi! How can I edit the file /etc/sane.d/pixma.conf, which doesn't exist? I have no idea if it can be edited via sane-service-type and I don't know if I can create this path via etc-service-type.
<gabber>tux_life: can you not just `sudo $EDITOR /etc/sane.d/pixma.conf` or the like?
<wingo>in my mind we should #lang guile, like racket, and then take the opportunity to rework conventions for module imports
<abrenon>also, I clearly remember having fought a lot with ibus+anthy and having switched at least half a dozen times between the various possible values for {GTK|QT}_IM_MODULE, but their current value on my system is 'ibus', not 'xim'
<wingo>lol i said we should do two things but they are different ;)
<bjc>i'd be good with ‘import’ as long as it came with an implicit ‘prefix’ argument =)
<wingo>fwiw with #lang, it will be easier to experiment with different conventions (e.g. implicit prefix)
<apteryx>abrenon: #47576 may be related
<fruit-loops>"[security] ibus-daemon launches ungrafted subprocesses"
<tux_life>gabber I guess so, but would this be a permanent change? ...I thought to reach the result via my /etc/config.scm file....=D
<gabber>tux_life: i'd write the file manually until it has the configs i want and then add a (extra-special-file) or similar service to my system-config file :)
<abrenon>apteryx: I dunno, but that was around the time I was trynig to make ibus work and failing hard
<gabber>i don't know pixma or the guix service providing it but if the service doesn't take care of the configs that's an easy
<tux_life>gabber ok, thank you! I'll see if I can get the scanner to work.
<gabber>you're welcome!
<abrenon>apteryx: I have to AFK for a while but let me know if adding/tweaking the variables I mentioned help (I distinctly remember that all my attemps were futile before lilyp nicely showed me the proper value for GUIX_GTK3_IM_MODULE_FILE)
<apteryx>OK, I'll try it, thank you!
<tux_life>"sudo herd status" does not list any sane-related services. Is this normal? In my config.scm I changed desktop-services to use sane-backends.
<gabber>tux_life: have you reconfigured in-between?
<tux_life>gabber yes, time ago
<lechner>tux_life / i don't see any either. it could be a #:one-shot?
<sneek>lechner, you have 1 message!
<sneek>lechner, civodul says: what's the deal with the trademark stuff on though? :-)
<apteryx>eh, "Software Heritage rate limit reached; try again later"
<tux_life>Well...I edited a file that sane should read, but I'm not able to restart the service nor see if sane is running or not.
<lechner>sneek / later tell civodul / I see nothing wrong with asserting our trademark. Guix is our product and the likelihood of consumer confusion with other products with similar names has not been determined. A challenge is not a challenge until someone challenges.
<sneek>Will do.
<lechner>sneek / later tell civodul / but i have no legal training and recommend a consultation with competent counsel
<sneek>Got it.
<civodul>lechner: it's just that there's no such trademark AFAIK (and the FSF has nothing to do with that)
<sneek>Welcome back civodul, you have 2 messages!
<sneek>civodul, lechner says: / I see nothing wrong with asserting our trademark. Guix is our product and the likelihood of consumer confusion with other products with similar names has not been determined. A challenge is not a challenge until someone challenges.
<sneek>civodul, lechner says: / but i have no legal training and recommend a consultation with competent counsel
<lechner>civodul / Hi, there is a trademark anytime someone is present in a marketplace. if the FSF does not own our Guix trademark, I am happy to substitute the person or entity who does. It could be you. to my knowledge, a trademark does not have to be registered in order to be valid or enforceable. it really matters more for generic products, such as labeling mandarin oranges "cuties"
<singpolyma>Hello all. It seems that sometime recently, guix has moved default ghc to 9.2.5 -- this version has a serious FFI regression that makes all of our software segfault. I have reported to GHC upstream and they plan to fix for the next point release, but for now I wonder if it might make sense to use 9.0.2 as the default ghc in guix?
<tux_life>I would like to restart sane: how? sudo herd restart what?
<abrenon>ACTION forgot to use /away but she is back
<bitblit1>Is there anything like home manager for guix?
<singpolyma>guix home
<apteryx>lechner: for what it's worth, I think asserting a trademark on Guix (which there aren't) is more likely to steer unwanted attention to the matter; increasing our chances that the other party may feel they must take action to stop us from using that name. I would think trademarks needs to be registered to be recognized as such, and while we were using it first, let's not test the legalities with a
<apteryx>multi-billion dollars company (Microsoft and their Azure RTOS GUIX product).
<evilsetg[m]>code-bit-cookie[m]: You can read about guix home in chapter 13 of the guix manual:
<evilsetg[m]>I just started using and am still figuring things out. Basically it lets you define your home environment like you do your system with one config.scm file.
<fruit-loops>"Home Configuration (GNU Guix Reference Manual)"
<abrenon>singpolyma: wow that sounds serious ! what is this bug ?
<fruit-loops>"#23119: Regression in FFI with wrapped callback · Issues · Glasgow Haskell Compiler / GHC · GitLab"
<hwpplayer1>hi people !
<abrenon>: (
<abrenon>singpolyma: but 9.0.2 seems to still be available directly from the repos without having to use --time-machine or inferiors, isn't that good enough ?
<abrenon>hwpplayer1: o/
<singpolyma>Well, I tried using package subsitution to recursively change ghc to 9.0.2 but that doesn't build (some packages fail, and of course no substitutes) so now I'm trying with time machine
<hwpplayer1>abrenon thanks
<bitblit1>evilsetg[m]: singpolyma Thanks! sorry for not reading the manual completely before asking
<singpolyma>looks like with time machine I actually do get some substitues 🤞️
<abrenon>it fails because of 9.0.2 ?
<abrenon>great !
<singpolyma>abrenon: yeah, it's been updated to depend on a newer version of a primitive package or something similar
<singpolyma>so the version in guix doesn't build with the older ghc
<abrenon>ok, sorry to see that people have more serious trouble with haskell these days than I do
<hwpplayer1>See you friends bye
<evilsetg[m]>code-bit-cookie[m]: Glad to help. And don't worry about not having read the whole manual. It's huge :)
<bitblit1>evilsetg[m]: Okay!
<gnucode>do we have an iwd-service-type yet?
<sneek>gnucode, you have 1 message!
<sneek>gnucode, jpoiret says: Ah, you're right. I was thinking more about guix the software instead, but if we don't have a libc for macos then it's gonna be hard building any packages either :p
<gnucode>man, bummer.
<xelxebar>Looks like 9base just made it into guix!
<xelxebar>Too bad sam and acme are broken :/
<xelxebar>Wait. Nevermind. It looks like sam and acme are directly sitting under bin, but executing through the 9 wrapper works as expected.
<xelxebar>Shouldn't `9` be the only thing under bin?
<xelxebar>On a similar note. Anyone here successfully using Zeal?
<xelxebar>I've never successfully gotten any of the docs to actually display. Can download and enable, but trying to open any of their pages just ends up showing as mostly-empty, with no text.
<xelxebar>Oh, whoops. The 9 command is from nix. Forgot I had that installed. sam and acme from 9base are, indeed, broken.
<bitblit1>What is the recommended version of nix-shell in Guix? I know guix shell, should I use it?
<bitblit1>and Direnv
<civodul>bitblit1: hi! you're on #guix so yes, we'll invite you to try out "guix shell" :-)
<fruit-loops>"Invoking guix shell (GNU Guix Reference Manual)"
<bitblit1>so in general it is just mostly a direct corelation between nix and guix, home manager -> guix manager ; nix shell -> guix shell ; etc.?
<abrenon>no, it's guix home
<abrenon>and I thought the nix equiv to guix shell was nix-env ? but maybe they changed that too ? anyway, guix has guix environment and guix shell, which do similar things but shell is replacing environment
<civodul>nix-env is like "guix package"
<civodul>nix-shell is like "guix environment", which became "guix shell"
<civodul>words! :-)
<abrenon>oh, ok ^^
<arjan>bitblit1: be aware that the "use guix" stlib functionality in the currently packaged version of direnv still used the old "guix environment" interface instead of "guix shell"
<bitblit1>The manual says "To use X11, you must install at least one window manager" I want to use startx and StumpWM, how can I only download Xorg with services without a Window manager
<bitblit1>or maybe there is stumpwm specific setup?
<bitblit1>arjan: What does that mean ????
<arjan>that it only loads development dependencies of specified packages when not using the --ad-hoc argument
<arjan>also regarding X11: you can run it as regular user through startx but loading modules from external packages will be disabled for security reasons
<apteryx>civodul: hi! just for your information, another 'guix style' oddity I've found: #62059
<fruit-loops>"guix style looses comments"
<bitblit1>arjan: I added the (gnu services xorg) module to my config but it didn't install Xorg. Why?
<arjan>a solution I found is to include the default modules in the xorg-server build:
<fruit-loops>"debian Pastezone"
<arjan>importing a module only makes it available, but you would still need to add the specific server to your operating system definition
<arjan>specific service*
<bitblit1>sorry to bother, but could you point me in the right direction on how I should do that without installing a login manager
<civodul>apteryx: oops! i'll take a look, thanks!
<arjan>adding (service xorg-server-service-type) to the services list might suffice
<Guest74>Since I am on the libre 6.2.2 Kernel my nouveou driver crashes which results in not being able to shut down my pc.  Full dmesg output:
<fruit-loops>"dpaste/adKye (Plain Text)"
<apteryx>civodul: no worries! I promise to find a new bug every time one is fixed (is this a good thing?), eh.
<lispmacs[work]>youtube-dl broken for everybody else too?
<gabber>lispmacs[work]: i get "ERROR: Unable to extract uploader id; [...]"
<gabber>(with a >>youtube<< url, that is)
<mirai>lechner: I should mention that this exists <>
<fruit-loops>"Chapter 1 - Introduction to GUIX | Microsoft Learn"
<mirai>and its among the top results when you search for 'guix'
<lechner>mirai / Hi, what does that mean to us, please?
<gabber>lispmacs[work]: it seems to work just fine with another video source
<mirai>it means GUIX can stand for other things as well
<lechner>my web site was not referring to that GUIX though. i think i have to clarify it in order to avoid confusion among consumers
<mirai>and you're in for pain if you try to register (or not, depending on the mood among the legal branch of microsoft)
<Guest74>just say GNU Guix to make it clear
<mirai>because both of these GUIX'es relate to "computer stuff"
<lispmacs[work]>gabber: another video source...?
<mirai>and look at this <>
<fruit-loops>"TESS -- Error"
<fruit-loops>"USPTO Assignments on the Web"
<mirai>if the first link doesn't work, go to <> , Basic Word search and punch 'GUIX'
<fruit-loops>"Trademark Electronic Search System (TESS)"
<gabber>lispmacs[work]: yt-dl works with *many* sources on the web (try any video from any url)
<lechner>mirai / apteryx / civodul / okay, given the prevailing mood i removed the trademark reference from I think it would be appropriate for us to form a working group to search for alternative names for our operating system
<mirai>I don't know if it warrants a name change
<mirai>there's filing date to consider, among many things
<mirai>and I'm not too interested in LARPing as a lawyer (much less as an "IP" one)
<lechner>i don't think it's possible to have it both ways, but i have no legal training either
<lispmacs[work]>gabber: so, looks like there hasn't been a youtube-dl release in ages
<lispmacs[work]>but the most recent commits are two years newer than the last release
<Guest74>it is now called yt-dlp
<rekado>perhaps we should mark youtube-dl as deprecated in favor of yt-dlp?
<lispmacs[work]>ah, okay
<mirai>rekado: no
<mirai>youtube-dlp still sees activity
<mirai>they just release rather slowly
<lispmacs[work]>youtube-dl now longer works with youtube, but yt-dlp does, so I just switched
<lechner>mirai / also what matters according to my understanding is the date of first use in commerce (and not the filing date). the odds increasingly skew against us, however, under the legal doctrine of laches unless we object to existing trademark registrations in the same space. that's especially an issue, i think if they file a certificate of incontestability. but like i said, i am an amateur and have no legal training
<fruit-loops>"Trademark Incontestability: How and When Do You File a Section 15 Declaration | Nolo"
<lechner>"laches" is also known as sleeping on your rights, especially after having been given public notice, such as a registration, of someone else's claims
<bitblit1><arjan> "adding (service xorg-server-..." <- Still didn't work
<bitblit1>IT WORKED
<ichernyshovvv[m]>why can't i see earlier messages
<lechner>irc is not matrix
<ichernyshovvv[m]>oh, yeah
<ichernyshovvv[m]>is there matrix chat?
<ichernyshovvv[m]>found it
<lechner>i think so, but the bridge is buggy and there has been some drama about control. i personally do not use it
<lechner>either way, you may find our logs at
<fruit-loops>"guix IRC channel logs"
<lechner>also, welcome to Guix!
<lechner>GNU Guix
<jlicht>oh boy, it seems our way of packaging node applications won't work well with newer versions of npm :/
<lispmacs[work]>Is there an easy way to load my system file (into a guix repl) so that the operating-system object gets assigned to a symbol that I can hack around with?
<lechner>jlicht / Hi, i am surprised to read it worked well in the past. what happened now?
<jlicht>lispmacs[work]: in guix repl: (define my-os (load "myconfig.scm"))
<jpoiret>i guess the fact that we're behind by a couple of major versions doesn't help
<jlicht>lechner: npm's symlink strategy changed. What we relied on was/is unsupported, and reality of that is finally catching up ;-)
<lispmacs[work]>jlicht: thanks
<jpoiret>i've only received new mail since last saturday today, anyone else experienced that?
<ichernyshovvv[m]>lechner: thanks, really like the system so far. it's so cool that I can describe my system in a way I describe my emacs
<ichernyshovvv[m]>like every aspect just in one file
<lechner>ichernyshovvv[m] / we are all madly in love with it. thanks for joining our cause
<jlicht>ACTION chants "one of us, one of use"
<lilyp>abrenon, apteryx, tux_life, and whoever else is involved: Setting the IM_MODULE_FILE correctly in config.scm does work, but ibus4 is quite buggy. Get ready to `rm -rf ~/.cache/ibus' and restart the daemon a lot
<lechner>jlicht / Hi, can we improve the guix package manager to the point that even Npm users will find it better to install guix on their foreign distro instead?
<jlicht>lechner: it depends. I do think there are some (localised) hacks that can keep this clown car running for a good while longer though
<jpoiret>lechner: no
<jpoiret>I don't see a world where language-specific package managers will lose their shine against more principled solutions like guix
<lilyp>lechner: you're confusing trademark with copyright – trademarks aren't granted unless you go out of your way to enforce them and you can not use them to troll prior users
<jpoiret>they can move fast, they always should work (at least better than Guix), and they have language-specific features
<apteryx>is it possible to provide the glibc debug symbols inside the build container? ruby-ruby-memcheck (new package) gives me this:
<fruit-loops>"debian Pastezone"
<jpoiret>apteryx: there's the debug output of glibc?
<lechner>lilyp / i beg to differ. trademarks are not granted; only registrations thereof are
<lilyp>you still have to actively enforce them and letting a project exist for more than ten years probably doesn't count as such
<abrenon>lilyp: config.scm ? you mean the whole system's config ?
<lechner>jpoiret / that's exactly the world i envision. gnu guix is ideally positioned between "apt" and "go get" to make that happen. we just have to get our development environments worked out, including the automatic setting of language-specific environment variables
<apteryx>jpoiret: I'll try the debug symbols... but... I thought only gdb can make use of that, and it needs to be helped to locate them
<apteryx>(the debug-file-directory variable)
<jpoiret>apteryx: yeah, it does seem quite hard, you could probably add a phase to set the proper env variable somehow
<jpoiret>why would it run valgrind for its tests though? that's a bit overkill i would say
<apteryx>that's what the package does (automate valgrind)
<apteryx>ruby-ruby-memcheck; it runs valgrind on a Ruby native extension and filters out false positives caused by Ruby
<apteryx>but I also get the same in a non-containerize environment
<jpoiret>lechner: "we just have to get [it] worked out", right, but even now we're struggling with extremely hard to maintain stuff, without having as much integration that we would like
<apteryx>so it'd occur the same at usage
<jpoiret>hmmm, have you looked at the valgrind package definition?
<abrenon>bye everyone
<jpoiret>it may have the right env variables to set for valgrind to find the right debugging info
<apteryx>it deletes a bunch of "suppression files" that has to do with FHS, but otherwise I don't see anything particular
<jpoiret>lechner: as an example, take antioxydant. Look at the lengths we have to go to just to get rust packages to work correctly into Guix. And that's not even too much of a user-visible change! No shiny rust integration, no nightly compiler build, no cargo command to simply start a new project
<wdkrnls>Dear Guix, can anyone point to an example of how a squashfs OCI container gets incorporated into a singularity definition file?
<wdkrnls>In there examples those are all tar
<wdkrnls>... not squashfs
<tux_life>Hi! The thunar file manager thinks gvfs is not installed, but it is. I can't access removable devices...
<apteryx>old: do you know if valgrind memcheck works correctly on Guix?
<apteryx>e.g., not getting "Fatal error at startup: a function redirection which is mandatory for this platform-tool combination cannot be set up." error message when attempting to use it?
<jlicht>would someone know of a snippet (or how) to run the very same (invoke ...) twice in a row, if the first time it did not exit with a successful status code?
<wdkrnls>I also noticed singularity is quite old on Guix: 2.6.1. That probably means no one here needs to use it.
<apteryx>jlicht: you'd have to handle the exception raised by invoke; this should help:
<fruit-loops>"Error handling in GNU Guile | Vijay Marupudi"
<ellysone[m]><bjc> "does ‘--image-size’ work with ‘..." <- Can you actually use a suffix like 'G' ? I always put the size in bytes
<jlicht>apteryx: thanks! Don't ask what I need it for -- the less you know, the more plausible deniability :-)
<apteryx>old, jpoiret valgrind seems to work with a dummy test:
<fruit-loops>"debian Pastezone"
<ellysone[m]>what do we have in guix for android tethering?
<jpoiret>tethering as in?
<jpoiret>if you want to share files, we have all the usual solutions, I use jmtpfs
<bitblit1>arjan: Except, even though SDDM popped up, there was no startx, so I tried to install `xinit`, however it does not completely reconfigure my system and points me to a log which keeps saying getaddrinfo: name or service not known. Then at the end, it says: could not disarchive specification
<bitblit1>kde-connect is good too
<bitblit1>also syncthing
<jpoiret>you'll have to add some udev rules for that though, I have "(udev-rules-service 'android-udev-rules android-udev-rules)" in my services, and added an adbusers group which I am in
<ellysone[m]>Basically I'm at an event where the wifi they give us is too restricted, so I want to use my phone to connect to the internet too
<ichernyshovvv[m]>ellysone[m]: i didnt install anything, it just works
<jpoiret>for internet it should work OOTB via cable
<jpoiret>via USB I should say
<jpoiret>successfully built /gnu/store/zz7czfhy93lr96igkgpaivhn5fxw9gjb-hurd-0.9-2.3ff7053.drv 🤨
<ichernyshovvv[m]>at least i works via usb, yeah
<ellysone[m]>yeah it's working for me too
<ellysone[m]>just had to enable the interface for my phone
<ellysone[m]>was down by default
<bitblit1><bitblit1> "arjan: Except, even though..." <- Turns out my internet disconnected +_+ sry
<apteryx>jpoiret: ah! there's a second valgrind/interactive that sets more things
<apteryx>hard-codes things like DEFAULT_DEBUGINFO_PATH
<jpoiret>ah, the good old package variant game where you stare at one definition without realizing what you're after is in another one :)
<apteryx>I wonder what the original is useful for now...
<tux_life>How to make a file manager like Thunar or Pcmanfm see removable devices? I have gvfs installed, but Thunar tell me that gvfs cannot be found.
<apteryx>it probably requires some dbus services
<apteryx>I'm not sure how it works exactly
<lilyp>p sure it works via udisks
<jpoiret>udisks need some system services if that's what you're wondering
<jpoiret>+ i think you need to be added to some groups
<lilyp>plugdev maybe?
<TristanCottam[m]>Hi guys, does anyone know if the GNU ChangeLog square bracket syntax, as used in [this commit](, is documented anywhere?
<apteryx>it's used that way in Guix; it's documented as a conditional in the 'standards' GNU manual
<apteryx>see info '(standards) Conditional Changes'
<apteryx>we're abusing it per that definition :-)
<TristanCottam[m]>Oooh thanks, I'll look further into it
<bitblit1>What does %desktop-services EXACTLY contain?
<bitblit1>I know i can open a repl for guile but how can I open a repl for guile with code in my config like so I could test functions and variables?
<lilyp>bitblit1: inside `guix repl', run (load "/path/to/your/config.scm"), then poke around
<jpoiret>you probably want to bind the result of (load ...) to something though
<TristanCottam[m]>apteryx: Isn't its current usage more akin to the [angle bracket syntax](
<jpoiret>we're in trouble
<jpoiret>someone is actually reading the ChangeLog standard
<TristanCottam[m]>Absolute toast!
<jpoiret>it will soon appear that no one knows what they're doing
<TristanCottam[m]>Do you confirm my impressions?
<TristanCottam[m]>My type of fun!
<TristanCottam[m]>Guess I'll go with the flow
<apteryx>TristanCottam[m]: it's a bit more akin to it yes
<apteryx>but <something TAB doesn't complete in Emacs, while [something TAB does ;-)
<jpoiret>yes. I guess we mostly follow ChangeLog to make commits very explicit, so as long as everyone can understand the specific parts it doesn't have to be exactly changelog
<apteryx>I meant M-/ instead of tab, but you get the joke
<jpoiret>I've never used M-/
<jpoiret>although I guess the dabbrev capf does give me the same result
<apteryx>use it all the time; what is dabbrev capf ?
<lilyp>dabbrev completion at point function
<lilyp>so when you run completion-at-point (bound to M-/?) it runs dabbrev
<lilyp>I personally use corfu for completion, which gives me the magic code completion of "modern" IDEs
<TristanCottam[m]>Would any of you recommend using this standard for anything else than GNU projects? It seems a little outdated to me.
<TristanCottam[m]>[Conventional Commits]( seems more relevant AFAICT
<TristanCottam[m]>But I'd rather get advice from people who know what they're doing than make my own opinion willy-nilly
<jpoiret>lilyp: corfu uses capfs, and its creator has a package with a dabbrev capf
<mirai>TristanCottam[m]: depends on what you're doing and how big of a project it is
<jpoiret>personally i don't think it's worth it to have such a contrived standard for commit messages
<jpoiret>just make sure commits are verbose enough, but the rule is: if something is important, it should go in code comments
<mirai>and how much patience you have to engage in this before you go into the 'fuck it' mode
<jpoiret>now that we have git blame, git log and friends, there's really no reason to document everything like this, git just tells you everything itself
<mirai>just please don't do this
<mirai>I prefer commits with 'fuck it' messages interspersed with some occasionally informative ones than this thing
<TristanCottam[m]>mirai: Only personal projects for now, but I'm willing to over-engineer things if it means gaining valuable experience.
<gnucode>I wonder how hard it would be to package this? Or write an alternative that works better for guix?
<mirai>TristanCottam[m]: you can always rebase if its still in the "personal project" scope
<TristanCottam[m]>mirai: So quite a bit
<morganw>I don't think the intention is define a commit format, I think the choice of style is to allow the allow ChangeLog files to be distributed with releases, and have those generated from the version control rather than maintained separately.
<mirai>ultimately the messages are for people (a subset of them actually) to read
<mirai>as long they're intelligible, you don't have to force yourself into a rigid structure imo
<TristanCottam[m]>morganw: Wouldn't [Conventional Commits]( achieve the same goal in a more modern fashion?
<morganw>And I imagine the argument for still distributing a ChangeLog file is that the version control system and accompanying tools are not distributed with each release.
<tux_life>I wanted to thank you all one last time for helping me! Maybe one day I'll come back because Guix System attracts me so much, but for the moment... well... I give up... '=D
<morganw>TristanCottam[m]: I'm not sure it would. The ChangeLogs are normally automatically generated from Emacs based on the context of the change. It gives you the enclosing function name, which is probably better than "fix(parser)" as a scope.
<TristanCottam[m]>I mean in the context of Git, isn't it mostly capable of achieving the ChangeLog standard's goals?
<morganw>If it is your project then you define the goals. But taking Conventional Commits as an example, "Commit message with multi-paragraph body" looks light on context and heavy on arbitrary paragraphs. But for most projects I imagine that might be enough.
<rekado>ACTION really doesn’t like [chore]
<TristanCottam[m]>> * <> really doesn’t like [chore]
<TristanCottam[m]>I know it was dropped by Angular, can you explain?
<lilyp>"more modern fashion" doesn't necessarily equal good
<lilyp>for instance, those issue numbers are bogus when you migrate between forges, which happens from time to time
<TristanCottam[m]>Of course, I meant more in line with modern tools, e.g. Git
<TristanCottam[m]>lilyp: Never thought about that
<lilyp>I don't particularly see how GNU ChangeLogs are not in line with modern tools.
<lilyp>Don't get me wrong, Conventional Commits have their appeal over "let's just write anything in the commit message and hope for the best", but in the end they're just a different style of communicating change
<TristanCottam[m]>It seems to me that specifying which files which have changed, and how, is somewhat redundant when including a commit body and proper comments in the code
<jpoiret>lilyp: I'd say most of the format is redundant with modern tools
<mirai>Scheme isn't very modern compared to... Rust? :)
<lilyp>In most cases, the ChangeLog is a condensed version of the body and thus not redundant.
<Allie>as a general note: do what makes sense for projects you do
<lilyp>That's like saying headlines in a newspaper are redundant.
<Allie>don't follow standards for the sake of following standards. follow standards because it's useful / sensible.
<TristanCottam[m]>Okay, I think I've got the knowledge I need, thanks everyone for chipping in!
<podiki[m]>howdy guix
<lilyp>And last but not least, oftentimes you won't see the body or the diffstat
<podiki[m]>anyone aware of any issues or gotchas with transformations and manifests?
<davidl>podiki[m]: I have had some trouble with it. I usually remove the 1-2 transformed packages and install them separately after installing the manifest.
<podiki[m]>I haven't had trouble in the past, but right now I was hitting a case were e.g. guix shell -m some-manifest.scm wasn't doing the same thing as guix shell with the same package list/transformations that generated the manifest
<podiki[m]>and now it works....maybe some caching....
<podiki[m]>nope now it happens again, let me share
<davidl> I have an issue with Vulkan not working, including via Chromium and as seen from eglinfo saying that it fails to initialize. This is the chromium log when starting it from terminal:
<lilyp>podiki[m]: probably caching, I always have --rebuild-cache active just in case
<podiki[m]>lilyp: yes I do that a lot too...hrm using the --export-manifest option which gives me the same code works
<podiki[m]> guix shell -m with this manifest...should not build (stumpwm needs package definition update for recent changes)
<podiki[m]>but it does for me as the transformation does nothing here
<podiki[m]>perhaps I should clear some actual ~/.cache thing, would this be guix or guile or both?
<podiki[m]>some git checkout cache since it is a --with-git-url transformation?
<apteryx>TristanCottam[m]: as someone already wrote, the git diff is typically (sometimes much) larger than the changelog text
<apteryx>which makes it useful to quickly to get some summary of the changes at a glance
<apteryx>it also forces the author to keep track of what they did and separate it cleanly when the changelog becomes too messy
<podiki[m]>speaking of stumpwm, to build from git it needs autoconf -> autoconf-2.71; this doesn't break the current release version, is that okay to submit a patch for then? using --with-input instead needs building more stuff
<ardon>Hi Guix, quick one. If a package doesn't provide a license file, what should I default it to in the record?
<jpoiret>ardon: you can't "default" to a license. If upstream isn't clear about what license the project is under, you should ask them
<jpoiret>if it's just for your own use you can still use #f i believe
<ardon>jpoiret: Thanks. I want to upstream <> but there's no license file to be found. Are GitHub repos considered to be under a given license if none is provided?
<ardon>Otherwise I'll ping the maintainer
<jpoiret>no, there isn't. I guess raising an issue would be a good idea
<NewUser-Basic-Qu>i want to add a file to the /etc/pam.d" folder. Is there a simple way to do this?
<podiki[m]>Is that related to pam limits? There is a pam limits service
<mekeor[m]>hello guix. slightly off-topic: who maintains
<NewUser-Basic-Qu>podiki[m] it is greetd related: