||7 months ago|
|nod/usr/share||1 year ago|
|src||10 months ago|
|systemd/usr||1 year ago|
|usr/bin||7 months ago|
|.editorconfig||1 year ago|
|.gitignore||1 year ago|
|CHANGELOG.md||7 months ago|
|Cargo.lock||10 months ago|
|Cargo.toml||10 months ago|
|LICENSE.md||1 year ago|
|Makefile||1 year ago|
|README.md||7 months ago|
Loads your environment so you don't have to.
Offers a data structure for serializing and deserializing environment variables, to allow for easy
/etc/profile scripts in non-POSIX shells like
viro binary is only
available for unix-based systems at the moment; see the "Roadmap" section of this README for
Available via the Anti-Capitalist Software License for individuals, non-profit organisations, and worker-owned businesses.
viro for your system with the
sync-stdio feature and copy it into
Depending on whether you want to use systemd or no d, merge the
/usr provided in either
nod/usr with the common
usr directory provided here.
Finally, merge the complete
usr directory with your own
Because bash does not have a standardized config directory, you will need to source the scripts in
/usr/share/bash/bashrc.d in order to make this work. If you chose to use systemd, you must also
profile.service for your user.
For now, the
viro crate has no actual support for converting environment variables into byte
sequences, and the
viro binary simply assumes that the conversion is trivial, as it is on
POSIX-compliant systems. However, on systems like Windows, a more complicated conversion will be
necessary to convert between genuine environment variables and byte slices using a format like
Additionally, there are currently no attempts to escape
\x3D (equals sign) and
\x00 (NUL) bytes
when outputting variables, and this simply alters the output. A future version of this crate will
want to offer these, but I have no plans to implement this at the moment.