diff options
Diffstat (limited to 'home-manager/shells/bash.nix')
| -rw-r--r-- | home-manager/shells/bash.nix | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/home-manager/shells/bash.nix b/home-manager/shells/bash.nix new file mode 100644 index 0000000..a902af3 --- /dev/null +++ b/home-manager/shells/bash.nix @@ -0,0 +1,80 @@ +{ pkgs, ... } : +{ + programs.bash = { + enable = true; + enableCompletion = true; + initExtra = '' +tabs 4 +clear +PF_INFO="ascii title os kernel uptime memory shell wm" pfetch + +# Fancy prompt +export PROMPT_COMMAND=__prompt_command +__prompt_command() { + local exit="$?" + PS1="" + local reset='\[\e[0m\]' + local white='\[\e[97m\]' + local blue='\[\e[38;5;25m\]' + local bgblue='\[\e[48;5;25m\]' + local green='\[\e[38;5;34m\]' + local bggreen='\[\e[48;5;34m\]' + local gray='\[\e[38;5;238m\]' + local bggray='\[\e[48;5;238m\]' + local red='\[\e[38;5;124m\]' + local bgred='\[\e[48;5;124m\]' + + # Add user + PS1+="$white$bgblue \u$blue" + # Add SHLVL (shell depth) + if [ $SHLVL -gt 2 ]; then + PS1+="$bggreen$white $(($SHLVL - 2))$reset$green" + fi + # Add dir + PS1+="$bggray$white \w$reset$gray" + + if [ $exit != 0 ]; then + # Change end color + #PS1+="$bgred$white \w$reset$red" + # Add exit code + PS1+="$bgred$white $exit$reset$red" + else + # Change end color + #PS1+="$bggray$white \w$reset$gray" + # Add end cap + PS1+="" + fi + PS1+="$reset " +} +# Powerline prompt +#export PS1='\[\e[48;5;25;38;5;189m\] \u \[\e[48;5;238;38;5;25m\] \[\e[48;5;238;38;5;189m\]\w \[\e[0m\]\[\e[38;5;238m\]\[\e[0m\] ' + +# Multiline prompt +#export PS1="\[\e[32m\]╭──\[\e[31m\](\[\e[34m\]\u\[\e[33m\]@\[\e[34m\]\h\[\e[31m\])\[\e[32m\]-\[\e[31m\](\[\e[34m\]\w\[\e[31m\])\[\e[32m\]-\[\e[31m\](\[\e[34m\]\d\[\e[31m\]) +#\[\e[32m\]╰\[\e[0m\] " +''; + shellAliases = { + cm = "cmatrix -absu 2"; + pipes = "pipes.sh -KR -p 3 -t3 -c 1 -c 2 -c 3 -c 4 -c 5 -c 6"; + cl = "clear"; + ls = "lsd"; + la = "lsd -a"; + ll = "lsd -al"; + pathfindsaver = "while sleep 1; do pathfind -f; done"; + qalc = "qalc -s 'varunits 0' -s 'angle 2'"; + }; + }; + + programs.zoxide = { + enable = true; + enableBashIntegration = true; + options = [ "--cmd cd" ]; + }; + + home.packages = with pkgs; [ + zoxide + pfetch + lsd + libqalculate + ]; +} |
