Just for kicks, here's a (terribly ugly) pipeline that will display the contents of .nls and `ls`, with duplicates removed:
ls | cat .nls - | column -t -s: | sort -r | perl -ane 'print unless $x{$F[0]}++'
and then obviously just echo "dirname: description" >> .nls to append to the file.
I would be interested in seeing a better pipeline, one that doesn't need perl/awk/ruby/what have you to remove the duplicates correctly.