86 lines
2.0 KiB
Nix
86 lines
2.0 KiB
Nix
{
|
|
lib,
|
|
config,
|
|
pkgs,
|
|
...
|
|
}:
|
|
let
|
|
cfg = config.my.servers.gitea;
|
|
setup = import ./setup.nix { inherit lib config; };
|
|
in
|
|
{
|
|
options.my.servers.gitea = setup.mkOptions "gitea" "git" 9083;
|
|
config = {
|
|
sops.secrets = lib.mkIf cfg.enable { gitea.sopsFile = ../../secrets/env.yaml; };
|
|
services = {
|
|
gitea = lib.mkIf cfg.enable {
|
|
enable = true;
|
|
domain = cfg.host;
|
|
rootUrl = cfg.url;
|
|
settings = {
|
|
session.COOKIE_SECURE = true;
|
|
server.HTTP_PORT = cfg.port;
|
|
mailer = {
|
|
ENABLED = true;
|
|
PROTOCOL = "sendmail";
|
|
FROM = config.my.smtpemail;
|
|
SENDMAIL_PATH = "${pkgs.msmtp}/bin/msmtp";
|
|
};
|
|
};
|
|
database = {
|
|
socket = config.my.postgresSocket;
|
|
type = "postgres";
|
|
createDatabase = false;
|
|
};
|
|
};
|
|
gitea-actions-runner.instances.ryujinx = lib.mkIf cfg.enable {
|
|
enable = true;
|
|
url = cfg.url;
|
|
name = "${config.networking.hostName}-ryujinx";
|
|
tokenFile = config.sops.secrets.gitea.path;
|
|
labels = [
|
|
"ubuntu-latest:host"
|
|
"ubuntu-20.04:host"
|
|
];
|
|
hostPackages =
|
|
let
|
|
python3 = pkgs.python3.withPackages (
|
|
ps:
|
|
builtins.attrValues {
|
|
inherit (ps)
|
|
pyyaml
|
|
lxml
|
|
;
|
|
}
|
|
);
|
|
in
|
|
builtins.attrValues {
|
|
inherit python3;
|
|
inherit (pkgs)
|
|
bash
|
|
coreutils
|
|
curl
|
|
gawk
|
|
gitMinimal
|
|
gnused
|
|
nodejs
|
|
wget
|
|
gnutar
|
|
gzip
|
|
dotnet-sdk_8
|
|
openal
|
|
vulkan-loader
|
|
libGL
|
|
gtk3
|
|
llvm_15
|
|
rcodesign
|
|
gh
|
|
p7zip
|
|
;
|
|
inherit (pkgs.xorg) libX11;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|