Ich frage mal anders herum.
In wie fern möchtest Du eine Linux-Distribution an Deine Bedürfnissen anpassen?
Im Normalfall benötigt man hierfür keine Programmierer-Kenntnisse, sondern nur das Verständnis bestehende Applikationen entsprechend zu Konfigurieren.
Viele Tools in Linux Distributionen sind in einer der folgenden Sprachen Programmiert wurden, keine Garantie auf Vollständigkeit. C, C++, Perl, Python, Mono.
Der Linux-Kernel, solltest Du tatsächlich Linux meinen und keine Distribution: C, C++, ASM.
Zur benutzerdefinierten Distribution, bei SuSE geht das z.B. sehr simpel via
Buchempfehlung für Deine Ursprüngliche Frage:
Edit: Bzgl Hacker - da verstehen viele Leute Unterschiedliches, ich ebenso. Hier wurde mal was etwas zum Thema verfasst
In diesem Sinne - have fun