Citation: 2C_479/2019 E. C

Mit Eingabe an das Bundesgericht vom 21. Mai 2019 erhebt A.A.________ Beschwerde in öffentlich-rechtlichen Angelegenheiten. Er beantragt, der angefochtene Entscheid sei aufzuheben und das Amt für Migration sei anzuweisen, die Niederlassungsbewilligung nicht zu widerrufen, eventualiter sei er stattdessen zu verwarnen. Subeventualiter sei der angefochtene Entscheid aufzuheben und die Sache zur Neubeurteilung an die Vorinstanz zurückzuweisen. In formeller Hinsicht ersucht er um Gewährung der unentgeltlichen Rechtspflege und Verbeiständung. Der Präsident der II. öffentlich-rechtlichen Abteilung des Bundesgerichts hat der Beschwerde mit Verfügung vom 3. Juni 2019 antragsgemäss die aufschiebende Wirkung zuerkannt. Das Kantonsgericht verzichtet auf Vernehmlassung und beantragt die Abweisung der Beschwerde. Das Amt für Migration und das Justiz- und Sicherheitsdepartement des Kantons Luzern sowie das Staatssekretariat für Migration lassen sich nicht vernehmen.