The 27-year-old Chilean is back at the City Ground where he played 17 games on loan towards the end of last season.
The defender moves to Forest after being released by Premier League club West Brom.
Although Reyes made more than 50 appearances for the Baggies, only one of these came during the 2012/13 campaign.
And Forest boss Billy Davies told the club's website: "I am very pleased Gonzalo has agreed to join us for next season.
"He made a terrific impact while on loan with us and it was hugely disappointing to lose him to injury at such a crucial stage.
"He gives us real strength in depth and brings with him an abundance of experience from the top level of the game."