Variables on remote processes

The following uses always the locally defined variable:

using Distributed
addprocs(1)

@everywhere c =  10
c = 3
pmap(1:1) do i
       c
end # 3

@everywhere f(x) = c
pmap(f, 1:1) # 3

How can I guarantee that my function uses the remotely defined variable?

The only way to get it to use the remotely defined variable is to not have it defined locally, but I don’t really want to rely on this:

@everywhere d = 2
pmap(1:1) do i
       d
end # 2