{ pkgs, ... }: let baseUrl = "git.ewanick.com"; PROJECT_ROOT = "/workspace/deployed-nixos-server-and-apps/nixos-apps/git.ewanick.com"; in { services.gitea = { enable = true; appName = "Bill's Gitea server, hosted on Linode using NixOS"; lfs.enable = true; settings = { server = { DOMAIN = baseUrl; ROOT_URL = "https://${baseUrl}/"; HTTP_PORT = 3000; }; service.DISABLE_REGISTRATION = true; actions = { ENABLED = true; DEFAULT_ACTIONS_URL = "github"; }; }; }; services.gitea-actions-runner = { instances.default = { enable = true; name = "linode-nixos"; url = "https://${baseUrl}/"; tokenFile = "${PROJECT_ROOT}/tokenFile"; hostPackages = with pkgs; [ bash coreutils curl gawk gitMinimal gnused wget ]; labels = [ "debian-latest:docker://node:23-bookworm" "native:host" ]; }; }; services.caddy = { enable = true; virtualHosts = { "${baseUrl}" = { extraConfig = '' reverse_proxy localhost:3000 ''; }; }; }; virtualisation.docker.enable = true; } /* # README ## View users and use the command line Do something like this, preferably as the gitea user ```bash $ sudo su gitea $ /nix/store/5xwh7m7252m9ljvr3lyilcza1q699r2c-gitea-1.17.4/bin/gitea -c /var/lib/gitea/custom/conf/app.ini admin user list ``` */