Can You use custom shapes in Cell fracture
You could do it the way below. I've used Susan's head for demonstration. Create two objects, the original one and the broken one. To break the object you'll use the Knife Project Tool. To animate you'll play with the visibility so that at frame X the broken pieces will replace the full head. You could even don't use the unbroken head but with my method you don't have to care about the joints between the broken parts if it ever causes problem (for example if your object uses a Subdivision Surface modifier you may see the fractures between the parts). As you suggest, boolean may also be a nice way to create the different parts.


Create your object. Duplicate, keep the duplication at the exact same place, and hide it for the moment.
Create a second object to draw the fracture lines.
Use the Knife Project Tool to cut your object with the help of this second object. Enable the Cut Through option in the Last Operation box.
Select the fracture edges, press V to rip.
Separate your head in 3 separate objects: Select each part with L then separate with P. Put them in the same collection.





Open your Dopesheet.
At frame 0, for each of your pieces, give a Rigid Body (Active type). Activate the Animated option and create a keyframe on it so that for the moment the physics won’t affect these pieces.
In the Outliner disable the viewport and render visibility of each of the pieces. Create keyframes.
On the contrary, enable the viewport and render visibility of the full head, create keyframes.
Open your Timeline. move the player from frame 0 to frame X.
Now switch off the visibility of the full head and create a keyframe, switch on the visibility of the fractured pieces and create keyframes, disable their Animated option and create keyframes.
Play the animation, at frame X the head should break and fall apart.