{ pkgs, ... }: {
  # Enabling bash from home-manager means environment variables set by HM get set correctly
  # Worst case, fallback to bash.
  programs.zsh = {
    enable = true;
    initExtra = ''
      # Set prompt
      # PS1='%(?..[%?] )%B%F{green}[%n@%m %~]%(!.#.$)%f%b '
    '';
    profileExtra = ''
      export QT_SCALE_FACTOR_ROUNDING_POLICY=RoundPreferFloor
      . "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"
      # If running from tty1 start sway
      # [ "$(tty)" = "/dev/tty1" ] && exec sway
    '';
    defaultKeymap = "emacs";
    # plugins = [
    #   {
    #     name = "pure";
    #     src = pkgs.fetchFromGitHub {
    #       owner = "sindresorhus";
    #       repo = "pure";
    #       rev = "v1.23.0";
    #       hash = "sha256-BmQO4xqd/3QnpLUitD2obVxL0UulpboT8jGNEh4ri8k=";
    #     };
    #   }
    #   {
    #     name = "zsh-syntax-highlighting";
    #     src = pkgs.fetchFromGitHub {
    #       owner = "zsh-users";
    #       repo = "zsh-syntax-highlighting";
    #       rev = "0.8.0";
    #       hash = "sha256-iJdWopZwHpSyYl5/FQXEW7gl/SrKaYDEtTH9cGP7iPo=";
    #     };
    #   }
    # ];
  };
}
