(I’m not the same person, but I have opinions).
First of all, check out a comment I made on another thread about things to consider with ZFS root, including why you probably don’t want to use ZFS’s native encryption: How good is ZFS on root on NixOS? - #9 by ElvishJerricco
Otherwise, I recommend a fairly simple configuration with just an EFI partition and a root ZFS pool partition using LUKS. Dataset layout within the pool is a matter of taste, but I do something like the following usually:
NAME CANMOUNT MOUNTPOINT
jace on none
jace/cache off /
jace/cache/home off /home
jace/cache/home/will off /home/will
jace/cache/home/will/.cache on /home/will/.cache
jace/cache/tmp on /tmp
jace/cache/var off /var
jace/cache/var/cache on /var/cache
jace/system on /
jace/system/nix on /nix
jace/system/nix/store on /nix/store
jace/system/var on /var
jace/user off /
jace/user/home on /home
jace/user/home/will on /home/will