My personal definition of life: self-replication with unlimited heredity.
self-replication: something can make a copy of itself.
unlimited heredity: when "information" is added, it is copied along, even if it does not contribute directly to the replication process itself.
Implied in the definition is variation. And in the bigger view, that all replicators are under pressure to do so well, or be outcompeted on resource usage etc., and disappear.
While a virus depends on a rich and active environment to work, they clearly fall into that definition.