mirror of
https://github.com/RGBCube/ncc
synced 2025-07-30 11:37: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";
|
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
|
||||||
|
|
|
@ -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";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -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
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.
|
@ -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 ];
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue