IRC channel logs

2024-01-02.log

back to list of logs

<ngz>Hello. When I try to push some commits to the repository, I get "[Makefile:7131 : authenticate] Error 1". I think I need to edit pre-push hook to fix this, but I always forget how to do so. Does that ring a bell?
<apoorv569>What does it means if a variable starts with % like %foo vs just regular name like foo?
<ngz>apoorv569: It's a convention for naming global variables.
<Googulator>I was reading https://guix.gnu.org/en/blog/2023/the-full-source-bootstrap-building-from-source-all-the-way-down/ and wondering, how did the "bootstrap-guile-2.0.9 driver" get built?
<Googulator>I haven't been able to find anything in the Guix sources that describes how these initial static binaries can be reproduced.
<apoorv569>ngz: I see.
<apoorv569>Is this wrong? https://0x0.st/H6Kl.txt
<apoorv569>I get error saying wrong argument, https://0x0.st/H6KU.txt
<apoorv569>wayland? is just function I wrote my self, `(define-public wayland? (equal? (getenv "XDG_SESSION_TYPE") "wayland"))`
<Kabouik>Do we have Java RE?
<Kabouik>I guess it's not an open license.
<loopback___>how to download the sources for everything in the store?
<loopback___>or get a list of all packages in the store that aren't things like system derivations?
<loopback___>and can be used with guix build to download the sources
<simpleton123>Hi, Hapy new year! How is this with packages. If i have a package that i made available in my-channel and i try to build a new package depending on the one residing in my-channel then i get an error `error: rust-names-0.14: unbound variable ` . Is there a way to make the guix install be aware of package in  my-channel ?
<loopback___>parsing a /gnu/store item and it has a version - it's pretty much guarenteed to be a package that can be searched, installed, sources downloaded for, etc?
<rebiw>Is it possible to concatenate multiple local-file calls?
<lnnk>What is the GNOME version in guix?
<podiki>"guix show gnome" says 42.4 but updates are pending on a gnome branch
<apoorv569>Is this wrong? https://0x0.st/H6Kl.txt
<apoorv569>I get error saying wrong argument, https://0x0.st/H6KU.txt
<podiki>yes, syntax error, you have "when" in a quoted form so it is not evaluated
<podiki>maybe ' to a ` (backtick) and then a ,(when
<podiki>(might need to handle when the condition is false rather than just a "when" but i'm not sure here)
<apoorv569>podiki: I see.
<apoorv569>Changed to this now, https://0x0.st/H6PU.txt
<apoorv569>But getting this error now, guix home: error: ("RTC_USE_PIPEWIRE" . "true"): source expression failed to match any pattern
<podiki>why begin? maybe you want all that part (after begin) to be a list spliced into the previous form, so use ,@ instead?
<podiki>anyway this is just some list syntax to get right, i have to run but good luck
<podiki>(hint: try in "guix repl" the basic list manipulations you want to do, quicker and easier to get the details)
<apoorv569>Hmm.. `(() () ,@(() ()))
<apoorv569> https://0x0.st/H6Pd.txt
<vii>hello here is a way to keep WiFi connection information in your guix config https://pastebin.com/e00Xdrk6
<peanuts>"guix config with NetworkManager WiFi connection password - Pastebin.com" https://pastebin.com/e00Xdrk6
<vii>curious about how people manage a few home computers with the same guix config?
<apoorv569>What's wrong with this? ("HISTFILE" . (string-append (getenv "XDG_STATE_HOME") "/bash/history"))
<apoorv569>Throw to key `match-error' with args `("match" "no matching pattern" ("HISTFILE" string-append (getenv "XDG_STATE_HOME") "/bash/history"))'.
<efraim>try ,(string-append
<efraim>vii: https://git.sr.ht/~efraim/guix-config/tree/master/item/efraim-home.scm this is the home config I use on all the machines I use it on
<peanuts>"~efraim/guix-config (master): efraim-home.scm - sourcehut git" https://git.sr.ht/~efraim/guix-config/tree/master/item/efraim-home.scm
<apoorv569>Hmm? It thinks this is a list as well?
<apoorv569>Yes efraim I am already copying from your config already.. :D
<efraim>:)
<apoorv569>I think you shared a link before here for syncthing service type.
<efraim>I link to it every now and then
<apoorv569>Very nice config BTW, found lots of cool stuff to add to mine.
<apoorv569>Nope, still same error, Throw to key `match-error' with args `("match" "no matching pattern" ("HISTFILE" unquote (string-append (getenv "XDG_STATE_HOME") "/bash/history")))'.
<efraim>does your section start with a ` instead of a '?
<apoorv569>Yes.
<vii>efraim that's for home-environment? I was wondering about installing multiple old laptops etc (some are running nix now)
<apoorv569> https://0x0.st/H6Zq.txt
<efraim>vii: yeah, thats for guix home. I haven't tested it much on non-guix system machines but it's working well on my guix systems across different architectures
<vii>apoorv569 looks like a ' not a `
<apoorv569>I should ask this before another error, What does ` mean? I mean know I its called quasiquote, ' is quote and , is unquote.
<apoorv569>'() is (list ) or exact data..
<efraim>' means an atom (or sometimes a list) and ` and , switch between code and data
<apoorv569>Ah!
<apoorv569>Interesting.
<apoorv569>Why do we need ` when we using string-append or a if condition like I was trying to before.. is it like we create data then convert to code?
<vii>` is a way of making lists mixing constants and computed elements with convenient syntax
<apoorv569>OK, so when we need to do string interpolation etc we use ` and unquote the dynamic parts..
<apoorv569>Ah! Its because sections with , before are evaluated and added back to the ` part
<apoorv569>What about ,@ though? Whats this for?
<vii>that pastes in a list unwrapping the list, so it can expand to multiple elements
<futurile>Happy new year Guixers!
<apoorv569>I see. Learned something new today.
<efraim>rust-sys-info-0.9 doesn't support the hurd
<meorly>anything I can read on high level design and dos/donts of guix service definitions?
<simpleton123>Hi , if i do a `guix import crate ansi-term@0.12` i get an error. Why do i have to use a underscore instead of hyphen in such a case? Like: `guix import crate ansi_term@0.12` to get the desired result?
<efraim>because upstream decided to no longer redirect 'close enough' results
<jakef>is there much interest in upgrading guix's python to 3.11 or 3.12?
<simpleton123>efraim if you say upstream you refer to guix or to something crates.io related?
<efraim>simpleton123: crates.io
<dariqq>simpleton123: https://blog.rust-lang.org/2023/10/27/crates-io-non-canonical-downloads.html here is the announcement from a couple of months ago
<peanuts>"crates.io: Dropping support for non-canonical downloads | Rust Blog" https://blog.rust-lang.org/2023/10/27/crates-io-non-canonical-downloads.html
<simpleton123>efraim thanks.
<simpleton123>One of my `#:cargo-development-inputs` is insta. `guix import crate insta@1.34` seemed to have provided a correct output for `(define-public rust-insta-1` as 1.34.0 which i then provide. it is complaining that it can not choose a version for insta-1 although set as 1,34,0 .,.it says `error: failed to select a version for `insta ...... required by
<simpleton123>package.... versions that meet the requirements `^1.6.0` are: 1.28.0`.i allready tried setting 1.28 but no success
<simpleton123>Do i miss some manual setting?
<rekado>efraim: what do you think about recreating the cuirass database?
<rekado>see if that helps us
<efraim>can we keep the old one to switch back to if it doesn't make a difference?
<rekado>yes, that’s the plan
<efraim>sure, lets try it
<rekado>(I don’t know what I’m doing, though, so I’d have to read a little on how to make this happen)
<efraim>I'm not sure either, but off the top of my head it'd be stop the services, copy the stuff out of the way, start them again. but I don't know if we'd need to manually create the database before "first run"
<rekado>I’m running pg_dump to create a backup
<rekado>it’s a 16GB sql file
<efraim>that sounds bog
<efraim>big*
<efraim>did it take 30 minutes to dump?
<rekado>I didn’t time it, but it did take quite some time
<efraim>i wonder if its something we need to add an index on or if it's already there
<tsmish>simpleton123: Are you sure there aren't some messages before "failed to select" message that exclude insta-1.28? Like some package with upper bound lower than 1.28.
<lalebarde>The Guix documentaton for substitutes tells: "The public keys for each of the project maintained substitute servers are installed along with Guix, in prefix/share/guix/, where prefix is the installation prefix of Guix. ". How can I get "my" prefix please?
<rekado>lalebarde: ~/.config/guix/current/share/guix
<rekado>efraim: not sure. These queries are not so simple and we do have a bunch of indices: https://elephly.net/paste/1704196967.html
<peanuts>"untitled" https://elephly.net/paste/1704196967.html
<efraim>hmm, i have no idea. databases are way outside of my comfort zone
<efraim>all I have is https://www.postgresql.org/docs/current/maintenance.html, where REINDEX might help with btree indexes and there's always the vacuum option
<peanuts>"PostgreSQL: Documentation: 16: Chapter?25.?Routine Database Maintenance Tasks" https://www.postgresql.org/docs/current/maintenance.html
<simpleton123>tsmish just checked my logfile. There are some warning that ` warning: no binary for interpreter <perl| python etc> found in $PATH` ... and then the error refering to insta-1 with text "versions that meet the requirements `^1.6.0` are: 1.28.0" ...wondered what `^1.6.0` is refering to.
<rekado>efraim: reindexing now
<rekado>(with ‘REINDEX DATABASE CONCURRENTLY cuirass;’)
<dariqq>simpletion123: i think the error means that you need a version of insta between 1.6 and 2.0 which is odd since the latest is 1.34. Something does not seem right here.
<Franciman>there is this cargo (rust) project that has a lot of subprojects. If i want to package it, do you think i should package each subproject?
<Franciman>i don't think they are useful on their own
<efraim>Franciman: generally if they're all in the same repo and mentioned in the workspace section of Cargo.toml then you can treat the whole repo as one project
<Franciman>oh, that's the case indeed
<Franciman>nice!
<simpleton123>dariqq i already specified version as 1.28 but eror message does not change,.
<tsmish>simpleton123: ^1.6.0 is just "a version higher than 1.6.0, which major version (first number) is one), so 1.28.0 passes, but 2.0 doesn't (https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#caret-requirements). I guess pasting error logs could help.
<peanuts>"Specifying Dependencies - The Cargo Book" https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#caret-requirements
<jonsger>ACTION tries to make it to the Guix Days and the FOSDEM. Lets see
<tsmish>simpleton123: the latest version in guix repo seems to be 1.28, which I guess is getting pulled into your package by dependency. That is probably where 1.28 in error message is coming from.
<simpleton123>tsmish https://www.file.io/smn7/download/OYPiJm0hNjPe the complete output of drv
<tsmish>simpleton123: 'backtrace' feature was removed from insta in version 1.19.0 (https://github.com/mitsuhiko/insta/blob/master/CHANGELOG.md?plain=1#L141). In version 1.18.0 it was described as 'deprecated and unused', so maybe you can patch zellij to no longer require it (it should already be patched by upstream, because they also would have failed to build)
<peanuts>"insta/CHANGELOG.md at master ? mitsuhiko/insta ? GitHub" https://github.com/mitsuhiko/insta/blob/master/CHANGELOG.md?plain=1#L141
<tsmish>simpleton123: funnily enough backtrace feature is required on master in zellij and I can't find issues that reference it. Maybe cargo is smart enough to not get version higher than 1.18.2 because it knows the feature isn't there.
<simpleton123>tsmish spefified 1.18.2 now explicitely. ...let's what happens...
<dariqq>tsmish: Are you sure about that? I read the cargo docs https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#specifying-dependencies-from-crates io as ^1.6.0 means >=1.6.0 but <2.0.0. So it makes sense why 1.28.0 and 1.34.0 dont pass. But this does not explain how the project simpleton123 is trying to build somehow wants a version of insta that does not exist?
<peanuts>"Specifying Dependencies - The Cargo Book" https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#specifying-dependencies-from-crates
<rekado>reindex is done; there doesn’t seem to be a difference in the performance of db-get-pending-build
<simpleton123>dariqq intsa 1.34 is highest version. There is no <=2.0
<simpleton123>dariqq intsa 1.34 is highest version. There is no >=2.0
<tsmish>simpleton123: Just remove it from zellij Cargo.toml. It is provided by default now(https://github.com/mitsuhiko/insta/blob/be679e6f2abb928bedb0de52971ca9c3fb3af51f/src/lib.rs#L287)
<peanuts>"insta/src/lib.rs at be679e6f2abb928bedb0de52971ca9c3fb3af51f ? mitsuhiko/insta ? GitHub" https://github.com/mitsuhiko/insta/blob/be679e6f2abb928bedb0de52971ca9c3fb3af51f/src/lib.rs#L287
<tsmish>dariqq: 1.28.0 is >= 1.6.0 because 1 >= 1 and 28 >= 6. The error message is actually "the package `zellij` depends on `insta`, with features: `backtrace` but `insta` does not have these features."
<dariqq>tsmish: oh im dumb, youre right , i read 1.28.0 as 1.2.8 in my head and got confused
<simpleton123>tsmish thx...that was it. Have now different error message regarding wasmer but the insta-1 error is gone
<tsmish>simpleton123: you can also open the issue on upstream or even a pull request removing the feature requirement from Cargo.toml, considering it is deprecated and useless now. Write yourself into history.
<dariqq>sry for causing any confusion
<rekado>efraim: I VACUUM’d the db and now db-get-pending-build returns after about 1s
<rekado>there are now many more builds
<rekado>looks much better
<rekado>not perfect, but more than 7 builds at a time
<rekado>has anyone here tried to build emscripten? I’d need it to move a package from guix-science to guix proper.
<efraim>rekado: yay magic vacuum!
<rekado>something’s probably still wrong here because I still see too many idle workers, but it’s good enough to not worry too much about it now.
<fnat>I've found this quote about Lisp and it seems very relevant for Guix
<fnat> http://blog.jenkster.com/2012/12/lisp_quote_of_the_day.html
<peanuts>"Lisp Quote of the Day | Kris Jenkins' Blog" http://blog.jenkster.com/2012/12/lisp_quote_of_the_day.html
<fnat>tl
<fnat>tl;dr: "[...] Lisp is the language that pushes programs around"
<ieure>Does Guix have a solution for automated installs? I have a custom Debian installer with a preseed file that handles 99% of the installer questions, pretty much I boot it and enter the hostname and root password and it gives me a reasonable install.
<ieure>I'd like more or less the same thing with Guix -- provide a system configuration and have it automatically boot and install that.
<apteryx>weird, I just got 10 weeks old notifications from cuirass, for the qt-team branch
<rekado>huh, that is weird.
<rekado>maybe it finally got around to building these queued up jobs…?
<avv>How do I open a port on Guix? I can't seem to connect to my machine on LAN
<fnat>Anyone familiar with cloud-init and whether/how it works under Guix? I know a cloud-utils package is available, which makes it possible, for instance, to use resize2fs and similar utilities
<fnat>But is it possible to create a Guix image that can receive init instructions via cloud-init? I imagine that'd require a cloud-init service but there's no such a thing?
<rekado>fnat: unfortunately, there is no such thing
<rekado>but I’d be very happy if we could get a service like that
<reedm>Hi All, when I add a home service to Guix, are the dependencies supposed to be accessible to the user? For instance, if I add home-pipewire-service-type, it seems I need to explicitly also add pipewire to the home-environment packages to have access to the pipewire command. Is this the desired behavior?
<reedm>Also, is there a way to use home-pipewire-service-type with out dbus? the manual explicitly says that pipewire doesn't use dbus to start it's services, but guix wouldn't let me install it without having dbus first
<fnat>rekado: ok, excellent, thanks for confirming that - I'll look into this a bit further and see if I can come up with any idea
<rekado>reedm: what do you mean by ‘guix wouldn’t let me install it’?
<ieure>reedm, "the [pipewire] manual explicitly says that pipewire doesn't use dbus to start..." doesn't equal "pipewire doesn't use or depend on dbus."
<reedm>rekado: if I had home-pipewire-service-type but not home-dbus-service-type in my home config, I would get an error.
<ieure>Perhaps there's a variation of the pipewire package built without dbus?
<reedm>ieure: I meant the Guix manual. Agreed that it doesn't necessarily imply whether dbus is required, but it was a bit confusing
<futurile>reedm: I think this might be related to the way Guix thinks about dependencies, which is different to how other package managers do it. If something is an 'input' then it is referenced by the store location - so the pipewire service uses pipewire out of /gnu/store - it does not have to install pipewire the package into the environmetn for the user to use. You could see if other services also install
<futurile>a 'binary' for the user - to see if I'm on the right track here (or talking total garbage)
<efraim>rekado: is overdrive1 (10.0.0.3) trying to build anything? I can't ssh to that machine
<reedm>futurile: that makes sense
<podiki>Things are looking busier on Berlin at least
<podiki>Maybe I can finally merge mesa-updates soon...
<ekaitz>i just screwed up with git send email and i opened 3 issues for just one patch set
<ekaitz>ACTION rocks
<gnucode>hahaha. :)
<ekaitz>what can I do now?
<ekaitz>(:
<ieure>ekaitz, Close the 2nd and 3rd issues, send v2 of your patch to the original issue.
<rebiw>Is it possible to combine plain-file and local-file. I want to create a file from multiple pieces and the regular input\output functions don't seem to work when calling guix home.
<apoorv569>Do I do this, https://0x0.st/H6mr.txt or https://0x0.st/H6ms.txt ?
<apoorv569>If I wanna add multiple things in the bashrc..
<rebiw>I think that the bashrc field automatically concatenates multiple file-like objects.
<rebiw>I want to do the same using simple-service.
<Franciman>how does guix guarantee purely functional package management if gexps can contain arbitrary guile code?
<Franciman>can't i put side effects in the gexp for building a package?
<Franciman>like generating random numbers
<rebiw>I like how the bashrc and bash_profile fields  works. I want to replicate this behavior in simple-service.
<ekaitz>ieure: thanks! how do I close? just send close in the email body?
<ieure>ekaitz, I think so, not 100% sure. Debbugs is the software used for this stuff, so might want to find docs for that.
<ekaitz>does anyone here agree that this is a pretty unfriendly user interface? :)
<ieure>ekaitz, It's definitely overly complicated to open a patch series. I personally like systems that let me control them via email, most web UIs (what most people think of when they say "friendly") require switching context and waiting for gobs of unnecessary JavaScript to load.
<ekaitz>yep, i don't like websites either, but just sending a bunch of emails in a series should just work
<ekaitz>also, we don't appear to have any how-to on dealing with issues so... that's not very accessible either
<ekaitz>okay i sent the close message and it didn't close the issue
<ekaitz>ahha
<apteryx>is the build farm still slacking off, taking some holidays?
<apteryx>there seems to be a healthy backlog of builds, according to https://ci.guix.gnu.org/status
<peanuts>"Running builds" https://ci.guix.gnu.org/status
<apteryx>wow, almost 200000 queued builds, but it`s been going down for the last 2 days, so that's that
<apteryx>ekaitz: NNNNN-done@debbugs.gnu.org or NNNNN-close (the former will reply with the mail body, the later doesn't, IIRC)
<apteryx>hahaha, now I got some cuirass notification from: Thu, 01 Jan 1970 01:00:00 +0000 (54 years, 1 day, 6 hours ago)
<apteryx>rekado: I've reported the above bogus notifications to bug-guix with a [cuirass] tag
<apoorv569>rebiw: So https://0x0.st/H6ms.txt is fine?
<rebiw>apoorv569 No sorry, the bashrc field automatically concatenates the file-like objects. This is why it works.
<rebiw>It does not work for a regular simple-service field.
<apoorv569>I don't understand sorry. Can you show me a example of how I might add multiple things to the bashrc?
<rebiw>yes
<ekaitz>apteryx: done! thanks! that worked out, don't we have any guide on this?
<rebiw>apoorv569 https://paste.debian.net/1302822
<peanuts>"debian Pastezone" https://paste.debian.net/1302822
<ekaitz>also, what if I accidentally add that to a bug that I didn't open?
<apoorv569>rebiw: I see. using `plain-file` works the same?
<rebiw>yes
<rebiw>bashrc takes a list as the value.
<apoorv569>I see. Thanks!
<rebiw>no problem.
<apteryx>ekaitz: my prefered way to interact with the system for complicated tasks is via the emacs-debbugs package, but there's some doc here: https://debbugs.gnu.org/server-control.html. Note that only done and close can be used 'inline' when replying to the email address. Most command require you CC the control server email (GNU Debbugs <control@debbugs.gnu.org>) and place the commands at the top of the
<peanuts>"GNU bug system - control mail server commands" https://debbugs.gnu.org/server-control.html
<apteryx>body, stopping with 'quit' or 'thanks'
<apoorv569>I hope I'm right.. https://0x0.st/H6mA.txt
<apteryx>emacs-debbugs automates this; to close a bug you'd for example hit 'C', then select 'done', and hit enter.
<ekaitz>apteryx: I did that but it didn't work for me, probably did it wrong
<ekaitz>i'm not an emacs user sadly
<apteryx>did what exactly? :-)
<apteryx>the control server commands on top of the body thing?
<apteryx>if your bug number was e.g. 66666, that be: To: 66666@debbugs.gnu.org with CC: control@debbugs.gnu.org and in the body: close 66666\nquit\n
<peanuts>"30.0.50; Feedback on treesit-font-lock-level" https://issues.guix.gnu.org/66666
<apteryx>or for this simple case simply reply to 66666-done@debbugs.gnu.org
<rebiw>apoorv569 I would suggest that you use the list function. When you use the backquote the assumption is that you are unquoting stuff in your list.
<apoorv569>But I am unquoteing stuff..
<apoorv569>I suppose the `(string-append` and `(plain-file` needs to be unquoted?
<rebiw>I meant that you are mixing quoted and unquoted elements. The list function is convenient if all the elements are evaluated.
<rekado>think of it as a toggle switch. ‘`’ means ‘data mode’, while ‘,’ means ‘code mode’. Everything that should be evaluated must be in code mode.
<avv>After creating a <shepherd-service>, how do I add that to my list of services? I've been sifting through the manual for nearly an hour but I'm still lost :sob:
<rebiw>shepherd root load <path to service> . I think
<avv>Unfortunately I need it in my config.scm file, not through the command line
<rebiw>You mean when shepherd is started?
<avv>On one page in the manual it says I need to "extend the shepherd-root-service-type" and literally gives me a link to the same manual page.
<avv>Im going insane
<avv>rebiw: on system startup
<avv>like ssh-daemon
<rebiw>I have used shepherd very little. Are you using guix system or a foreign distro?
<avv>I'm using the system
<avv>I want to edit the system configuration file and have it generate the system for me
<avv>That's why I need the service registered in the config.scm
<avv>Idk how though
<ekaitz>apteryx: i forgot the quit heheh :)
<rebiw>I would suggest to try and load the service manually using the command line. Then try to put it in the config file.
<rebiw>But I haven't used guix system, only shepherd on a foreign distro.
<avv>Okay I'll see
<avv>Yeah it's only something you'd do if you use the system
<apoorv569>rebiw: I think I know what you mean, almost all I added to bashrc is to be evaluated to there is no need for me to the `
<apoorv569>right?
<apoorv569>so*
<rebiw>Yes all the elements are evaluated
<rebiw>but I understand that most guix home elements use `.
<apoorv569>Yes, I copied that from somewhere else..
<rebiw>For convenience It is probably easy to copy and paste, but reading the code it is easier to understand a list function.
<apoorv569> https://0x0.st/H6a8.txt should be correct now..
<apoorv569>Yes, I only today understood what ` , ' and all mean.
<rebiw>Yes I can read that at first glance.
<rebiw>When you use ` I start to read the code differently.
<apoorv569>I see.
<rebiw>I still think that you need the list function, does it work just using a quote?
<apoorv569>I think '() and (list ) are identical?
<apoorv569>no?
<rebiw>no
<ieure>They both result in a list, but (list ...) evaluates its arguments.
<ieure>(list (+ 1 2)) ; => '(3)
<ieure>'((+ 1 2)) ; => '((+ 1 2))
<rebiw>list explicitly evaluates all the arguments.
<rebiw>This is why you don't see it that often.
<apoorv569>I see.
<lilyp>Franciman: fun fact, if you put in random number generation, you will get a different drv each time
<lilyp>We had a very fun bug once where we relied on pointers being pointers :)
<Franciman>oh nice
<apoorv569> https://0x0.st/H6au.txt I hope this is finally right..
<rebiw>seems right. You can try it using the container option.
<apoorv569>OK.
<rebiw>Is it possible to combine local-file or plain-file into a single file-like object??
<rebiw>mixed-text-file  is the closest thing I found but it creates a "computed object"
<lilyp>computed objects are file-like
<rebiw>I cant use them in place of file-like objects in guix home.
<lilyp>ahem, should be computed-file
<rebiw>the bashrc field uses this to combine file-like objects:
<rebiw> https://paste.debian.net/1302829/
<peanuts>"debian Pastezone" https://paste.debian.net/1302829
<lilyp>not an expert on guix home, but have you tried gexping your mixed-text-file?
<rebiw>Yes I'm not familiar enough with gexp.
<rebiw>I guess that I could try to manually create a file-like object.
<apoorv569>It works as expected in container.
<rebiw>I just tried different combinations of ungexping and using (gexp), without understanding the fundamentals. I guess I really need to understand gexps.
<rebiw>apoorv569 Great.I want that same behavior in  home-files-service-type ,  it is very convenient don't you think.
<apoorv569>What do you mean same behavior in home-files-service-type?
<apoorv569>It is indeed convenient.
<apoorv569>At first I avoided it because I was like I will keep managing these files how I have beeing doing for so long (dotfiles) git repo.
<rebiw>The possibility of combining file-like objects. home-bash-configuration does that automatically
<apoorv569>But I see the power using this, for me the most useful is conditionally setting something.
<apoorv569>like gpg-agent.conf can have different pinentry program path depending on if using guix or not..
<rebiw>exactly, programmatically creating your files.
<apoorv569>rebiw: I see. home-files-service-type takes second arg as file-like no?
<rebiw>It takes a list of (name  file-like) pairs.
<rebiw>So in that second field, the file-like I want to insert a "compound" file-like thing.
<apoorv569>Yes, why do you say you want the same behavior then? Did you meant you want to move to using home-files-service-type for other configs?
<apoorv569>Sorry if I'm not understanding, I'm heavily focused on my config :|
<rebiw>The bashrc  field of home-bash-configuration can be configured using multiple file-like objects.
<rebiw>Lets say you have a tmux config. You can't configure it the same way.
<apoorv569>Ah! I see what you mean.
<rebiw>You can only use one local-file or plain-file statement.
<rebiw>the granularity is not the same.
<apoorv569>There surely is a way for now to overcome this?
<apoorv569>For now..
<rebiw>Since the file-like thing is not a gexp per se. I'm having a hard time grasping how to create them. I need to understand the complete gexp pipeline I guess.
<apoorv569>Hmm.. I far from understand that ATM. Still learning basics of lips.
<apoorv569>Can ask what use case do you have for that? Maybe I can take some inspiration from that.
<apoorv569>I*
<rebiw>for instance you can have different themes  and pick one at config time.
<rebiw>Or have "minimal configurations"  for different apps.
<avv>Why, when I mount my partitions using (file-system ...) in my config, are they mounted as read-only and only the root user can access them
<apoorv569>lol I said lips.. lisp*
<apoorv569>I see.
<avv>I tried setting the user and rw option, but it just breaks my system at bootup, telling me those options do not exist
<avv>theres nothing in the manual
<avv>i literally mount them by hand
<avv>but that wont cut it
<avv>:sob:
<bumble>avv: does the file-system definition for the device you are mounting include this? `(options "rw,noauto,user")`?
<avv>no, but only because when I add them, my system won't boot up
<avv>they're also NTFS partitions if that matters
<avv>oh wait
<bumble>`(create-mount-point? #t) (mount? #f)`
<avv>I use the ntfs-3g package and have it in my packages list
<avv>why should mount? be #f?
<bumble>disable auto-mount of the device on boot, then after you are booted do something like (as user) `mount /mnt/usb` and if there are error messages you can see those and resolve them
<bumble>after things are working, then re-enable auto-mounting if you want that
<avv>oh okay! thanks
<avv>I'll reboot now
<bumble>👍
<apteryx>janneke: is xz needed in our bootstrap binaries just for our own generated archives?
<apteryx>can we replace it easily with zstd? I've replaced xz everywhere else, now trying to build and it fails building Python 3.5.9 (python-boot0) because zstd is not in our bootstrap binaries
<apteryx>I could fallback to xz, but this muddies the repacking logic a bit, which I'd like to avoid.
<vagrantc>is zstd more bootstrappable than zstd?
<vagrantc>er, xz :)
<apteryx>not sure, but probably as bootstrappable. it's written in C
<vagrantc>ACTION vaguely recalls some specific versions of upstreams only shipped .xz source tarballs
<apteryx>one motivation: xz uses 510 MiB of memory to create our linux-libre archive, zstd uses 77 MiB :-)
<vagrantc>in some gnu toolchain piece ... though they started shipping both versions after janneke asked
<vagrantc>apteryx: is that needed early in the bootstrap?
<apteryx>not really, but bootstrap reuses the logic in (guix packages) such as patch-and-repack, so there's value keeping things uniform
<vagrantc>ah.
<apteryx>bah, I've rewired things a bit, it's not a big deal
<apteryx>I'll fallback to xz
<apteryx>single threaded xz but it's just for a few packages