aboutsummaryrefslogtreecommitdiff
path: root/home-manager/shells/bash.nix
diff options
context:
space:
mode:
Diffstat (limited to 'home-manager/shells/bash.nix')
-rw-r--r--home-manager/shells/bash.nix80
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
+ ];
+}