{ config, lib, pkgs, ... }: with lib; { config = { programs.zsh = { enable = true; historySubstringSearch = { enable = true; searchDownKey = "^[[B"; searchUpKey = [ "^[[A" "\\eOA" ]; }; }; test.stubs.zsh = { }; # Written with regex to ensure we don't end up missing newlines in the future nmt.script = '' assertFileRegex home-files/.zshrc "^bindkey \"\^\[\[B\" history-substring-search-down$" assertFileRegex home-files/.zshrc "^bindkey \"\^\[\[A\" history-substring-search-up$" assertFileRegex home-files/.zshrc "^bindkey \"\\\\eOA\" history-substring-search-up$" ''; }; }