1
Fork 0
mirror of https://github.com/RGBCube/ncc synced 2025-07-30 11:37: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"; inputs.nixpkgs.follows = "nixpkgs";
}; };
mail = {
url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland = { hyprland = {
url = "github:hyprwm/Hyprland"; url = "github:hyprwm/Hyprland";
}; };
@ -85,6 +90,7 @@
outputs = { outputs = {
nixpkgs, nixpkgs,
agenix, agenix,
mail,
homeManager, homeManager,
site, site,
themes, themes,
@ -169,6 +175,7 @@
agenix.nixosModules.default agenix.nixosModules.default
./secrets ./secrets
mail.nixosModules.default
site.nixosModules.default site.nixosModules.default
defaultConfiguration defaultConfiguration

View file

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

View file

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

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