Set environment variables across multiple shells with a single configuration file.


Keywords
configuration, environment-variable, command, cli, shell, bash, command-line, command-line-tool, config, cross-shell, env-vars, environment-variables, fish, rust, rust-cargo, rust-cli, toml, toml-config, tool, xshe, zsh
Licenses
MIT/Apache-2.0

Documentation

Xshe – Cross-Shell Environment Vars

Documentation View on Crates.io Fork on GitHub Leave a GitHub Repo Star Open an Issue

GitHub Release Status Libraries.io dependency status Latest Crates.io Release Latest GitHub Release Crates.io downloads

Xshe allows for setting Shell Environment Variables across multiple shells with a single TOML configuration file.

Instead of writing multiple similar files for each shell you use, you can instead create one file and use it for every shell with xshe!

All you have to do is add a single line to all of your shells' startup scripts, and xshe will set your environment variables across all of them.

To use xshe, you write lines in a xshe.toml file like this (in TOML format):

CARGO_HOME = '~/.cargo'
EDITOR = '$(which nano)'

Create a file like this once and use it everywhere, for every shell! xshe can convert this into the format for every supported shell.

Shells - bash | zsh | fish Coming Soon - powershell | elvish | dash | xonsh | tcsh

Usage and Documentation

View Xshe's documentation online at xshe.superatomic.dev or read the offline documentation in the docs/ directory.

Quick install

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


GitHub.com Crates.io Lib.rs Libraries.io