Files
config/.envrc
2025-03-16 17:33:24 +01:00

40 lines
1.0 KiB
Bash

#!/usr/bin/env bash
# https://direnv.net/man/direnv-stdlib.1.html
# TODO:
# git config --local core.hooksPath "$PWD"/.githooks
# ensure (dirty) updated flake lock
# TODO: cache this on gitea? Run in background?
test -d .direnv || mkdir -p .direnv
now="$(date +%Y-%m-%d)"
if ! test -s .direnv/pull-date || test "$now" != "$(cat .direnv/pull-date)"; then
git reset flake.lock
git restore flake.lock
git pull --rebase --autostash
grep -q "^=======" flake.lock && { git reset flake.lock; rm flake.lock; }
# nix flake update
nix eval --file flake.nix --apply 'x: builtins.attrNames x.inputs' --json \
| jq .[] -r \
| grep -v '^nixpkgs-expensive$' \
| nix flake update
echo "$now" > .direnv/pull-date
fi
# source env
if ! test -f .remote.toml; then
use flake .#envrc-local
else
use flake .#envrc-remote
echo
just remote-current
just remote-list
echo
fi
if rg 'TODO' -q ; then
echo "There are $(rg 'TODO' | wc -l ) 'TODO'"
fi
export QEMU_NET_OPTS="hostfwd=tcp::10022-:22,hostfwd=tcp::10080-:80,hostfwd=tcp::10443-:443"