xenv

GitHub Actions

A cross-shell env sourcing command.

I use fish a lot, but I also like to do

bash source .env

when I want to source specific environment variables for a shell session.

As far as I know fish doesn't have this capability (natively), and I figured I would write something that could work across different shells, just in case I switch to zsh or something else.

installation and usage

To install it, you need cargo installed. Once installed run the following command:

fish cargo install xenv

```fish

this will look for a .xenv file in your current working directory

xenv echo hello this is my command

you can also override this with the XENV_PATH environment variable

if using fish < 3.1, you'll need to do 'env XENV_PATH

XENV_PATH=xenv.env xenv env | rg foo ```

.xenv file format

It'll follow the format for any .env file, but for reference, here's the docker-compose .env rules

```bash

here is an example

FOO=bar

it's case insensitive

foo=bar

empty keys will be skipped

=qux

empty values are allowed

BANG= ```