Terminal packages

{ pkgs, ... }: {
  programs.bash.shellAliases = {
    whoami = "coreutils --coreutils-prog=whoami";
  };

  programs.zsh.shellAliases = {
    whoami = "coreutils --coreutils-prog=whoami";
  };

  programs.zsh.initExtra = ''
    eval "$(jenv init -)"

    # Auto-register JDKs with jenv
    for jdk in /Library/Java/JavaVirtualMachines/*/Contents/Home; do
      if [ -d "$jdk" ] && ! jenv versions 2>/dev/null | grep -q "$(basename "$(dirname "$(dirname "$jdk")")")"; then
        jenv add "$jdk" >/dev/null 2>&1
      fi
    done
  '';
}
#

{ pkgs, lib, ... }:
let
  python = rec {
    defaultVersion = pkgs.python312;
    additionalVersions = with pkgs; [
      python313
    ];
    packages = ps: with ps; [
      virtualenv
    ];
    default = defaultVersion.withPackages packages;
    additional = map
      (py: lib.lowPrio (py.withPackages packages))
      additionalVersions;
  };
in
{
  home.packages = with pkgs; [
    direnv
    nixd
    tree-sitter
    python.default
  ] ++ python.additional;
}
#