{ config, pkgs, lib, ... }:
{
  programs.zsh = {
    enable = true;
    history = {
      extended = true;
      expireDuplicatesFirst = true;
      ignoreSpace = true;
      size = 100;
    };
    syntaxHighlighting.enable = true;
    initContent = let
      prependCfg = lib.mkOrder 500 "";
      appendCfg = lib.mkOrder 1500 ''
      bindkey -v
      '';
    in
      lib.mkMerge [ prependCfg appendCfg ];
  };
}
