The 29-year-old full-back, who made 15 appearances for the Reds last season, originally arrived in January and joins on a free transfer.
Fox began his career as a trainee at Everton and also played for Walsall, Coventry, Celtic and Burnley.
The Scotland international made 14 appearances for Forest as they finished 11th in the Championship.
He also played three Premier League games for Southampton earlier in the season, the last in a 3-2 home defeat by Tottenham last December.
Nottingham Forest have signed Danny Fox on a three-year deal from Southampton following a loan spell with the club.