A.- K._, geboren 1957, war seit Mai 1993 als Lagerist bei der S._ & Co. AG tätig gewesen. Vom 1. Juni 1994 bis 11. März 1997 arbeitete er zusätzlich während zwei Stunden im Tag als Gebäudereiniger bei der P._ Reinigung AG. Am 18. Oktober 1994 meldete er sich wegen einer koronaren Herzkrankheit und Angina pectoris bei Status nach Herzinfarkt im Juli 1994 sowie Thrombangitis obliterans zum Leistungsbezug bei der Invalidenversicherung an. Mit Verfügung vom 30. Dezember 1994 lehnte die Ausgleichskasse der Stickerei-Industrie die Ausrichtung einer Rente "zur Zeit" ab. Am 18. November 1996 kündigte die S._ & Co. AG das Arbeitsverhältnis wegen Meinungsverschiedenheiten auf Ende Januar 1997, worauf sich K._ bei der Arbeitslosenversicherung und am 15. Juni 1997 erneut auch bei der Invalidenversicherung zum Leistungsbezug anmeldete. Die IV-Stelle des Kantons St. Gallen traf nähere Abklärungen und holte beim Kantonsspital (PD Dr. med. X._) ein Gutachten vom 20. Oktober 1997 ein, worin die Diagnosen eines Morbus Bürger mit Thrombangiitis obliterans der unteren und oberen Extremitäten und Claudicatio-Beschwerden sowie eine koronare Herzkrankheit mit Angina pectoris bei Status nach Vorderwandinfarkt gestellt wurden. Nach Auffassung des Gutachters ist der Versicherte in den bisherigen Tätigkeiten als Lagerist und Gebäudereiniger vollständig arbeitsunfähig; dagegen ist er für leichtere, vorwiegend sitzend zu verrichtende Tätigkeiten arbeitsfähig. Nach Durchführung einer stationären Abklärung in der Abklärungs- und Ausbildungsstätte (BEFAS) vom 24. März bis 17. April 1998 lehnte die IV-Stelle des Kantons St. Gallen das Rentenbegehren mangels einer rentenbegründenden Invalidität ab, wobei sie das Valideneinkommen auf Fr. 50'000.- und das Invalideneinkommen auf Fr. 34'670.- festsetzte, woraus ein Invaliditätsgrad von 31 % resultierte (Verfügung vom 29. Juni 1998). B.- Das von K._ angerufene Versicherungsgericht des Kantons St. Gallen gelangte zum Schluss, beim Invalideneinkommen sei entgegen der Auffassung der Verwaltung nicht von dem nach der Lohnstrukturerhebung (LSE) des Bundesamtes für Statistik für den gesamten privaten Sektor auszugehen; vielmehr sei auf den massgebenden Tabellenlohn im Bereich Detailhandel abzustellen und hievon ein Abzug von 25 % vorzunehmen, womit sich ein Invalideneinkommen von Fr. 24'948.- und im Vergleich zum Valideneinkommen von Fr. 50'000.- ein Invaliditätsgrad von 50 % ergebe. In Gutheissung der Beschwerde stellte das kantonale Gericht fest, dass K._ Anspruch auf eine halbe Invalidenrente habe, und wies die Sache an die Verwaltung zurück, damit sie Rentenbeginn und Rentenhöhe festsetze (Entscheid vom 23. August 2000). C.- Die IV-Stelle des Kantons St. Gallen erhebt hiegegen Verwaltungsgerichtsbeschwerde mit dem Rechtsbegehren, der angefochtene Entscheid sei aufzuheben und es sei die Verfügung vom 29. Juni 1998 zu bestätigen. K._ schliesst auf Abweisung der Verwaltungsgerichtsbeschwerde, während das Bundesamt für Sozialversicherung sich nicht vernehmen lässt.