{ pkgs }: pkgs.writeShellApplication { name = "git-switch"; runtimeInputs = with pkgs; [ git fzf ]; text = '' case "$(printf "GitHub\nUniversity" | fzf --prompt "Account: " --height 5)" in "GitHub") user="MoritzBoehme" email="mail@moritzboeh.me" key="0x213820E2795F5CF5" ;; "University") user="Moritz Boehme" email="mb18cele@studserv.uni-leipzig.de" key="0xE07B20727F85831C" ;; *) echo "Invalid choice!" exit 1 ;; esac git config --local user.name "$user" echo "Set username to \"$user\"." git config --local user.email "$email" echo "Set email to \"$email\"." git config --local user.signingkey "$key" echo "Set key to \"$key\"." ''; }