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"; "master" = mkFlakeJobset "master";
"nixos-24.05" = mkFlakeJobset "nixos-24.05"; "nixos-24.05" = mkFlakeJobset "nixos-24.05";
"nixos-24.11" = mkFlakeJobset "nixos-24.11"; "nixos-24.11" = mkFlakeJobset "nixos-24.11";
"nixos-25.05" = mkFlakeJobset "nixos-25.05";
}; };
log = { log = {

18
flake.lock generated
View File

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

View File

@ -13,14 +13,14 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; 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 = { blobs = {
url = "gitlab:simple-nixos-mailserver/blobs"; url = "gitlab:simple-nixos-mailserver/blobs";
flake = false; 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; lib = nixpkgs.lib;
system = "x86_64-linux"; system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system}; pkgs = nixpkgs.legacyPackages.${system};
@ -31,9 +31,9 @@
pkgs = nixpkgs.legacyPackages.${system}; pkgs = nixpkgs.legacyPackages.${system};
} }
{ {
name = "24.11"; name = "25.05";
nixpkgs = nixpkgs-24_11; nixpkgs = nixpkgs-25_05;
pkgs = nixpkgs-24_11.legacyPackages.${system}; pkgs = nixpkgs-25_05.legacyPackages.${system};
} }
]; ];
testNames = [ testNames = [

View File

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