]> Git — Sourcephile - julm/julm-nix.git/blob - homes/softwares/bash.nix
bash: add vim-git function
[julm/julm-nix.git] / homes / softwares / bash.nix
1 { pkgs, lib, config, ... }:
2 {
3 programs.bash = {
4 shellAliases = {
5 grep = "grep --color";
6 md-toc = "grep '^#\\+' --color";
7 mpl = "mplayer";
8 rsync = "rsync --no-inc-recursive --info=progress2 --inplace --partial";
9 };
10 initExtra = ''
11 shopt -s globstar
12 # Disable ctrl-s/ctrl-q flow control
13 stty -ixon
14 vim-git () { $EDITOR $(git diff-tree --no-commit-id --name-only -r "$@"); }
15 '';
16 };
17 programs.direnv.enableBashIntegration = true;
18 home.sessionVariables = {
19 PS1 = ''\[\033[1;32m\]\[\e]0;\u@\h: \w\a\]\W\[\033[0m\] \$(e=\$?; if [ \$e != 0 ]; then echo '\[\e[0;91m\]'\$e'\[\e[0m\]'; fi)\$ '';
20 };
21 home.file.".inputrc".text = ''
22 "\e[1~": beginning-of-line
23 "\e[4~": end-of-line
24 "\e[7~": beginning-of-line
25 "\e[8~": end-of-line
26 "\eOH": beginning-of-line
27 "\eOF": end-of-line
28 "\e[H": beginning-of-line
29 "\e[F": end-of-line
30 "\e[1;5C": forward-word
31 "\e[1;5D": backward-word
32 "\e[5C": forward-word
33 "\e[5D": backward-word
34 "\e\e[C": forward-word
35 "\e\e[D": backward-word
36 '';
37 }