Compare commits

..

5 commits

18 changed files with 41 additions and 16 deletions

View file

@ -1,5 +1,10 @@
{ depot, ... }: { depot, ... }:
{ {
services.bitwarden = {
nodes.host = [ "VEGAS" ];
nixos.host = ./host.nix;
};
dns.records.keychain.target = [ depot.hours.VEGAS.interfaces.primary.addrPublic ]; dns.records.keychain.target = [ depot.hours.VEGAS.interfaces.primary.addrPublic ];
} }

View file

@ -1,5 +1,10 @@
{ depot, ... }: { depot, ... }:
{ {
services.gitlab = {
nodes.host = [ "VEGAS" ];
nixos.host = ./host.nix;
};
dns.records.git.target = [ depot.hours.VEGAS.interfaces.primary.addrPublic ]; dns.records.git.target = [ depot.hours.VEGAS.interfaces.primary.addrPublic ];
} }

View file

@ -9,7 +9,7 @@ let
owner = "gitlab"; owner = "gitlab";
group = "gitlab"; group = "gitlab";
mode = "0400"; mode = "0400";
file = ../../../../secrets/${name}.age; file = ../../../secrets/${name}.age;
}; };
secrets = lib.mapAttrs (_: v: v.path) config.age.secrets; secrets = lib.mapAttrs (_: v: v.path) config.age.secrets;

View file

@ -1,11 +1,6 @@
{ depot, lib, ... }: { depot, lib, ... }:
{
imports = [
./imap.nix
./opendkim.nix
./postfix.nix
];
{
security.acme.certs."mail.${depot.lib.meta.domain}" = { security.acme.certs."mail.${depot.lib.meta.domain}" = {
dnsProvider = "exec"; dnsProvider = "exec";
webroot = lib.mkForce null; webroot = lib.mkForce null;

View file

@ -1,6 +1,24 @@
{ depot, ... }: { depot, ... }:
{ {
services.mail = {
nodes = {
smtp = [ "VEGAS" ];
imap = [ "VEGAS" ];
};
nixos = {
smtp = [
./postfix.nix
./opendkim.nix
./certificate.nix
];
imap = [
./imap.nix
./certificate.nix
];
};
};
dns.records = let dns.records = let
inherit (depot.lib.meta) domain adminEmail; inherit (depot.lib.meta) domain adminEmail;
mailServerAddr = depot.hours.VEGAS.interfaces.primary.addrPublic; mailServerAddr = depot.hours.VEGAS.interfaces.primary.addrPublic;

View file

@ -32,7 +32,7 @@ let
''; '';
in { in {
age.secrets.dovecotLdapToken.file = ../../../../secrets/dovecot-ldap-token.age; age.secrets.dovecotLdapToken.file = ../../../secrets/dovecot-ldap-token.age;
networking.firewall.allowedTCPPorts = [ 143 993 ]; networking.firewall.allowedTCPPorts = [ 143 993 ];

View file

@ -14,7 +14,7 @@ let
in in
{ {
age.secrets."postfix-ldap-mailboxes.cf" = { age.secrets."postfix-ldap-mailboxes.cf" = {
file = ../../../../secrets/postfix-ldap-mailboxes.age; file = ../../../secrets/postfix-ldap-mailboxes.age;
owner = "postfix"; owner = "postfix";
group = "postfix"; group = "postfix";
mode = "0400"; mode = "0400";

View file

@ -1,6 +1,11 @@
{ depot, ... }: { depot, ... }:
{ {
services.sso = {
nodes.host = [ "VEGAS" ];
nixos.host = ./host.nix;
};
dns.records = let dns.records = let
ssoAddr = [ depot.hours.VEGAS.interfaces.primary.addrPublic ]; ssoAddr = [ depot.hours.VEGAS.interfaces.primary.addrPublic ];
in { in {

View file

@ -9,7 +9,7 @@ in
links.keycloak.protocol = "http"; links.keycloak.protocol = "http";
age.secrets.keycloak-dbpass = { age.secrets.keycloak-dbpass = {
file = ../../../../secrets/keycloak-dbpass.age; file = ../../../secrets/keycloak-dbpass.age;
owner = "root"; owner = "root";
group = "root"; group = "root";
mode = "0400"; mode = "0400";

View file

@ -66,9 +66,11 @@ in
services.wireguard = { services.wireguard = {
nodes = { nodes = {
mesh = [ "checkmate" "grail" "thunderskin" "VEGAS" "prophet" ]; mesh = [ "checkmate" "grail" "thunderskin" "VEGAS" "prophet" ];
storm = [ "VEGAS" ];
}; };
nixos = { nixos = {
mesh = ./mesh.nix; mesh = ./mesh.nix;
storm = ./storm.nix;
}; };
secrets.meshPrivateKey = { secrets.meshPrivateKey = {
nodes = config.services.wireguard.nodes.mesh; nodes = config.services.wireguard.nodes.mesh;

View file

@ -6,7 +6,7 @@ let
in in
{ {
age.secrets.wireguard-key-storm = { age.secrets.wireguard-key-storm = {
file = ../../../../secrets + "/wireguard-key-storm-${hostName}.age"; file = ../../../secrets + "/wireguard-key-storm-${hostName}.age";
mode = "0400"; mode = "0400";
}; };

View file

@ -16,15 +16,10 @@
# Services # Services
./services/backbone-routing ./services/backbone-routing
./services/bitwarden
./services/cdn-shield ./services/cdn-shield
./services/gitlab
./services/jokes ./services/jokes
./services/mail
./services/minecraft ./services/minecraft
./services/sso
./services/websites ./services/websites
./services/wireguard-server
depot.nixosModules.hyprspace depot.nixosModules.hyprspace
depot.nixosModules.nix-builder depot.nixosModules.nix-builder