mirror of
https://git.sr.ht/~rouven/nixos-config
synced 2024-11-15 05:13:10 +01:00
simple mailserver config
This commit is contained in:
parent
e04491f9dd
commit
6972c8d5dd
99
flake.lock
99
flake.lock
|
@ -16,6 +16,38 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"blobs": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1604995301,
|
||||||
|
"narHash": "sha256-wcLzgLec6SGJA8fx1OEN1yV/Py5b+U5iyYpksUY/yLw=",
|
||||||
|
"owner": "simple-nixos-mailserver",
|
||||||
|
"repo": "blobs",
|
||||||
|
"rev": "2cccdf1ca48316f2cfd1c9a0017e8de5a7156265",
|
||||||
|
"type": "gitlab"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "simple-nixos-mailserver",
|
||||||
|
"repo": "blobs",
|
||||||
|
"type": "gitlab"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-compat": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1668681692,
|
||||||
|
"narHash": "sha256-Ht91NGdewz8IQLtWZ9LCeNXMSXHUss+9COoqu6JLmXU=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "009399224d5e398d03b22badca40a37ac85412a1",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -43,11 +75,11 @@
|
||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1684844798,
|
"lastModified": 1684919509,
|
||||||
"narHash": "sha256-ZrMXFoEA535jOZ+eDA3s+URZ5MkVRksBgL5qGnb6Ciw=",
|
"narHash": "sha256-1HbQ4Y/DC59dFhUxBDV+tEzftlNvirHbIlg6axPusoo=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "Hyprland",
|
"repo": "Hyprland",
|
||||||
"rev": "eb1f832fcec5838053c6b031b656e4f949ada57b",
|
"rev": "5bfd5a92404c9da08c187096d54c18274c737a00",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -133,11 +165,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1684169666,
|
"lastModified": 1684899633,
|
||||||
"narHash": "sha256-N5jrykeSxLVgvm3Dd3hZ38/XwM/jU+dltqlXgrGlYxk=",
|
"narHash": "sha256-NtwerXX8UFsoNy6k+DukJMriWtEjQtMU/Urbff2O2Dg=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "71ce85372a614d418d5e303dd5702a79d1545c04",
|
"rev": "4cc688ee711159b9bcb5a367be44007934e1a49d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -161,6 +193,21 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-22_11": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1669558522,
|
||||||
|
"narHash": "sha256-yqxn+wOiPqe6cxzOo4leeJOp1bXE/fjPEi/3F/bBHv8=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "ce5fe99df1f15a09a91a86be9738d68fadfbad82",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"id": "nixpkgs",
|
||||||
|
"ref": "nixos-22.11",
|
||||||
|
"type": "indirect"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs-lib": {
|
"nixpkgs-lib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1680397293,
|
"lastModified": 1680397293,
|
||||||
|
@ -237,10 +284,35 @@
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"purge": "purge",
|
"purge": "purge",
|
||||||
|
"simple-nixos-mailserver": "simple-nixos-mailserver",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"trucksimulatorbot-images": "trucksimulatorbot-images"
|
"trucksimulatorbot-images": "trucksimulatorbot-images"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"simple-nixos-mailserver": {
|
||||||
|
"inputs": {
|
||||||
|
"blobs": "blobs",
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nixpkgs-22_11": "nixpkgs-22_11",
|
||||||
|
"utils": "utils"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1684874496,
|
||||||
|
"narHash": "sha256-UinOcfH+PvkYsnpsty8uIUrag62Yre2jlBjP2h70dI8=",
|
||||||
|
"owner": "simple-nixos-mailserver",
|
||||||
|
"repo": "nixos-mailserver",
|
||||||
|
"rev": "d8131ffc61553df6137b382eec380689596cae3d",
|
||||||
|
"type": "gitlab"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "simple-nixos-mailserver",
|
||||||
|
"repo": "nixos-mailserver",
|
||||||
|
"type": "gitlab"
|
||||||
|
}
|
||||||
|
},
|
||||||
"sops-nix": {
|
"sops-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -281,6 +353,21 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"utils": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1605370193,
|
||||||
|
"narHash": "sha256-YyMTf3URDL/otKdKgtoMChu4vfVL3vCMkRqpGifhUn0=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "5021eac20303a61fafe17224c087f5519baed54d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"wlroots": {
|
"wlroots": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|
|
@ -31,6 +31,12 @@
|
||||||
url = "github:therealr5/trucksimulatorbot-images";
|
url = "github:therealr5/trucksimulatorbot-images";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
simple-nixos-mailserver = {
|
||||||
|
url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
|
@ -45,6 +51,7 @@
|
||||||
, nixos-hardware
|
, nixos-hardware
|
||||||
, purge
|
, purge
|
||||||
, trucksimulatorbot-images
|
, trucksimulatorbot-images
|
||||||
|
, simple-nixos-mailserver
|
||||||
, ...
|
, ...
|
||||||
}@attrs: {
|
}@attrs: {
|
||||||
packages.x86_64-linux.iso = self.nixosConfigurations.iso.config.system.build.isoImage;
|
packages.x86_64-linux.iso = self.nixosConfigurations.iso.config.system.build.isoImage;
|
||||||
|
@ -98,6 +105,7 @@
|
||||||
sops-nix.nixosModules.sops
|
sops-nix.nixosModules.sops
|
||||||
purge.nixosModules.default
|
purge.nixosModules.default
|
||||||
trucksimulatorbot-images.nixosModules.default
|
trucksimulatorbot-images.nixosModules.default
|
||||||
|
simple-nixos-mailserver.nixosModules.default
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
vm = nixpkgs.lib.nixosSystem {
|
vm = nixpkgs.lib.nixosSystem {
|
||||||
|
|
|
@ -38,6 +38,10 @@
|
||||||
htop-vim
|
htop-vim
|
||||||
helix
|
helix
|
||||||
];
|
];
|
||||||
|
users.users.rouven = {
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups = [ "wheel" ];
|
||||||
|
};
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = {
|
config = {
|
||||||
|
|
8
hosts/falkenstein-1/modules/mail/default.nix
Normal file
8
hosts/falkenstein-1/modules/mail/default.nix
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
mailserver = {
|
||||||
|
enable = true;
|
||||||
|
fqdn = "mail.rfive.de";
|
||||||
|
domains = [ "rfive.de" ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -38,66 +38,66 @@ in
|
||||||
msmtp.enable = true;
|
msmtp.enable = true;
|
||||||
};
|
};
|
||||||
accounts.email.accounts = {
|
accounts.email.accounts = {
|
||||||
"rouven@rfive.de" = rec {
|
# "rouven@rfive.de" = rec {
|
||||||
address = "rouven@rfive.de";
|
# address = "rouven@rfive.de";
|
||||||
gpg.key = gpg-default-key;
|
# gpg.key = gpg-default-key;
|
||||||
realName = "Rouven Seifert";
|
# realName = "Rouven Seifert";
|
||||||
userName = address;
|
# userName = address;
|
||||||
passwordCommand = "${pkgs.coreutils}/bin/cat $XDG_RUNTIME_DIR/secrets/email/rfive";
|
# passwordCommand = "${pkgs.coreutils}/bin/cat $XDG_RUNTIME_DIR/secrets/email/rfive";
|
||||||
imap = {
|
# imap = {
|
||||||
host = "pro1.mail.ovh.net";
|
# host = "pro1.mail.ovh.net";
|
||||||
port = 993;
|
# port = 993;
|
||||||
};
|
# };
|
||||||
smtp = {
|
# smtp = {
|
||||||
host = "pro1.mail.ovh.net";
|
# host = "pro1.mail.ovh.net";
|
||||||
port = 587;
|
# port = 587;
|
||||||
tls.useStartTls = true;
|
# tls.useStartTls = true;
|
||||||
};
|
# };
|
||||||
msmtp.enable = true;
|
# msmtp.enable = true;
|
||||||
mbsync = {
|
# mbsync = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
create = "maildir";
|
# create = "maildir";
|
||||||
expunge = "both";
|
# expunge = "both";
|
||||||
groups.rfive = {
|
# groups.rfive = {
|
||||||
channels.inbox = {
|
# channels.inbox = {
|
||||||
nearPattern = "INBOX";
|
# nearPattern = "INBOX";
|
||||||
farPattern = "INBOX";
|
# farPattern = "INBOX";
|
||||||
extraConfig.Create = "near";
|
# extraConfig.Create = "near";
|
||||||
};
|
# };
|
||||||
channels.trash = {
|
# channels.trash = {
|
||||||
nearPattern = "Trash";
|
# nearPattern = "Trash";
|
||||||
farPattern = "Gel&APY-schte Elemente";
|
# farPattern = "Gel&APY-schte Elemente";
|
||||||
extraConfig.Create = "near";
|
# extraConfig.Create = "near";
|
||||||
};
|
# };
|
||||||
channels.sent = {
|
# channels.sent = {
|
||||||
nearPattern = "Sent";
|
# nearPattern = "Sent";
|
||||||
farPattern = "Gesendete Elemente";
|
# farPattern = "Gesendete Elemente";
|
||||||
extraConfig.Create = "near";
|
# extraConfig.Create = "near";
|
||||||
};
|
# };
|
||||||
channels.junk = {
|
# channels.junk = {
|
||||||
nearPattern = "Junk";
|
# nearPattern = "Junk";
|
||||||
farPattern = "Junk-E-Mail";
|
# farPattern = "Junk-E-Mail";
|
||||||
extraConfig.Create = "near";
|
# extraConfig.Create = "near";
|
||||||
};
|
# };
|
||||||
channels.drafts = {
|
# channels.drafts = {
|
||||||
nearPattern = "Drafts";
|
# nearPattern = "Drafts";
|
||||||
farPattern = "Entw&APw-rfe";
|
# farPattern = "Entw&APw-rfe";
|
||||||
extraConfig.Create = "near";
|
# extraConfig.Create = "near";
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
extraConfig = {
|
# extraConfig = {
|
||||||
account = {
|
# account = {
|
||||||
AuthMechs = "Login";
|
# AuthMechs = "Login";
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
neomutt = let c = mbsync.groups.rfive.channels; in
|
# neomutt = let c = mbsync.groups.rfive.channels; in
|
||||||
{
|
# {
|
||||||
enable = true;
|
# enable = true;
|
||||||
mailboxName = " rfive.de";
|
# mailboxName = " rfive.de";
|
||||||
extraMailboxes = lib.lists.forEach [ c.sent c.trash c.junk c.drafts ] (x: x.nearPattern);
|
# extraMailboxes = lib.lists.forEach [ c.sent c.trash c.junk c.drafts ] (x: x.nearPattern);
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
"TU-Dresden" = rec {
|
"TU-Dresden" = rec {
|
||||||
address = "rouven.seifert@mailbox.tu-dresden.de";
|
address = "rouven.seifert@mailbox.tu-dresden.de";
|
||||||
gpg.key = gpg-default-key;
|
gpg.key = gpg-default-key;
|
||||||
|
|
Loading…
Reference in a new issue