simple mail config

This commit is contained in:
jopejoe1 2024-04-20 10:11:36 +02:00
parent 99892fab5c
commit 2cbec3d841
3 changed files with 32 additions and 0 deletions

View file

@ -38,6 +38,11 @@
inputs.nixpkgs-stable.follows = "nixpkgs";
};
impermanence.url = "github:nix-community/impermanence";
snm = {
url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
inputs.nixpkgs.follows = "nixpkgs";
};
# Packages
tela-icon-theme = {

View file

@ -6,6 +6,8 @@
self.inputs.srvos.nixosModules.server
self.inputs.srvos.nixosModules.hardware-hetzner-online-amd
self.inputs.srvos.nixosModules.mixins-nginx
self.inputs.snm.nixosModules.mailserver
./mail.nix
];
jopejoe1 = {
@ -36,6 +38,9 @@
services.openssh.ports = [ 22 ];
security.acme.acceptTerms = true;
security.acme.defaults.email = "security@missing.ninja";
users.users.jopejoe1.hashedPassword = "$2b$05$Uk84TY/RHlH8DIigUlFYjeorjTlCMEY9wN2pAcw5BLaPoc7dKiSsC";
users.users.root.hashedPassword = "$2b$05$Uk84TY/RHlH8DIigUlFYjeorjTlCMEY9wN2pAcw5BLaPoc7dKiSsC";

22
systems/hetzner/mail.nix Normal file
View file

@ -0,0 +1,22 @@
{ config, pkgs, lib, ...}:
{
mailserver = {
enable = true;
fqdn = "mail.missing.ninja";
domains = [ "missing.ninja" ];
# A list of all login accounts. To create the password hashes, use
# nix-shell -p mkpasswd --run 'mkpasswd -sm bcrypt'
loginAccounts = {
"admin@missing.ninja" = {
hashedPasswordFile = "/a/file/containing/a/hashed/password";
aliases = [ "@missing.ninja" ];
};
};
# Use Let's Encrypt certificates. Note that this needs to set up a stripped
# down nginx and opens port 80.
certificateScheme = "acme-nginx";
};
}