46 lines
1.2 KiB
Nix
46 lines
1.2 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
let
|
|
cfg = config.sydnix.users.crumb.readline;
|
|
in {
|
|
options.sydnix.users.crumb.readline.enable
|
|
= lib.mkEnableOption "Readline, à la crumb";
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
programs.readline = {
|
|
enable = true;
|
|
extraConfig = ''
|
|
# Unfortunately, the Vi mode is... bad!
|
|
set editing-mode emacs
|
|
|
|
# Mimmic Comint/Eshell binds.
|
|
C-k: history-substring-search-backward
|
|
C-j: history-substring-search-forward
|
|
C-s: reverse-search-history
|
|
|
|
set history-preserve-point on
|
|
|
|
set bell-style none
|
|
|
|
set blink-matching-paren on
|
|
|
|
# Inhibit that god-awful double-tab bullshit.
|
|
set show-all-if-ambiguous on
|
|
set show-all-if-unmodified on
|
|
set completion-ignore-case on
|
|
set completion-map-case on
|
|
|
|
# Append a '/' when completing the full name of a symlink to a
|
|
# directory. This mirrors the behaviour when completing real
|
|
# directories.
|
|
set mark-symlinked-directories on
|
|
|
|
# Visually hint at a file's type in completions.
|
|
set visible-stats on
|
|
set colored-stats on
|
|
'';
|
|
};
|
|
};
|
|
}
|
|
|