infrastructure

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 6c444e18ceeb3106f08aacc12a03c3ff43e7ca14
parent bc5853caf040962b88bd96164e76bebd029aa24e
Author: Silas Brack <silasbrack@gmail.com>
Date:   Sun, 10 May 2026 17:24:05 +0200

feat: enable magit forge in emacs with forgejo

Diffstat:
Mhosts/gaia/configuration.nix | 7+++++++
Mhosts/gaia/home.nix | 4++++
Mhosts/gaia/init.el | 9+++++++++
Msecrets.yaml | 5+++--
4 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/hosts/gaia/configuration.nix b/hosts/gaia/configuration.nix @@ -21,6 +21,13 @@ sops.defaultSopsFile = ../../secrets.yaml; sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; + sops.secrets.gaia_forgejo_access_token = { }; + sops.templates."authinfo" = { + content = "machine git.fnarglebeast.com/api/v1 login silas^forge password ${config.sops.placeholder.gaia_forgejo_access_token}\n"; + path = "/home/silas/.authinfo.gpg"; + owner = "silas"; + }; + # Wireguard client (VPN) services.local.wireguard-client = { enable = true; diff --git a/hosts/gaia/home.nix b/hosts/gaia/home.nix @@ -44,6 +44,7 @@ ep.tidal ep.htmlize ep.ox-pandoc + ep.forge ep.notmuch (ep.treesit-grammars.with-grammars (g: [ g.tree-sitter-python @@ -65,6 +66,9 @@ programs.git = { enable = true; + extraConfig = { + "gitea.git.fnarglebeast.com/api/v1".user = "silas"; + }; settings = { user = { name = "Silas Brack"; diff --git a/hosts/gaia/init.el b/hosts/gaia/init.el @@ -119,3 +119,12 @@ ;; Optionally define a repeat map so that "M" will cycle thru Claude auto-accept/plan/confirm modes after invoking claude-code-cycle-mode / C-c M. :bind (:repeat-map my-claude-code-map ("M" . claude-code-cycle-mode))) + +(use-package forge + :after magit) +(with-eval-after-load 'forge + (add-to-list 'forge-alist + '("git.fnarglebeast.com" + "git.fnarglebeast.com/api/v1" + "git.fnarglebeast.com" + forge-gitea-repository))) diff --git a/secrets.yaml b/secrets.yaml @@ -6,6 +6,7 @@ mediawiki_admin_password: ENC[AES256_GCM,data:D9M75ub5+VJq5GpQ9/odPiDbohfHMsyLQF gaia_wireguard_private_key: ENC[AES256_GCM,data:pWIY9Hf4/diJsREVZQR1D9noV1vdQrWgGH5v4ZmWJC+eiCgsZB6CFnh2Udg=,iv:zCDf2RgfIUW480WGJCWlBhTFEYR7U0lX/QMzm7q4LXQ=,tag:8PXAfQkIgEU/gqViJ9VPhw==,type:str] gaia_forgejo_runner_token: ENC[AES256_GCM,data:0XA6nSeBW4uh/cx/95xw0Ood/a68qD4Z/8d77rj4WEnHQPNDRKzBBKQZFqjk7ME=,iv:CcWsra/iSYH+edNixzxw6WNYHZUJO1SDXwJrho6i1DE=,tag:3tximHNd2TnTZLAPOghpMg==,type:str] gaia_gitea_runner_ssh_key: ENC[AES256_GCM,data:CZZMptDd9s7WQsx9vnHv7tF1CJ9cKd+lnwuv75+a1p4OWxANObfIFtJOTDDHNL1+fk4/48/OOtODrgZlfeLxVPmmiPsvnSPOA1POhi6q97bpOWk/YWgViIWaf4UsLWDBq3/tngcJCa5JebrKuY+T7MaJn1Lw+C8h+91WiIWYSzOSMmZIoMDo5Y85cPqesFKxgmSlgTYbv5mJnFQ6pvhqTLHRpIPW5PNgRjeXsjJrblvs/edYtLyAVm6H0IYMiMa24+272f90l/2Vc16PXk6RCCFIIJ9HuGYGRBFMAD0bYPDo/ESTMn2u1MATGVCPKCLMjTxFglowfavZpb7xLk7EvZoWPQXx/+KcTV3+iVabOv0kI8OLZFGUPCs4B1MiIeCfSLEr4nop2SNm3C7pGFuKJ0EFGbnhdfBqBqVKZVkXJNGY023BHC3eXx57VatisHQAwLbs2qgSWvOetTAhw8E12QylFtq6mXWG3lZuhJxoiZ6QMI9Yjc/Fvxt4NBOjFtbF0iDRd0g0FSv+geQ7BNid,iv:ufcXcVm2NQRTmG7mYDPwCihm4SYkQ9llpoKtP73Z9Ik=,tag:g4RNNXCBZL0EluwGTYC7fA==,type:str] +gaia_forgejo_access_token: ENC[AES256_GCM,data:KpAnvpevOWgbNrEr+QynldkDqonVD90MuVDrBwG7mBClZxHfcps6aw==,iv:22zJ3/BBu5/aFMjgwhQ3lJH+lzOT53bozdAdrzMUGRI=,tag:Vic8ZfT43b0CfphZ/hP1DQ==,type:str] sops: age: - recipient: age1s29qgfupgx7mqn9dk2rndp6xh63f5qan8vqa77ve603wd5m9a9rqkpq7re @@ -44,7 +45,7 @@ sops: ZGptR25vdWhEKzFxbE5qS051ZFF4RkEK1hGCQVE1E92nFSwSeYRRhxn2p3wBfhpS TZMRsiXtUdlgnoa+IJcFKsbwaZspYnKCA93IEfOXy6TadcoNiFzypw== -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-04-07T11:03:18Z" - mac: ENC[AES256_GCM,data:pgoUncoeDHSoLFQfHMx3ZFRfhmwTvabvODMGblahUYacSs1UA6h9pw0K/kp2xLsI/qMw4VyAdjnebprPO0khOP2GCj1TDL+dMVYlma8M9/X/VDzf96uiwTuIKIoIMrAj9v/k8RSZXiD/y7S/8sCuymIg8tT2BLfF1zO9WpgyPSI=,iv:vlu9suf6NMr/uTg9pFw+JXVeahNsslCg+vPxGPtk2TM=,tag:tBpbSEbcHDZBdom+MYFksA==,type:str] + lastmodified: "2026-05-10T13:36:39Z" + mac: ENC[AES256_GCM,data:4mM0xVE2VBP428DVAJJ5GkaE19QsIvj+pVc9UI9U90dnjUT6VkZlVxLdYgnbE1yuVhzGIksrwFEQYvr1hporQUWaL2cdF/CYPf8OHyM3xnpNa+U3xF0sb3TGz0YyF1QDBvpTF+avsSQNb+NAs4M0eEE9MWOuGmkROAHKnoK/2z0=,iv:6JH7nV2SYii1ojmMp6KMtzi0dkB6a9xWlfItZOQ9jS8=,tag:yaFwI4KJX+P7tPQ2udSvUw==,type:str] unencrypted_suffix: _unencrypted version: 3.12.1