{ pkgs, ... }: pkgs.mkShell { packages = with pkgs; [ go gopls go-tools ]; shellHook = '' export P10K_EXTRA_RIGHT_PROMPT_ELEMENTS=( goenv "''${P10K_EXTRA_RIGHT_PROMPT_ELEMENTS[@]}" ) if git rev-parse --is-inside-work-tree &> /dev/null && ! grep -q "^\.go$" .gitignore .git/info/exclude; then echo ".go" >> .git/info/exclude export GOPATH="$(git rev-parse --show-toplevel)/.go" else export GOPATH="$(pwd)/.go" fi ''; }