Én írtam magamnak ilyen programot laptopra: https://github.com/rizsi/musicwakeup
Az ébresztés beállításakor leállítja a laptopot az rtcwake paranccsal, ami képes arra, hogy adott idő elteltével magától bekapcsoljon a gép: https://linux.die.net/man/8/rtcwake
A laptopom úgy van bekonfolva, hogy bekapcsoláskor autologin van, és egyből elindul ez a program. Ő meg ha a mentése alapján érzi, hogy eljött az ébresztő ideje, akkor elindítja a VLC-t egy playlisttel.
Ezenkívül a pulseaudio parancssori API-jával állítgatja a hangerőt egy előre beállított időfüggvény szerint. Az első pár számot halkra állítom, fokozatosan erősödve, utána jönnek az ütősebbek hangosabban.
(Óraátállításkor nem próbáltam, hogy jól működne-e :-)