Desmond will play in the outfield and at first base in Colorado, according to Ken Rosenthal of Fox Sports.
The 31-year-old Desmond hit .285 with 22 home runs and 21 stolen bases in 156 games for the Rangers last season. For his career, he is hitting .267 with 132 homers and 518 RBIs.
The Rockies must give up the No. 11 pick in the 2017 draft to sign Desmond, and the Rangers will receive a compensation pick somewhere between the first and second rounds.
Desmond turned down a seven-year, $107 million offer from the Nationals in 2014 only to struggle in 2015 and take a one-year, $8 million deal from the Rangers in February.