refactor
This commit is contained in:
@@ -1,36 +1,19 @@
|
||||
{ config, ... }:
|
||||
let
|
||||
repo = config.repo;
|
||||
repoHelpers = repo.helpers;
|
||||
service = repo.services.actual;
|
||||
service = config.facts.services.actual;
|
||||
in
|
||||
{
|
||||
repo.services.actual = {
|
||||
domain = "finance.jelles.net";
|
||||
host = "127.0.0.1";
|
||||
port = 3000;
|
||||
url = "https://finance.jelles.net";
|
||||
flake.modules.nixos.actual = {
|
||||
services.actual = {
|
||||
enable = true;
|
||||
openFirewall = false;
|
||||
settings = {
|
||||
inherit (service) port;
|
||||
hostname = service.host;
|
||||
};
|
||||
};
|
||||
|
||||
services.caddy.virtualHosts.${service.domain}.extraConfig =
|
||||
"reverse_proxy :${toString service.port}";
|
||||
};
|
||||
|
||||
flake.modules.nixos.actual =
|
||||
{ lib, ... }:
|
||||
lib.mkMerge [
|
||||
{
|
||||
services.actual = {
|
||||
enable = true;
|
||||
openFirewall = false;
|
||||
settings = {
|
||||
inherit (service) port;
|
||||
hostname = service.host;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
(repoHelpers.mkCaddyReverseProxy {
|
||||
inherit (service)
|
||||
domain
|
||||
port
|
||||
;
|
||||
})
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{ config, ... }:
|
||||
let
|
||||
repo = config.repo;
|
||||
facts = config.facts;
|
||||
in
|
||||
{
|
||||
flake.modules.nixos.caddy = {
|
||||
services.caddy = {
|
||||
enable = true;
|
||||
email = repo.account.primaryEmail.address;
|
||||
email = facts.account.primaryEmail.address;
|
||||
openFirewall = true;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{ config, ... }:
|
||||
let
|
||||
account = config.repo.account;
|
||||
account = config.facts.account;
|
||||
in
|
||||
{
|
||||
flake.modules.nixos.deluge =
|
||||
|
||||
@@ -1,49 +1,30 @@
|
||||
{ config, ... }:
|
||||
let
|
||||
repo = config.repo;
|
||||
repoHelpers = repo.helpers;
|
||||
service = repo.services.gitea;
|
||||
service = config.facts.services.gitea;
|
||||
in
|
||||
{
|
||||
repo.services.gitea = {
|
||||
domain = "git.jelles.net";
|
||||
host = "127.0.0.1";
|
||||
port = 3001;
|
||||
url = "https://git.jelles.net/";
|
||||
};
|
||||
flake.modules.nixos.gitea = {
|
||||
services.gitea = {
|
||||
enable = true;
|
||||
|
||||
flake.modules.nixos.gitea =
|
||||
{ lib, ... }:
|
||||
lib.mkMerge [
|
||||
{
|
||||
services.gitea = {
|
||||
enable = true;
|
||||
settings = {
|
||||
server = {
|
||||
DOMAIN = service.domain;
|
||||
ROOT_URL = service.url;
|
||||
HTTP_PORT = service.port;
|
||||
HTTP_ADDR = service.host;
|
||||
|
||||
settings = {
|
||||
server = {
|
||||
DOMAIN = service.domain;
|
||||
ROOT_URL = service.url;
|
||||
HTTP_PORT = service.port;
|
||||
HTTP_ADDR = service.host;
|
||||
|
||||
START_SSH_SERVER = false;
|
||||
SSH_PORT = 22;
|
||||
};
|
||||
|
||||
service.DISABLE_REGISTRATION = true;
|
||||
};
|
||||
START_SSH_SERVER = false;
|
||||
SSH_PORT = 22;
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
services.openssh.settings.AllowUsers = [ "gitea" ];
|
||||
}
|
||||
service.DISABLE_REGISTRATION = true;
|
||||
};
|
||||
};
|
||||
|
||||
(repoHelpers.mkCaddyReverseProxy {
|
||||
inherit (service)
|
||||
domain
|
||||
port
|
||||
;
|
||||
})
|
||||
];
|
||||
services.openssh.settings.AllowUsers = [ "gitea" ];
|
||||
|
||||
services.caddy.virtualHosts.${service.domain}.extraConfig =
|
||||
"reverse_proxy :${toString service.port}";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{ config, lib, ... }:
|
||||
let
|
||||
account = config.repo.account;
|
||||
account = config.facts.account;
|
||||
personalPublicKeys =
|
||||
machines:
|
||||
map (machine: (machine.sshKeys or { }).personal.publicKey) (
|
||||
@@ -29,6 +29,6 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
users.users.${account.name}.openssh.authorizedKeys.keys = personalPublicKeys config.repo.machines;
|
||||
users.users.${account.name}.openssh.authorizedKeys.keys = personalPublicKeys config.facts.machines;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,56 +1,30 @@
|
||||
{ config, ... }:
|
||||
let
|
||||
repo = config.repo;
|
||||
repoHelpers = repo.helpers;
|
||||
service = repo.services.radicale;
|
||||
service = config.facts.services.radicale;
|
||||
in
|
||||
{
|
||||
repo.services.radicale = {
|
||||
domain = "radicale.jelles.net";
|
||||
host = "127.0.0.1";
|
||||
port = 5232;
|
||||
url = "https://radicale.jelles.net/";
|
||||
};
|
||||
flake.modules.nixos.radicale = {
|
||||
services.radicale = {
|
||||
enable = true;
|
||||
settings = {
|
||||
server.hosts = [ "${service.host}:${toString service.port}" ];
|
||||
|
||||
flake.modules.nixos.radicale =
|
||||
{ lib, ... }:
|
||||
lib.mkMerge [
|
||||
{
|
||||
services.radicale = {
|
||||
enable = true;
|
||||
settings = {
|
||||
server.hosts = [ "${service.host}:${toString service.port}" ];
|
||||
|
||||
auth = {
|
||||
type = "htpasswd";
|
||||
htpasswd_filename = "/var/lib/radicale/users";
|
||||
htpasswd_encryption = "bcrypt";
|
||||
};
|
||||
|
||||
storage.filesystem_folder = "/var/lib/radicale/collections";
|
||||
};
|
||||
auth = {
|
||||
type = "htpasswd";
|
||||
htpasswd_filename = "/var/lib/radicale/users";
|
||||
htpasswd_encryption = "bcrypt";
|
||||
};
|
||||
}
|
||||
|
||||
(repoHelpers.mkCaddyReverseProxy {
|
||||
inherit (service)
|
||||
domain
|
||||
port
|
||||
;
|
||||
extraHeaders = [
|
||||
{
|
||||
name = "X-Script-Name";
|
||||
value = "/";
|
||||
}
|
||||
{
|
||||
name = "X-Forwarded-For";
|
||||
value = "{remote}";
|
||||
}
|
||||
{
|
||||
name = "X-Remote-User";
|
||||
value = "{http.auth.user.id}";
|
||||
}
|
||||
];
|
||||
})
|
||||
];
|
||||
storage.filesystem_folder = "/var/lib/radicale/collections";
|
||||
};
|
||||
};
|
||||
|
||||
services.caddy.virtualHosts.${service.domain}.extraConfig = ''
|
||||
reverse_proxy :${toString service.port} {
|
||||
header_up X-Script-Name /
|
||||
header_up X-Forwarded-For {remote}
|
||||
header_up X-Remote-User {http.auth.user.id}
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
{ config, ... }:
|
||||
let
|
||||
account = config.repo.account;
|
||||
in
|
||||
{
|
||||
flake.modules.nixos.transmission =
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
services.transmission = {
|
||||
enable = true;
|
||||
package = pkgs.transmission_4;
|
||||
openPeerPorts = true;
|
||||
downloadDirPermissions = "775";
|
||||
|
||||
settings = {
|
||||
download-dir = "${account.homeDirectory}/torrents";
|
||||
incomplete-dir = "${account.homeDirectory}/torrents/.incomplete";
|
||||
peer-port = 43864;
|
||||
umask = "002";
|
||||
};
|
||||
};
|
||||
|
||||
# NOTE: Upstream bug?
|
||||
systemd.services.transmission-setup.requiredBy = [ "transmission.service" ];
|
||||
|
||||
users.users.${account.name}.extraGroups = [ config.services.transmission.group ];
|
||||
};
|
||||
}
|
||||
@@ -1,38 +1,21 @@
|
||||
{ config, ... }:
|
||||
let
|
||||
repo = config.repo;
|
||||
repoHelpers = repo.helpers;
|
||||
service = repo.services.vaultwarden;
|
||||
service = config.facts.services.vaultwarden;
|
||||
in
|
||||
{
|
||||
repo.services.vaultwarden = {
|
||||
domain = "vault.jelles.net";
|
||||
host = "127.0.0.1";
|
||||
port = 8100;
|
||||
url = "https://vault.jelles.net";
|
||||
flake.modules.nixos.vaultwarden = {
|
||||
services.vaultwarden = {
|
||||
enable = true;
|
||||
backupDir = "/var/backup/vaultwarden";
|
||||
config = {
|
||||
DOMAIN = service.url;
|
||||
SIGNUPS_ALLOWED = false;
|
||||
ROCKET_PORT = service.port;
|
||||
ROCKET_LOG = "critical";
|
||||
};
|
||||
};
|
||||
|
||||
services.caddy.virtualHosts.${service.domain}.extraConfig =
|
||||
"reverse_proxy :${toString service.port}";
|
||||
};
|
||||
|
||||
flake.modules.nixos.vaultwarden =
|
||||
{ lib, ... }:
|
||||
lib.mkMerge [
|
||||
{
|
||||
services.vaultwarden = {
|
||||
enable = true;
|
||||
backupDir = "/var/backup/vaultwarden";
|
||||
config = {
|
||||
DOMAIN = service.url;
|
||||
SIGNUPS_ALLOWED = false;
|
||||
ROCKET_PORT = service.port;
|
||||
ROCKET_LOG = "critical";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
(repoHelpers.mkCaddyReverseProxy {
|
||||
inherit (service)
|
||||
domain
|
||||
port
|
||||
;
|
||||
})
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user