I'm 98% sure you wouldn't be able to do this strictly in lua.
I was about to say not at all, then my mind started thinking 'well, perhaps a startup batch file could read from a gmod\data\<somefile> that contains a map randomly selected on startup for NEXT time', but, unless you wanted the server to start up, load command line/config file map, then restart loading a random map, you'd HAVE to have the command line outside of lua loading whatever randomly selected map.
So, 2 options I see.
100% outside lua.
Have server start non-lua startup script randomly pick from map in a list.
Using GLua and outside.
Server starts, picks random, writes it to a \data\ file for next startup.
Next server start, command line reads the map from that \data\ file.