1
Fork 0
mirror of https://github.com/RGBCube/ncc synced 2025-07-29 11:07:44 +00:00

Add mail server

This commit is contained in:
RGBCube 2024-01-11 14:56:30 +03:00
parent fbb53380ca
commit 42712f996e
No known key found for this signature in database
6 changed files with 37 additions and 9 deletions

View file

@ -36,6 +36,11 @@
inputs.nixpkgs.follows = "nixpkgs";
};
mail = {
url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland = {
url = "github:hyprwm/Hyprland";
};
@ -85,6 +90,7 @@
outputs = {
nixpkgs,
agenix,
mail,
homeManager,
site,
themes,
@ -169,6 +175,7 @@
agenix.nixosModules.default
./secrets
mail.nixosModules.default
site.nixosModules.default
defaultConfiguration

View file

@ -12,7 +12,7 @@ serverSystemConfiguration {
credentialsFile = config.age.secrets.acme.path;
dnsProvider = "cloudflare";
dnsResolver = "1.1.1.1";
email = "rgbsphere@gmail.com";
email = "security@rgbcu.be";
group = "nginx";
};

View file

@ -1,6 +1,6 @@
{ config, ulib, ... }: with ulib;
systemConfiguration {
serverSystemConfiguration {
services.akkoma = let
inherit ((pkgs.formats.elixirConf { }).lib) mkRaw mkTuple;
@ -28,8 +28,8 @@ systemConfiguration {
name = "RGBCube's Akkoma Server";
description = "RGBCube's Akkoma server, facism edition.";
email = "rgbsphere@gmail.com";
notify_email = "rgbsphere@gmail.com";
email = "social@rgbcu.be";
notify_email = "social@rgbcu.be";
limit = 100000;
remote_limit = 100000;

20
hosts/cube/mail.nix Normal file
View file

@ -0,0 +1,20 @@
{ config, ulib, ... }: with ulib;
serverSystemConfiguration {
mailserver = enabled {
domains = [ config.networking.domain ];
fqdn = "mail.${config.networking.domain}";
certificateScheme = "acme";
hierarchySeparator = "/";
useFsLayout = true;
loginAccounts.contact = {
name = "contact@${config.networking.domain}";
aliases = [ "@${config.networking.domain}" ];
hashedPasswordFile = config.age.secrets."cube.mail.password.hash".path;
};
};
}

Binary file not shown.

View file

@ -1,9 +1,10 @@
with import ./keys.nix;
{
"acme.age".publicKeys = [ cube ];
"cube.password.age".publicKeys = [ cube ];
"cube.id.age".publicKeys = [ rgbcube ];
"enka.said.password.age".publicKeys = [ rgbcube ];
"enka.orhan.password.age".publicKeys = [ rgbcube ];
"acme.age".publicKeys = [ cube ];
"cube.password.age".publicKeys = [ cube ];
"cube.mail.password.hash.age".publicKeys = [ cube ];
"cube.id.age".publicKeys = [ rgbcube ];
"enka.said.password.age".publicKeys = [ rgbcube ];
"enka.orhan.password.age".publicKeys = [ rgbcube ];
}