if declare -f use_flake >/dev/null; then __dotfiles_use_flake_definition="$(declare -f use_flake)" eval "${__dotfiles_use_flake_definition/use_flake/__dotfiles_nix_direnv_use_flake}" unset __dotfiles_use_flake_definition use_flake() { local flake_expr="${1:-.}" if [[ "$flake_expr" == //* ]]; then local git_root if ! git_root="$(git rev-parse --show-toplevel 2>/dev/null)"; then log_error 'use flake // requires a Git repository' return 1 fi local flake_suffix="${flake_expr#//}" if [[ -n "$flake_suffix" && "$flake_suffix" != \#* && "$flake_suffix" != /* ]]; then flake_expr="path:${git_root}/${flake_suffix}" else flake_expr="path:${git_root}${flake_suffix}" fi shift __dotfiles_nix_direnv_use_flake "$flake_expr" "$@" return fi __dotfiles_nix_direnv_use_flake "$@" } else log_error 'nix-direnv must define use_flake before the // wrapper loads' return 1 fi