Custom PC Watercooling and Fan control system. Fan control help?

An N-channel would be turned on by a +5V signal applied to the Gate, wheres a P-Channel would remain OFF with a 5V signal but would turn ON with a 0V signal to so you would probably need to get a small signal transistor like and NPN 2n2222 or 2n3904 and connect the collector to the Gate with a 4.7k ohm pullup resistor to +5V and connect the emitter of the small transistor to GND. Connect a 1k ohm resistor from the arduino digital output pin to the base of the small transistor. When the output goes HIGH it will turn ON the small transistor shorting the P-CHANNEL MOSFET Gate to ground turning it on. Using a PWM OUTPUT pin you could turn it on gradually by applying a gradually increasing signal to the small transistor .(you might need to replace the base resistor with a 10k ohm for that method). As the voltage increases on the base of the small transistor the voltage on the Gate of the Mosfet gets lower and lower , eventually turning it ON in small steps. I have not tried this so I don't know how well it will work. The only thing I can say for sure is that it would not damage the mosfet. How effective the stepping is I couldn't tell you.