Compare commits
3 commits
c73f4a867d
...
d619a245db
| Author | SHA1 | Date | |
|---|---|---|---|
|
d619a245db |
|||
|
b45132c495 |
|||
|
ccad5cf0e9 |
8 changed files with 63 additions and 46 deletions
|
|
@ -1,4 +1,4 @@
|
||||||
{ simple-nixos-mailserver, ... }:
|
{ simple-nixos-mailserver, config, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
simple-nixos-mailserver.nixosModule {
|
simple-nixos-mailserver.nixosModule {
|
||||||
|
|
@ -11,9 +11,9 @@
|
||||||
enableImapSsl = true;
|
enableImapSsl = true;
|
||||||
enableSubmission = false;
|
enableSubmission = false;
|
||||||
enableSubmissionSsl = true;
|
enableSubmissionSsl = true;
|
||||||
lmtpSaveToDetailMailbox = "no";
|
lmtpSaveToDetailMailbox = false;
|
||||||
domains = [ "grzb.de" "vs.grzb.de" "wg.grzb.de" "nekover.se" ];
|
domains = [ "grzb.de" "vs.grzb.de" "wg.grzb.de" "nekover.se" ];
|
||||||
loginAccounts = {
|
accounts = {
|
||||||
"fiona@grzb.de" = {
|
"fiona@grzb.de" = {
|
||||||
hashedPasswordFile = "/run/secrets/mail-fiona-grzb-de";
|
hashedPasswordFile = "/run/secrets/mail-fiona-grzb-de";
|
||||||
aliases = [ "@grzb.de" ];
|
aliases = [ "@grzb.de" ];
|
||||||
|
|
@ -68,7 +68,8 @@
|
||||||
aliases = [ "nyareply@nekover.se" ];
|
aliases = [ "nyareply@nekover.se" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
certificateScheme = "acme-nginx";
|
# Reference the existing ACME configuration created by nginx
|
||||||
|
x509.useACMEHost = config.mailserver.fqdn;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
@ -80,6 +81,18 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# https://letsencrypt.org/repository/#let-s-encrypt-subscriber-agreement
|
||||||
|
security.acme.acceptTerms = true;
|
||||||
|
|
||||||
|
# Allow incoming HTTP connections
|
||||||
|
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||||
|
|
||||||
|
# Enable ACME HTTP-01 challenge with nginx
|
||||||
|
services.nginx = {
|
||||||
|
enable = true;
|
||||||
|
virtualHosts.${config.mailserver.fqdn}.enableACME = true;
|
||||||
|
};
|
||||||
|
|
||||||
sops.secrets."mail-fiona-grzb-de" = {
|
sops.secrets."mail-fiona-grzb-de" = {
|
||||||
mode = "0440";
|
mode = "0440";
|
||||||
owner = "root";
|
owner = "root";
|
||||||
|
|
|
||||||
|
|
@ -1,29 +1,29 @@
|
||||||
{ pkgs, nixpkgs-unstable, nixpkgs-master, ... }:
|
{ pkgs, nixpkgs-unstable, nixpkgs-master, ... }:
|
||||||
let
|
let
|
||||||
tangerineUI = pkgs.fetchgit {
|
tangerineUI = pkgs.fetchgit {
|
||||||
url = "https://github.com/nileane/TangerineUI-for-Mastodon.git";
|
url = "https://github.com/mattbirchler/Tangerine-Neue-for-Mastodon.git";
|
||||||
rev = "v2.5.3";
|
rev = "2.6.4";
|
||||||
hash = "sha256-fs/pwIwXZvSNVmlSG304CMT/hSW/RtrzraMsrhg/TbE=";
|
hash = "sha256-yNzG7GWliWcXin1CbiQvu4euLAJ8x+r09zBWudey+84=";
|
||||||
};
|
};
|
||||||
mastodonModern = pkgs.fetchgit {
|
mastodonModern = pkgs.fetchgit {
|
||||||
url = "https://git.gay/freeplay/Mastodon-Modern.git";
|
url = "https://git.gay/freeplay/Mastodon-Modern.git";
|
||||||
rev = "f899b68740e25e17ed600e38657d0ef94c92b293";
|
rev = "3fd4700f68b34485c6056eab9852c1910d0c73d1";
|
||||||
hash = "sha256-+HQ7+Ypv540qB7ACfROJs8JUuqvMzaveKOdBsAfr3D4=";
|
hash = "sha256-EqGlqw1M8FM/HlhQTeRGxUgAAgo6BOCdRTvWmOpkwnY=";
|
||||||
};
|
};
|
||||||
mastodonNekoversePatches = pkgs.fetchgit {
|
mastodonNekoversePatches = pkgs.fetchgit {
|
||||||
url = "https://github.com/yuri-qq/nekoverse-mastodon-patches.git";
|
url = "https://github.com/yuri-qq/nekoverse-mastodon-patches.git";
|
||||||
hash = "sha256-NtdJWMi8/siduX2iFD+GAsK9J+Y6T/tZ/fXqb/QH284=";
|
hash = "sha256-R9YWjJYcPxFQk1eS85jVcYLolez8M828TSwp0AeplLc=";
|
||||||
};
|
};
|
||||||
mastodonNekoverseOverlay = final: prev: {
|
mastodonNekoverseOverlay = final: prev: {
|
||||||
mastodon = (prev.mastodon.override rec {
|
mastodon = (prev.mastodon.override rec {
|
||||||
version = "4.5.11";
|
version = "4.6.2";
|
||||||
srcOverride = final.applyPatches {
|
srcOverride = final.applyPatches {
|
||||||
src = pkgs.stdenv.mkDerivation {
|
src = pkgs.stdenv.mkDerivation {
|
||||||
name = "mastodonWithThemes";
|
name = "mastodonWithThemes";
|
||||||
src = pkgs.fetchgit {
|
src = pkgs.fetchgit {
|
||||||
url = "https://github.com/mastodon/mastodon.git";
|
url = "https://github.com/mastodon/mastodon.git";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-YAWlge8dShDFfMBhyRQHryZUs1yD5KNKzXOyCpRsy9w=";
|
sha256 = "sha256-RA9yGmWyzwiD/skPxOB27hqRxMqKGFmMMDOvHR5FjqI=";
|
||||||
};
|
};
|
||||||
# mastodon ships with broken symlinks, disable the check for that for now
|
# mastodon ships with broken symlinks, disable the check for that for now
|
||||||
dontCheckForBrokenSymlinks = true;
|
dontCheckForBrokenSymlinks = true;
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@
|
||||||
admin_user = "yuri";
|
admin_user = "yuri";
|
||||||
admin_password = "$__file{/run/secrets/metrics-grafana-admin-password}";
|
admin_password = "$__file{/run/secrets/metrics-grafana-admin-password}";
|
||||||
admin_email = "yuri@nekover.se";
|
admin_email = "yuri@nekover.se";
|
||||||
|
secret_key = "SW2YcwTIb9zpOOhoPsMm"; # default key
|
||||||
};
|
};
|
||||||
smtp = {
|
smtp = {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
{
|
{
|
||||||
services.nextcloud = {
|
services.nextcloud = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.nextcloud32;
|
package = pkgs.nextcloud33;
|
||||||
hostName = "cloud.nekover.se";
|
hostName = "cloud.nekover.se";
|
||||||
https = true;
|
https = true;
|
||||||
config = {
|
config = {
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,10 @@
|
||||||
containers.uptime-kuma = {
|
containers.uptime-kuma = {
|
||||||
autoStart = true;
|
autoStart = true;
|
||||||
config = { ... }: {
|
config = { ... }: {
|
||||||
networking.useHostResolvConf = true;
|
networking = {
|
||||||
|
useHostResolvConf = true;
|
||||||
|
resolvconf.enable = false;
|
||||||
|
};
|
||||||
|
|
||||||
services.uptime-kuma = {
|
services.uptime-kuma = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
elementAdminVersion = "0.1.11";
|
elementAdminVersion = "0.1.12";
|
||||||
elementAdmin = pkgs.stdenv.mkDerivation (finalAttrs: {
|
elementAdmin = pkgs.stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "element-admin";
|
pname = "element-admin";
|
||||||
version = elementAdminVersion;
|
version = elementAdminVersion;
|
||||||
|
|
||||||
src = pkgs.fetchzip {
|
src = pkgs.fetchzip {
|
||||||
url = "https://github.com/element-hq/element-admin/archive/refs/tags/v${elementAdminVersion}.zip";
|
url = "https://github.com/element-hq/element-admin/archive/refs/tags/v${elementAdminVersion}.zip";
|
||||||
sha256 = "sha256-tSUTDPspQJjvP1KN4nUr4LYyjNQFj4pKMMA8JmavIxo=";
|
sha256 = "sha256-+vm3oem3B9vEaWBc5I9huaEpgoajN74tJ1K5xt7U9n4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
@ -18,8 +18,8 @@ let
|
||||||
|
|
||||||
pnpmDeps = pkgs.pnpm.fetchDeps {
|
pnpmDeps = pkgs.pnpm.fetchDeps {
|
||||||
inherit (finalAttrs) pname version src;
|
inherit (finalAttrs) pname version src;
|
||||||
fetcherVersion = 2;
|
fetcherVersion = 3;
|
||||||
hash = "sha256-Hf4PWey5bczSNbc3QQ9z9X3OVUZ7VHXw7BHGQqJWPac=";
|
hash = "sha256-29clkcYO7xXX5c+cVpyaBIAo3Xyp5z4f13Lg3eWMZ9I=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
|
|
|
||||||
52
flake.lock
generated
52
flake.lock
generated
|
|
@ -21,13 +21,13 @@
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767039857,
|
"lastModified": 1767039857,
|
||||||
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
|
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
|
||||||
"owner": "edolstra",
|
"owner": "NixOS",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
|
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "edolstra",
|
"owner": "NixOS",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|
@ -45,11 +45,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772893680,
|
"lastModified": 1778507602,
|
||||||
"narHash": "sha256-JDqZMgxUTCq85ObSaFw0HhE+lvdOre1lx9iI6vYyOEs=",
|
"narHash": "sha256-kTwur1wV+01SdqskVMSo6JMEpg71ps3HpbFY2GsflKs=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "git-hooks.nix",
|
"repo": "git-hooks.nix",
|
||||||
"rev": "8baab586afc9c9b57645a734c820e4ac0a604af9",
|
"rev": "61ab0e80d9c7ab14c256b5b453d8b3fb0189ba0a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -118,27 +118,27 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780815147,
|
"lastModified": 1783047444,
|
||||||
"narHash": "sha256-FSDVygpoXrYLH5ZYcqjNkCZzzQrRYZW3awA9vDgb60g=",
|
"narHash": "sha256-9QKwAEv+CHoCAoWEXMwOLn3Oga3DU8W6mwhbpe1dBZ0=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "9a681e663d65ff3b0c636df6c7cfbad31e1ed311",
|
"rev": "5a613bb3905713cfde9b3a6c24006a55bb8076eb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-25.11-small",
|
"ref": "nixos-26.05-small",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-master": {
|
"nixpkgs-master": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780932787,
|
"lastModified": 1783092462,
|
||||||
"narHash": "sha256-bfcn88kNQTwKjNNc/9Mpn3xdXMwBZ7CR42kbw/4DS4k=",
|
"narHash": "sha256-3W5BuYd+4meHnB/UYdp/rd+TjjB72bGE2LPmo2WIk1o=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "8c8caf0bad77cb3fac3812d7680e7995e4c509b0",
|
"rev": "0790b99663000a73d2a69f6ba976ee34e5c47d09",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -150,11 +150,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780895883,
|
"lastModified": 1783044540,
|
||||||
"narHash": "sha256-y4ys7/dYufqXMIDH0qIC4C3Qkq7F+9syjlkz1vH7Apo=",
|
"narHash": "sha256-MvaWA0Kz+P0M+5KOtPJN71+h+SXaoFkMIM8PPyVLHPs=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "0265069a40f500e713cbf64f29185b3cfa6c9ba9",
|
"rev": "7008f632a9c5162d4ad399018ba10ffd13af4c90",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -166,16 +166,16 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773831496,
|
"lastModified": 1779622335,
|
||||||
"narHash": "sha256-JW2/QPyCVzmouqEp1H9kNa8JXd7xEhlam9sy3TYfhDY=",
|
"narHash": "sha256-ViA62qtL5za7V3d5I8OA9q9JcFhsVAiL5jVHwEclWqk=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "826430a188181a750ffa5948daff334039c5d741",
|
"rev": "705e9929918b43bd7b715dc0a878ac870449bb03",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-25.11-small",
|
"ref": "nixos-26.05-small",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|
@ -198,16 +198,16 @@
|
||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773912645,
|
"lastModified": 1781301671,
|
||||||
"narHash": "sha256-QHzRqq6gh+t3F/QU9DkP7X63dDDcuIQmaDz12p7ANTg=",
|
"narHash": "sha256-rq6WOopxq3U2AGEWO80o9LIJDYcYIdgw6jyl+y+19w8=",
|
||||||
"owner": "simple-nixos-mailserver",
|
"owner": "simple-nixos-mailserver",
|
||||||
"repo": "nixos-mailserver",
|
"repo": "nixos-mailserver",
|
||||||
"rev": "25e6dbb8fca3b6e779c5a46fd03bd760b2165bb5",
|
"rev": "661ec59a97ccee13a63f79280b282eb6f7d3f817",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "simple-nixos-mailserver",
|
"owner": "simple-nixos-mailserver",
|
||||||
"ref": "nixos-25.11",
|
"ref": "nixos-26.05",
|
||||||
"repo": "nixos-mailserver",
|
"repo": "nixos-mailserver",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
}
|
}
|
||||||
|
|
@ -219,11 +219,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780547341,
|
"lastModified": 1782165805,
|
||||||
"narHash": "sha256-Gq8KNx5A7hBB3uGJaj6eQfLDIz5YdLu92gqBcvHvoUo=",
|
"narHash": "sha256-478kKQBvK6SYTOdN2h9jhKJv94nbXRbFMfuL1WshErg=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "9ed65852b6257fbeae4355bc24ecfea307ca759a",
|
"rev": "56b24064fdcaedca53553b1a6d607fd23b613a24",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
{
|
{
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11-small";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05-small";
|
||||||
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable-small";
|
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable-small";
|
||||||
nixpkgs-master.url = "github:NixOS/nixpkgs/master";
|
nixpkgs-master.url = "github:NixOS/nixpkgs/master";
|
||||||
nixos-generators = {
|
nixos-generators = {
|
||||||
url = "github:nix-community/nixos-generators";
|
url = "github:nix-community/nixos-generators";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-25.11";
|
simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-26.05";
|
||||||
sops-nix = {
|
sops-nix = {
|
||||||
url = "github:Mic92/sops-nix";
|
url = "github:Mic92/sops-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue