feat: mailserver

This commit is contained in:
DACHXY 2025-08-14 12:27:49 +08:00
parent 0ebf0d7a29
commit b8a31b6264
28 changed files with 2446 additions and 1350 deletions

352
flake.lock generated
View file

@ -8,11 +8,11 @@
"systems": "systems"
},
"locked": {
"lastModified": 1752663231,
"narHash": "sha256-rTItuAWpzICMREF8Ww8cK4hYgNMRXJ4wjkN0akLlaWE=",
"lastModified": 1753590784,
"narHash": "sha256-Q30DFlPwD1ZK52TD4wSnqDO5gk9Kvifr923siI8AdVQ=",
"owner": "KZDKM",
"repo": "Hyprspace",
"rev": "0a82e3724f929de8ad8fb04d2b7fa128493f24f7",
"rev": "a847f1d6a7326395d17fe9b6b4ab63a10eb152eb",
"type": "github"
},
"original": {
@ -21,6 +21,27 @@
"type": "github"
}
},
"actual-budget-api": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1753936121,
"narHash": "sha256-gRZAewG5grwOchBqsZiOpJud3dMUColzvCoCkMRmJVo=",
"owner": "DACHXY",
"repo": "actual-budget-api",
"rev": "368035ec590180f1229b1fccef33c16a2ba4df9a",
"type": "github"
},
"original": {
"owner": "DACHXY",
"repo": "actual-budget-api",
"type": "github"
}
},
"aquamarine": {
"inputs": {
"hyprutils": [
@ -121,11 +142,11 @@
]
},
"locked": {
"lastModified": 1753360872,
"narHash": "sha256-U6cjsjnGrUbZj8WLtwkdwmrPGTmHEuLY2eS2N1En+ZM=",
"lastModified": 1753925620,
"narHash": "sha256-i39h2itBWoMgiKT0m5tf3/B+mUFk4m6/+GgTc4g3rsE=",
"owner": "nix-community",
"repo": "flake-firefox-nightly",
"rev": "843548be22ed257f97a28632c798fe1d95292b47",
"rev": "7d4349a2c46b51ed4712e66e0cb372d828bd92ae",
"type": "github"
},
"original": {
@ -245,22 +266,6 @@
"type": "github"
}
},
"flake-compat_8": {
"flake": false,
"locked": {
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
@ -376,7 +381,7 @@
},
"flake-utils_3": {
"inputs": {
"systems": "systems_7"
"systems": "systems_4"
},
"locked": {
"lastModified": 1731533236,
@ -410,21 +415,38 @@
"type": "github"
}
},
"flake-utils_5": {
"inputs": {
"systems": "systems_8"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"ghostty": {
"inputs": {
"flake-compat": "flake-compat_2",
"flake-utils": "flake-utils_2",
"nixpkgs-stable": "nixpkgs-stable",
"nixpkgs-unstable": "nixpkgs-unstable",
"flake-utils": "flake-utils_3",
"nixpkgs": "nixpkgs",
"zig": "zig",
"zon2nix": "zon2nix"
},
"locked": {
"lastModified": 1746806042,
"narHash": "sha256-Hx92i3f5IjHaWpReyCKvGdqG55bZFU3wxGzA3wv9VLA=",
"lastModified": 1753893528,
"narHash": "sha256-5oc0by3pe2KqJDbbkQP5R5u5ybx4Fj/5Ff8eAZ4yG6s=",
"owner": "ghostty-org",
"repo": "ghostty",
"rev": "7f9bb3c0e54f585e11259bc0c9064813d061929c",
"rev": "d4c825186e4b80c3d95db4e5ccf8b7dcfc671197",
"type": "github"
},
"original": {
@ -553,31 +575,11 @@
]
},
"locked": {
"lastModified": 1754886238,
"narHash": "sha256-LTQomWOwG70lZR+78ZYSZ9sYELWNq3HJ7/tdHzfif/s=",
"lastModified": 1753888434,
"narHash": "sha256-xQhSeLJVsxxkwchE4s6v1CnOI6YegCqeA1fgk/ivVI4=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "0d492b89d1993579e63b9dbdaed17fd7824834da",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"home-manager_2": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1753365873,
"narHash": "sha256-+Swd3wJppukESlWkbdopl9ZThjNVIFARVlb/eA2xjUA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "e2fe7256c4ebbb35bfd1b4c6f52b57a3845ab1d0",
"rev": "0630790b31d4547d79ff247bc3ba1adda3a017d9",
"type": "github"
},
"original": {
@ -644,35 +646,6 @@
"type": "github"
}
},
"hyprgraphics_2": {
"inputs": {
"hyprutils": [
"hyprlock",
"hyprutils"
],
"nixpkgs": [
"hyprlock",
"nixpkgs"
],
"systems": [
"hyprlock",
"systems"
]
},
"locked": {
"lastModified": 1750621377,
"narHash": "sha256-8u6b5oAdX0rCuoR8wFenajBRmI+mzbpNig6hSCuWUzE=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "b3d628d01693fb9bb0a6690cd4e7b80abda04310",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprgraphics",
"type": "github"
}
},
"hyprgrass": {
"inputs": {
"hyprland": [
@ -710,15 +683,15 @@
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs_2",
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems_4",
"systems": "systems_5",
"xdph": "xdph"
},
"locked": {
"lastModified": 1753310189,
"narHash": "sha256-EgDpsy/2ge/88Zd5ML+m0tyFVwXCeUoPQTOs4YtWZ8w=",
"lastModified": 1753917125,
"narHash": "sha256-AiLcR+4gVhJnJsO2fMEW83dMZbGPYs13d6S8yrbPXew=",
"ref": "refs/heads/main",
"rev": "31cc7f3b87d1d9670b66e73e3720da2e2da49acd",
"revCount": 6311,
"rev": "3e35797b18d35baae82657bb0438af88156e273f",
"revCount": 6328,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@ -746,11 +719,11 @@
]
},
"locked": {
"lastModified": 1753028264,
"narHash": "sha256-GbfsRZWW5uBAOeddLkmrYV2XmAbI0etVUTBXFH5thcw=",
"lastModified": 1753894287,
"narHash": "sha256-yPeP6mY5Mdozji7xZBWYy6K166RcCuJgnOXxQt7vl3s=",
"owner": "hyprwm",
"repo": "hyprland-plugins",
"rev": "14f9a444793d6dd78c29033acf9c3c974ded708d",
"rev": "bf310cda4a09b79725c2919688881959ebf3229e",
"type": "github"
},
"original": {
@ -973,36 +946,11 @@
]
},
"locked": {
"lastModified": 1752252310,
"narHash": "sha256-06i1pIh6wb+sDeDmWlzuPwIdaFMxLlj1J9I5B9XqSeo=",
"lastModified": 1753800567,
"narHash": "sha256-W0xgXsaqGa/5/7IBzKNhf0+23MqGPymYYfqT7ECqeTE=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "bcabcbada90ed2aacb435dc09b91001819a6dc82",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprutils",
"type": "github"
}
},
"hyprutils_2": {
"inputs": {
"nixpkgs": [
"hyprlock",
"nixpkgs"
],
"systems": [
"hyprlock",
"systems"
]
},
"locked": {
"lastModified": 1751061882,
"narHash": "sha256-g9n8Vrbx+2JYM170P9BbvGHN39Wlkr4U+V2WLHQsXL8=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "4737241eaf8a1e51671a2a088518071f9a265cf4",
"rev": "c65d41d4f4e6ded6fdb9d508a73e2fe90e55cdf7",
"type": "github"
},
"original": {
@ -1111,15 +1059,15 @@
},
"lib-aggregate": {
"inputs": {
"flake-utils": "flake-utils",
"flake-utils": "flake-utils_2",
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1753013761,
"narHash": "sha256-ggvjKAeIsjwdu6+ECBGieyBgtotD7BrsGX5BirCacYU=",
"lastModified": 1753618592,
"narHash": "sha256-9sDACkrSbZOA1srKWQzvbkBFHZeXvHW8EYpWrVZPxDg=",
"owner": "nix-community",
"repo": "lib-aggregate",
"rev": "f7c04e5ad6aa43a0f9698edb0d74b44e88ee99ee",
"rev": "81b2f78680ca3864bfdc0d4cbc3444af3e1ff271",
"type": "github"
},
"original": {
@ -1139,11 +1087,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1753343196,
"narHash": "sha256-o9veRunwEQOhokmU9J+sQao/TRGtgwK20CGCiHtzKdM=",
"lastModified": 1753917868,
"narHash": "sha256-khP5mhM320Uzu1lz0T2iVOFMdTdOFCsCW4ZOgQjBm4M=",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"rev": "e2091f21d83fd357ebb79ff566428826bbb4f565",
"rev": "76251f3ad50697027b37cfc602b847e24fb5834f",
"type": "github"
},
"original": {
@ -1155,11 +1103,11 @@
"neovim-src": {
"flake": false,
"locked": {
"lastModified": 1753271847,
"narHash": "sha256-RuuJ3b4otjQGraffcktEvP6Wk54MCHWwXnvoIy01dyo=",
"lastModified": 1753830218,
"narHash": "sha256-PpZUuVOB11MD7gNql5XIS/rEzbhkSmdODK+WUqDah6w=",
"owner": "neovim",
"repo": "neovim",
"rev": "0dcdd65dcc08483d9a5c106f62b862a9de30983e",
"rev": "1256daeead27722263614c1e57899dff6d802b98",
"type": "github"
},
"original": {
@ -1198,11 +1146,11 @@
]
},
"locked": {
"lastModified": 1752985182,
"narHash": "sha256-sX8Neff8lp3TCHai6QmgLr5AD8MdsQQX3b52C1DVXR8=",
"lastModified": 1753589988,
"narHash": "sha256-y1JlcMB2dKFkrr6g+Ucmj8L//IY09BtSKTH/A7OU7mU=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "fafdcb505ba605157ff7a7eeea452bc6d6cbc23c",
"rev": "f0736b09c43028fd726fb70c3eb3d1f0795454cf",
"type": "github"
},
"original": {
@ -1214,15 +1162,15 @@
"nix-minecraft": {
"inputs": {
"flake-compat": "flake-compat_7",
"flake-utils": "flake-utils_3",
"flake-utils": "flake-utils_4",
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1753237324,
"narHash": "sha256-iXvv/VYLMyAoaTadYrX0PGwd6N2wVX337Os6k8TAlF4=",
"lastModified": 1753928630,
"narHash": "sha256-ASqyvmJ2EEUCyDJGMHRQ1ZqWnCd4SiVd7hi7dGBuSvw=",
"owner": "Infinidoge",
"repo": "nix-minecraft",
"rev": "64ca2cbbf9c65dd3bd98192d74872a80e8dcb871",
"rev": "30af81148ee29a4a13c938c25d3e68877b1b27fb",
"type": "github"
},
"original": {
@ -1251,27 +1199,24 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1754725699,
"narHash": "sha256-iAcj9T/Y+3DBy2J0N+yF9XQQQ8IEb5swLFzs23CdP88=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054",
"type": "github"
"lastModified": 1748189127,
"narHash": "sha256-zRDR+EbbeObu4V2X5QCd2Bk5eltfDlCr5yvhBwUT6pY=",
"rev": "7c43f080a7f28b2774f3b3f43234ca11661bf334",
"type": "tarball",
"url": "https://releases.nixos.org/nixos/25.05/nixos-25.05.802491.7c43f080a7f2/nixexprs.tar.xz"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
"type": "tarball",
"url": "https://channels.nixos.org/nixos-25.05/nixexprs.tar.xz"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1752974445,
"narHash": "sha256-jj/HBJFSapTk4LfeJgNLk2wEE2BO6dgBYVRbXMNOCeM=",
"lastModified": 1753579242,
"narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "9100109c11b6b5482ea949c980b86e24740dca08",
"rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e",
"type": "github"
},
"original": {
@ -1281,22 +1226,6 @@
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1751290243,
"narHash": "sha256-kNf+obkpJZWar7HZymXZbW+Rlk3HTEIMlpc6FCNz0Ds=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "5ab036a8d97cb9476fbe81b09076e6e91d15e1b6",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "release-24.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1730741070,
"narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
@ -1312,34 +1241,34 @@
"type": "github"
}
},
"nixpkgs-unstable": {
"nixpkgs_2": {
"locked": {
"lastModified": 1753369216,
"narHash": "sha256-Jx2i6loWL755GD+GlCXESMhIiO0aFc/pDo82N16fEiw=",
"owner": "nixos",
"lastModified": 1752687322,
"narHash": "sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b74a30dbc0a72e20df07d43109339f780b439291",
"rev": "6e987485eb2c77e5dcc5af4e3c70843711ef9251",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_10": {
"nixpkgs_3": {
"locked": {
"lastModified": 1727348695,
"narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=",
"owner": "nixos",
"lastModified": 1753750875,
"narHash": "sha256-J1P0aQymehe8AHsID9wwoMjbaYrIB2eH5HftoXhF9xk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784",
"rev": "871381d997e4a063f25a3994ce8a9ac595246610",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
@ -1394,11 +1323,11 @@
},
"nixpkgs_5": {
"locked": {
"lastModified": 1753250450,
"narHash": "sha256-i+CQV2rPmP8wHxj0aq4siYyohHwVlsh40kV89f3nw1s=",
"lastModified": 1753694789,
"narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "fc02ee70efb805d3b2865908a13ddd4474557ecf",
"rev": "dc9637876d0dcc8c9e5e22986b857632effeb727",
"type": "github"
},
"original": {
@ -1410,11 +1339,11 @@
},
"nixpkgs_6": {
"locked": {
"lastModified": 1754725699,
"narHash": "sha256-iAcj9T/Y+3DBy2J0N+yF9XQQQ8IEb5swLFzs23CdP88=",
"lastModified": 1753694789,
"narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054",
"rev": "dc9637876d0dcc8c9e5e22986b857632effeb727",
"type": "github"
},
"original": {
@ -1441,22 +1370,6 @@
}
},
"nixpkgs_8": {
"locked": {
"lastModified": 1753934836,
"narHash": "sha256-G06FmIBj0I5bMW1Q8hAEIl5N7IHMK7+Ta4KA+BmneDA=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "8679b16e11becd487b45d568358ddf9d5640d860",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_9": {
"locked": {
"lastModified": 1752596105,
"narHash": "sha256-lFNVsu/mHLq3q11MuGkMhUUoSXEdQjCHvpReaGP1S2k=",
@ -1506,7 +1419,7 @@
"lanzaboote",
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable_2"
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1731363552,
@ -1525,7 +1438,7 @@
"root": {
"inputs": {
"Hyprspace": "Hyprspace",
"chaotic": "chaotic",
"actual-budget-api": "actual-budget-api",
"disko": "disko",
"firefox": "firefox",
"ghostty": "ghostty",
@ -1716,16 +1629,16 @@
},
"systems_4": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"repo": "default",
"type": "github"
}
},
@ -1797,11 +1710,11 @@
]
},
"locked": {
"lastModified": 1753006367,
"narHash": "sha256-tzbhc4XttkyEhswByk5R38l+ztN9UDbnj0cTcP6Hp9A=",
"lastModified": 1753772294,
"narHash": "sha256-8rkd13WfClfZUBIYpX5dvG3O9V9w3K9FPQ9rY14VtBE=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "421b56313c65a0815a52b424777f55acf0b56ddf",
"rev": "6b9214fffbcf3f1e608efa15044431651635ca83",
"type": "github"
},
"original": {
@ -1853,16 +1766,16 @@
},
"yazi": {
"inputs": {
"flake-utils": "flake-utils_4",
"nixpkgs": "nixpkgs_9",
"rust-overlay": "rust-overlay_4"
"flake-utils": "flake-utils_5",
"nixpkgs": "nixpkgs_8",
"rust-overlay": "rust-overlay_2"
},
"locked": {
"lastModified": 1753281791,
"narHash": "sha256-HfWJw+p8j9CQR2PG2mDhhJ1YRdFf5edoINUyc8/UcJI=",
"lastModified": 1753894134,
"narHash": "sha256-krVLqRHpRG+qxjYuXgV3m1HzkJRRYJL7dtYvz655doo=",
"owner": "sxyazi",
"repo": "yazi",
"rev": "c2883f1e05bdafead994d5d28098e58de0ad514b",
"rev": "da97e5a8b4580add8f5eb2f97f0fe80886becf06",
"type": "github"
},
"original": {
@ -1892,7 +1805,8 @@
"zig": {
"inputs": {
"flake-compat": [
"ghostty"
"ghostty",
"flake-compat"
],
"flake-utils": [
"ghostty",
@ -1900,7 +1814,7 @@
],
"nixpkgs": [
"ghostty",
"nixpkgs-stable"
"nixpkgs"
]
},
"locked": {
@ -1925,7 +1839,7 @@
],
"nixpkgs": [
"ghostty",
"nixpkgs-unstable"
"nixpkgs"
]
},
"locked": {
@ -1938,8 +1852,8 @@
},
"original": {
"owner": "jcollie",
"ref": "56c159be489cc6c0e73c3930bd908ddc6fe89613",
"repo": "zon2nix",
"rev": "56c159be489cc6c0e73c3930bd908ddc6fe89613",
"type": "github"
}
}