How to Shrink a pool

Hi, the pool was created for windows/ samba on FreeNAS and installation migrated to TrueNAS in 2022. Now days I’m using Linux and care less about SMB even its supported. My goal is to shrink Windows Share, create Linux share to use NFS to copy data in and out. Ultimately I’d like to shrink Windows share, Create Unix Share, Copy data from Win s. to Unix s., delete Win s. and expand Unix s. Is this doable?
Here is how my zpool looks like now.
Last login: Sun Aug 11 16:08:48 on pts/2
FreeBSD 12.2-RELEASE-p12 (HEAD) TRUENAS

zpool status

pool: archive
state: ONLINE
config:

    NAME                                            STATE     READ WRITE CKSUM
    archive                                         ONLINE       0     0 0
      raidz2-0                                      ONLINE       0     0 0
        gptid/5295213a-8fa1-11ec- ONLINE       0     0 0
        gptid/52be54b8-8fa1-11ec-  ONLINE       0     0 0
        gptid/52b3b3fd-8fa1-11ec-  ONLINE       0     0 0
        gptid/52a6f1f1-8fa1-11ec-  ONLINE       0     0 0

errors: No known data errors

pool: boot-pool
state: ONLINE
scan: scrub repaired 0B in 00:00:10 with 0 errors on Thu Aug 1 03:45:10 2024
config:

Unless you’ve set quotas the pool capacity is shared amongst all the datasets.

Yes. You can move stuff from one dataset to the other… You could even use mv in the shell if you want too.

As long as you don’t have snapshots for the Windows share dataset the space will be recovered from the windows dataset as you “move” stuff from one to the other.

If you do, then you may as well delete them.