Sachverhalt: Sachverhalt: A. Das Kreisgericht Rheintal sprach am 3. November 2004 Z._ der schweren Widerhandlung gegen das Betäubungsmittelgesetz (Art. 19 Ziff. 1 i.V.m. Ziff. 2 lit. a BetmG), der mehrfachen Widerhandlung gegen das Betäubungsmittelgesetz zum Konsum, der mehrfachen Hehlerei und des mehrfachen Führens eines Motorfahrzeugs trotz Entzugs des Führerausweises schuldig und verurteilte ihn teilweise im Zusatz zum Urteil des Bezirksgerichts Horgen vom 29. August 2002 zu 2 1⁄2 Jahren Gefängnis, abzüglich 198 Tage Untersuchungshaft, sowie zu einer Busse von Fr. 400.--. Ferner erklärte es zwei bedingte Vorstrafen von 10 und 21 Tagen Gefängnis für vollziehbar. Das Kantonsgericht St. Gallen wies am 7. Dezember 2005 die Berufung sowie die Anschlussberufung der Staatsanwaltschaft ab. Das Kantonsgericht St. Gallen wies am 7. Dezember 2005 die Berufung sowie die Anschlussberufung der Staatsanwaltschaft ab. B. Z._ erhebt Nichtigkeitsbeschwerde mit dem Antrag, das Urteil des Kantonsgerichts aufzuheben, die Sache zu neuer Entscheidung an dieses zurückzuweisen und der Beschwerde die aufschiebende Wirkung zu erteilen. B. Z._ erhebt Nichtigkeitsbeschwerde mit dem Antrag, das Urteil des Kantonsgerichts aufzuheben, die Sache zu neuer Entscheidung an dieses zurückzuweisen und der Beschwerde die aufschiebende Wirkung zu erteilen. C. Das Kantonsgericht verzichtet auf Gegenbemerkungen. Die Staatsanwaltschaft beantragt, die Beschwerde abzuweisen, ihr indessen die aufschiebende Wirkung zu erteilen. Das Bundesgericht erteilte der Beschwerde am 1. Mai 2006 die aufschiebende Wirkung. 