How to cleanup stuff before snapshot

I want to make a snapshot overtime if the history gets big and redundant. So i would make a new stream called snapshots and set the start position there. However I would like to delete ild events from that stream that happened before the snapshot as i dont need them anymore. Is this possible ?

see $tb (truncate before) on stream metadata. Setting it makes the
stream start from whatever number is there (and makes all earlier
events eligible for scavenge)

this is also how soft delete works btw if your stream is at position
19 and you soft delete $tb is set to 19

Will this also free up disk space ?

scavenge will when run compact the space yes