mirror of
https://github.com/RGBCube/ncc
synced 2025-07-29 11:07:44 +00:00
Add mail server
This commit is contained in:
parent
fbb53380ca
commit
42712f996e
6 changed files with 37 additions and 9 deletions
|
@ -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
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
||||
|
|
|
@ -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
20
hosts/cube/mail.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
}
|
BIN
secrets/cube.mail.password.hash.age
Normal file
BIN
secrets/cube.mail.password.hash.age
Normal file
Binary file not shown.
|
@ -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 ];
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue