diff --git a/modules/bashrc b/modules/bashrc new file mode 100644 index 0000000..faf9098 --- /dev/null +++ b/modules/bashrc @@ -0,0 +1,26 @@ +# Set the title bar to user@host: pwd +_TITLE_BAR="\u@\h: \w" +_SET_TITLE_BAR="\[\e]0;$_TITLE_BAR\a\]" +# Shorten $HOME to ~ in PWD +_pwd_home () { + if [[ "$PWD" =~ ^"$HOME"(/|$) ]]; then + echo "~${PWD#$HOME}" + else + echo $PWD + fi +} +# Shorten path dir names +_pwd () { + DIR=$(_pwd_home) + [ "$DIR" != "/" ] && [ "$DIR" != "~" ] && printf '%s/' $(dirname $DIR | tr / '\n' | cut -c-1) + printf $(basename $DIR) +} +_DIR='$(_pwd)' +# Color codes +_GREEN="\[\033[1;32m\]" +_DIM="\[\e[92;2m\]" +_RESET="\[\e[0m\]" +# Nested shell level +_SHLVL=$(printf '\$%.0s' $(seq 1 $SHLVL)) +# Build prompt +export PS1="$_SET_TITLE_BAR$_DIM[\A \u@\h:$_RESET$_GREEN$_DIR$_RESET$_DIM]$_SHLVL$_RESET " diff --git a/modules/beatific.nix b/modules/beatific.nix index d451af4..6d7d5f1 100644 --- a/modules/beatific.nix +++ b/modules/beatific.nix @@ -55,6 +55,7 @@ in { nix.extraOptions = "experimental-features = nix-command flakes"; # Link /etc/nixos to the flake source environment.etc.nixos.source = ./..; + environment.etc."bashrc.local".source = ./bashrc; environment.shellAliases = { # Shortcut for nixos-rebuild nr = "sudo nixos-rebuild --fast --flake $HOME/nixos-configs";