{ config , pkgs , ... }: { programs.bash = { enable = true; historyControl = [ "erasedups" ]; historyFile = "\$HOME/.bash_history"; historyFileSize = 2000; historyIgnore = [ "ls" "exit" "kill" ]; historySize = 1000; shellAliases = { "..." = "cd -- ../.."; grep = "grep --color=auto"; l = "ls -CF"; la = "ls -A"; ll = "ls -alF"; ls = "ls -F --color=always"; o = "xdg-open"; rless = "less -r"; tmux = "tmux -u"; tree = "tree -C"; vim = "nvim"; tb = "nc termbin.com 9999"; n = "j"; # git aliases gb = "git branch -v"; gc = "git commit --verbose"; gd = "git diff --minimal"; ggp = "git push"; gl = "git log -p --abbrev-commit --pretty=medium"; glo = "git log --pretty=oneline --abbrev-commit"; gst = "git status --short"; }; shellOptions = [ "histappend" "autocd" "globstar" "checkwinsize" "cdspell" "dirspell" "expand_aliases" "dotglob" "gnu_errfmt" "histreedit" "nocasematch" ]; sessionVariables = { PF_INFO = "ascii title os kernel uptime pkgs shell"; PF_SEP = " "; PF_COL1 = 7; PF_COL2 = 7; PF_COL3 = 6; PF_ALIGN = "9"; PF_ASCII = "nixos"; _JAVA_AWT_WM_NONREPARENTING = 1; TERM = "xterm-256color-italic"; EDITOR = "nvim"; MANPAGER = "nvim +Man!"; GPG_TTY = "\$(tty)"; }; initExtra = '' [ -f $HOME/.github ] && . $HOME/.github eval "$(direnv hook bash)" export PATH=$PATH:"$HOME/scripts" export PROMPT_COMMAND="tmux refresh-client -S"; export PS1="\n\001\e[0;36m\002λ\001\e[0m\002 "; export PS2="> "; ''; }; }