The 24-year-old impressed in the left-back berth during a two-month spell with the Rams and manager Nigel Clough has moved quickly to secure his services.
Forsyth has become Derby's fourth signing of the summer with Lee Grant, Chris Martin and Johnny Russell all arriving at the club.
Clough told the club's official website: "Craig did extremely well when he was on loan with us and he made a real impact.
"His performances at left-back were excellent and we were really pleased with him, and we've had our sights set on him permanently for quite a while now.
"We have been aware of him for quite some time, even before he joined us on loan, and we're delighted he sees Derby County as his home for the next few years.
"He's capable of playing in defence or midfield, but we see him as our first-choice left-back now and think he'll only get better in that position as well.
"This is an important signing for us. We know strikers and creative players grab the headlines normally, but this was equally as important for us to get Craig signed up and strengthen our defensive options."