mirror of
https://gitlab.com/upRootNutrition/dotfiles.git
synced 2025-06-16 18:15:13 -05:00
feat: refactored abstractions
This commit is contained in:
parent
f3897c1e0c
commit
2e0ba5f89e
23 changed files with 324 additions and 310 deletions
|
@ -7,7 +7,6 @@
|
|||
"phone"
|
||||
"server"
|
||||
"tablet"
|
||||
"wildcard"
|
||||
];
|
||||
instanceNames = [
|
||||
"acme"
|
||||
|
@ -28,7 +27,8 @@
|
|||
"syncthing"
|
||||
"synology"
|
||||
"vaultwarden"
|
||||
"wiki-js"
|
||||
"web"
|
||||
"wiki"
|
||||
"writefreely"
|
||||
];
|
||||
userNames = [
|
||||
|
@ -78,9 +78,7 @@ in let
|
|||
sshKeys = listType;
|
||||
group = stringType;
|
||||
email = genOptions stringType "address";
|
||||
domain = genOptions stringType "url";
|
||||
dns = genOptions stringType "provider";
|
||||
git = genOptions stringType "path";
|
||||
paths = genOptions stringType "path";
|
||||
};
|
||||
};
|
||||
serviceSubmodule = lib.types.submodule {
|
||||
|
@ -104,6 +102,10 @@ in let
|
|||
subdomain = stringType;
|
||||
label = stringType;
|
||||
name = stringType;
|
||||
domains = genOptions stringType "url";
|
||||
dns = genOptions stringType "provider";
|
||||
localhost = genOptions stringType "address";
|
||||
email = genOptions stringType "address";
|
||||
sops = genOptions stringType "path";
|
||||
paths = genOptions stringType "path";
|
||||
ports = genOptions intType "port";
|
||||
|
|
|
@ -166,16 +166,5 @@ in {
|
|||
address0 = "192.168.50.189";
|
||||
};
|
||||
};
|
||||
|
||||
# No particular system
|
||||
|
||||
wildcard = {
|
||||
ip = {
|
||||
address0 = "127.0.0.1"; # Local
|
||||
address1 = "0.0.0.0"; # All
|
||||
address2 = "192.168.50.1"; # Router
|
||||
address3 = "192.168.50.0"; # Router
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -51,6 +51,21 @@ let
|
|||
varLib = "/var/lib";
|
||||
in {
|
||||
instance = {
|
||||
web = {
|
||||
domains = {
|
||||
url0 = domain0;
|
||||
url1 = domain1;
|
||||
};
|
||||
dns = {
|
||||
provider0 = "namecheap";
|
||||
};
|
||||
localhost = {
|
||||
address0 = "127.0.0.1"; # Local
|
||||
address1 = "0.0.0.0"; # All
|
||||
address2 = "192.168.50.1"; # Router
|
||||
address3 = "192.168.50.0"; # Router
|
||||
};
|
||||
};
|
||||
acme = {
|
||||
label = acmeLabel;
|
||||
name = acmeName;
|
||||
|
@ -73,14 +88,17 @@ in {
|
|||
};
|
||||
};
|
||||
castopod = let
|
||||
castDomain = "podcast";
|
||||
castopodSubdomain = "podcast";
|
||||
in {
|
||||
label = castLabel;
|
||||
name = castName;
|
||||
email = {
|
||||
address0 = "noreply@${castopodSubdomain}.${domain1}";
|
||||
};
|
||||
sops = {
|
||||
path0 = "${sops}/${castName}";
|
||||
};
|
||||
subdomain = castDomain;
|
||||
subdomain = castopodSubdomain;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${castLabel}";
|
||||
};
|
||||
|
@ -88,19 +106,22 @@ in {
|
|||
port0 = 8000;
|
||||
};
|
||||
ssl = {
|
||||
cert = "${sslPath}/${castDomain}.${domain1}/fullchain.pem";
|
||||
key = "${sslPath}/${castDomain}.${domain1}/key.pem";
|
||||
cert = "${sslPath}/${castopodSubdomain}.${domain1}/fullchain.pem";
|
||||
key = "${sslPath}/${castopodSubdomain}.${domain1}/key.pem";
|
||||
};
|
||||
};
|
||||
forgejo = let
|
||||
forgejoDomain = "source";
|
||||
forgejoSubdomain = "source";
|
||||
in {
|
||||
label = forgejoLabel;
|
||||
name = forgejoName;
|
||||
email = {
|
||||
address0 = "noreply@${forgejoSubdomain}.${domain1}";
|
||||
};
|
||||
sops = {
|
||||
path0 = "${sops}/${forgejoName}";
|
||||
};
|
||||
subdomain = forgejoDomain;
|
||||
subdomain = forgejoSubdomain;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${forgejoLabel}";
|
||||
};
|
||||
|
@ -108,8 +129,8 @@ in {
|
|||
port0 = 3033;
|
||||
};
|
||||
ssl = {
|
||||
cert = "${sslPath}/${forgejoDomain}.${domain1}/fullchain.pem";
|
||||
key = "${sslPath}/${forgejoDomain}.${domain1}/key.pem";
|
||||
cert = "${sslPath}/${forgejoSubdomain}.${domain1}/fullchain.pem";
|
||||
key = "${sslPath}/${forgejoSubdomain}.${domain1}/key.pem";
|
||||
};
|
||||
};
|
||||
jellyfin = {
|
||||
|
@ -148,6 +169,9 @@ in {
|
|||
mastodon = {
|
||||
label = mastodonLabel;
|
||||
name = mastodonName;
|
||||
email = {
|
||||
address0 = "thenutrivore@${domain1}";
|
||||
};
|
||||
sops = {
|
||||
path0 = "${sops}/${mastodonName}";
|
||||
};
|
||||
|
@ -245,13 +269,18 @@ in {
|
|||
key = "${sslPath}/${owncastSubdomain}.${domain1}/key.pem";
|
||||
};
|
||||
};
|
||||
peertube = {
|
||||
peertube = let
|
||||
peertubeSubdomain = "video";
|
||||
in {
|
||||
label = peertubeLabel;
|
||||
name = peertubeName;
|
||||
email = {
|
||||
address0 = "noreply@${peertubeSubdomain}.${domain1}";
|
||||
};
|
||||
sops = {
|
||||
path0 = "${sops}/${peertubeName}";
|
||||
};
|
||||
subdomain = "video";
|
||||
subdomain = peertubeSubdomain;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${peertubeLabel}";
|
||||
};
|
||||
|
@ -322,13 +351,18 @@ in {
|
|||
key = "${sslPath}/${syncthingName}.${domain0}/key.pem";
|
||||
};
|
||||
};
|
||||
vaultwarden = {
|
||||
vaultwarden = let
|
||||
vaultwardenSubdomain = vaultwardenName;
|
||||
in {
|
||||
label = vaultwardenLabel;
|
||||
name = vaultwardenName;
|
||||
email = {
|
||||
address0 = "noreply@${vaultwardenSubdomain}.${domain0}";
|
||||
};
|
||||
sops = {
|
||||
path0 = "${sops}/${vaultwardenName}";
|
||||
};
|
||||
subdomain = vaultwardenName;
|
||||
subdomain = vaultwardenSubdomain;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${vaultwardenLabel}/BackupDir";
|
||||
};
|
||||
|
|
|
@ -16,21 +16,9 @@ in {
|
|||
email = {
|
||||
address0 = "nickjhiebert@proton.me";
|
||||
address1 = "thenutrivore@proton.me";
|
||||
address2 = "thenutrivore@the-nutrivore.social";
|
||||
address3 = "noreply@vaultwarden.cloudbert.fun";
|
||||
address4 = "noreply@video.the-nutrivore.social";
|
||||
address5 = "noreply@source.the-nutrivore.social";
|
||||
address6 = "noreply@podcast.the-nutrivore.social";
|
||||
};
|
||||
domain = {
|
||||
url0 = "cloudbert.fun";
|
||||
url1 = "the-nutrivore.social";
|
||||
};
|
||||
git = {
|
||||
path0 = "/home/${user0}/Files/Projects";
|
||||
};
|
||||
dns = {
|
||||
provider0 = "namecheap";
|
||||
paths = {
|
||||
path0 = "/home/${user0}/Files/Projects"; # Git path
|
||||
};
|
||||
sshKeys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBF9TmImDoYDpsW5VMFbOcuK3aH4TWRtx/xGxT3yUtEN nick@desktop"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue