···24242525 kernel = config.boot.kernelPackages;
26262727- packages = if config.boot.zfs.enableUnstable then {
2727+ packages = if config.boot.zfs.enableLegacyCrypto then {
2828+ spl = kernel.splLegacyCrypto;
2929+ zfs = kernel.zfsLegacyCrypto;
3030+ zfsUser = pkgs.zfsLegacyCrypto;
3131+ } else if config.boot.zfs.enableUnstable then {
2832 spl = kernel.splUnstable;
2933 zfs = kernel.zfsUnstable;
3034 zfsUser = pkgs.zfsUnstable;
···7276 version will have already passed an extensive test suite, but it is
7377 more likely to hit an undiscovered bug compared to running a released
7478 version of ZFS on Linux.
7979+ '';
8080+ };
8181+8282+ enableLegacyCrypto = mkOption {
8383+ type = types.bool;
8484+ default = false;
8585+ description = ''
8686+ Enabling this option will allow you to continue to use the old format for
8787+ encrypted datasets. With the inclusion of stability patches the format of
8888+ encrypted datasets has changed. They can still be access and mounted but
8989+ in read-only mode mounted. It is highly recommended to convert them to
9090+ the new format.
9191+9292+ This option is only for convenience to people that cannot convert their
9393+ datasets to the new format yet and it will be removed in due time.
9494+9595+ For migration strategies from old format to this new one, check the Wiki:
9696+ https://nixos.wiki/wiki/NixOS_on_ZFS#Encrypted_Dataset_Format_Change
9797+9898+ See https://github.com/zfsonlinux/zfs/pull/6864 for more details about
9999+ the stability patches.
75100 '';
76101 };
77102