Merge branch 'cr-nixos-25.05' into 'master'

Draft: flake: NixOS 25.05 beta support

See merge request simple-nixos-mailserver/nixos-mailserver!398
This commit is contained in:
Cobalt 2025-05-18 15:22:19 +02:00
commit 6f1eb4b5d8
4 changed files with 18 additions and 25 deletions

View File

@ -34,6 +34,7 @@ let
"master" = mkFlakeJobset "master";
"nixos-24.05" = mkFlakeJobset "nixos-24.05";
"nixos-24.11" = mkFlakeJobset "nixos-24.11";
"nixos-25.05" = mkFlakeJobset "nixos-25.05";
};
log = {

18
flake.lock generated
View File

@ -79,11 +79,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1747179050,
"narHash": "sha256-qhFMmDkeJX9KJwr5H32f1r7Prs7XbQWtO0h3V0a0rFY=",
"lastModified": 1747327360,
"narHash": "sha256-LSmTbiq/nqZR9B2t4MRnWG7cb0KVNU70dB7RT4+wYK4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "adaa24fbf46737f3f1b5497bf64bae750f82942e",
"rev": "e06158e58f3adee28b139e9c2bcfcc41f8625b46",
"type": "github"
},
"original": {
@ -93,18 +93,18 @@
"type": "github"
}
},
"nixpkgs-24_11": {
"nixpkgs-25_05": {
"locked": {
"lastModified": 1747209494,
"narHash": "sha256-fLise+ys+bpyjuUUkbwqo5W/UyIELvRz9lPBPoB0fbM=",
"lastModified": 1747428706,
"narHash": "sha256-XVds9FkRrY59xRNNq14FNsFGqDiexXX/mlHcX4hPyyk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5d736263df906c5da72ab0f372427814de2f52f8",
"rev": "2e1496bf8652ff4af4e4d4737277f71e4a4f5cb2",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.11",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
}
@ -115,7 +115,7 @@
"flake-compat": "flake-compat",
"git-hooks": "git-hooks",
"nixpkgs": "nixpkgs",
"nixpkgs-24_11": "nixpkgs-24_11"
"nixpkgs-25_05": "nixpkgs-25_05"
}
}
},

View File

@ -13,14 +13,14 @@
inputs.nixpkgs.follows = "nixpkgs";
};
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-24_11.url = "github:NixOS/nixpkgs/nixos-24.11";
nixpkgs-25_05.url = "github:NixOS/nixpkgs/nixos-25.05";
blobs = {
url = "gitlab:simple-nixos-mailserver/blobs";
flake = false;
};
};
outputs = { self, blobs, git-hooks, nixpkgs, nixpkgs-24_11, ... }: let
outputs = { self, blobs, git-hooks, nixpkgs, nixpkgs-25_05, ... }: let
lib = nixpkgs.lib;
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
@ -31,9 +31,9 @@
pkgs = nixpkgs.legacyPackages.${system};
}
{
name = "24.11";
nixpkgs = nixpkgs-24_11;
pkgs = nixpkgs-24_11.legacyPackages.${system};
name = "25.05";
nixpkgs = nixpkgs-25_05;
pkgs = nixpkgs-25_05.legacyPackages.${system};
}
];
testNames = [

View File

@ -14,7 +14,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
{ options, config, pkgs, lib, ... }:
{ config, pkgs, lib, ... }:
with (import ./common.nix { inherit config pkgs lib; });
@ -123,9 +123,6 @@ let
dovecotModules = [
pkgs.dovecot_pigeonhole
] ++ lib.optional cfg.fullTextSearch.enable pkgs.dovecot_fts_xapian;
# Remove and assume `false` after NixOS 25.05
haveDovecotModulesOption = options.services.dovecot2 ? "modules" && (options.services.dovecot2.modules.visible or true);
in
{
config = with cfg; lib.mkIf enable {
@ -141,12 +138,10 @@ in
# which are usually not compatible.
environment.systemPackages = [
pkgs.dovecot_pigeonhole
] ++ lib.optionals (!haveDovecotModulesOption) dovecotModules;
] ++ dovecotModules;
# For compatibility with python imaplib
environment.etc = lib.mkIf (!haveDovecotModulesOption) {
"dovecot/modules".source = "/run/current-system/sw/lib/dovecot/modules";
};
environment.etc."dovecot/modules".source = "/run/current-system/sw/lib/dovecot/modules";
services.dovecot2 = lib.mkMerge [{
enable = true;
@ -366,9 +361,6 @@ in
lda_mailbox_autocreate = yes
'';
}
(lib.mkIf haveDovecotModulesOption {
modules = dovecotModules;
})
];
systemd.services.dovecot2 = {