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.

Das Bundesgericht zieht in Erwägung:
Das Bundesgericht zieht in Erwägung:
1. Der Beschwerdeführer rügt eine Verletzung von Art. 63 und Art. 68 Ziff. 1 Abs. 1 StGB. Er macht im Wesentlichen geltend, die Vorinstanz sei von einer unhaltbar hohen Einsatzstrafe von 2 1⁄2 Jahren Zuchthaus für die versuchte Übergabe von einem Kilogramm Heroin ausgegangen, sie habe die Tatkomponenten unhaltbar streng beurteilt, die Täterkomponenten zu wenig zu seinen Gunsten gewichtet und das Urteil nicht nachvollziehbar begründet.
1. Der Beschwerdeführer rügt eine Verletzung von Art. 63 und Art. 68 Ziff. 1 Abs. 1 StGB. Er macht im Wesentlichen geltend, die Vorinstanz sei von einer unhaltbar hohen Einsatzstrafe von 2 1⁄2 Jahren Zuchthaus für die versuchte Übergabe von einem Kilogramm Heroin ausgegangen, sie habe die Tatkomponenten unhaltbar streng beurteilt, die Täterkomponenten zu wenig zu seinen Gunsten gewichtet und das Urteil nicht nachvollziehbar begründet.
2. Die Strafe ist nach dem Verschulden des Täters zuzumessen; dabei sind Beweggründe, Vorleben und persönliche Verhältnisse des Schuldigen zu berücksichtigen (<ref-law>). Der Begriff des Verschuldens bezieht sich auf den gesamten Unrechts- und Schuldgehalt der Straftat (<ref-ruling> E. 6.1) und ist damit das wesentliche Strafzumessungskriterium (<ref-ruling> E. 2a). Im Urteil müssen die wesentlichen Tat- und Täterkomponenten beurteilt, das Ausmass qualifizierender Tatumstände gewichtet und die Stafzumessung nachvollziehbar begründet werden. Dabei besitzt die Vorinstanz ein erhebliches Ermessen. Das Bundesgericht greift auf Nichtigkeitsbeschwerde hin nur ein, wenn die Vorinstanz den gesetzlichen Strafrahmen über- oder unterschritten hat, wenn sie von rechtlich nicht massgebenden Kriterien ausgegangen ist oder wenn sie wesentliche Gesichtspunkte ausser Acht gelassen bzw. in Überschreitung oder Missbrauch ihres Ermessens falsch gewichtet hat (<ref-ruling> E. 6.1). Das Bundesgericht hebt ein Urteil insbesondere auch auf, wenn die Strafe übertrieben hart oder mild erscheint, so dass von einem Ermessensmissbrauch gesprochen werden muss. Dies ist aber erst bei einem unhaltbaren Strafmass anzunehmen (<ref-ruling> E. 2c; <ref-ruling>; <ref-ruling>).
Der Beschwerdeführer wurde verhaftet, als er mit einem Kilogramm Heroin (Reinheitsgrad von 28 %) unterwegs zu seinem Abnehmer war. Die Vorinstanz geht deshalb von einer Einsatzstrafe von zweieinhalb Jahren Zuchthaus aus. Sie erhöht diese Strafe aufgrund des Verkaufs von weiteren insgesamt 350 Gramm Kokain (mit einem Reinheitsgrad von 37 %) auf dreieinhalb Jahre. Strafschärfend gewichtet sie die Verwirklichung mehrerer Straftatbestände und straferhöhend die Vorstrafen, nämlich um drei bis vier Monate. Erheblich strafmindernd wertet sie das Nachtatverhalten, insbesondere das umfassende Geständnis und die Strafempfindlichkeit. Sie mindert die Strafe infolge der Täterkomponenten um rund einen Drittel (angefochtenes Urteil S. 5 mit Verweisung auf das Urteil der Kreisgerichts).
Der Beschwerdeführer vermag in seiner eingehenden Beschwerdebegründung keine Bundesrechtsverletzung darzulegen. Zunächst ist darauf hinzuweisen, dass es sich bei der "versuchten Übergabe" von einem Kilogramm Heroin um ein vollendetes Delikt im Sinne von <ref-law> handelt (er hatte die bei ihm bestellte Droge zum Abnehmer transportiert und wurde verhaftet, als er versuchte, diese "zum Weiterverkauf zu veräussern"; angefochtenes Urteil S. 4). Es liegt kein Versuch im Sinne von Art. 21 f. StGB vor, der milder bestraft werden kann. Der Beschwerdeführer war nicht blosser Transporteur (vgl. <ref-ruling> E. 2d/cc). Die Einsatzstrafe ist im anwendbaren Strafrahmen von einem bis zwanzig Jahren Zuchthaus vertretbar. Der Beschwerdeführer ist nach den vorinstanzlichen Feststellungen als gewinnorientierter Händler mittlerer Kategorie mit hohen Mengen, mehreren Geschäften und erheblicher krimineller Energie einzustufen. Es ging ihm somit nicht lediglich darum, seinen Eigenkonsum zumindest teilweise finanzieren zu können (Beschwerde S. 9). Die Vorinstanz stellt fest, dass er nicht süchtig war, und nimmt keine Verminderung der Schuldfähigkeit an (angefochtenes Urteil S. 4; Urteil des Kreisgerichts S. 22). Sie hat diese Frage damit zutreffend beurteilt (vgl. <ref-ruling> E. 1b). Es sind aufgrund der vorinstanzlichen Feststellungen auch keine Anhaltspunkte ersichtlich, die zu einer Untersuchung wegen eines zweifelhaften Geisteszustands gemäss <ref-law> hätten führen müssen (vgl. <ref-ruling>). Das Gegenteil lässt sich nicht daraus schliessen, dass sich der Drogenhandel zeitlich mit dem Eigenkonsum deckte und der Beschwerdeführer in ein schwieriges Umfeld verfangen war (Beschwerde S. 21 f.). Ferner gewichtet die Vorinstanz das Nachtatverhalten, die Reue und Einsicht sowie die Strafempfindlichkeit wegen der familiären Verhältnisse (Urteil des Kreisgerichts S. 24) in erheblichem Umfang zu Gunsten des Beschwerdeführers. Hinsichtlich des umfassenden Geständnisses ist einschränkend festzustellen, dass der Beschwerdeführer sich erst nach mehreren Einvernahmen geständig zeigte (Urteil des Kreisgerichts S. 23). Es kann nicht von einem "besonderen" Geständnis ausgegangen werden, wie dies nach dem Sachverhalt in <ref-ruling> E. 2d/cc der Fall war. Indessen mindert die Vorinstanz das Strafmass wegen dieses Verhaltens zu Recht erheblich.
Die Rechtsprechung zur 18-Monate-Grenze (<ref-ruling> E. 2c), findet nur Anwendung, wenn die in Betracht kommende Freiheitsstrafe 21 Monate nicht übersteigt (<ref-ruling> E. 3). Eine bedingte Freiheitsstrafe kommt hier nicht in Betracht. Ebenso verhält es sich mit dem Vorbringen, es hätte bei der Strafzumessung eine überlange Verfahrensdauer berücksichtigt werden müssen. Diese Rüge ist im vorliegenden Verfahren zwar zulässig, auch wenn die Vorinstanz eine Verletzung des Beschleunigungsgebots nicht festgestellt hat (<ref-ruling>). Die Rüge ist aber unbegründet. Der Beschwerdeführer wurde am 6. März 2003 verhaftet (Urteil des Kreisgerichts S. 3). Am 3. November 2004 und am 7. Dezember 2005 urteilten die Vorinstanzen. Das Berufungsurteil wurde am 23. Februar 2006 zugestellt. Es handelte sich um ein umfangreiches Verfahren mit mehreren Beschuldigten. Eine Verletzung des Beschleunigungsgebots ist damit zu verneinen. Die Strafzumessung ist - mit der zulässigen Verweisung auf das erstinstanzliche Urteil - nachvollziehbar begründet. Das Strafmass erscheint auch im Ergebnis nicht als übertrieben hart. Die Strafzumessung ist bundesrechtlich nicht zu beanstanden.
Die Rechtsprechung zur 18-Monate-Grenze (<ref-ruling> E. 2c), findet nur Anwendung, wenn die in Betracht kommende Freiheitsstrafe 21 Monate nicht übersteigt (<ref-ruling> E. 3). Eine bedingte Freiheitsstrafe kommt hier nicht in Betracht. Ebenso verhält es sich mit dem Vorbringen, es hätte bei der Strafzumessung eine überlange Verfahrensdauer berücksichtigt werden müssen. Diese Rüge ist im vorliegenden Verfahren zwar zulässig, auch wenn die Vorinstanz eine Verletzung des Beschleunigungsgebots nicht festgestellt hat (<ref-ruling>). Die Rüge ist aber unbegründet. Der Beschwerdeführer wurde am 6. März 2003 verhaftet (Urteil des Kreisgerichts S. 3). Am 3. November 2004 und am 7. Dezember 2005 urteilten die Vorinstanzen. Das Berufungsurteil wurde am 23. Februar 2006 zugestellt. Es handelte sich um ein umfangreiches Verfahren mit mehreren Beschuldigten. Eine Verletzung des Beschleunigungsgebots ist damit zu verneinen. Die Strafzumessung ist - mit der zulässigen Verweisung auf das erstinstanzliche Urteil - nachvollziehbar begründet. Das Strafmass erscheint auch im Ergebnis nicht als übertrieben hart. Die Strafzumessung ist bundesrechtlich nicht zu beanstanden.
3. Die Beschwerde ist abzuweisen. Der Beschwerdeführer trägt die Kosten vor Bundesgericht (Art. 278 Abs. 2 BStP).

Demnach erkennt das Bundesgericht:
Demnach erkennt das Bundesgericht:
1. Die Beschwerde wird abgewiesen.
1. Die Beschwerde wird abgewiesen.
2. Die Gerichtsgebühr von Fr. 2'000.-- wird dem Beschwerdeführer auferlegt.
2. Die Gerichtsgebühr von Fr. 2'000.-- wird dem Beschwerdeführer auferlegt.
3. Dieses Urteil wird dem Beschwerdeführer, der Staatsanwaltschaft des Kantons St. Gallen und dem Kantonsgericht St. Gallen, Strafkammer, schriftlich mitgeteilt.
Lausanne, 2. November 2006
Im Namen des Kassationshofes
des Schweizerischen Bundesgerichts
Der Präsident: Der Gerichtsschreiber: