std::env::set_var only works for current running process.
This is an operation system dependet operation, you may search for a crate that does this on crates.io or write one for your operating system.
Generally you can't. For example, on Linux and macOS there is no central place where env vars are stored.
PATH is set temporarily by shell startup script, so to change that, you need to edit code of shell's startup script. And where that code is and how to change it depends on which shell user is using. It's a mess.
Rustup barely manages to do it, so maybe check out how it's done there.