IRC channel logs

2023-03-17.log

back to list of logs

<jpoiret>spiderbit: do you use an nvidia card?
<agnem>mitchell: I thought so, but I don't recall ever having installed sudo explicitly. I assume it's being pulled in via some other packages and I'm trying to figure out which one.
<jpoiret>agnem: if it's propagated by another package you can see that in the home profile's manifest file
<gabber>mitchell left?
<gabber>sneek: later tell mitchell: where do you want feedback on your (proposed) blog post? i may have some (minor) improvement suggestions
<sneek>Got it.
<gabber>good bot
<agnem>jpoiret: ah. I was including %base-packages in my home profile. I guess that doesn't really make sense.
<OrdoFlammae>Hey y'all, I'm trying to create a device in my GuixSD config for a virtio-fs (https://libvirt.org/kbase/virtiofs.html) passthrough. However, because virtio-fs is based on something called "tags", which have no file representation in the system, I can't get my config to build. Does anyone have any ideas for how to do this?
<helpful-friend>"libvirt: Sharing files with Virtiofs" https://libvirt.org/kbase/virtiofs.html
<OrdoFlammae>If I just pass it a string, it says that the "file doesn't exist", which is completely accurate; but I just want it to add the mount line to fstab.
<OrdoFlammae>Without checking to ensure it exists.
<spiderbit>jpoiret sorry no I don't use a nvidia card it's the internal ipg / apu of the ryzen
<spiderbit>so amd gpu
<devcarbon>Anyone know how to use java 11 with clojure on guix?  Seems java 8 is the default.
<apteryx>devcarbon: seems like you'd need to use input rewriting
<apteryx>it's probably not simple, but worth trying
<apteryx>you could also try to revamp our java collection to build on top of java 11 :-)
<devcarbon>Haha okay so in otherwords probably way beyond my skill level as a guix newbie?
<devcarbon>Maybe not too terrible, is this the right place to be looking for instructions? https://guix.gnu.org/manual/en/html_node/Defining-Package-Variants.html
<helpful-friend>"Defining Package Variants (GNU Guix Reference Manual)" https://guix.gnu.org/manual/en/html_node/Defining-Package-Variants.html
<apteryx>the thing is that you'd have to rewrite all the closure packages you're planning to use to do so
<apteryx>I guess 'package-mapping' would be useful
<apteryx>or package-input-rewriting
<apteryx>I think the way I'd approach the problem is start with a manifest
<apteryx>define the list of things I want in my environment, then apply my package-input-rewriting proc to each of them (via map)
<apteryx>you'll have to come up with a package-input-rewriting invocation that'll produce such proc, replacing java 8 by java 11
<xelxebar>Man, I feel like I'm suddenly seeing large PIDs. Indeed, kernel.pid_max = 4194304.
<xelxebar>My understanding was that the default is (was?) 32768.
<xelxebar>And I'm not seeing any recent changes to the sysctl service, nor am I setting myself.
<xelxebar>Did linux 6.X change the default or something?
<xelxebar>No, not a kernel change, AFAICT: #define PID_MAX_DEFAULT (CONFIG_BASE_SMALL ? 0x1000 : 0x8000)
<rekado>apteryx: it’s not trivial to switch to Java 11. Many of the base packages cannot be built with anything newer than JDK 8
<sarg>hi there, do I get it right that btrfs has major advantage over ext4 in guix (for /gnu/store), because of deduplication and compression?
<jpoiret>Compression sure, but guix should already handle some deduplication
<sarg>`find /gnu/store -type f -iname 'LICENSE*' | xargs -n1 md5sum | cut -d' ' -f1 | sort | uniq -c | sort -n -k1`
<sarg>...
<sarg> 80 763d8c535a234d9a3fb682c7ecb6c073
<sarg> 87 b234ee4d69f5fce4486a80fdaf4a4263
<sarg> 107 d32239bcb673463ab874e80d47fae504
<sarg>guix dedups on derivation level, right? But the files in the derivations do repeat
<sarg>also, do you keep `/run/current-system/provenance` under version control? what is your backup strategy overall?
<sarg>I've ran `fdupes -m -R /gnu/store`: `181218 duplicate files (in 76086 sets), occupying 1357.8 megabytes`
<sarg>my store is `17G /gnu/store`, so about 8% is duplicated
<poselyqualityles>weird anecdote: was running a group of docker containers (admittedly, first mistake) and noticed that somehow they were taking over some of the host ttys (like with ctrl-alt F3 could see "Welcome to OpenSuse <blah blah blah>") but printing multiple container login prompts to the same tty, and I couldn't really interact with them. Stopped running those in privileged mode and they don't appear to do it anymore?, but in any case, it was
<poselyqualityles>odd
<rekado>given the right PIDs nsenter should let you connect to the processes
<rekado>it’s the same with “guix system container”
<user_oreloznog>hello guix!
<AwesomeAdam54321>hello
<jpoiret>could someone restart https://ci.guix.gnu.org/build/512142/details and https://ci.guix.gnu.org/build/512146/details on core-updates? they both seem to have run into some transient failures
<helpful-friend>"Build 512142" https://ci.guix.gnu.org/build/512142/details
<helpful-friend>"Build 512146" https://ci.guix.gnu.org/build/512146/details
<civodul>jpoiret: done!
<xelxebar>Heh. Transient failures on CI. Sounds like my day job. Started getting lots of them once we enabled fine-grained parallel builds.
<hwpplayer1>xelxebar: are you a system admin ?
<xelxebar>hwpplayer1: Indeed. It's one of many hats I wear though.
<hwpplayer1>And so do you write code ?
<hwpplayer1>xelxebar ^
<hwpplayer1>I think that Guix admin write some Lisp code for their operating system
<hwpplayer1>*admins
<xelxebar>Yeah, though most of my coding is on personal projects these days.
<hwpplayer1>Where do you keep your projects ?
<xelxebar>Personal git repos.
<hwpplayer1>Can I have a look at them ?
<xelxebar>What would you like to see?
<xelxebar>If you give me an ssh pubkey I can give you access to some.
<hwpplayer1>Any kind of project that might inspire me for Guix
<xelxebar>Ah, if you want Lisp inspiration, Nyxt and the Guix source are both pretty darn good.
<hwpplayer1>I dont have a computer right now so I cant give you a ssh key today
<hwpplayer1>Understood
<hwpplayer1>I will have a look at Guix source
<hwpplayer1>ACTION is away from key
<evilsetg[m]>I am building a package and want to add a custom build phase. The package builds fine but if I add `#:phases %standard-phases` to the argument list the buield fails with 'Unknown # object "#<"'. Does anybody have an idea what the issue might be? I think maybe the issue relates to quoting. A lot of the example argument lists in the manual are quoted. But really I have no idea.
<civodul>evilsetg[m]: most likely, you should be using a gexp instead of quasiquote
<civodul>that is, write: #:phases #~(modify-phases ...)
<civodul>instead of: #:phases `(modify-phases ...)
<evilsetg[m]>Thanks, I'll try that.
<civodul>yw!
<xelxebar>Hrm. What's the difference between libncurses and libcurses (without the `n')?
<civodul>for background, see https://guix.gnu.org/en/blog/2021/the-big-change/
<civodul>xelxebar: no idea
<xelxebar>I've got a project that tried to link against curses (`-lcurses'), but our ncurses packages doesn't provide libcurses.so.
<xelxebar>Apparently debian's ncurses does, though? https://packages.debian.org/search?searchon=contents&keywords=libcurses.so
<helpful-friend>"Debian -- Package Contents Search Results -- libcurses.so" https://packages.debian.org/search?searchon=contents&keywords=libcurses.so
<hwpplayer1>How many contributors are in Guix community ?
<oriansj>as I understand it ncurses is a GNU project replacement for the System V Release 4.0 (SVr4) curses; so the different name is probably a hold over from software that expected the old non-gnu library
<oriansj>hwpplayer1: depends entirely on how you define contributors
<hwpplayer1>Especially developers and admins
<oriansj>for example: Do people who contribute to helping new people get started count? How about those who work on various guix channels? or is it a rigid people who are actively commiting to the guix source base?
<hwpplayer1>who are actively commiting to the guix source base? is what I search for
<hwpplayer1>Are there any other guix irc channels ?
<oriansj>hwpplayer1: yes a good few
<hwpplayer1>For what purpose ? Could you please tell me ?
<civodul>hwpplayer1: "git shortlog -s --since=last-month|wc -l" says 103 people, but that doesn't account for non-coding contributions, as was pointed out
<cbaines>I noticed one of the ARM build machines (hamal) is working on core-updates (which is good), but stuck repeatedly crashing when reading the build log for a build https://issues.guix.gnu.org/62240
<helpful-friend>"Exception within (guix store) process-stderr when using suspendable ports" https://issues.guix.gnu.org/62240
<oriansj>hwpplayer1: the community has complex needs and having different channels seems to suit it
<civodul>cbaines: interesting bug! looks like an issue in (ice-9 suspendable-ports)
<hwpplayer1> I need to learn all parts of Guix community that is why I ask oriansj
<oriansj>for example the #bootstrappable channel exists and is where all active discussion for refinements to guix bootstrapping tends to occur as it was just flooding the conversation for a while there.
<civodul>hwpplayer1: you should find everything you need at https://guix.gnu.org/contact/ :-)
<civodul>but yeah #bootstrapping is nice place too!
<hwpplayer1>Thanks civodul
<civodul>there's also #guix-hpc, if you're into high-performance computing or research
<hwpplayer1>Thanks oriansj
<oriansj>#guix-offtopic for entirely off-topic discussions
<cbaines>civodul, indeed, I'll try and come up with a simple reproducer
<oriansj>doing '/msg alis LIST guix' will show about half of the guix channels
<hwpplayer1>Thanks
<oriansj>and perhaps a more specific way to get the answer to the number of active core developers: git log --pretty=format:"%ae %ai" | sort | awk 'contributor == $1 { lastContribution = $0 } contributor != $1 { contributor = $1; if (lastContribution) print lastContribution; print } END { print lastContribution }'
<hwpplayer1>What does Core Developer mean ? Is it same like FreeBSD ?
<oriansj>Those who contribute to the guix core; not including those who contribute to channels
<hwpplayer1>Understood
<hwpplayer1>ACTION will be back
<apteryx>Anyone else getting casually: "Symbols's function definition is void: transient--with-suspended-override" when working in Emacs? Then it stops working correctly until I restart Emacs.
<apteryx>seems to be: https://github.com/magit/magit/issues/4676
<helpful-friend>"Changing git variables with transient-infix-read fails when magit is byte-compiled · Issue #4676 · magit/magit · GitHub" https://github.com/magit/magit/issues/4676
<hwpplayer1>apteryx: Did you ask your question in #emacs ?
<mirai>civodul: re #62056, I see that guix/status.scm defines its own erase-current-line* which does isatty?* before calling (erase-current-line)
<helpful-friend>"[PATCH] guix: Only issue erase-current-line sequence for ttys." https://issues.guix.gnu.org/62056
<mirai>does this mean that every time we want to use (erase-current-line) we should define its isatty?* variant within the file?
<mirai>that results in a lot of duplicates :(
<mirai>what if instead we add an optional argument? i.e. (define* (erase-current-line port #:optional tty?))
<hwpplayer1>what does tty mean there ?
<lechner>teletype
<hwpplayer1>I know
<hwpplayer1>What is the role I mean
<lechner>Hi, any channel ops around?
<lechner>hwpplayer1 / tty is a basic term in Linux i/o
<hwpplayer1>lechner I mean what does the computer compute when we define this function ?
<hwpplayer1>(define* (erase-current-line port #:optional tty?))
<hwpplayer1>ACTION is going outside
<lechner>looks like Tobias Gerinckx-Rice is still hiding behind the ice
<jgart[m]>Should guix or guile provide something like this for generating dot trees of subcommands and CLI options? https://github.com/dnaeon/clingon#generate-tree-representation-of-your-commands-in-dot
<helpful-friend>"GitHub - dnaeon/clingon: Command-line options parser system for Common Lisp" https://github.com/dnaeon/clingon#generate-tree-representation-of-your-commands-in-dot
<rekado>jgart[m]: guile-config has “generate-cmdtree?” which adds a “--cmdtree” switch displaying an outline of subcommands and their options.
<jgart[m]>THNX TIL https://gitlab.com/a-sassmannshausen/guile-config
<helpful-friend>"Alex Sassmannshausen / guile-config · GitLab" https://gitlab.com/a-sassmannshausen/guile-config
<reyman>hi !
<reyman>I have some difficulties to find example with : copy-build-system ; i have a package that only run ./configure.sh and that's all (no makefile)
<lechner>what's in that file, please?
<ellysone[m]>49.3ed
<reyman>oh this is this file from quarto project : https://github.com/quarto-dev/quarto-cli/blob/main/configure.sh
<helpful-friend>"quarto-cli/configure.sh at main · quarto-dev/quarto-cli · GitHub" https://github.com/quarto-dev/quarto-cli/blob/main/configure.sh
<lechner>ellysone[m] / access granted
<reyman>in my copy-build-system i need to run this configure.sh one time to fix path
<lechner>reyman / that file downloads binaries from the network
<jpoiret>I see "Downloading Deno Stdlib" in this script, it probably won't work as is
<lechner>reyman / according to wikipedia deno is a javascript virtual machine and package manager in one https://en.wikipedia.org/wiki/Deno_(software)
<lechner>reyman / it seems more appropriate to me to refer to a locally built copy of Deno to perform those tasks, or if possible even Guix (the package manager)
<reyman>and i need to run after install into /gnu/store
<reyman>lechner : i remove all the download lechner
<reyman>deno is packaged
<reyman>(by myself)
<reyman>so i have everything ready
<lechner>what does configure.sh do then? just byte-compile? why does it run at all?
<reyman>i only need to run ./configure.sh with the good export that desactivate the download (already done), and the
<reyman>configure.sh only set some path of .ts in the src package
<reyman>this is why i need to run configure.sh after the install into /gnu/store :(
<reyman>because this script fix the path : https://github.com/quarto-dev/quarto-cli/blob/main/package/src/set_package_paths.sh
<helpful-friend>"quarto-cli/set_package_paths.sh at main · quarto-dev/quarto-cli · GitHub" https://github.com/quarto-dev/quarto-cli/blob/main/package/src/set_package_paths.sh
<lechner>would you please rephrase that? it is unclear to me which benefit running configure.sh provides after the installation was completed
<lechner>okay, so you are just trying to get the development environment set up right via variables?
<lechner>or i guess runtime environment
<reyman>yes, quarto is lot of .ts script working with deno
<reyman>so i found this way to package and run quarto, using the ./configure.sh info
<reyman>perhaps there are another way, i'm walking in the dark :)
<lechner>jpoiret / this is a beautiful example of what i meant a few days ago about the proper environment being the sole hindrance to replacing language-specific package managers
<reyman>Deno + plugin was an horrible long thing to package but that works, quarto is only the top of the iceberg.
<lechner>right
<reyman>if i produce a prototype of Quarto packaging i hope quarto dev try to produce a better way to package quarto
<reyman>downloading things like this ./configure is horrible.
<lechner>getting those variables right seems a job for profiles to me, whereby the contribution of each prerequisite should be tracked inside Guix's packaging system
<reyman>this is my quarto scm : https://paste.debian.net/1274391/
<helpful-friend>"debian Pastezone" https://paste.debian.net/1274391
<reyman>i need to put some after-install: "sh ./configure.sh" into this thing
<lechner>reyman / i think an extra phase would do that, but the utility is unclear to me. wouldn't those values be lost once the installation succeeds?
<reyman>then alias the ./quarto in the /gnu/store/xxxxquarto/package/dist/bin folder into user local bin.
<lechner>i believe that quarto, like many interpreted languages in Guix, requires a custom set of variables in order to run properly. currently, the right way would be to wrap-program (or wrap-script) the quarto excutable
<lechner>in a few months i hope to present a kernel module that would automatically provide an appropriate environment for quarto to run, based on a specification in an adjacent file
<reyman>(for info the output of ./configure.sh when i run the script into /tmp/ for debug : https://paste.debian.net/1274392/)
<helpful-friend>"debian Pastezone" https://paste.debian.net/1274392
<reyman>oh this is great lechner
<lechner>reyman / i think you may need something like this https://codeberg.org/lechner/guix-helper-bot/src/commit/3c286814f1f80d6b729955250718598944c49b80/guix.scm#L76-L110
<helpful-friend>"guix-helper-bot/guix.scm at 3c286814f1f80d6b729955250718598944c49b80 - guix-helper-bot - Codeberg.org" https://codeberg.org/lechner/guix-helper-bot/src/commit/3c286814f1f80d6b729955250718598944c49b80/guix.scm#L76-L110
<lechner>but it ain't pretty
<lechner>my example is for guile
<apteryx>lechner: there were some comments regarding the use of a linux module: cannot work inside containers (?), not portable foreign distributions (which lack such module), etc.; have you thought about these isseus?
<apteryx>*issues
<PotentialUser-87>Hello!
<PotentialUser-87>I'm currently playing around with the "GNU Guix 1.4.0 QEMU Image".
<PotentialUser-87>According to "https://guix.gnu.org/manual/en/html_node/Running-Guix-in-a-VM.html", one can reconfigure the system based on its initial configuration file available at "/run/current-system/configuration.scm".
<PotentialUser-87>However, in a freshly booted "guix-system-vm-image-1.4.0.x86_64-linux.qcow2", running "guix system reconfigure /run/current-system/configuration.scm" results in error: https://paste.c-net.org/LoafersFlagged
<PotentialUser-87>Am I doing it wrong?  I didn't even make any changes to the configuration yet, so what is it trying to download and why?
<helpful-friend>"Running Guix in a VM (GNU Guix Reference Manual)" https://guix.gnu.org/manual/en/html_node/Running-Guix-in-a-VM.html
<reyman>ok lechner i look that
<lechner>apteryx / the collective skepticism has given me a pause to think, but not deterred me. i actually do not understand the objections. any foreign distribution can build and install my kernel module, and so can containers
<reyman>so to be sure, i run ./configure.sh using wrap-programm, this is that
<lechner>i see. then an extra phase would do, but i still think the code from configure.sh belongs into the Guix packaging
<lechner>actually, no.
<reyman>ok so i overwrite the env
<lechner>the extra phase won't do, because you won't be able to set the environment for adjacent phases, i do not think
<lechner>or in the same phase
<lechner>the "export" mechanism, which applies to parent process, to my knowledge only works in shells
<lechner>maybe it doesn't work in shells either
<apteryx>lechner: Guix the package manager can currently run on any GNU/Linux distribution with a kernel 3.20 upward, without any configuration. Adding a requirement on an external kernel module to build and install would be a very tough sale, in my opinion.
<apteryx>*without any special configuration
<lechner>it's a collective choice the project will have to make. it's that or ten thousand wrapper scripts. more significantly, folks will never be able to develop comfortably in Guix without such a facility, but i'm open to discussing alternatives
<apteryx>lechner, reyman: environment variables are global to the process, so if you set them early enough, all later phases will have them set.
<lechner>apteryx / even when set via (system "./configure.sh") ?
<apteryx>that wouldn't work no
<apteryx>as it would only happen in the forked child process
<apteryx>you have to use Guile's setenv
<lechner>yeah, that's been my advice
<reyman>yeah apteryx, but my problem with this ./configure.sh need to set /gnu/store/ correct path and not /tmp/...
<lechner>you can get those paths
<lechner>it's just the package variables
<apteryx>perhaps patching it would be the easiest
<apteryx>or setenv before calling the script, if it honors those
<apteryx>not sure what that script does exactly, so it's hard to tell
<lechner>doesn't quarto just need a wrapper?
<reyman>the script make some bundle
<apteryx>can you point to its source? sorry if I've missed it earlier
<reyman>./configure run a set_package_path.sh to bundle thing : https://github.com/quarto-dev/quarto-cli/blob/main/package/src/set_package_paths.sh
<helpful-friend>"quarto-cli/set_package_paths.sh at main · quarto-dev/quarto-cli · GitHub" https://github.com/quarto-dev/quarto-cli/blob/main/package/src/set_package_paths.sh
<apteryx>thanks
<abrenon>hey guix
<apteryx>bundling things sounds bad in the context of guix packaging
<reyman>so i suppose one way is to patch this file by setting directly the $SCRIPT_PATH to /gnu/store/etc
<reyman>but that broke the bundling that occur after set_package_paths.sh
<apteryx>when is this scirpt run? at build time?
<reyman>only one time to setup the dev environnement of quarto : https://github.com/quarto-dev/quarto-cli#development-version
<helpful-friend>"GitHub - quarto-dev/quarto-cli: Open-source scientific and technical publishing system built on Pandoc." https://github.com/quarto-dev/quarto-cli#development-version
<apteryx>reyman: ugh: ${QUARTO_PACKAGE_PATH}/scripts/deno_std/download.sh
<apteryx>the configure script tries to fetch things from the net
<reyman>yeah, i set the correct thing to remove that part
<apteryx>you're in for a frustrating packaging experience with that one
<apteryx>OK
<reyman>see: https://paste.debian.net/1274391/
<helpful-friend>"debian Pastezone" https://paste.debian.net/1274391
<reyman>with this setenv i have only local thing without download
<reyman>deno is already packaged
<apteryx>so the script does EXPORT things, that's only in scope for that script execution; I'm guessing that '/quarto-bld configure --log-level info' perhaps preserve such configuration to disk somewhere
<apteryx>is it to refer to its own components, or external dependencies it bundles?
<reyman>here the quarto bld
<reyman> https://github.com/quarto-dev/quarto-cli/blob/main/package/src/quarto-bld
<helpful-friend>"quarto-cli/quarto-bld at main · quarto-dev/quarto-cli · GitHub" https://github.com/quarto-dev/quarto-cli/blob/main/package/src/quarto-bld
<reyman>there is also a conda version, perhaps that could be help us : https://github.com/quarto-dev/quarto-cli/blob/main/package/conda-recipe/build.sh
<helpful-friend>"quarto-cli/build.sh at main · quarto-dev/quarto-cli · GitHub" https://github.com/quarto-dev/quarto-cli/blob/main/package/conda-recipe/build.sh
<reyman>apteryx, i think quarto could use some vendor package that deno cli set in cache.
<apteryx>the guixy way would be to package all the external libraries individually, and then add a native-search-path specification to locate them.
<reyman>ok
<apteryx>but to test things it should be possible to setenv QUARTO_SRC_PATH or whatever the environment variable they use for that purpose in a phase after the unpack phase.
<reyman>so, if i try to repeat in my mind the process, we let quarto bundle things into "/tmp/xxx" during build phase, and then, when the bundle is done, at runtime, i don't know if things will broke because of bad path
<lechner>efraim / Hi, are you still involved in the powerpc64le effort, please? If not, could you please point me to someone that is? https://issues.guix.gnu.org/61989#25
<helpful-friend>"[PATCH 00/11] Adding Gocryptfs (feature branch)" https://issues.guix.gnu.org/61989#25
<apteryx>is it just me, or does Geiser navigation to jump to a package definition rarely works?
<apteryx>it works reliably in other smaller project, so I suppose some syntax is confusing it
<reyman>apteryx: ok so i have a quarto bin into /dist/bin/quarto after running ./configure.sh with the good env, perhaps that will work. I only need the syntax to know how i could run ./configure.sh into my (copy-build-system)
<reyman>ahah quarto is not a bin, this is only a bash with env.
<lechner>it's a wrapper party!
<reyman>:D
<lechner>mirai / Hi, should (shepherd-requirement '(networking)) be a default for opensmtpd?
<lechner>Hi, are Chris Marusich or Léo Le Bouter here?
<reyman>arg, i also need dartsass on guix to run quarto
<Maya[m]12>@lechner cant you send smtp locally?
<mitchell>hello guix
<evilsetg[m]>Hello mitchell
<haugh>mlet mbegin mwhen munless mparameterize listm anym mapm foldm
<lechner>mhello
<haugh>mnaming-conventionm
<haugh>mmeme
<haugh>did I mmiss anything
<Maya[m]12>mguix msystem mreconfigure
<mitchell>/r/thingsthatmakeyougo-mmmmmmm
<lechner>Maya[m]12 / thanks for that pointer! yes, but i do not know of anyone who uses a mail transfer agent without networking. in my perception, the default should perhaps reflect the majority use case. people can still override, if needed
<Maya[m]12>@lechner if you comment it in the docs, i think you are right! (me personally i wouldnt know how to do that just by looking at it)
<lechner>it's really mirai's baby
<Maya[m]12>but you are right that it is a very very edge case
<lechner>Maya[m]12 / i appreciate your creativity!
<lechner>Hi, could someone please queue v2 of #41180 for QA? cbaines said the issue was too old to be considered automatically
<helpful-friend>"[PATCH] Add cachefilesd service." https://issues.guix.gnu.org/41180
<mirai>what are the guile cheats to help troubleshoot macro troubles of the sort: unknown file:#f:#f: encountered raw symbol in macro output in subform %unset-marker% of
<mirai>lechner: re: opensmtpd, no since opensmtpd can work with loopback only
<lechner>mirai / is that a reasonable default though?
<mirai>yes
<mirai>say you only want to mail to root or local-users
<mirai>its not the case that every computer configures a fully fledged smtpd
<lechner>i'd weigh that against smtpd not starting for a majority of users
<lechner>people using it with 'networking usually need it to be runnning more than the other use case, too
<mirai>about that, I'm cooking up some advisor for those kinds of cases
<lechner>okay. another option might be to make 'loopback part of 'networking
<lechner>it's obviously a networking capability, however limited
<nom[m]>Hey, I'm trying to port my dotfiles to guix, and I'm having trouble finding the package that implements pactl, does anyone know?
<hwpplayer1>Is it fair to develop android apps within guix ?
<mitchell>hwpplayer1: probably. https://framagit.org/tyreunom/guix-android
<helpful-friend>"Julien Lepiller / guix-android · GitLab" https://framagit.org/tyreunom/guix-android
<hwpplayer1>Framagit is a GitLab service right ?
<mitchell>nom[m]: seems like its part of the pulseaudio package
<mitchell>hwpplayer1: It looks that way
<lechner>nom[m] / mitchell / yes, per juix.org
<nom[m]>mitchell: huh, I could have sworn I had pulseaudio installed from default xfce install, but seems like not
<hwpplayer1>Like codeberg is a gitea service
<nom[m]>yeah you were absolutely right! thank you
<mitchell>nom[m]: It looks like xfce has a pulseaudio plugin that gets propogated but that only has pulseaudio as an input which does not get installed to the profile
<nom[m]>mitchell: Ah, I see
<lechner>hwpplayer1 / We ship many android tools, and many of us would like run Guix on android devices, but i have been criticized for mentioning android in this channel, which is committed to free software. not sure what the latest is https://www.theguardian.com/technology/2011/sep/19/android-free-software-stallman
<helpful-friend>"Is Android really free software? | Richard Stallman | The Guardian" https://www.theguardian.com/technology/2011/sep/19/android-free-software-stallman
<mirai>AOSP, replicant ?
<mitchell>nom[m]: If you have a dot file which references `pactl` you do not have to install it to your profile. If you are using guix home to manage your dot file (you should!) you can do substitution on the source to refer to the store item directly.
<lechner>i am not asking hwpplayer1 to stand down. there is some kind of line in the sand, though, because I also do not feel in control with stock ROMs, and dislike them
<nom[m]>mitchell: mitchell: my sxhkd is what uses pactl, I'm using guix home to handle my dotfiles, but I'm still a complete noob to it, wouldn't know how to do what you are proposing
<mitchell>for example i have a script which integrates the window manager with emacs https://github.com/paperclip4465/dot_files/blob/master/i3-msg-proxy.sh. When I use guix home to instaniate it I use a package definition like this https://paste.debian.net/1274412/
<helpful-friend>"dot_files/i3-msg-proxy.sh at master · paperclip4465/dot_files · GitHub" https://github.com/paperclip4465/dot_files/blob/master/i3-msg-proxy.sh
<hwpplayer1>I will be back
<helpful-friend>"debian Pastezone" https://paste.debian.net/1274412
<mitchell>In this way I can use the random scripts that make my life slightly easier without having to install random xtools into my profile
<mitchell>I define my dot-files like this https://paste.debian.net/1274413/ It is just an origin which packages can refer to
<helpful-friend>"debian Pastezone" https://paste.debian.net/1274413
<nom[m]>I'll saved those links, thank you
<nom[m]>s/'ll//
<nom[m]>I'll take a peek later
<hwpplayer1>Do we have a bot that we can invoke by , here
<hwpplayer1>,guix
<rekado>hwpplayer1: what do you wan that bot to do?
<hwpplayer1>In #emacs channel it gives a brief information about questions
<lechner>we are your bot
<jgart[m]>sneek: later tell civodul: sorry to hear about the retirement age going up. I remember we were discussing that at guix days before it had actually happened but while protests were going on
<jgart[m]><sneek> sneek doesn't answer to matrix bridges
<jgart[m]>botsnack
<lechner>sneek: later tell civodul: (relayed from jgart[m]) sorry to hear about the retirement age going up. I remember we were discussing that at guix days before it had actually happened but while protests were going on
<lechner>looks like sneek left, perhaps also out of protest
<ellysone[m]><jgart[m]> "sneek: later tell civodul: sorry..." <- PERSONNE N A CRAQUE
<sarg>i'm running the most basic qemu command and still the guest can't access internet. It should work out of the box on guix, right?
<sarg>it's just `qemu-system-x86_64 -cdrom slitaz-rolling-core64.iso`, and the guest gets an ip address and can even curl the default gateway, but nothing else
<lechner>sarg / which gateway, please?
<lechner>"By default, QEMU invokes the -nic and -user options to add a single network adapter to the guest and provide NATed external Internet access. The host and guest will not see each other."
<sarg>10.0.2.2, the one that shows as default in `ip route`
<lechner>what does 'curl' do, please?
<lechner>for you
<sarg>well, it shows me index.html served by hugo running on my laptop
<lechner>do you have name resolution inside QEMU?
<lechner>i.e ping www.google.com
<sarg>nope
<lechner>how about ping 8.8.8.8 ?
<sarg>ping is not working anyway for userspace networking
<lechner>then i would set up networking like this https://wiki.qemu.org/Documentation/Networking#How_to_get_SSH_access_to_a_guest
<helpful-friend>"Documentation/Networking - QEMU" https://wiki.qemu.org/Documentation/Networking#How_to_get_SSH_access_to_a_guest
<sarg>I've done the forwarding, but I need to `guix pull` in the guest
<lechner>sarg / i don't use userspace networking. do you have (or need) an /etc/resolv.conf in the guest?
<sarg>qemu's dhcp server returned 10.0.2.3, I've changed it to 10.0.2.2 manually and now it works
<lechner>great!
<sarg>idk why all 3 distros I've tried don't have dig / host baked in the live cd image
<lechner>did you see drill ?
<sarg>hear it for the first time, isn't `host` the default one?
<lechner>i think nslookup was the original
<sarg>oh, right, it's there. I've just forgot its name
<podiki[m]>emacs-buttercup is failing with native-comp, even though I thought the newer version had a fix for this
<podiki[m]>guix build emacs-buttercup --with-input=emacs-minimal=emacs
<podiki[m]>and upstream issue/fix: https://github.com/jorgenschaefer/emacs-buttercup/issues/230
<helpful-friend>"Native compilation problem when spying on certain primitives, such as file-exists-p · Issue #230 · jorgenschaefer/emacs-buttercup · GitHub" https://github.com/jorgenschaefer/emacs-buttercup/issues/230
<podiki[m]>and related emacs issue https://github.com/jorgenschaefer/emacs-buttercup/issues/230
<podiki[m]>sorry, this one: https://issues.guix.gnu.org/61880
<helpful-friend>"Native compilation problem when spying on certain primitives, such as file-exists-p · Issue #230 · jorgenschaefer/emacs-buttercup · GitHub" https://github.com/jorgenschaefer/emacs-buttercup/issues/230
<helpful-friend>"Native compilation fails to generate trampolines on certain scenarios" https://issues.guix.gnu.org/61880
<sarg>lechner , 10.0.2.3 was issued correctly, the problem was that I have empty resolv.conf and qemu relies on it when it gets requests on 10.0.2.3
<sarg>found it from this comment: https://github.com/utmapp/UTM/issues/2353#issuecomment-791143350
<helpful-friend>"Automatic DNS doesn't work in the guest · Issue #2353 · utmapp/UTM · GitHub" https://github.com/utmapp/UTM/issues/2353#issuecomment-791143350
<lechner>sarg / i believe that is an iOS-related issue
<sarg>anyway, it explains where 10.0.2.3 comes in play and how slirp works
<lechner>yeah, i'm not sure a lot of folks here use Grapple equipment
<sarg>I just wonder why everything has worked on my machine with an empty resolv.conf. Can't find it where this fallback to 127.0.0.1 is implemented.
<lechner>a browser might try something like that
<sarg>nah, curl / wget / guix pull etc, everything works with an empty resolv.conf (and dnsmasq listening on localhost)
<sarg>so the fallback is on the lower layers, maybe in libc or somewhere near
<unmatched-paren>evening guix :)
<lechner>hi
<devcarbon>How does package binary path president work on guix?  More specifically, I have java provided by icedtea and by openjdk, but icedtea is the one described by java -version.
<lechner>devcarbon / what is the value of echo $PATH please?
<lechner>and which java please. if your shell supports it
<devcarbon>lechner  /
<devcarbon>/home/pacman/.dotfiles/.bin:/home/pacman/.npm-global/bin:/home/pacman/.nix-profile/bin:/home/pacman/.guix-home/profile/bin:/home/pacman/.guix-home/profile/sbin:/run/setuid-programs:/home/pacman/.config/guix/current/bin:/home/pacman/.guix-profile/bin:/home/pacman/.guix-profile/sbin:/run/current-system/profile/bin:/run/current-system/profile/sbin
<lechner>how about which java please?
<devcarbon> /home/pacman/.guix-home/profile/bin/java
<sarg>lechner: yep, in glibc: https://github.com/bminor/glibc/blob/9e2ff880f3cbc0b4ec8505ad2ce4a1c92d7f6d56/resolv/res_init.c#L615
<helpful-friend>"glibc/res_init.c at 9e2ff880f3cbc0b4ec8505ad2ce4a1c92d7f6d56 · bminor/glibc · GitHub" https://github.com/bminor/glibc/blob/9e2ff880f3cbc0b4ec8505ad2ce4a1c92d7f6d56/resolv/res_init.c#L615
<lechner>do you have icedtea in your home profile?
<lechner>devcarbon ^
<devcarbon>Hmm, probably, let me check...
<lechner>sarg / thanks! i haven't used a machine without /etc/resolv.conf before, i don't think
<lechner>or rather a local dns resolver, but no /etc/resolv.conf
<devcarbon>lechner / looks like it. Would I have to remove icedtea from the profile to make openjdk the default?
<devcarbon>Or maybe add a system link and prefix the PATH variable?
<lechner>let's do some research first
<lechner>the way i read your $PATH, any 'java' executable from openjdk---which would be shadowed---would be in the later folders, i.e. /home/pacman/.guix-home/profile/sbin:/run/setuid-programs:/home/pacman/.config/guix/current/bin:/home/pacman/.guix-profile/bin:/home/pacman/.guix-profile/sbin:/run/current-system/profile/bin:/run/current-system/profile/sbin
<podiki[m]>the error I'm seeing for buttercup is maybe that file does not exist /homeless-shelter/.emacs.d/eln-cache/28.2-bf9ead57/subr--trampoline-62756...
<lechner>devcarbon / how did you install openjdk? I am not sure if it is possible to install both in the same profile in Guix (but assume that it isn't)
<devcarbon>lechner / via shell, IE. guix install openjdk:jde
<devcarbon>jdk*
<lechner>devcarbon / did it ask you to "source" the new profile (but you didn't)?
<lechner>wait, you are using guix home and used guix install?
<Swingball>hello here
<hwpplayer1>Swingball welcome
<Swingball>yay
<Swingball>now
<hwpplayer1>How are you doing Swingball Do you run GNU Guix ?
<Swingball>where can I find the recommended ram requirements for GNU Guix
<devcarbon>lechner / :re "source" - perhaps, I'm not sure of the top of my head, I'll check. And yes, I'm using home and ran guix install. And Yes, I am very much a guix newbie. :P
<hwpplayer1>How much RAM do you have Swingball
<lechner>devcarbon / i do not mix the two and was under the impression that 'install' negates the benefits of home. can you try guix shell openjdk:jdk (or whatever the right package is) ?
<Swingball>hwpplayer1 I'm looking for something that'll run at full throttle on just 2gb
<hwpplayer1>Maybe with a window manager like i3 you can
<Swingball>OS-wise that is
<hwpplayer1>Lets see what other people say
<hwpplayer1>2 GB is very low at performance but I guess you can make it up and running
<lechner>you would do well to provision some swap, or at least some zram
<devcarbon>lechner / Aha, that does the trick!  Yes, your probably right about the negation of benefits, my thinking was to use guix install for off-the-cuff quick installation of packages, and then later guix package --list-installed to later add them to my home setup more permanently.
<devcarbon>lechner / thanks for the help! :)
<hwpplayer1>Swingball listen lechner swap and / or zram will make your computing better
<vagrantc>2GB of ram will be a bit small for things like package updates and whatnot ...
<vagrantc>but running the OS should be fine ...
<lechner>devcarbon / guix shell may be for you. most people use it as a quick goto, but for Emacs users buffer-env.el can also be helpful (but has strange side effects in Magit, for example) https://amodernist.com/texts/emacs-guix.html
<helpful-friend>"Using Guix Environments in Emacs using buffer-env" https://amodernist.com/texts/emacs-guix.html
<Swingball>hwpplayer1 lechner vagrantc I looking for an OS that will take a 1/4 of RAM or less and 1/4 storage or less. My storage is at least 100gb.
<lechner>Zephyr?
<lechner>devcarbon / thanks for using Guix!
<Swingball>My keys are really unresponsive here so it takes ages for me to type
<Swingball>So what are my options again?
<vagrantc>Swingball: guix is hungry for storage in general, but if you delete old generations regularly, you can maybe do ok with 10-30GB of disk space, depending on your environment
<Swingball>Ok and ram-wise what's the recommended amount?
<vagrantc>depends on what you are doing ... 2GB is really bare minimal just because of package updating
<vagrantc>but i would suggest at least 4GB ... the more the merrier
<vagrantc>but honestly ... the real answer is ... it depends.
<podiki[m]>found the fix for emacs-buttercup for native-comp; I'll send a patch and will push once QA shows no regressions?
<devcarbon>I'm not quite sure what to make of this error: /gnu/store/b1fjklz0a062ycp18q3697d6zbapjsxy-profile/bin/cmake: symbol lookup error: /usr/lib/libc.so.6: undefined symbol: _dl_audit_symbind_alt, version GLIBC_PRIVATE  / Any ideas?
<evilsetg[m]>I have icecat and emacs open and am running at about 2.5GB
<vagrantc>Swingball: i would not consider guix a light-weight distro ... it is certainly a general purpose distro, but it is not for everyone ... some people like it because everything is written in guile, some like the commitments to free software, some like the ability to revert to old generations
<vagrantc>some like that it comes with a time-machine
<vagrantc>(though really, it is kind of more of a parallel universe feature, time just being a side-effect
<vagrantc>)
<Swingball>thank you vagrantc
<vagrantc>ACTION is serious about the time-machine, though really it is just some git tricks :)
<vagrantc>Swingball: so i guess, i would ask, what is your interest in guix? that might help direct you to better questions :)
<Swingball>originally I was planning on using antix because it's one of the top OSes that use a 1/4 of RAM or less and 1/4 of storage or less. But I'm looking around for libre-OSes that I can comfortably use with only 2GB of RAM and at least 100 GB of storage. vagrantic
<Swingball>vagrantic
<Swingball>vagrantc ^^^
<Swingball>Sorry still getting used to IRC, didn't mean to do that
<vagrantc>Swingball: sounds like storage will be ok, though it will most likely eat more storage than most other distros ... ram is a bit low. you really want more ram because at some point you might end up building packages.
<vagrantc>Swingball: not sure what you mean by "1/4 of RAM" or "1/4 of storage" though ... compared to other distros? guix will definitely loose on storage needs, and maybe on ram requirements.
<vagrantc>but ... that's pretty much three different ways of saying the same thing so far ... guix uses more storage space and maybe a bit more ram than other distros running basically the same end-user software.
<vagrantc>four ways!
<Swingball>Booting up the other PC...
<civodul>vagrantc: why would Guix-installed applications use more RAM than on other distros?
<vagrantc>civodul: more likely multiple versions of libraries loaded
<vagrantc>civodul: but mostly just the update process seems more intensive
<vagrantc>civodul: also having to occasionally build your own packages vs. binary distros, etc.
<vagrantc>that's why i used the wiggle-word maybe :)
<vagrantc>not fundamentally definitely more, but there are a few cases where you might need more ram than usua
<vagrantc>l
<vagrantc>"usual"
<civodul>vagrantc: ah sure, i thought you were talking about running a given program
<civodul>yeah, overall usage can be higher, as you write
<vagrantc>guix pull is definitely more ram-intensive that, say, "apt update"
<civodul>yup, that one :-)
<civodul>it's more RAM-intensive than Firefox even ;-)
<vagrantc>ACTION blinks
<vagrantc>and those binaries are going to be bigger with all those embedded library paths! :)
<vagrantc>(though probably not hugely bigger, but ... slightly?)
<Swingball>hwpplayer1, lechner, vagrantc I actually need to know if guix 1gb of ram or less and 113gb of storage or less.
<ngz>podiki[m]: This sounds like the way to go
<vagrantc>Swingball: 1gb of ram will be very difficult to run updates
<hwpplayer1>In any case you'll need swap and / or zram for a comfortable computing
<vagrantc>Swingball: the storage space ... that should be plenty if you don't mind 20-50GB taken up by the OS ...
<Swingball>I have 4gb of ram and 451gb of storage at my disposal and I described a 1/4 of those specs.
<vagrantc>Swingball: but honestly, 1GB ram ... the short answer is "No."
<Swingball>Oh
<podiki[m]>ngz: the tricky thing is that buttercup 1.30 should work in git Emacs (haven't tried) as the problem is a variable that was renamed and buttercup used the newer name (for emacs 30? 29?)
<Swingball>Guix is a no-go loool
<podiki[m]>ngz: so the proper fix would be to check based on version. not sure what buttercup's policy is on what emacs version, for us...? (I'm more tempted to fix it for emacs 28.2 only since right now anything wanting buttercup and using native comp won't build)
<ngz>podiki[m]: What variable is it?
<podiki[m]>(native-)comp-enable-subr-trampolines details here https://github.com/jorgenschaefer/emacs-buttercup/issues/236
<helpful-friend>"spy-on test fails with native-compilation · Issue #236 · jorgenschaefer/emacs-buttercup · GitHub" https://github.com/jorgenschaefer/emacs-buttercup/issues/236
<podiki[m]>ngz: some esoterica (to me) about trampolines and...yeah I don't know what that is :)
<vagrantc>Swingball: what do you mean 4GB of ram, but you need to only use 1/4 of it? like in a virtual machine?
<vagrantc>Swingball: you have four sticks of ram, 1GB each, for multiple computers?
<ngz>podiki[m]: Couldn't we add a (comp-enable-subr-trampolines nil) binding next to the other and deal with every Emacs version out there?
<podiki[m]>ngz: oh, that's a good idea too, nice and easy :)
<ngz>podiki[m]: Let's be careful then, nice and easy solutions are usually wrong ;)
<Swingball>The os would only occupy 1gb of the 4gb of ram on average and 113gb of the 451gb average. This way the pc isn't bogged down when it operates.
<Swingball>vagrantc ^
<podiki[m]>ngz: it doesn't seem the newer variable name exists in current emacs, so I don't think there should be anything weird...
<podiki[m]>ngz: one of those bugs that seemed so weird and mysterious to me at first and then very obvious (at least the surface level, not the actual trampolines internals); indeed danger that way :)
<vagrantc>Swingball: ah, it really depends on what you are running then, and does not have much to do with guix. any distro is going to use similar amount of ram for similar software
<vagrantc>Swingball: but it will use more ram for updates.
<vagrantc>Swingball: but that is plenty of disk space.
<Swingball>if guix goes over the 1GB RAM mark on average then I would not use it. vagrantc
<vagrantc>it would occasionally, but not on average.
<bjc>does anyone have a recommendation for putting the system to sleep when the power button is pressed?
<vagrantc>or ... not generally. only when you do things that require ram.
<vagrantc>Swingball: how do you measure that? it is not guix, it is all the other things you are running. most web browsers will eat many GB of ram just to look at a few web pages.
<podiki[m]>ngz: thanks for the tip. I have a little substitute* that uses the bug number (in the comment line) to add in the other variable binding, works locally will send a patch later
<ngz>podiki[m]: Great!
<Swingball>vagrantc web browsing and discord occupy most of my pc time
<vagrantc>ACTION shrugs
<vagrantc>Swingball: sounds like you should either try to find something else, or just try it out and see if it works for you.
<vagrantc>i do not think the questions you are asking will give you the answers you are looking for :)
<vagrantc>Swingball: have to head out ... good luck finding something that works for you :)
<vagrantc>ACTION waves
<Swingball>bye