dotfiles/user-modules/scripts/mkenv.sh

53 lines
1017 B
Bash
Raw Normal View History

2025-02-15 15:28:38 +00:00
setupEnv () {
echo "Setting up .envrc"
if git rev-parse --is-inside-work-tree > /dev/null 2>&1; then
insideGit;
else
outsideGit;
fi;
}
insideGit () {
echo "Inside of git environment"
cd $(git rev-parse --show-toplevel)
echo "Setting up inside $PWD"
echo "git add -f --intent-to-add flake.nix
use flake ." > .envrc
echo "Enabling environment"
direnv allow
setupFlake
}
outsideGit () {
echo "Outside of git environment"
echo "use flake . --impure" > .envrc
echo "Enabling environment"
direnv allow
setupFlake
}
setupFlake () {
if [ -e flake.nix ]; then
echo "flake.nix already exists."
return
fi;
echo "Setting up flake.nix"
echo "{
inputs.devenv.url = \"git+https://git.bulthuis.dev/Jan/dotfiles\";
outputs = { devenv, ... }: devenv.lib.mkShell { };
}" > flake.nix
}
echo "Creating dev environment"
if [ -e .envrc ]; then
echo ".envrc already exists."
setupFlake
else
setupEnv
fi;