···2425 kernel = config.boot.kernelPackages;
2627- packages = if config.boot.zfs.enableUnstable then {
000028 spl = kernel.splUnstable;
29 zfs = kernel.zfsUnstable;
30 zfsUser = pkgs.zfsUnstable;
···72 version will have already passed an extensive test suite, but it is
73 more likely to hit an undiscovered bug compared to running a released
74 version of ZFS on Linux.
00000000000000000000075 '';
76 };
77
···2425 kernel = config.boot.kernelPackages;
2627+ packages = if config.boot.zfs.enableLegacyCrypto then {
28+ spl = kernel.splLegacyCrypto;
29+ zfs = kernel.zfsLegacyCrypto;
30+ zfsUser = pkgs.zfsLegacyCrypto;
31+ } else if config.boot.zfs.enableUnstable then {
32 spl = kernel.splUnstable;
33 zfs = kernel.zfsUnstable;
34 zfsUser = pkgs.zfsUnstable;
···76 version will have already passed an extensive test suite, but it is
77 more likely to hit an undiscovered bug compared to running a released
78 version of ZFS on Linux.
79+ '';
80+ };
81+82+ enableLegacyCrypto = mkOption {
83+ type = types.bool;
84+ default = false;
85+ description = ''
86+ Enabling this option will allow you to continue to use the old format for
87+ encrypted datasets. With the inclusion of stability patches the format of
88+ encrypted datasets has changed. They can still be access and mounted but
89+ in read-only mode mounted. It is highly recommended to convert them to
90+ the new format.
91+92+ This option is only for convenience to people that cannot convert their
93+ datasets to the new format yet and it will be removed in due time.
94+95+ For migration strategies from old format to this new one, check the Wiki:
96+ https://nixos.wiki/wiki/NixOS_on_ZFS#Encrypted_Dataset_Format_Change
97+98+ See https://github.com/zfsonlinux/zfs/pull/6864 for more details about
99+ the stability patches.
100 '';
101 };
102