Weights are the parameters which are optimized during the training process. So we do not decide them, we compute them.
The activation function is something to try. Now we have converged to a set of reliable activations functions but technically it's trial and error.
The loss function is a different concept so no. There are multiple loss functions as well depending on your objectif (MSE, or MAE for regression for instance, Cross-entropy for classification)