There are two questions here. The first is whether your example sentences are grammatical, and the answer is that they are.
The second question is whether your sentences are good English style. Good style means your sentences say what you want them to say, and that they say it in a way that is clear and concise. As ostrichofevil points out, your sentence is redundant because the words "selfish" and "selfless" are opposites. It's like saying the tea is hot, not cold. We already know it's not cold because you said it was hot.
So while the sentence is grammatical, it doesn't say anything interesting, at least not as written. You could instead elaborate on what, specifically, makes you think people are "selfish":
People are selfish; they prefer to spend money on frivolities rather than give it to those who would spend it on necessities.
This says the same thing as "not selfless", but with more focus on a specific selfish behavior. The other element of good English style is parallelism. When comparing two things, it is recommended to use the same structure and form for both:
People are selfish, not generous.
People would rather be selfish than be generous.
All too often, people are being selfish, and not being generous.
The third sentence I include as an example of parallelism, but notice that it is wordy, and less clear than the first sentence.