feat(users/multi/home): add readline configuration and nix-shell handling to bashrc.
This adds my standard inputrc to my home-manager configuration, via the latter's readline module, and adds nix-shell detection to my bash prompt string. Additionally, nix-shell is wrapped in a shell function, so that entering a nix-shell environment automatically runs bash as a subprocess where appropriate, as the default environment spawned by nix-shell is not to my liking. Change-Id: Id5b1b9415a185ad9920f268c66de32d6ccc0b452 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2146 Reviewed-by: multi <depot@in-addr.xyz> Tested-by: BuildkiteCI
This commit is contained in:
parent
f49c86139f
commit
c56f402383
1 changed files with 40 additions and 3 deletions
|
@ -19,16 +19,53 @@ in
|
|||
bash = {
|
||||
enable = true;
|
||||
initExtra = ''
|
||||
bind '"\e[5~":history-search-backward'
|
||||
bind '"\e[6~":history-search-forward'
|
||||
PS1="[\\u@\\h:\\w"
|
||||
if [[ -n "$IN_NIX_SHELL" ]]; then
|
||||
PS1="$PS1 (nix-shell)]\\\$ "
|
||||
else
|
||||
PS1="$PS1]\\\$ "
|
||||
fi
|
||||
|
||||
PS1="[\\u@\\h:\\w]\\\$ "
|
||||
nix-shell() {
|
||||
local comarg=0
|
||||
for i in "$@"; do
|
||||
[[ "$i" == "--command" ]] && comarg=1
|
||||
done
|
||||
|
||||
if (( commarg == 0 )); then
|
||||
command nix-shell --command bash "$@"
|
||||
else
|
||||
command nix-shell "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
_Z_CMD=d
|
||||
source ~/.z.sh
|
||||
'';
|
||||
};
|
||||
|
||||
readline = {
|
||||
enable = true;
|
||||
bindings = {
|
||||
"\\e[5~" = "history-search-backward";
|
||||
"\\e[6~" = "history-search-forward";
|
||||
"\\C-w" = "\"\\e\\C-h\"";
|
||||
};
|
||||
includeSystemConfig = false;
|
||||
variables = {
|
||||
expand-tilde = true;
|
||||
colored-stats = true;
|
||||
page-completions = false;
|
||||
menu-complete-display-prefix = true;
|
||||
colored-completion-prefix = true;
|
||||
completion-query-items = 0;
|
||||
completion-ignore-case = true;
|
||||
revert-all-at-newline = true;
|
||||
show-all-if-ambiguous = true;
|
||||
skip-completed-text = true;
|
||||
};
|
||||
};
|
||||
|
||||
tmux = {
|
||||
enable = true;
|
||||
terminal = "tmux-256color";
|
||||
|
|
Loading…
Reference in a new issue