{ pkgs, config, ... }: let ruststable = (pkgs.rust-bin.stable.latest.default.override { extensions = [ "rust-src" "rust-analyzer-preview" "rust-analysis" "rustfmt-preview" ]; }); pythonEnv = pkgs.python3.withPackages (p: with p; [ black click isort pylsp-mypy requests types-requests pip ipython virtualenv ]); in { programs.go = { enable = true; goPath = ".local/share/pkg.go"; goBin = ".local/bin.go"; goPrivate = [ "git.fcuny.net" "golang.fcuny.net" ]; package = pkgs.go_1_18; }; home.packages = with pkgs; [ go-tools pythonEnv google-cloud-sdk ruststable ]; home.sessionPath = [ config.home.sessionVariables.GOBIN "$CARGO_HOME/bin" ]; home.sessionVariables = with config.xdg; { IPYTHONDIR = "${cacheHome}/ipython"; PIP_LOG = "${cacheHome}/pip/pip.log"; PYLINTHOME = "${cacheHome}/pylint"; PYTHON_EGG_CACHE = "${cacheHome}/python-eggs"; MYPY_CACHE_DIR = "${cacheHome}/mypy"; CARGO_HOME = "${dataHome}/cargo"; }; }