Determine all functions satisfying $f(x + f(x + y)) + f(xy) = x + f(x + y) +yf(x)$ 
Let $\Bbb R $ be the set of real numbers .Determine all functions $f:\Bbb R \rightarrow \Bbb R $ satisfying the equation
  $$f(x + f(x + y)) + f(xy) = x + f(x + y) +yf(x)$$ for all real numbers $x$ and $y$.

My work 
$$f(x + f(x + y)) + f(xy) = x + f(x + y) +yf(x)$$
Setting $y=0$
$$f(x + f(x)) + f(0) = x + f(x )$$
$$\implies f(x + f(x))  = x + f(x ) -f(0)$$
$$\implies f(t)  = t -f(0)$$
Setting $x=0$
$$f(f(y)) + f(0) = 0 + f(y) +yf(0)$$
$$f(f(y)) =  f(y) +f(0)(y-1)$$
Setting $y=1$
$$f(x + f(x + 1))  = x + f(x + 1)$$

Complete solution in the case $f(0) = 2$ 
Roots of $f$
As you point out, letting $y=0$ yields $$f(x+f(x)) + f(0) = x+f(x)$$
If $f(x)$ is ever $0$, then, we have $f(x+0) + f(0) = x+0$, so $$f(0) = x$$
So $f$ only hits $0$ at most once, and that is at $x = f(0)$; that is, if $f$ ever hits $0$ then $f(f(0)) = 0$ and that is the only time $f$ hits $0$.
Letting $x=y=0$, we see $f(f(0)) + f(0) = f(0)$, so $f(f(0)) = 0$.
Therefore $f$ does indeed hit $0$, so $f$ has exactly one root and it is at $f(0)$.
Moreover, as Batominovski points out, letting $x=0$ and $y=f(0)$ yields $f(0)^2 = 2 f(0)$, so $f(0) = 0$ or $f(0) = 2$.
From this point on, I'll trust Batominovski's proof that if $f(0) = 0$ then the identity is the only possible option; I'll look only at $f(0) = 2$.

Fixed points of $f$
We will do this by interchanging $x$ and $y$.
We'll follow Batominovski's shorthand of writing $P(x,y)$ for the statement $f(x+f(x+y)) + f(xy) = x+f(x+y)+y f(x)$.
We have $P(x,y)$ and $P(y, x)$, so subtracting the two equalities, we obtain the symmetrised expression $$f(x+f(x+y)) - f(y+f(x+y)) = x-y+yf(x)-xf(y)$$
Setting $x=0$ we get $$f(f(y)) + y = f(y+f(y)) + y f(0)$$
Now we will use that $f(0) = 2$.
In this case, $f(2) = 0$ because $f(0)$ is a root of $f$; it is the only root.
If $y$ is a fixed point of $f$, then $2y = f(2y) + 2y$, so $2y$ is a root of $f$, so $y = 1$. (And $1$ is indeed a fixed point.)
So in the case $f(0)=2$, $f$ has exactly one fixed point and it is at $1$.
Hence (by OP's $y=1$ work, which showed that $x+f(x+1)$ is always a fixed point) we have $f(x+1) + x = 1$ for all $x$, so $$f(t) = 2-t$$ for all $t$.

Addendum (ignore, it's a work in progress): Case $f(0) = 0$
(I discovered most of this independently of Batominovski, but I was much too slow with it! I did it as an exercise after Batominovski produced their solution.)
Letting $x=0$, as OP did, we see that $f(f(y)) = f(y)$ for all $y$.
Also the root was unique, so $f(x) = 0$ if and only if $x=0$.
By OP's work, $x+f(x)$ is fixed by $f$, so if $x$ is a fixed point then so is $2x$.
Also letting $y=1$, if $x+1$ is fixed then so is $2x+1$. (That is, if $x$ is fixed then so is $2x-1$.)
Inductively, therefore, all nonpositive integers are fixed, since we know $0$ is fixed already.
Now letting $x=y=-1$, obtain $$f(f(-2) - 1) + f(1) = -1+f(-2)-f(-1)$$
which means $-3+f(1) = -1-2+1$ and so $f(1) = 1$.
Hence again inductively all integers are fixed.
