IRC channel logs

2024-05-10.log

back to list of logs

<miaomiao>quick question: i see in the bittorrent.scm file under the "transmission" declaration i should have "transmission-gtk", but after installing I seem to have everything but "transmission-gtk" in my profile's bin path. is there another package i need for the frontend?
<miaomiao>...or i've bungled something, hopefully not?
<bigbookofbug>civodul: i attempted to append it as part of the initrd itself and run it in a vm, but beleive i might have done something wrong as it seems to have affected the whole system so in the process of reinstalling now :p
<miaomiao>actually, after running find for the name i do seem to have transmission-gtk, but it's not under my profile as far as i can tell for some reason. huh
<civodul>panosalevro: it’s a regexp, so rather: --do-not-upgrade='(package1|package2)'
<graywolf>Hello :) CI claims that the series does not apply https://issues.guix.gnu.org/70112 however when I try to `git am' the mbox locally it works fine. Any ideas what to do next?
<peanuts>"[PATCH 00/11] Update container tooling (podman, buildah)" https://issues.guix.gnu.org/70112
<Tadhgmister>if I wanted to dual boot guix system and another linux with guix installed as a package manager, how might I get them to share stores? I imagine I can get a subvolume just for the store and mount it on both systems but would that break anything other than `guix gc`?
<Tadhgmister>and if I didn't want guix gc to delete files that the other system was using how might I synchronise the gcroots?
<Tadhgmister>(this is on a btrfs subvolume so hard links between different subvolumes are allowed if that matters)
<dckc>hm. hardware warning about Intel networking device. I'm installing guix on a ThinkPad T430. I bought this thing specifically because it's kinda old and reportedly well-supported by free software (Genode in particular)
<coyote>intel firmware use binary blobs
<coyote>unfortunately
<afm-victoria>Strange issue with Clojure: I can compile a project with clojure-tools 1.11.2.1446 and openjdk@11.0.22 but it fails with openjdk@21.02. It also fails with openjdk@17
<afm-victoria>The error I get is about a missing namespace--I do see it in the ~./m2 repository
<nathan_>miaomiao: install the "gui" output
<afm-victoria>anybody here good at guix shell?
<afm-victoria>I want an enviroment with openjdk@11 and emacs where I can access my directories
<afm-victoria>I tried `guix shell --container openjdk@11.0.22:jdk emacs` and I get the correct version of Java
<afm-victoria>But if I try emacs, I get an error message: Please set the environment variable DISPLAY or TERM; see 'tset'.
<afm-victoria>I get the same with `guix shell --container openjdk@11.0.22 emacs -- emacs`
<afm-victoria>I simplified my question a bit: suppose you have installed openjdk@21.0.2:jdk and now you want to have an environment with openjdk@11.0.22.
<afm-victoria>My thought is just type: guix shell openjdk@11.0.2:jdk
<afm-victoria>This should install the older version of openjdk in the environment.
<afm-victoria>But I am still pointing to the newer version of openjdk:
<afm-victoria>afm@fedora:~/data/repos/vessel-copy$ guix shell openjdk@11.0.22:jdk
<afm-victoria>afm@fedora:~/data/repos/vessel-copy [env]$ java --version
<afm-victoria>openjdk 21.0.2 2024-01-16
<wakyct>I think env variables are copied into the shell afm-victori?
<iyzsong>afm-victoria: you're right that 'guix shell openjdk@11:jdk' should gave a shell which have java version 11, in that shell 'echo $PATH' should list the profile's bin as the first entry, if not there are something wrong with shell's startup files (usually bashrc).
<afm-victoria>which java tells me that I am pointing at ~./guix-profile/bin/java
<iyzsong>check that file, you should not use ~/.bashrc to source ~/.guix-profile/etc/profile
<iyzsong>'guix shell hello --check' can be used to check the setup
<afm-victoria>iyzsong: OK--thanks!
<afm-victoria>iyzsong: when I typed 'guix shell hello --check' it tells me it's checking the environment variables from `/bin/bash/...` but then it hangs...
<afm-victoria>I am running Guix as a package manager on Fedora. It should work the same
<iyzsong>okay, where you source ~/.guix-profile/etc/profile or change PATH for guix?
<afm-victoria>.bash_profile
<dcunit3d>afm-victoria: have you gotten a more recent version of clojure-tools working? i had some trouble with that
<afm-victoria>There have been issues with clojure-tools. I ended up having to include dependencies explicitly whereas before it was smart enough to find them. I am now using the channel bin-guix which has a newer version than the canonical channel
<iyzsong>um, did your ~/.bashrc source ~/.bash_profile?
<afm-victoria>iyzsong: no--I think that's not a problem.
<iyzsong>okay, you can post your bashrc and bash_profile for more ones to check, i think there are some wrong in them..
<afm-victoria>All I have in .bash_rc is adding '~/bin' to PATH for stuff installed locally.
<afm-victoria>iyzsong: I'll post a link
<KE0VVT>I don't see this documented in the manual. https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/home/services/dotfiles.scm
<peanuts>"dotfiles.scm\services\home\gnu - guix.git - GNU Guix and GNU Guix System" https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/home/services/dotfiles.scm
<afm-victoria>iyzsong: bashrc https://pastebin.com/HgShcznA
<peanuts>"bashrc - Pastebin.com" https://pastebin.com/HgShcznA
<afm-victoria>iyzsong: bash_profile: https://pastebin.com/Pz7ci0ZE
<peanuts>"bash_profile - Pastebin.com" https://pastebin.com/Pz7ci0ZE
<afm-victoria>iyzsong: really appreciate you taking a look!
<dcunit3d>afm-victoria: this was my build for clojure, it seems to be working now. i think the trouble i encounter is in trying to ensure that all the clojure dependencies in my manifest all integrate my clojure-ellipsis package https://github.com/dcunited001/ellipsis/blob/master/ellipsis/packages/clojure.scm
<peanuts>"ellipsis/ellipsis/packages/clojure.scm at master ? dcunited001/ellipsis ? GitHub" https://github.com/dcunited001/ellipsis/blob/master/ellipsis/packages/clojure.scm
<dcunit3d>doing that for some reason led me to encounter some issue with a sonatype dependency
<dcunit3d>afm-victoria: it's definitely .bashrc (no underscore)
<dcunit3d>since you're on linux, only the .bash_profile will be source unless it's in an interactive session
<dcunit3d>or ... rather the .bash_profile is already sourced when your window manager loads. depending on how you configure the terminal emulator, then you may inherit the window manager's environment or configure it to load another profile.
<afm-victoria>dcunit3d: yes, the .bashrc file will not be source--only .bash_profile, where it should be according to the manual AFAIK
<afm-victoria>I think there is something tricky with Java but still I don't see why 'guix shell hello --check' would be confused and not come back
<dcunit3d>have you tried `guix shell --search-paths hello`
<dcunit3d>also, it should be `guix shell --check hello` i think
<afm-victoria>I get
<afm-victoria>export PATH="/gnu/store/nvl80whys9j2xhqdzl2v04w1f833c2bm-profile/bin${PATH:+:}$PATH"
<afm-victoria>`guix shell --check hello` also hangs....
<afm-victoria>installing and removing the various versions of openjdk is not hard--I just think that I should be able to use `guix shell` exactly for this use case: a program that uses Leiningen is dying on the recent version of openjdk but runs fine with openjdk@11
<afm-victoria>Longer term I am moving everyting to clj-tools since it seems to be gaining momentum and there are folks in the Clojurians slack that are very helpful
<dcunit3d>well this is my clojure-basic.scm manifest. i just tested it and it seems to be working, but i haven't tried running much code in it.
<dcunit3d> https://github.com/dcunited001/ellipsis/blob/master/.config/guix/manifests/clojure-basic.scm
<peanuts>"ellipsis/.config/guix/manifests/clojure-basic.scm at master ? dcunited001/ellipsis ? GitHub" https://github.com/dcunited001/ellipsis/blob/master/.config/guix/manifests/clojure-basic.scm
<dcunit3d>it uses transformations to ensure that the packages source my custom clojure-ellipsis package (1.11.3) instead of the guix package.
<afm-victoria>Thanks. The problematic program has Apache Spark and the kitchen sink in it. Smaller programs are running fine for me with the latest openjdk
<afm-victoria>I will take a look at what you did to get some inspiration
<afm-victoria>Andrew Tropin has really good config files too
<afm-victoria>dcunit3d: I noticed that you don't package a JVM--what's the rationale?
<dcunit3d>so to set another version of the JDK, it may be possible to define a clojure-openjdk@11 package which replaces that in its inputs... a manifest may be able to do it (if the same procedure defined for the ./gnu/packages/clojure.scm package will work using a different JDK package)
<dcunit3d>yeh, i looked into using Clojure with spark... idek where to start lol
<afm-victoria>Look at geni in clojars. It works pretty well but stopped being maintained a couple of years ago
<afm-victoria>I am moving all the stuff that used Geni to tech.ml.dataset
<dcunit3d>it's sad. the apache/spark people seemed to go with scala, which is maybe a better functional language for compute intensive tasks ... but it certainly isn't clojure
<afm-victoria>The out-of-jail card for very large datasets is duckdb. The tech.ml.datasets have added support so that you can get your queries packaged into dataframes.
<afm-victoria>It's a good idea: use SQL for very large data sets and then play with the output in a dataframe
<dcunit3d>maybe that's the library/framework that i saw. if so, it was a bit old and i don't have enough exp. with spark to be doing way too much custom stuff. i was just trying to get something close to native running.
<afm-victoria>Chris Nuremberg is really committed to performance, so all of his stuff works well
<afm-victoria>Geni runs well but it is missing a few things. Not at all bad for crunching datasets
<dcunit3d>i was looking into delta lake and experimenting a bit with apache zeppelin
<afm-victoria>But I am happier with tech.ml.dataset. My datasets now are not that big
<dcunit3d>yeh, but there are strong implications that your spark version has on the rest of the software. migration paths are a bit easier for newer versions. i don't want to get too far off topic, since everything needs to be fully open source here on #guix
<dcunit3d>i may give Geni a try sometime, but i'd be more comfortable if i had someone to help guide me with it.
<dcunit3d>afm-victoria: my rationale for not including a JVM was to introduce the least amount of variation to produce a PoC, so i could get the newer version of clojure-tools
<dcunit3d>i don't know enough about java to have much of an opinion on choice of JVM
<afm-victoria>Newer JVM has really interesting features for green threads
<afm-victoria>I am more interested in Guile and the work of the Spritely institute
<afm-victoria>I use java for work
<afm-victoria>dcunit3d: I think Geni is a dead end.
<afm-victoria>Unless you have really big files, I would not look at Spark now.
<afm-victoria>There are other tools
<afm-victoria>People like flink
<dcunit3d>the spritely stuff looks cool. it reminds me of DRB from Ruby. though i never used that, it piqued my imagination
<afm-victoria>It promises a complete stack from the browser down to the bowels of the OS: folks are talking of using Sprtely Goblins to put an actors model on Shepperd. This means being able to run distributed Guix systems from one machine
<afm-victoria>I just need to get smarter about Guix and Guile!
<dcunit3d>that sounds like how apache storm was described to me
<afm-victoria>I think of storm as a distributed computation machine. The twist here is that you can do that at the service level too. Think more k8
<dcunit3d>shepherd is definitely powerful. i know a bit about it, but not much. i'm hoping it offers more possibilities for dynamic behavior than systemd
<dcunit3d>it is possible to start additional shepherd services, but you have to manage a socket & pid file.
<dckc>yup... the spritely shepherd stuff is what brought me here today too
<dckc>"indexing objects" is taking a long time; what is it doing? I'm reconfiguring this system to add openssh
<rekado>dckc: that's fetching git commits. It's a git message.
<dckc>oh! right. git. thanks.
<dckc>does guix keep a log of `guix install ...` events?
<jakef>sure does. guix package --list-generations
<futurile>Morning all
<civodul>o/
<apteryx>morning!
<apteryx>should we bump our linux-libre-headers version? I've stumbled on a an issue building a newer libbpf, I think due to using old headers
<apteryx>that'd be a world rebuild I suppose...
<apteryx>yep.
<deboh>I wanted to try guix, but I found out that the latest version 1.4 has been around for over a year, will it cause any problems, or is it normal for this distribution and will not have a big impact. also, on distrowatch, I did not notice the sourcebased tag, is this an error or did I read the wrong information about what can be compiled as in gentoo
<deboh>with something like use flags
<futurile>deboh: the initial install is 1.4.0, but Guix itself is a 'rolling update' - so after you install and update you get all the latest packages/capabilities etc.
<futurile>deboh: the distribution is source-based, so you can compile everything yourself if you wish. Most users use 'binary substitutes' (binary package) so they don't have to compile everything.
<deboh>it seemed strange to me because gentoo also has binary packages, but this tag is specified there
<futurile>deboh: there's capabilities that are similar in some ways to Gentoo use-flags - but overall, it's a really different system
<futurile>deboh: yeah don't know what Distrowatch's rationale is for that - we have a user command `guix challenge` so you can easily double check if the distro binary package compiles to the same as the local build - great for checking that things are what you'd expect
<futurile>deboh: generally guix has put a lot of effort into complete source reproducibility
<lechner>Hi, what's are deterministic patch sets, please? https://lists.gnu.org/archive/html/guix-devel/2024-05/msg00083.html
<peanuts>"Re: (almost) deterministic patchsets" https://lists.gnu.org/archive/html/guix-devel/2024-05/msg00083.html
<whynt>Did anyone else have to build firefox recently?
<apteryx>you mean, icecat or librewolf? nope
<apteryx>otherwise ask in #nonguix
<apteryx>if you are not on x86_64, it could be that nss fails to build on your architecture
<bigbookofbug>morning all ! running into a small issue with pam automounts for a samba share. getting consistent mounting when i logon via tty, but only works sporadically when using sddm. reading the arch wiki, it mentions ensureing that system-login is referenced. i'm trying to figure out currently if there's a way to do this declaratively in the system-config file :)
<apteryx>what does "system-login is referenced" mean?
<bigbookofbug>there's not a lot of clarity on that in the wiki, but from the sample on https://wiki.archlinux.org/title/Pam_mount , it seems that pam_mount.so needs to be referrenced in the dm config
<peanuts>"pam_mount - ArchWiki" https://wiki.archlinux.org/title/Pam_mount
<bigbookofbug>there's also reference to a system-auth file, which i can't locate. i beleive that might be something specific to arch/systemd, but i'm unsure
<bigbookofbug>i think it may be an issue of the dm executing before the mount can, but it worked this time on reboot. so i need to hunt down the logs to login to see what execatly the error message was
<Tadhgmister>if it just an issue of shepherd services loading out of order because sddm doesn't normally depend on samba it might be a matter of defining a custom service that inherits sddm with an added dependency
<bigbookofbug>ah, found it! seems to be an issue of the pam service not grabbing my user password !
<bigbookofbug>since i'm the only user and have encryption already, i may enable autologin for sddm to see if that resolves it - if not i'll try defining a custom service
<bigbookofbug>thank you ! :D
<RavenJoad>I have packaged something which DOES have a version number, but I need a commit newer than that git-tagged version. I already have everything working. Should version be "0.0.0" or the most recent stable commit before the commit I have chosen.
<RavenJoad>s#chosen.#chosen?
<Tadhgmister>RavenJoad: is this something you are submitting to guix or just for your own use? if it is just for yourself the version string doesn't really matter and if you are submitting to guix it might make more sense to use a transform for your own usage (with-git-commit) and submit a package using a stable version
<Tadhgmister>(since guix refresh works better when there are stable versions I believe)
<RavenJoad>Tadhgmister: Upstream to Guix. The "stable" versions are so old that they are not useful. These are tree-sitter grammars, so when I say not useful, I mean Emacs major-modes cannot handle the parse tree produced because things were reworked.
<Tadhgmister>then I don't have that answer but now I want it too :P
<ieure>RavenJoad, I believe it's normal practice to use last released version+commit.
<RavenJoad>The manual does have a paragraph about this. (guix) Version Numbers, which does what ieure said.
<RavenJoad>In that case, if there is NO Git tag for that version, but the package.json DOES have a version number, which should I believe?
<ieure>RavenJoad, ugh.
<ieure>RavenJoad, Sounds like maybe file an issue upstream to cut tags for the releases represented in the packaging stuff.
<wakyct>RavenJoad, it looks like it would be <last release>+<Guix version number>+<commit>
<RavenJoad>ieure: I would, but this seems to be either abandoned or feature-complete. Last commit was 3 years ago and issues/PRs are just sitting.
<apteryx>RavenJoad: use (git-version "last-stable-version" revision commit)
<apteryx>with an explanatory comment mentioning why the last stable version is not sufficient
<RavenJoad>apteryx: Awesome. I'll do that! I already have those changes marked, so I just need to amend now.
<RavenJoad>apteryx: All done! On https://issues.guix.gnu.org/70720 now.
<peanuts>"[PATCH 0/3] Add tree-sitter-verilog/-vhdl/-erlang" https://issues.guix.gnu.org/70720
<Guest36>How can I prevent NetworkManager from adding the DNS server that is mentioned in the DHCP?  If I add a DNS server to resolv.conf, it is edited by resolveconf which adds additional servers and I assume it comes from NetworkManager, since I don't have anything else installed
<PotentialUser33>Is there a way to completely clear out /gnu/store? I'm trying to troubleshoot a couple issues with an environment and would like to have a completely clean slate. "guix gc" doesn't clear out the substitutes in question because they're still alive somewhere somehow
<Tadhgmister>PotentialUser33: read the manual page on guix gc, it describes how it handles live and dead gcroots
<Tadhgmister>do keep in mind that the linux kernel that gets booted is in the gnu/store so just removing all the gcroots is probably not a good idea
<PotentialUser33>I'm running on a foreign distro so I wouldn't expect to have kernel issues
<Tadhgmister>still go read the manual on guix gc, `--list-roots` is useful, the location of the gcroots is useful, `--referrer` to see what is keeping certain things in the store is useful....
<PotentialUser33>I can't delete any of the roots listed by --list-roots since they're still alive, I'll check out --referrer
<PotentialUser33>I found a profile that I think is the one keep all of these things alive, but I have no idea how to get rid of it.
<Tadhgmister>there are a few places to delete old profiles, `guix package --delete-generations=1d`  would try to delete any default profiles older than a day, that might help
<Tadhgmister>guix pull also has a --delete-generations option but I honestly don't understand what that does
<jackhill>Guest36: I would be inclined to use NetworkManager's connection settings to achieve your desired resolvers, but maybe others have a better suggestion. Unfortunately, I don't know of an existing service to declairatively configure NM connections.
<PotentialUser33>So it didn't find any generations older than 1d to delete
<Tadhgmister>if you are using `home` then `guix home delete-generations 1d` might also work, if the profile is made by using the `--root` option I have not figured out how to clear all generations from profiles made that way
<Tadhgmister>and I am unaware how other profiles (other than with system which can be deleted the same way as home) can be generated
<glenneth>very helpful. Thanks daviwil
<Tadhgmister>Is there not a shepherd service to run an emacs daemon? Stuff like passing it the init.el and having it re-evaluate it when it changes would be nice to manage through guix home
<afm-victoria>Strange thing happening: `guix shell hello --check` just hangs. Foreign distro (Fedora)
<afm-victoria>Any suggestions on how to track this issue down?
<afm-victoria>Initial issue was trying to run a different version of openjdk using guix shell
<afm-victoria>`guix shell hello --check` runs fine on my native guix machine
<freakingpenguin>If I try building an image-record with a platform, is the default behavior to cross-compile or to qemu-native build it?
<Tadhgmister>freakingpenguin: I think it mostly cross compiles and then does native stuff to setup bootloader or other things that are really hard to do cross platform
<Tadhgmister>are you able to cross compile a image-record though? I was just geting errors when it tried to cross compile glibc-mesboot and failed because that package has a bug that stops it from being cross compiled
<Tadhgmister>and fixing that I still hit a wall when libaio configure step checked that the files output by gcc are exexcutable which will obviously not be the case when cross compiling
<freakingpenguin>Tadhgmister: I noticed the build was failing and remembered from earlier it might be from cross compiling actually haha
<Tadhgmister>so is the only option to actually do `system image` for another platform to just use `--system` from the command line? seems odd that it even has a field for the platform if it isn't useful in practice
<freakingpenguin>That's the workaround I'm using and it seems to be progressing. In a perfect word the existing behavior sounds great in theory, CC as much as you can for speed and QEMU the rest.
<panosalevro>hi, question: any chance of guix including abrowser in its repos? icecat is based on ESR whereas abrowser is based on rapid release. it would be nice to have a rapid release version
<msuperdock>Hi, I've split my home configuration into two files/modules; the home configuration loads the other module in its `use-modules` form. This works as long as my other module doesn't have any errors, but if it has errors, then `guix home reconfigure` ends up acting like the other module was never loaded; for example, I get "unbound variable" errors
<msuperdock>for things that are defined correctly in the other module. I *want* to actually see the errors in my other module, otherwise it's hard to develop it and fix the errors.
<msuperdock>Is there a way to make `use-modules` "strict" instead of silently skipping modules with errors? Or is there a way to check my other module without using `guix home reconfigure`?
<RavenJoad>msuperdock: The thing that I have used in the past for both this and Guix development work is to use `guix repl`. You can just add your module path to the front of %load-path with -L on the command line. Then use `,m (my other module)` inside the REPL.
<msuperdock>RavenJoad: Thanks, this seems to be doing just what I wanted.
<freakingpenguin>Hmm, adding --system=aarch64-linux when building the image /builds/, but the image itself fails to boot on pinebook pro. Even when using the "vanilla" pinebook pro image included in the repo.
<lykso>I'm trying to move from NixOS to Guix and having some trouble figuring out how to get the path of an "origin" once it's been downloaded. I specifically am trying to pull a git repository and then reference patches from that repository in my custom Linux kernel. Can't seem to find the relevant documentation, and digging through the type definition
<lykso>in guix/packages.scm didn't enlighten me. :/
<civodul>lykso: hi! at the command line, you can run “guix build -S coreutils” (say)
<civodul>in Scheme, you can write (package-source linux-libre) for example
<PotentialUser-36>Hi. Maybe this is not the right place to ask, but I'll try.
<PotentialUser-36>I want to use rust-analyzer in emacs. I already tried this with eglot:
<PotentialUser-36>(add-to-list 'eglot-server-programs '(rust-mode . ("rust-analyzer")))
<PotentialUser-36>Is there a good way to troubleshoot this? I installed rust-analyzer "globally" with guix install. Any help is appreciated.
<civodul>PotentialUser-36: hi! maybe check the doc of ‘eglot-server-programs’ to see what it expects? (i use Emacs but not eglot nor rust-analyzer)
<civodul>apart from that, as long as $HOME/.guix-profile/bin is in $PATH, it should be fine
<PotentialUser-36>civodul Ok thanks. Where is that documentation? I verified, it is in the PATH
<dariqq>lykso: you could use file-append to reference a file inside an origin/pacakge and then add that to the patches field in your kernel package
<PotentialUser-36>civodul Ah got it now. Yeah, I'll read through it.
<PotentialUser-36>Hm. They specify this value exactly as I have it. So I think this won't help.
<PotentialUser-36>Ok this is probably very much off-topic. Sorry for the spam.
<lykso>civodul: Thanks!
<lykso>dariqq: Thanks to you also. :D
<RavenJoad>PotentialUser-36: My eglot-server-programs has a different format for raw strings (((ruby-mode ruby-ts-mode) "solargraph" "socket" "--port" :autoport)). Or for compiled functions: (((rust-ts-mode rust-mode) . #f(compiled-function (&optional interactive) #<bytecode 0xae2e8d2d4429ef0>)))
<lykso>I'd kind of been hoping to just use an origin directly, as i don't need any installation or build steps, but I'll go ahead an see how wrapping it in a package with a "copy-build-system" or "trivial-build-system" treats me.
<RavenJoad>lykso: Are you just trying to get a package's origin as a final output?
<dariqq>lykso: you dont need to make your origin into a package. file-append works with (git) origins as well
<lykso>Yeah, basically. I've got a git repository with patches that I want to use with my Linux kernel.
<PotentialUser-36>RavenJoad  not sure what this means exactly, sorry. Do you mean I used a wrong raw string literal?
<lykso>So it *does* have to be part of a gexp? I get an "unbound variable" both when giving the origin a name via "define" and via "let"
<dariqq>lykso: i think something like this should work https://paste.debian.net/1316569/
<peanuts>"debian Pastezone" https://paste.debian.net/1316569
<lykso>Might be a silly question, but how do I get file-append to return a string?
<lykso>Or as a string?
<ngz>Hello Guix
<RavenJoad>lykso: I think you need to build/lower the file-append.
<lykso>So, back to gexps? But then I get the unbound variable error.
<RavenJoad>lykso: Can you pastebin a snippet?
<lykso> https://pastebin.com/ZErCtYb8
<peanuts>"(define mnt-reform-debian-packages (let ((commit "51025e3e045b15bce4c522f1368 - Pastebin.com" https://pastebin.com/ZErCtYb8
<lykso> https://paste.debian.net/hidden/d8c13b67/
<peanuts>"Debian Pastezone" https://paste.debian.net/hidden/d8c13b67
<lykso>Didn't realize the Debian.net pastebin was a public service
<dariqq>dont know if it is possible to refer to all files in a subdirectory somehow. I've always specified each file individually
<lykso>You can. If you replace the file-append stuff in that paste with a path to a directory, that function builds up a list of paths to every file in the directory's tree, suitable for passing to an origin's "patches" argument.
<lykso>That's what I was doing first to test things out, but now I'd like to get the patches directly instead of maintaining my own copy of them.
<lykso>Sorry, I didn't think this was going to be a particularly hard problem. 🙃
<dariqq>you could try adding the origin as an input and invoking patch manually inside a new build phase because then you can ungexp the origin to a path.
<dariqq>not sure if there are good examples of this though
<RavenJoad>Honestly, the easiest thing may be to just write a package and use a copy-build-system. You don't lose all that much with that route.
<lykso>Yeah, fair enough. I'd assumed using the origin directly would be the easier way since that's how it works in nix.
<RavenJoad>Yeah, Nix is a little bit looser about the way some of these things work.
<lykso>Figured I could just do something like "let src=fetch-git <url>; patches=mnt-reform-patches "${src}""
<lykso>Gotcha
<RavenJoad>You definitely can do that, but you might just be making things harder for yourself in the short-term. You can always come back and go to that.
<lykso>Yeah... but being able to reference paths like this really feels like core functionality I need to get a grasp on
<RavenJoad>lykso: (file-append mnt-reform-debian-packages "/linux/patches") works fine (it returns a gexp which you can feed elsewhere). Perhaps it is your lambda that is weird?
<lykso>Yeah, the function I'm trying to use the output of that sexp with wants a string
<lykso>I did try wrapping the output in gexp runes but then it just complained about mnt-reform-debian-packages being unbound
<RavenJoad>Without seeing surrounding stuff (how you are using the result of the file-system-fold) I am not sure. If you wrapped the file-append with a gexp, then you would have to ungexp the mnt-reform-debian-packages.
<jackhill>ACTION ears perk up at mnt-reform packages
<lykso> https://paste.debian.net/1316576/
<peanuts>"debian Pastezone" https://paste.debian.net/1316576
<lykso>There's what I've got so far
<Tadhgmister>I'm kind of new to dbus, if I have the dbus home service enabled and a package in the home config that defines a file under `.guix-home/profile/share/dbus-1/services` should I be expecting it to magically work?
<Tadhgmister>the root dbus service seems to need to pass the list of packages that provide services to it and the home service doesn't have that option so I'm not clear what I should be doing
<RavenJoad>lykso: After tinkering for a while, this is the main issue. "(file-append mnt-reform-debian-packages "/linux/patches" version)". If you need to ungexp the mnt-reform-debian-packages, which requires gexp on the file-system-fold, which then propagates. Someone better-versed in gexps may be able to help.