{"id":17526008,"url":"https://github.com/joehillen/ev-fish","last_synced_at":"2025-04-07T00:33:22.616Z","repository":{"id":15321792,"uuid":"77895157","full_name":"joehillen/ev-fish","owner":"joehillen","description":"Load environment variables from files and directories using fish shell, like envdir","archived":false,"fork":false,"pushed_at":"2022-05-18T21:44:02.000Z","size":22,"stargazers_count":19,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-06-11T04:15:27.687Z","etag":null,"topics":["djb","env","environment","environment-variables","fish","fish-plugin","fish-plugins","fish-shell","fisherman","oh-my-fish","oh-my-fish-plugin"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joehillen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-01-03T07:45:22.000Z","updated_at":"2023-06-11T02:52:27.000Z","dependencies_parsed_at":"2022-09-11T11:21:05.247Z","dependency_job_id":null,"html_url":"https://github.com/joehillen/ev-fish","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joehillen%2Fev-fish","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joehillen%2Fev-fish/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joehillen%2Fev-fish/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joehillen%2Fev-fish/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joehillen","download_url":"https://codeload.github.com/joehillen/ev-fish/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223268094,"owners_count":17116746,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["djb","env","environment","environment-variables","fish","fish-plugin","fish-plugins","fish-shell","fisherman","oh-my-fish","oh-my-fish-plugin"],"created_at":"2024-10-20T15:01:13.073Z","updated_at":"2024-11-06T01:22:46.135Z","avatar_url":"https://github.com/joehillen.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# ev-fish\n\n[envdir](https://cr.yp.to/daemontools/envdir.html) for fish shell\n\nLoad environment variables from files and directories.\n\n# Usage\n\n```\n$ ev -h\nUsage:\n    ev [-q] PATH ...\n    ev [-q] -u PATH ...\n\nOptions:\n    -q            No output\n    -u PATH       Unset environment variables in PATH\n    -h --help     Show this message\n\nEVPATH=/home/joe/.config/env\nEVPATH is the directory or list of directories where ev will search.\nPATH can be a name of a file/directory in EVPATH or a path to a file/directory.\n```\n\nBy default, `EVPATH` is `$XDG_CONFIG_HOME/env`.\n\n## Example\n\n```\n$ env | grep FOO\n$ env | grep BAR\n$ tree ~/.config/env/foo/\n/home/joe/.config/env/foo/\n├── FOO\n└── BAR\n\n0 directories, 2 files\n$ ev foo\nFOO\nBAR\n$ env | grep FOO\nFOO=foo123\n$ env | grep BAR\nBAR=bar\n$ ev -u foo\nFOO\nBAR\n$ env | grep FOO\n$ env | grep BAR\n```\n\n## Executables\n\nIf a file is executable, `ev` will run the file and store the result.\n\n```\n$ echo \u003eIP \"\\\n   #!/bin/sh\n   curl -s ifconfig.co\"\n$ chmod +x IP\n$ ./IP\n8.8.8.8\n$ env | grep IP\n$ ev IP\nIP\n$ env | grep IP\nIP=8.8.8.8\n```\n\n## Recursive\n\n`ev` will recursively add environment variables from subdirectories.\n\n```\n$ env | grep FOO\n$ env | grep BAR\n$ env | grep BAZ\n$ tree envvars/\nenvvars/\n└── foo\n    ├── FOO\n    └── bar\n        ├── BAR\n        └── baz\n            └── BAZ\n\n3 directories, 3 files\n$ ev envvars\nFOO\nBAR\nBAZ\n$ env | grep FOO\nFOO=foo\n$ env | grep BAR\nBAR=bar\n$ env | grep BAZ\nBAZ=baz\n$ ev -u envvars\nFOO\nBAR\nBAZ\n$ env | grep FOO\n$ env | grep BAR\n$ env | grep BAZ\n```\n\n# Installation\n\n\n## [fisherman](https://github.com/fisherman/fisherman) (recommended)\n\n```\nfisher install joehillen/ev-fish\n```\n\n## Using [fundle](https://github.com/tuvistavie/fundle)\n\nAdd the following to `~/.config/fish/config.fish` and run `fundle install`.\n\n```\nfundle plugin 'joehillen/ev-fish'\n```\n\n## Manually\n\nRun `make` or\n\n```\ncp functions/ev.fish ~/.config/fish/functions/\ncp completions/ev.fish ~/.config/fish/completions/\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoehillen%2Fev-fish","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoehillen%2Fev-fish","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoehillen%2Fev-fish/lists"}