add: direnv config

This commit is contained in:
jez 2023-04-18 15:00:51 -04:00
commit d2cef582c7
2 changed files with 106 additions and 0 deletions

12
README.md Normal file
View File

@ -0,0 +1,12 @@
# user/id-mrjk
Just a bunch of dotfiles.
## Install
Clone and symlink or install with [ellipsis][ellipsis]:
```
$ ellipsis install user/id-mrjk
```
[ellipsis]: http://ellipsis.sh

94
ellipsis.sh Normal file
View File

@ -0,0 +1,94 @@
#!/usr/bin/env bash
#
# user/id-mrjk ellipsis package
ELLIPSIS_SHELL_BIN="$HOME/.local/bin"
ELLIPSIS_SHELL_=
detect_platform() {
local kernel= machine=
kernel=$(uname -s | tr "[:upper:]" "[:lower:]")
case "${kernel}" in
mingw*)
kernel=windows
;;
esac
case "$(uname -m)" in
x86_64)
machine=amd64
;;
i686 | i386)
machine=386
;;
aarch64 | arm64)
machine=arm64
;;
*)
>&2 echo "Machine $(uname -m) not supported by the installer.\n" \
"Go to https://direnv for alternate installation methods."
return 1
;;
esac
echo "machine='$machine'; kernel='$kernel';"
}
get_github_release () {
local repo=$1
local pattern=$2
local version=${3:-latest}
if [[ -n "${version:-}" ]]; then
gh_url_suffix="tags/${version}"
else
gh_url_suffix="latest"
fi
download_url=$(
curl -fL "https://api.github.com/repos/direnv/direnv/releases/$gh_url_suffix" \
| grep browser_download_url \
| cut -d '"' -f 4 \
| grep "$pattern"
)
}
# The following hooks can be defined to customize behavior of your package:
pkg.install() {
fs.link_files $PKG_PATH
eval "$(detect_platform)"
download_url=$(get_github_release direnv/direnv "direnv.$kernel.$machine" latest)
#download_url=$(
# curl -fL "https://api.github.com/repos/direnv/direnv/releases/$gh_url_suffix" \
# | grep browser_download_url \
# | cut -d '"' -f 4 \
# | grep "direnv.$kernel.$machine"
#)
mkdir -p "$ELLIPSIS_SHELL_BIN"
curl -o "$ELLIPSIS_SHELL_BIN/direnv" -fL "$download_url"
chmod a+x "$ELLIPSIS_SHELL_BIN/direnv"
set +x
}
# pkg.push() {
# git.push
# }
# pkg.pull() {
# git.pull
# }
# pkg.installed() {
# git.status
# }
#
# pkg.status() {
# git.diffstat
# }