IRC channel logs

2025-05-27.log

back to list of logs

<Tadhgmister>`local-file` copies the file to the gnu/store, is there any way to avoid doing that?
<Tadhgmister>I tried the relatively new `symlink-to` but because the build daemon works in a chroot environment or otherwise isolated place it doesn't have access to the original file
<Tadhgmister>I just want a hardlink that disconnects if one gets edited
<Tadhgmister>my goal is to have a folder of jxl images that are highly compressed but not easily readable and have some guile code that defines a bunch of computed files for the decoded jpg files so they can be computed as needed but I'd really like to avoid having to duplicate the entire folder contents into the guix store if I can help it
<pinoaffe>Tadhgmister: that is not possible
<lfam>When trying to push to codeberg: ".git/hooks/pre-push: 41: Syntax error: ";" unexpected
<lfam>"
<lfam>Am I holding it wrong? Or is it a bug?
<lfam>Maybe the hook only supports Bash right now or something like that (I'm using zsh)
<lfam>That line of the hook does include something I don't understand
<lfam>;&
<lfam>I'm not familiar with that in Unix shell
<lfam>When creating a pull request with agit, how do I set the remote branch name?
<lfam>This worked: `git push origin HEAD:refs/for/master/$BRANCH_NAME [...]`
<lfam>Nifty
<lfam>Oh, maybe it didn't work
<lfam>Who knows
<lfam>I made a pull request about the Git hook: <https://codeberg.org/guix/guix/pulls/64>
<lfam>It would be great to get some eyes on it, because I simply don't understand the shell hieroglyphs that I've removed, and apparently it was tested by other people before being deployed.
<apteryx>sneek later tell civodul re add-muon branch: I did not, I was trying out the Agit flow doc of Codeberg ;-)
<sneek>Will do.
<apteryx>but I will push it anew to have it built by berlin now
<lfam>Hey apteryx, how's the new workflow?
<apteryx>haven't tried everything, but at least creating and updating PRs is relatively easy (some arcane git command to run, ala gerrit)
<lfam>I have successfully created some PRs, that's nice
<lfam>I guess that working with PRs will come later
<apteryx>you need to use '-o force-push' when updating a PR
<lfam>I'm curious, is the Git pre-push hook still working for you? It's crashing for me
<apteryx>which is odd when push has --force itself, but it works
<lfam>Git is a maze. A nice maze, but it is a maze
<apteryx>I think it does? I pushed a commit moments ago
<apteryx>the '-o push-force' thing is clearly agit bolted-on-top something though
<lfam>The hook crashes for me: <https://codeberg.org/guix/guix/pulls/10#issuecomment-4878936>
<lfam>I know that Bash can match multiple conditions using the ;;& syntax, but we've done something else apparently
<lfam>I'm testing some things now, but I think we intend to keep this script portable. Maybe at the cost of being terse
<apteryx>lfam: what if you use '#!/usr/bin/env bash' as the shebang?
<apteryx>&; is bash-specific (also in ksh)
<lfam>It's ;&
<lfam>Is that what you meant?
<lfam>I see that have both ;& and ;;&. Good to know!
<lfam>But it's not going to work in Posix which is what we are targeting with #!/bin/sh
<lfam>I could try to wrap my head around the differences between these operators but I think we just need to have two separate cases
<lfam>Good news, Posix added ;& in version 8 of the spec, from 2024: https://pubs.opengroup.org/onlinepubs/9799919799/utilities/V3_chap02.html#tag_19_09_04_05
<lfam>I guess my Debian's dash hasn't got it yet
<meaty>any rust people here? I've run into a snag where a package's Cargo.lock names a git snapshot of the source for a dep, and it *does* get imported and put into the main package's inputs, but still guix acts like it isn't there...
<RavenJoad>I am using texlive-scheme-full for my systems because I have to compile a lot of LaTeX from all over the place. But the texlive-scheme-* packages don't union the constituent texlive packages' doc output. This means "texdoc hyperref" cannot find the documentation PDF because the share/texmf-dist/doc/latex directory is missing. Is there any effort to bring those into the collection/scheme packages at some point?
<Tadhgmister>RavenJoad That might be fixable with native search paths, like how packages define man pages but unless you include man-db package the native search paths for manual doesn't work
<Tadhgmister>In the context of running guix shell and using man from base system
<Tadhgmister>or if texdoc doesn't support a list of paths there is probably no consideration right now to get a union of all the documentation into one place because generally we can use native-search-path to fix that particular issue
<Tadhgmister>* to fix that issue in most cases so not much handling to do automatic unions of a bunch of installed packages which would generally be awkward with the way guix does packages
<Hamled>If I'm using a list of channels which are pinned to a specific revision, is there a recommended way to use guix to update the pinned revisions in the list (e.g. to HEAD of some branch)?
<hako>meaty: I gave you instruction yesterday: https://logs.guix.gnu.org/guix/2025-05-26.log#125749
<hako>hmmmm forgot to add popd
<meaty>hako: oh, thanks, i missed that. but my trouble is something else now[1] were you able to get typst to build with that method? Sorry to make you go through the trouble
<meaty>hako: [1] The build is failing because it cannot find the "typst-dev-assets" dep, even though it's been imported and put in typst's dependency list
<hako>packaging with git snapshot dependencies requires more steps
<hako>you'll need to edit Cargo.toml first
<meaty>hako: the Cargo.toml of the tagged typst version actually a git tag of the typst-dev-assets repository though
<meaty>let me look at the cookbook patch
<meaty>I see, so just replace { git = "...", tag = "v0.13.1" } with { version = "0.13.1" } and that will make it look for a package instead of trying to pull from git
<hako>wait a minute, I'm looking at packaging from the git source
<hako>meaty: Yes, that should do the work
<hako>meaty: https://paste.sr.ht/~hako/1cb1132288d64c57fc34c60d15dff6d53e6e50e1
<hako>For the actual package, the snippet should be put into phases to make the result of `guix build --source` usable
<meaty>hako: what's up with the double ' on #:cargo-install-paths
<hako>quoting the list passing to build side
<meaty>and why specify it? I was thinking keep them all enabled and use outputs, so that the components are available for stuff like https://gitlab.gnome.org/JanGernert/typewriter
<hako>it's required for enabling the Cargo workspace
<hako>support
<meaty>oh
<meaty>Should I still split each crate into its own commit, considering that each crate def is smaller now and we have the forge? Does that change anything?
<meaty>There is no tempel template for rust crate definitions, and there are 57 of them, so I'll just lump them into the same commit as typst itself for now
<nico_>I prepared a package for the photo.scm module. How can I add it locally to test it, before contributing upstream?
<meaty>nico_: try ./pre-inst-env guix shell $package
<nico_>I'm on Guix system. How would that work? pre-inst-env is not known in my directory. Also the package is currently a separate scm file. I think I need more info on the generic approach of modifying the photo.scm file on my system.
<meaty>How have you prepared your package? have you edited it into a checkout of guix?
<meaty>or is it in a loose file?
<nico_>In a seperate file. Now I want to incoporate it into the photo.scm module and make sure it works, before committing upstream.
<nico_> https://guix.gnu.org/manual/en/html_node/Invoking-guix-edit.html I can call 'guix edit' but that is uneditable.
<meaty>I see. I would look through section 22 "Contributing" of the guix manual, which describes how to pull down an editable copy of the Guix source code/package repo and how to run it in-place
<meaty>Once you have a local checkout configured, you can add your package and make sure it works with the ./pre-int-env script which will be generated
<meaty>yeah, 'guix edit' is a bit of a misnomer
<meaty>I'm not sure if there's any possible configuration in which 'guix edit' actually leads you to a file you can edit
<nico_>Thanks, now I understand how to proceed.
<meaty>np!
<mange>I think "./pre-int-env guix edit $package" should take you to an editable file.
<nico_>Thanks
<meaty>Thanks
<nico_>meaty: I now have a local git-based setup with a pure shell. But how do I then install the package? https://guix.gnu.org/manual/en/html_node/Building-from-Git.html
<meaty>nico_: you mean the package you wrote? Go to photo.scm and insert your package definition into the file. If there are no errors with it, it shoud appear when you run ./pre-inst-env guix show $package
<meaty>have you compiled guix already?
<nico_>./pre-inst-env doesn't work. Now trying ./bootstrap
<meaty>yes, i forgot to mention that guix needs to be configured at least once (and i think compiled too
<meaty>) for ./pre-inst-env to work
<ruther>it doesn't need to be compiled as long as you are in at least a pure shell. Otherwise your system guix will shadow the one from pre inst env
<meaty>is there a way to get the git commit of a package source?
<ruther>meaty: not by default as the git-fetch will remove .git folder
<ruther>you would need a custom fetcher that would save it
<meaty>ruther: dang. So this package can encode the commit hash it was compiled from into itself (for --version) from an environment variable at build time. Should I just leave it at "(unknown hash)" then or set it to something like "guix edition"
<nico_>Now running ./configure and make. Am I doing this correctly, or can a prevent rebuilding guix when I only want to test a package module.
<ruther>meaty: I think most common solution is to read the commit hash manually when you're packaging it and use that
<ruther>nico_: you don't have to make as long as you're at least in pure shell
<ruther>nico_: configure is required once until dependencies are updated, you definitely do not need to run it on every change you do to guix
<meaty>ruther: but then maintainers have to remember to update it... I mean, the version tag is encoded in anyways, so perhaps it is best to leave it unset and leave a comment about it for if we ever have to use a git snapshot of it? Better than risking users filing bugs with mismatched version and hashes right?
<nico_>Then how do I install the package to test it? Guix is not available on the path in the pure shell. Or should I pass it as an argument to the guix shell?
<ruther>nico_: no, that would use your user/system guix. Use the one from pre inst env
<nico_>I get an error:
<nico_>nico@megastructure ~/Documents/software/guix [env]$ ./pre-inst-env guix build ansel
<nico_>./pre-inst-env: line 55: exec: guix: cannot execute: Is a directory
<nico_>So now trying 'make'
<nico_>My proposed change is here (my first package and first contribution): https://codeberg.org/nicorikken/guix/commit/b83799533a387133511e8082591893fe22fc1945
<mange>Can you try "./pre-inst-env scripts/guix build ansel"?
<ruther>nico_: so scripts/guix is missing then for you. I think it should be crated on bootstrap, but I am not completely sure.
<nico_>Shell autocompletes to scripts/guix.in
<ruther>okay, it's actually created by make, so you need to make it once, no need to compile everything, make scripts/guix suffices for that. Not sure what else can be needed for the first time though
<nico_>running make on scripts/guix and guile (was also necessary) seems to work. Some warnings still and no indication of progress
<apteryx>finally: guix graph: error: no path from 'gnome@46.10' to 'python2@2.7.18'
<meaty>I wonder if there's a computationally realistic way to generate and browse/serve a Giant Guix Graph of Everything
<nico_>Seems ansel dependency tree is resolved. Downloading 300MB of dependencies now.
<azv4l>Heyyy, I seem to have an issue with podman, when I connect to my guix server, the $XDG_RUNTIME_DIR get created, I create my podman container, then disconnect, but then that directory is removed which make my podman container just crashes
<azv4l>I dont seem to have that issue with docker, but I would like to use podman
<ruther>nico_: I don't know what you mean by no indication of progress. When you do not build the scheme files, you need to wait for the evaluation that takes ages.
<ruther>azv4l: that is normal behavior of elogind, you need to enable linger for your user to allow processes run after you log out.
<azv4l>would you have a link or an "easy" explanation on how I can do that ?
<ruther> https://manpages.debian.org/testing/systemd/loginctl.1.en.html
<azv4l>thank you !!
<efraim>I'm still getting used to using the codeberg webui for more than 1 or 2 issues/pull requests at a time but I'm loving the speed and pairing it with qutebrowser for vim hotkeys
<apteryx>is there a way to hide others' comment when reviewing a diff?
<apteryx>doesn't look like.
<apteryx>(not in the review view, at least)
<civodul>ACTION doing as much as possible in fj.el
<civodul>i guess i should go ahead with https://issues.guix.gnu.org/78568 ?
<sneek>civodul, you have 1 message!
<sneek>civodul, apteryx says: re add-muon branch: I did not, I was trying out the Agit flow doc of Codeberg ;-)
<civodul>oh
<civodul>but hmm, it normally doesn’t show up in the main ref namespace, right?
<apteryx>yeah, the initial attempts did not go too well. But I have to create the branch anyway now because I want a cuirass job spec for it on berlin
<apteryx>civodul: let me try having another look at that one; I ran out of steam looking at it yesterday
<janneke>ACTION tries M-x fj-update-repo and gets "Wrong type argument: stringp, nil"
<janneke>there doesn't seem to be an info page installed, and the code seems to only have some docstrings
<csantosb>Hi Guix ! I wonder how to compare v1, v2, ... of contributions to codeberg (I amend and force push, so previous gets lost, right ?)
<hako>csantosb: There's no revision information, but commits are stored, so you have to compare commits.
<civodul>janneke: never tried M-x fj-update-repo :-) maybe try M-x fj-list-pulls or M-x fj-list-repos?
<csantosb>hako: where ? I only see c408cbb942 * python-cocotb pulls/pr/56 gnu: Add python-cocotb (which is a v2)
<hako>Commits are stored in the repository, there's compare in web interface
<ruther>ACTION wondering if forgejo exposes this information in API as well, not just in web interface. Then it would be possible to make a utility to compare the versions
<janneke>civodul: thanks, after entering "https://codeberg.org/guix" i now get Contacting host: codeberg.org:443
<janneke>fedi-http--process-response: 404 page not found
<janneke>ACTION wonders why there seems to be hardly any documentation at all for [emacs-]fj.el
<hako>I think comparision of these commits would contain too much noise. There's no way to get clean revisions like email-based workflow.
<csantosb>hako: I guess the way to go is keeping everything local in your repo; branching, tagging and the like, so that you may follow increasing versions.
<ruther>hako: would it? You can always compare the contents of the two commits, the one that was head of branch and the one that currently is
<janneke>ACTION seems to be making progress... fedi-http--get: I am Error. Request borked. Bad url: codeberg.ong/api/v1/repos//git/
<janneke>possibly the https:// prefix is needed after all?
<janneke>hmm, that gives fedi-http--get: I am Error. Request borked. codeberg.ong/443 Name or service not known
<janneke>oh my, codberg.oNg
<janneke>Contacting host: codeberg.org:443
<janneke>if: I am Error: The target couldn't be found. Endpoint: repos/guix/guix.git/
<apteryx>would anyone know a nice email provider that supports custom hostnames and setting email aliases or even mailing lists?
<civodul>janneke: ah! rough on the edges, it seems
<civodul>hmm lemme see
<civodul>janneke: in my .git/config for Guix, i have the Codeberg remote with: url = git@codeberg.org:guix/guix.git
<civodul>M-x fj-list-pulls works after that
<civodul>(i think it doesn’t work if there’s an http URL instead)
<janneke>ACTION has the ssh:// prefix, removing that
<civodul>right
<civodul>fj.el is still new so it’s not battle-tested but if you cajole it, it’s pretty nice
<civodul>(and upstream is nice and responsive)
<janneke>civodul: yay, removing the ssh:// prefix did it, after (setq fj-host "https://codeberg.org" f-user "janneke" fj-token "cabba9exxx")
<civodul>wo0t!
<civodul>lemme know how it goes
<janneke>ACTION adds to .git/config
<janneke>[remote "pulls"]
<janneke> url = git@codeberg.org:guix/guix.git
<janneke> fetch = +refs/pull/*/head:refs/remotes/pulls/pr/*
<K0nrad>Sorry, but I'm stymied. I get an error that I totally don't understand: I do guix system reconfigure /etc/config.scm and I'm getting back: /etc/config.scm:16:0: error: bash:: invalid field specifier
<K0nrad>(I'm a total noob at this.)
<janneke>and `git fetch pulls'
<K0nrad>(In case that wasn't apparent.)
<janneke>K0nrad: can you share your config.scm? (paste.debian.net)
<janneke>civodul: is there integration yet between fj-list-pulls xx and magit l[ist] o[ther] pulls/pr/xx?
<K0nrad>janneke: Of course. Thank you. https://paste.debian.net/1376849
<identity>janneke: i think fj.el's README says it does not interact with magit in any way
<identity>K0nrad: remove the 33rd line
<janneke>identity: there's a README somewhere?
<identity>janneke: <https://codeberg.org/martianh/fj.el>
<K0nrad>identity: Oh, wow. Thanks. Yeah. Now that you point it out, is /is/ hard to miss, actually.
<janneke>identity: oh wow, there is /some/ documentation, it's just not in info or packaged. hmm
<janneke>thanks!
<janneke>this is going to help :)
<janneke>someone will need to contribute info doc i guess
<civodul>janneke: there’s no integration with Magit; for that you could try the Magit-Forge branch of pinoaffe
<civodul>(haven’t tried yet)
<civodul>see https://guix.gnu.org/blog/2025/migrating-to-codeberg/
<janneke>yeah, okay -- not sure if i'd want to do everything from withing magit eihter..dunno
<janneke>so, i found fj-list-issues and fj-list-pulls and am wondering, what is the difference between an issue and a pull request? a pull request does not seem to have a "discussion"? but the number of both seem to match with pulls/pr/xx
<ruther>janneke: it is like difference between bug-guix and guix-patches mailing lists. One is for discussing issues the other is for submitting fixes and improvements
<ruther>both have a discussion
<ruther>janneke: the numbering is same mostly to prevent confusion I suppose. Having two #123 for one repo both with different meaning would get out of hand quickly. You would have trouble referencing them
<janneke>ruther, okay that makes sense; guess it's just a coincidence than that currenly none of the 31 open pulls has more than one message yet?
<ruther>janneke: they definitely do have messages
<janneke>i'm wondering how one issue could have differenc versions of pull requests v0 v1..etc, or even patches (pull-requests) suggested by others?
<ruther>janneke: there isn't really v0, v1, you just force push to update. Codeberg will say what was the previous commit at least in web interface though
<janneke>OK
<ruther>janneke: only owner and potentially maintainers can change pr code, so you need to create a new one
<ruther>if you want to suggest a different approach
<Guest27>Hi,
<Guest27>is ungoogled-chromium  abandoned ? Latest version is on 112.0.5615.165-1 :-(
<csantosb>ruther: you can always attach a patch along with your comments to an issue, I guess
<janneke>civodul: i don't seem to get discussions with fj-list-pulls, i'm seeing only a single message? the fj-list-issues list shows the discussion
<ruther>csantosb: sure, but it's not really a supported use case. That one is to make a new pr and reference the issue, then you will see the pr in the issue
<cricri>\q
<identity>Guest27: the package was not updated in a while it seems
<Guest27>Are there more recent alternatives except icecat ?
<identity>Guest27: there are also mullvad browser and tor browser, both firefox-based
<ruther>Guest27: yes, librewolf
<Guest27>The reason why i used chromium based browser was app.element.io - worked several years without problems - unfortunately suddenly it stopped working with the version in guix ...
<pinoaffe>Guest27: still works for me in librewolf
<Guest27>OK, so i should give librewolf a try :-) Thank you !
<janneke>git fetch
<janneke>fatal: 'git@codeberg.org/guix/guix.git' does not appear to be a git repository
<janneke>huh? to be able to fetch i need ssh:// prefix, for fj.el i need to drop it?
<janneke>ah, the / needs to be a colon: url = git@codeberg.org:guix/guix.git; then it works for both
<janneke>it's amazing!
<tusharhero>is the fj.el the best currently?
<identity>tusharhero: there is also <https://github.com/pinoaffe/forge/tree/forgejo-support>, no idea which one is 'better', but if you use magit forge you probably want this instead of fj.el
<tusharhero>identity: how do you install fj.el?
<identity>tusharhero: if you use guix, the package name is emacs-fj
<csantosb>Remember there is also cli alternatives
<apteryx>oh wow, I can force-push to a team branch now, without deleting it first. moderniceties.
<apteryx>s/team branch/feature branch/
<janneke>nice
<apteryx>Guest27: at this point ungoogled-chromium looks abandoned in Guix, yes
<apteryx>mbakke used to take care of it, but they haven't been around for some time
<apteryx>it has tens if not hundreds of unpatched CVEs
<tusharhero>thank you identity, got it working :D
<apteryx>hm, did all the tls certs to admin cuirass on berlin stopped working?
<apteryx>mine had expired, I made a new one, but getting a 403 trying to register a job
<jlicht>hey guix, I'm looking for some vici^W additional folks wanting to help shepherd things along in the javascript-team. Anyone interested?
<jlicht>s/vici/victi, but oh well
<janneke>okay, showing multiple comments seems to be fixed in upstream fj.el
<janneke>(for pull requests)
<tusharhero>the package seems to be very buggy
<tusharhero>I cannot see my comments after I've posted them
<janneke>tusharhero: are you using latest git?
<janneke>ACTION hasn't tried/dared to post comments
<tusharhero>janneke: yup
<tusharhero>I can see the comments on the web interface
<tusharhero>but not in fj.el
<janneke>tusharhero: pull request or issue, and number?
<janneke>i understand it's early times and i guess a bug report would be appreciated?
<tusharhero>janneke: You want me to share the issue where I posted? I posted it on another repository https://codeberg.org/divyaranjan/emacs-reader/issues/34#issuecomment-4883082
<tusharhero>Do tell me if you are able to see it on fj.el
<janneke>ah, hmm, /me would have to figure out how to look at other repos than guix :)
<tusharhero> https://codeberg.org/martianh/fj.el/issues/23
<tusharhero>I guess this is an old issue.
<janneke>when i do C-u M-x fj-list-issues and enter divyaranjan/emacs-reader for remo, it says: Contacting host: codeberg.org:443 fedi-http--process-response: 404 page not found
<janneke>*repo
<janneke>ACTION just finds that unsetting Enable ResistFingerprinting fixes the timezone in librewolf
<janneke>ACTION never found how to fix the timezone in icecat, tho, but that seems out of date in guix anyway, so better try to switch?
<janneke>now to find what blocks the displaying of QR codes here, sigh
<apteryx>janneke: out of date? It tracks ESR.
<jlicht>janneke: I believe it's a resist-fingerprinting thing
<apteryx>resist-fingerprinting returns UTC as timezone by default
<apteryx>by design, even
<apteryx>the one thing that is broken in icecat is that it doesn't honor the /etc/timezone of the user even with fingerprinting off
<janneke>i can see how that helps against fingerprinting, but it makes using it impossible
<apteryx>I had investigated that at lenght at some point; it's an issue in firefox that is only uncovered with the configuration of icecat
<janneke>apteryx: i just upgraded to 115.23.1esr, but the element app refuses to load
<andreas-e>apteryx: No, it is out of date - we are at 115 from July 2023, and there is 128 from July 2024.
<jlicht>janneke: not sure if it helps, but https://support.mozilla.org/en-US/questions/1426184 lists how to disable just the tz stuff
<andreas-e>So probably soon 141 from July 2025.
<apteryx>andreas-e: oh, OK. I thought I saw some commits from mhweaver recently, so I assumed they were still keeping it up to date
<janneke>jlicht: thanks, and oh my...
<jlicht>last icecat security fixes were pushed to master 1 week ago, so that's something at least \o/
<apteryx>janneke: for the record, the issue I'm talking about is bug#59368
<peanuts>"icecat does not honor /etc/timezone starting with 102.3.0." https://issues.guix.gnu.org/59368
<janneke>apteryx: right
<janneke>ACTION wishes for better defaults and easier computers
<apteryx>civodul: are you still able to create job specs on berlin? I'm getting 403, even with a freshly minted cert
<apteryx>I don't understand what that is so
<apteryx>why*
<apteryx>ACTION reads guix-maintenance logs
<apteryx>oh, guix-maintenance is still on savannah and will remain there, right?
<andreas-e>apteryx, jlicht: It is possible that icecat/firefox 115 still receives security updates, so I am not claiming we ship an insecure browser. But icecat is getting behind the current ltr firefox version. And I have seen websites complain about an old browser.
<apteryx>ah, it's now at https://codeberg.org/guix/maintenance, thanks README
<andreas-e>apteryx: maintenance is here: ssh://git@codeberg.org/guix/maintenance.git
<apteryx>yep, thanks!
<ngz>Hello. I have an issue using Agit workflow. I’m using the following git alias pr-push = "!f() { branch=$1; shift; git push origin-ssh HEAD:refs/for/$branch/$(git branch --show-current) -o force-push=true $@; }; f". I added a commit on top of master in my local clone. I used this alias, and it created a new PR: XXX. So far so good. I then hard-reset my master, added another commit on top of it, and called again that alias. It added the
<ngz>patch to the PR XXX instead of creating a new one.
<ngz>So, somehow, my master branch is now associated to PR XXX. How can I create new PRs. Am I expected to create a new local branch for each PR?
<civodul>ngz: hi! ‘-o force-push=true’ means that you amend the PR specified by refs/for/$branch
<civodul>if you want to create a new PR, you need to pick a different name and remove ‘-o force-push=true’
<civodul>see the example at https://codeberg.org/guix/guix-consensus-documents/src/branch/main/002-codeberg.md#user-interfaces
<civodul>it’s the ‘-o topic=xyz’ bit that identifies the PR
<meaty> https://forgejo.org/docs/latest/user/agit-support/ is also a very good guide, it's what I used
<civodul>apteryx: re jobsets, i use ‘ssh -L 8081:localhost:8081 berlin’ when i want to create one :-)
<civodul>apteryx: out of curiosity, did you see the messages saying that migration was complete?
<jlicht>do folks have some cool scripts to do AGit from the comfort of magit?
<apteryx>yes! I just wasn't sure about that odd maintenance repo
<meaty>jlicht: I was just thinking about that
<janneke>civodul: me figures that the HEAD:refs/for/main needs to be HEAD:refs/for/master (or possibly HEAD:refs/for/hurd-team or somesuch)
<apteryx>I had forgotten you tunneled through SSH instead of using the proxy!
<apteryx>err, s/proxy/tls client certificate/
<apteryx>is anyone using one (a ci.guix.gnu.org tls client) successfully at the moment?
<civodul>apteryx: alright, i’m always wondering about the communication strategy in such a situation (is it efficient, does it reach all the interested parties, etc.)
<janneke>creating a pull request via this git command line could be even much less cumbersome than via debbugs
<civodul>jlicht: a Git alias to create pull requests with AGit is being discussed at https://codeberg.org/guix/guix/issues/40#issuecomment-4883553
<civodul>could be handy
<apteryx>civodul: mail is most appropriate for this I'd say, so you did well :-)
<jlicht>civodul: Ah I'm clearly missing out on all the fun discussions happening on the issue tracker. Time to form some new habits :)
<andreas-e>apteryx: Depending on what you call "now", I did use the certificate a few weeks ago for creating a new CI job.
<janneke>tusharhero: /me just adds a comment to https://codeberg.org/guix/guix/issues/40 and it directly shows up in my fj-list-issues
<janneke>too bad that the "<file-name>" bits in my comment got eaten
<janneke>:-/
<bdju>The devel manual page is loading very slowly today. I think it's not loading all the css either.
<ngz>civodul: Thanks. So force-push=true is OK as long as I provide a different topic for every new PR? If so maybe issue 40 should mention it.
<apteryx>it's sad, the only cli tool I found to ease agit-flow has been 'archived': https://github.com/alibaba/git-repo-go
<apteryx>without a successor, it seems
<janneke>html sux0RZ -- https://codeberg.org/martianh/fj.el/issues/145#issuecomment-4883778
<apteryx>haha
<apteryx>ACTION contemplates adding https://github.com/alibaba/git-repo-go/blob/master/go.mod
<apteryx>but... go
<ngz>Hmm I get an error trying to view a PR with "fj.el": fj-string-number>: Wrong type argument: stringp, :pull
<janneke>&lt;file-name&gt; works...dude, the early 2000s want their escaping bugs back
<ngz>Can anyone reproduce (i.e., is it a genuine bug)?
<janneke>bringing back fond memories of programming java in an asp environment
<janneke>writing your own uri-encode/uri-decode functions...
<janneke>ngz: are you using latest fj.el git? i got such errors when using fj-list-pulls
<apteryx>can we checkout pull requests with fj?
<ngz>janneke: I’m using the version provided by Guix
<janneke>ngz: try using latest git..., it fixed some problems for me
<civodul>janneke: i’m not sure it’s an HTML escaping bug, is it?
<ngz>janneke: OK.
<civodul>the input is processed as Markdown
<janneke>apteryx: afaik you need to do: `git fetch pulls' manually
<orahcio>Hello, why `guix describe` list just the guix repository, the `guix pull` updates from each channel that I list in "~/.chonfig/guix/channels.scm" but `guix system reconfigure`just read code from the guix repository. I need to back to tha last functional genaration to update the system
<janneke>apteryx: you need a [remote "pulls"] stanza in .git/config for that
<JodiJodington>orahcio: did you `guix pull` after adding channels to your channels.scm
<apteryx>ok
<ruther>orahcio: what guix are you actually using? - `type -p guix`
<apteryx>janneke: I'll try packaging this: https://github.com/alibaba/git-repo-go it was made by the agit creators
<orahcio>JodiJodington: yes, I did guix pull after adding channels
<apteryx>seems to have a very basic set of useful commands to create PR/update PR/fetch PRs, etc.
<orahcio>ruther: /run/current-system/profile/bin/guix
<ruther>orahcio: so that is the issue, you aren't using the guix you pulled
<janneke>apteryx: great
<ruther>orahcio: does PATH contain ~/.config/guix/current/bin?
<ruther>if not, relog or source the profile manually to have it in the current shell only
<ruther>if it does, run `hash guix`
<janneke>after the initial confusion "where am i?" it seems that codeberg/agit/forgejo could/should be a step forward even for old-timers like myself
<janneke>it's just that...finding out how things work, finding a new workflow takes a bit of effort
<orahcio>ruther: I have not the ~/.config/guix/current/bin in my PATH, thank you
<orahcio>ruther: It is very strange, after upgrade that path was removed from my PATH
<janneke>i guess that "directly communicating via git" makes a lot of sense when you're a committer, instead of via email -- not sure how that would work if you're not a commiter, tho
<ruther>orahcio: Upgrade doesn't and cannot touch your env vars
<ruther>orahcio: if ~/.config/guix/current exists and is not dangling, just relog
<orahcio>yes ~/.config/guix/current exists, I need just to exit and login again?
<ruther>orahcio: assuming nothing has gone wrong, yes.
<orahcio>ruther: I will try
<jlicht>We seem to carry a patch to add /gnu{,/store} to librewolf sources; shouldn't this ideally be parameterized, a la `(%store-directory)'?
<jlicht>Likewise question for every hardcoded reference to /gnu/store
<orahcio>ruther: After relogin the same problem, maybe I need to put ~/.config/guix/current/bin in my PATH manually
<ruther>orahcio: no, your shell profile script is broken, it should source the whole profile. Adding to PATH is not the right solution, sourcing etc/profile is.
<apteryx>andreas-e: re cert on ci, thanks for the report. I created a new certificate just to try, so I was surprised even this one wouldn't wor.
<apteryx>work
<orahcio>ruther: Yes, I use fish, maybe I need to give a more standard shell to start my system and use fish just for daily use
<janneke>aargh, /me just wrote a reply on a <noreply@codeber.org> message
<janneke>can we /please/ fix that?
<janneke>now /me has find the "proper place" to yank their reply -- terrible!
<apteryx>as with matrix, if you want something that fully works, you have to accept that the tool of choice is the browser.
<apteryx>how do we infer the #:import-path of a go package?
<apteryx>I can never wrap my head around that Go concept. Or if I ever did, it's long been paged out.
<JodiJodington>orahcio: you can have the last line of your bashrc be `exec fish`, that way it inherits the environment from bash
<apteryx>it is still used in current Go? Our link to it in our documentation seems to be broken/inaccurate
<JodiJodington>instead of just having fish be your login shell
<apteryx>ah, I need to inspect the source archive layout
<apteryx>is the go importer broken? "https://proxy.golang.org/git-repo-go/@v/list" could not be fetched: HTTP error 404 ("Not Found").
<apteryx>that was me trying: guix import go git-repo-go
<ruther>apteryx: no, it is not broken, the package is called github.com/alibaba/git-repo-go
<apteryx>what a cute name ^^'
<apteryx>thanks
<ruther>every go package has that... the full path including repo
<ruther>s/repo/repo hosting
<lfam>Does anyone have a way to automatically add the "Closes: #NN" message for the new workflow?
<janneke>fwiw, fj-create-issue does not work for me; it presents a buffer where i can type stuff, but opon C-c C-c, I get "You need to set a repo title"
<janneke>what is a "repo title", and how do i set it, and to what?
<janneke>the issue i wanted to open:
<janneke>Get rid of emails using something like
<janneke>```
<janneke> From "Janneke Nieuwenhuizen" <noreply@codeberg.org>',
<janneke>```
<janneke>make sure that emails can always be replied to.
<lfam>For me, the "Closes: #NNN" message didn't cause the ticket to be closed. Not sure what I did wrong
<mange>janneke: Have you seen this Codeberg issue? https://codeberg.org/Codeberg/Community/issues/1562
<meaty>speaking of that, the padding forgejo adds to quotes is insane
<meaty>it's at least two lines of just > before and after each quote header and content
<jlicht>lfam: afaics it needs to be able to match the commits as well. Did you force-push the PR-branch before fast-forward merging to master?
<orahcio>JodiJodington: good idea, thanks. I change everything to fish, maybe for guix it is not a good idea yet
<lfam>jlicht: No, I didn't do that. I cherry-picked the commits from the PR onto master (effectively rebasing it), then signed and pushed that.
<lfam>So, it matches on commit ID or something very strict like that?
<jlicht>lfam: It could also just be a bug, but it should be fairly easy to test out /w a demo repo :-)
<ieure>lfam, For the PRs I've merged, once I push the rebased commit, Codeberg asks md the commit ID in a form on the PR page.
<lfam>I see, thanks ieure
<lfam>That's one for me to try next time
<madage>Hi guixen! On the new Agit-flow, if I have several unrelated commits on top of origin, using HEAD when pushing would mean that all commits would be pushed as part of just on PR, right?
<madage>in that case, if I want to create multiple PRs do I then need to create separate branches before pushing?
<ruther>madage: you always push the whole branch, so indeed you need to split them somehow. Using multiple branches is probably the easiest way
<madage>ok, thanks ruther!
<madage>one more question: the -o title, -o description are not part of the commit msg and so they are not really required, right?
<cricri>Hello, I asked a simliar gexp question two weeks ago and ended up with a solution without gexp at all. Still... I am curious if and how I could pass a gexp to the udev-rule-service procedure as shown here: https://paste.rs/itSky
<lfam>madage: What ruther said, that's the basic answer. If you want to learn more, look up how to write a Git "refspec" and you can create pull requests on the command line in arbitrary ways: https://forgejo.org/docs/latest/user/agit-support/
<lfam> https://git-scm.com/book/en/v2/Git-Internals-The-Refspec
<cricri>'guix system --target=arch64-linux-gnu image os-definition.scm' fails with 'In procedure string-append: Wrong type (expecting string):' Apperantly the udev-rule-service procedure preferred a string instead of a gexp.
<ruther>madage: they aren't required, and if you don't provide them, the title will be first line of commit message and decription the rest
<cricri>Could someone help me out?
<cricri>this is the full error message: https://paste.rs/UAeOw
<madage>lfam: thanks, I was reading git docs on refspec, but remained unsure, so the first time around I'll do the basic and then up my game as I feel more confortable
<lfam>Totally madage
<lfam>Neat thing is many Git commands accept a refspec as their argument, for example `git log`. So you can experiment without worry :)
<madage>I don't wanna risk sending some garbage local patches by trying advanced stuff right away... :)
<lfam>Of course
<madage>ruther: thanks again!
<lfam>Using branches is the easiest thing conceptually. Eventually refspecs will be handy and then they will "click"
<lfam>cricri: I haven't worked with udev rules before, so this is a shot in the dark. But I've also never seen a list of strings separated by commas, passed to string-append
<lfam>Does that work? The commas?
<lfam>The thing that is crashing is string-append
<cricri>yeah it is hard to see but those commas are inside the strings. the list elements are separated by white spaces.
<lfam>Ooooh
<ruther>the error message isn't even about that string-append
<untrusem>so how do you do php development on guix as php modules and other things are not packaged in guix?
<janneke>sneek: later tell mange: that issue (https://codeberg.org/Codeberg/Community/issues/1562) seems to be exactly what i'm talking about. sending email with a noreply@ just seems ... fascist to me?
<sneek>Will do.
<janneke>sneek: botsnack
<sneek>:)
<janneke>ACTION subscribed to the issue and and added a comment
<cobra>gonna make a pull request now that guix is on codeberg!
<identity>orahcio: have you tried home-fish-service-type? if not, it may fix your problems
<yelninei>janneke: I have an offloadable 64bit childhurd on master, the noide option seems to be required, it cant find the disk otherwise. Then all youd need to change is the image type to hurd64-qcow2
<janneke>yelninei: that's amazing, well done!
<janneke>sneek: later tell mange: s/fascist/obnoxious/ ?
<sneek>Got it.
<janneke>sneek: botsnack
<sneek>:)
<janneke>ACTION should be more careful in labeling actions of non-profit orgs
<podiki>but isn't sending with "noreply" correct right now since one can't reply (yet)?
<janneke>podiki: the smtp protocol makes sure the sender exists, using noreply@ seems like a loophole to me that should not be used
<janneke>if you don't want/cannot handle replies, do not send?
<podiki>yet it is very common for notifications/automated responses
<ruther>janneke: what does that have to do with smtp though?
<podiki>regardless of the protocol, it still communicates something (don't try to reply to this email) and is a "standard" of sorts in this (email notification) space
<janneke>podiki: if it's very common, then that has escaped me
<podiki>consider yourself lucky maybe :)
<ieure>"the smtp protocol makes sure the sender exists" uh. does it?
<janneke>i've only seen it from the government, banks, insurance companies, iow, evil institutions
<ruther>I have also seen noreply a lot
<ruther>ieure: imo clearly not, because if it did, you would never get those e-mails
<podiki>bills, businesses, ...
<ieure>janneke, noreply addresses are extremely common.
<janneke>...but seeing the replies here, it seems i'm kind of alone in my disgust of it :)
<janneke>ieure: yeah, it seems i missed something
<podiki>lets encrypt....probably hard to find some decent sized business or organization that doesn't use noreply in some way
<ieure>janneke, Yeah, definitely. But I wasn't sure if you were talking about stuff like DKIM, SPF, that sort of thing, which can make it look like that's happening. SMTP itself definitely doesn't have a mechanism for this.
<podiki>doesn't mean we like it, indeed can be annoying if it is something that needs a replay, in which case i agree it would be bad to use a noreply to send
<janneke>ACTION still thinks it borders on "unacceptable"
<tusharhero>Well, I have waiting for this feature for a few months now.
<podiki>(personally, i would rephrase your comment on that codeberg issue; your point does stand of wanting to be able to reply, or maybe you want to also say "don't send notifications we can't reply to" which is something else)
<janneke>ACTION is possibly too marxist and rejects any asymmetry of power
<podiki>well then you need to self-host, no? :)
<tusharhero>We need Forgefed
<janneke>podiki: i don't really see the difference; please refrain from sending mails that cannot be replied to, until you can make it so that they can be replied to
<podiki>right, i would say that because that wasn't clear to me, personally
<podiki>if that's what you prefer until one can actually reply
<podiki>(comes off just slightly rougher of a comment until i understood more from this conversation; just fyi, do as you will!)
<orahcio>hi identity, I am using home-fish-service-type to configure fish for my user, I removed fish as login shell as JodiJodington said early. Everything is working now. Thank you! I forgot, my foot configuration already has selected fish as the shell, so I don't know why I give to fish the login status in my config.scm.
<yelninei>janneke: thank you for all the bootstrapping work s.t. it just works
<janneke>yelninei: \o/
<JodiJodington>glad it works orahcio!
<orahcio>JodiJodington: :) thanks!
<cobra>whats the proper way to write a commit message for a pull request? is there a guide on how to properly format one?
<ieure>cobra, If it's a single commit, use the commit message; if it's multiple commits, treat it like a patch series cover letter.
<ruther>cobra: Guix uses Change log format for commit messages: https://www.gnu.org/prep/standards/html_node/Change-Logs.html#Change-Logs. Imo it's easiest to look how other commit messages look like and write it according to that
<demindiro>I ran a script which periodically logged memory usage of all processes to a file. Shepherd stands out as the highest user and the memory usage increased from less than 50MB to 500MB and growing (over roughly a day)
<demindiro>I suppose I should inspect the heap of the Guile process somehow
<ruther>demindiro: maybe would be worth making an issue in the Sheperd repo. Memory leak in shepherd is definitely not good
<ruther>demindiro: and since you found this out, I expect this is going to be the cause for your server becoming unresponsive - memory gets filled. Then the server cannot make any new processes. Although maybe this trend will stop at one point and it won't fill the memory completely, who knows.
<demindiro>Currently I don't have more information than "something leaks" though. It looks like https://codeberg.org/shepherd/shepherd/issues/1 is related.
<ruther>demindiro: if that is related, simple update should prevent it
<ruther>oh sorry, I confused it with other issue
<ruther>this one is not solved yet
<sham1>Is %base-services not supposed to include etc-profile-d-service-type by default?
<ruther>sham1: no, there is nothing to add to profile.d in the base services
<sham1>Aight, that explains it
<sham1>Because the news look like it should, but apparently not
<ruther>I actually think that bashrc d is there is a mistake caused by the fact that apteryx doesn't trust me that extensions instantiate a service if it is not in the list already :P
<ruther>although no sorry, it actually does provide the bash completion in the default files, I thought that is in a separate service
<ruther>+ the aliases
<bdju> https://0x0.st/8xUu.txt Sway suddenlv froze on me, I killed it over ssh, it freezes my TTY on start now. Here's the debug log. Can anyone please help? Is sway broken in guix for anyone else?
<yelninei>appearently the 2gb of ram were not enough to untar the 100+Mb gcc source, increased it to 3gb and it seems to be fine now
<yelninei>also have it running on my machine reconfigured on core-packages-team now, hopefully the fixes for the 32bit version were enough
<luca>Does shepherd have a concept similar to systemd targets? For grouping services and starting/stopping them all together
<dariqq>not directly, but e.g. the user-processes service and the file-systems service act like synchronisation points
<luca>what are those and/or when do these processes start?
<bdju>Why is the red-eclipse download so slow? This is crazy. 8+ minutes, not even 65% done.
<scut>Hi, how does one install nushell core plugins in Guix ? rust-nu-plugin-core does not seem to ship polars and others
<dariqq>luca: are you on guix system? Take a look at guix system shepherd-graph of your config. Basically file-systems is a service that does nothing but depend on every file-system mount service so it behaves like a "everything is mounted target". All normal daemons (should) depend on user-processes, s.t. after user-processes service is stopped there is only pid1 left
<dariqq>the manual has a picture btu it is a bit outdated https://guix.gnu.org/manual/devel/en/html_node/Shepherd-Services.html
<luca>Thanks! Will do
<luca>I guess I could also make my own process probably that just sleeps forever, and everything else I need depends on it
<dariqq>yeah basically that. If you want a service that does nothing you can just use (const #t) and (const #f) for the start and stop methods
<luca>Neat, thanks!
<luca>Also before I make something too custom, is there a "shepherd" way to pass environment variables from _something_ to shepherd services? Such as WAYLAND_DISPLAY
<dariqq>luca: there is an x11-display shepherd service and #76619 has one for wayland. One annoying problem is that make-forkexec-constructor captures the environvent when shepherd starts and not when the service starts, so youd need to use fork+exec like in redshift-shepherd-service
<peanuts>"[PATCH] gnu: home: services: Add 'wayland-display' service." https://issues.guix.gnu.org/76619
<luca>Ok, so "remember to take inspiration from redshift-shepherd-service". Got it
<luca>Lastly, how "portable" is shepherd? Is it practical to run it for user services on foreign distros? Or for all intents and purposes it's guix system first and foremost
<ruther>luca: shepherd is behaving the same on guix system and foreign distros. Guix home is completely standalone, there are no assumptions about the distro.
<luca>Thanks!
<vagrantc>hrm. iwd failing to build on aarch64-linux
<graywolf>Is there a way to get writable /etc/hosts during a package build?
<identity>graywolf: you could use /gnu/store/…-package-output/etc/hosts instead, if that works
<vagrantc>store items are not writeable
<ruther>except for the outputs :)
<ieure>I don't think it's a "store item" until the build succeeds.
<ieure>You can definitely write to the package output during the build.
<graywolf>I just want to add an entry into /etc/hosts, so that the test passed; if there is no nice way to do that, I will just skip it I guess
<vagrantc>would be surprised if there were a way to do that
<vagrantc>it is using a hard-coded hostname in a test?
<ruther>graywolf: does it maybe respect hosts file from HOSTALIASES env var?
<graywolf>ruther: I had no idea that is a thing. Will give it a try! :)
<graywolf>vagrantc: yeah, it checks whether redhat.com resolves :)
<ieure>hed rat
<graywolf>For the record, I *technically* have a way to do this, but https://git.wolfsden.cz/wolfsden/tree/wolfsden/packages/tls.scm#n75 is not something I would be willing to send as a patch, since it is probably a war crime
<vagrantc>that does not sound like a test worth faking
<vagrantc>alternately, you could patch what it is trying to resolve ... but what is it actually testing ?
<graywolf>It checks whether the resolving is passed onto a native resolver under some conditions.
<graywolf>Hm, you are right, maybe using "localhost" will work fine
<graywolf>Thanks for suggestions everyone, gonna go try it
<yelninei>the host-hurd64 trick does not work for offloading because it gets evaluated by the wrong machine
<graywolf>Do you think substitute* should error out when it made no replacements?
<ruther>graywolf: it would be very good if it did imo, but I don't think it does actually.
<ieure>It doesn't.
<ieure>It would be very helpful if it did.
<graywolf>So it is not just me. I will look into it one day.
<vagrantc>definitely would be a good thing
<vagrantc>probably annoying for a while, but in a good way eventually :)
<bdju>Am I the only one with a broken Sway? This seems pretty serious to leave as-is.
<cobra>broken how
<bdju>I can't start it, it hangs my TTY, need to pkill -9 via ssh.
<bdju>It froze on me earlier and I had to kill it, probably had the same session running for a month or more, won't start now.
<bdju>I've been stuck in a TTY for a few hours now. I posted a debug log earlier but no one responded.
<bdju>I had downgraded Waybar to work around a bug a few days ago, so tried upgrading that again, no change. Upgraded everything, no change. I'm scared if I reboot things will get even worse.
<bdju>I get a shepherd error at login as well, can't recall if that's new.
<bdju> https://litter.catbox.moe/tusnxe.jpg
<bdju>I usually run `exec sway` to start sway, but it doesn't work at the moment.
<vagrantc>current sway works for me on aarch64-linux ... although i have not updated my system config in a while
<vagrantc>using: exec sway
<bdju>Thanks for verifying. I wonder what broke on my machine...
<bdju>I just want to use my computer again, but I'm hesitant to blindly spam rollbacks, I don't know what broke when.
<meaty>Are .cbor files okay to leave in packages? They seem to just be essentially compressed text
<meaty>There are also some here with .icc color profiles
<meaty>Also should I be sacrificing tests in order to remove binary files
<bdju>No one has any ideas? I'm just screwed? This is miserable.
<jlicht>I'm seeing some scary fsck output on (re)booting my Guix System; how do I capture this output for upload to a pastebin?
<attila_lendvai>jlicht, there was a bug fixed recently. maybe just pull and see if it goes away. (IIRC it was due to the fsck version being too old for the kernel)
<jlicht>attila_lendvai: I've seen that too, but it doesn't seem to do the trick for me
<jlicht>it _could_ be an issue with my SSD, of course
<bdju>I got Sway to start after a reboot. I guess I'll never know what the problem was or why it happened.
<bdju>I'm getting this error in all my new shells now: /etc/profile:65: no matches found: /etc/profile.d/*.sh
<graywolf>Probably 306bd8048149b67af4b359547cd8e69bd58c5d51
<graywolf>bdju: Are you using zshell?
<bdju>Yeah, I use zsh.
<graywolf>I see. I do not have the warning on bash, this is zsh specific "feature".
<graywolf>You can send a patch fixing it :)
<graywolf>But at least the "error" is just a harmless warning. Albeit probably somewhat annoying.
<bdju>I will not be sending a patch.