{ config, lib, pkgs, ... }: { programs.nushell = { enable = true; configFile.source = ./nushell/config.nu; envFile.source = ./nushell/env.nu; }; programs.starship = { enable = true; enableNushellIntegration = true; settings = { directory = { truncation_length = 3; fish_style_pwd_dir_length = 1; }; git_commit = { commit_hash_length = 6; only_detached = false; }; package = { symbol = ""; }; time = { disabled = false; format = "[$time]($style)"; time_format = "%I:%M %p"; }; }; }; programs.bat = { enable = true; config = { theme = "OneHalfDark"; style = "header,rule,snip,changes"; }; }; programs.readline = { enable = true; extraConfig = '' set editing-mode vi set show-all-if-ambiguous on set editing-mode vi set keymap vi-command # these are for vi-command mode "\e[A": history-search-backward "\e[B": history-search-forward j: history-search-forward k: history-search-backward set keymap vi-insert # these are for vi-insert mode "\e[A": history-search-backward "\e[B": history-search-forward ''; }; programs.fzf.enable = true; }