Fohlat's first guix channel issues - via codeberg.org and toys.whereis.social

I’m trying to create my first working guix channel.

I currently have three questions.

  1. How do I sign commits on the website?
  2. How do sign old unsigned commits?
  3. How do I sign ssh keys for guix system? Because I run into an error.
  4. How do I sign my other commits to an authorized key?

Problem #1

At the very least, when I create an initial commit on Codeberg, I do it via the website. But I also feel the need to sometimes modify the README.md file on the website when I notice typos. These commits enter the branch unsigned. Is there a way I can have those website commits signed?

Problem #2

I can tried this, but run into the problem that the main section on codeberg, does not accept this..

$ git rebase --root --exec 'git commit --amend --no-edit -n -S' -i main
$ git push
To https://codeberg.org/folaht/yrop.git
 ! [rejected]        main -> main (non-fast-forward)
error: failed to push some refs to 'https://codeberg.org/folaht/yrop.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. If you want to integrate the remote changes,
hint: use 'git pull' before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Problem #3

When I try to verify the codeberg ssh key, I run into this error:

$ echo xxx | ssh-keygen -Y sign -n codeberg.org -f ~/.ssh/id_key
ssh_askpass: exec(/gnu/store/xxx-openssh-10.3p1/libexec/ssh-askpass): No such file or directory
Load key "/home/folaht/.ssh/id_key": incorrect passphrase supplied to decrypt private key

Problem #4

$ guix pull --unsafe-channel-evaluation
/home/folaht/.config/guix/channels.scm:3:7: warning: channel 'cast' is not trusted
/home/folaht/.config/guix/channels.scm:12:8: warning: channel 'yrop' is not trusted
Updating channel 'cast' from Git repository at ''...
guix pull: warning: pulled channel 'cast' from a mirror of , which might be stale
Updating channel 'yrop' from Git repository at ''...
Authenticating channel 'yrop', commits 6f7986c to fd85b0e (1 new commit)...
guix pull: error: commit fd85b0e42e145b84fbe98e30e7babdf1c97a19b6 not signed by an
authorized key: 19F7 AEB0 4E16 D355 8939  07C1 D6CC DD11 AF4E 07E1

answer #2

Create a temporary branch and replace the main one.

$ git rebase -i main --root --exec 'git commit --amend --no-edit --no-verify -S'
$ :q
$ git checkout -b main_dev
$ git branch -mf main
$ git push --force -u <remote_name> main

Don’t forget to change the initial commit in news.txt README.md and your ~/.config/guix/channels.scm file.