Eaton is expected to be the every-day right fielder for the White Sox.
The deal was first reported by NBC Sports Chicago.
Eaton, 32, got a $1.5 million buyout after the Washington Nationals declined the option on his $10.5 million deal for 2021 after the season.
He struggled at the plate this season, hitting just .226 with four home runs and 17 RBIs.
Eaton batted .320 in the 2019 World Series for the Nats, hitting two homers with six RBIs in helping Washington win its first title.
Overall, in four seasons for Washington, Eaton hit .279 with 26 homers and 112 RBIs after being acquired in a 2016 trade that sent now-White Sox ace Lucas Giolito to Chicago. The White Sox also acquired right-handers Reynaldo Lopez and Dane Dunning in the deal.
Eaton spent three seasons with the White Sox before being traded to the Nationals and had slash lines of .290/.362/.422 with 29 home runs, 150 RBIs and 47 stolen bases in 433 games.
The Associated Press contributed to this report.