1
0
Fork 0
This commit is contained in:
Lukas Wurzinger 2024-04-21 17:49:50 +02:00
parent d975f43b3e
commit cd78d9d00f
13 changed files with 18 additions and 145 deletions

View file

@ -1,33 +0,0 @@
{
config,
lib,
...
}: {
services = {
postgresql = {
enable = lib.mkDefault true;
ensureDatabases = ["atuin"];
ensureUsers = [
{
name = "atuin";
ensureDBOwnership = true;
}
];
};
atuin = {
enable = true;
openRegistration = false;
database.uri = "postgresql:///atuin?host=/run/postgresql&user=atuin";
};
nginx.virtualHosts."atuin.${config.networking.domain}" = {
enableACME = true;
forceSSL = true;
quic = true;
locations."/".proxyPass = "http://${config.services.atuin.host}:${builtins.toString config.services.atuin.port}";
};
};
}

View file

@ -2,10 +2,6 @@
imports = [
"${modulesPath}/profiles/qemu-guest.nix"
./atuin.nix
./conduit.nix
./forgejo.nix
./navidrome.nix
./nginx.nix
./vaultwarden.nix
];

View file

@ -1,44 +0,0 @@
{
config,
pkgs,
...
}: let
virtualHostName = "tea.${config.networking.domain}";
in {
services.forgejo = {
enable = true;
database.type = "postgres";
lfs.enable = true;
settings = {
session = {
COOKIE_SECURE = true;
PROVIDER = "db";
};
service = {
DISABLE_REGISTRATION = true;
};
server = {
PROTOCOL = "http";
HTTP_ADDR = "127.0.0.1";
HTTP_PORT = 8020;
DOMAIN = virtualHostName;
ROOT_URL = "https://${virtualHostName}/";
};
};
};
services.nginx.virtualHosts.${virtualHostName} = {
enableACME = true;
forceSSL = true;
quic = true;
locations."/".proxyPass = "http://${config.services.forgejo.settings.server.HTTP_ADDR}:${builtins.toString config.services.forgejo.settings.server.HTTP_PORT}";
};
environment.systemPackages = [pkgs.forgejo];
}

View file

@ -1,24 +0,0 @@
{config, ...}: {
services.navidrome = {
enable = true;
settings = {
Address = "127.0.0.1";
Port = 8030;
MusicFolder = "/srv/music";
};
};
services.nginx.virtualHosts."navi.${config.networking.domain}" = {
enableACME = true;
forceSSL = true;
quic = true;
locations."/".proxyPass = "http://${config.services.navidrome.settings.Address}:${builtins.toString config.services.navidrome.settings.Port}";
};
fileSystems.${config.services.navidrome.settings.MusicFolder} = {
device = "/dev/disk/by-label/music";
fsType = "btrfs";
options = ["compress=zstd" "noatime"];
};
}