ChaCha20-Poly1305: Can my salt/pass for a KDF also be the nonce? I have a PSK. I don't want to use it directly. I want to pass a "salt"/password into a KDF and get a new key for authenticated encryption with ChaCha20-Poly1305 .

I need to give the other side the nonce used. 

I don't have enough space to fit all of this in a packet.

My plan was to generate a random nonce. But then thought...

Is it bad to use my pass/salt (16 bytes) as the nonce (12 bytes) as well? I could save the space of sending the nonce by just lopping 4 bytes off the salt. 

I know all about the dangers of reusing a nonce. But I'm not sure it applies here because my "old PSK" is thrown into the KDF with the salt/pass so does it matter if that also makes up the nonce?
If you have a PSK then you don't need a password. You can just derive new session keys from the PSK, e.g. using a salt within HKDF. It is also possible to derive a key and IV if you're already using a salt. You could also use a counter starting at zero as nonce / IV instead because the resulting key is considered "fresh".

Generally, you simply need a unique key nonce combination for any encryption operation for stream ciphers. If you always apply a random salt to derive both than that requirement is fulfilled, because the key is always fresh. Reusing the salt is however immediately fatal to the security, so the salt should consist of say, 12 bytes / 96 bits or more generated by a secure random number generator.



Using a random salt together with a PBKDF is also possible, but as indicated, I'm not sure if you need a password and therefore a password stretching function such as a password hash / PBKDF.