diff --git a/roles/base.nix b/roles/base.nix index c0d9ea2..9bf10bd 100644 --- a/roles/base.nix +++ b/roles/base.nix @@ -53,10 +53,20 @@ in { export EDITOR=nvim export STARSHIP_CONFIG=/etc/starship.toml - if [ -z "$SSH_AUTH_SOCK" ]; then - eval $(ssh-agent) + if [ -f ~/.ssh/agent.env ] ; then + . ~/.ssh/agent.env > /dev/null + if ! kill -0 "$SSH_AGENT_PID" > /dev/null 2>&1; then + echo "Stale agent file found. Spawning a new agent. " + eval `ssh-agent | tee ~/.ssh/agent.env` + ssh-add + fi + else + echo "Starting ssh-agent" + eval `ssh-agent | tee ~/.ssh/agent.env` + ssh-add fi + set_win_title() { echo -ne "\033]0;$USER@$HOSTNAME: $PWD\007" }