From 1aaf15e9435b902aa79f6afeaae2664193a2c0b3 Mon Sep 17 00:00:00 2001 From: Alexander Hess Date: Sat, 30 Aug 2025 11:19:37 +0200 Subject: [PATCH] Show welcome message after starting a shell ... ... with some basic information, mainly to show that the dotfiles are used --- .config/shell/welcome | 44 +++++++++++++++++++++++++++++++++++++++++++ .profile | 4 ++++ 2 files changed, 48 insertions(+) create mode 100644 .config/shell/welcome diff --git a/.config/shell/welcome b/.config/shell/welcome new file mode 100644 index 0000000..1c707a9 --- /dev/null +++ b/.config/shell/welcome @@ -0,0 +1,44 @@ +#!/bin/sh + +# Show system info each time a shell is started + + +_hostname=$(hostname) +_os="$(uname -s) $(uname -r)" +_uptime=$(uptime -p | sed 's/up //; s/weeks\?/w/g; s/days\?/d/g; s/hours\?/h/g; s/minutes\?/m/g; s/ //g') +_user=$(whoami) +_work_dir=$(echo "$PWD" | sed "s|^$HOME|~|") + + +if [ "$(id -u)" -eq 0 ]; then + _prompt="#" +else + _prompt="$" +fi + + +if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then + _remote=" ssh" +else + _remote=" local" +fi + + +if _in_bash; then + _shell_type="bash" +elif _in_zsh; then + _shell_type="zsh" +else + _shell_type="non-bash/zsh shell" +fi + + +_info_line="$_user@$_hostname:$_work_dir$_prompt$_remote $_os uptime: $_uptime $_shell_type" +_sep_line=$(echo "$_info_line" | sed 's/./─/g') + + +echo "" +echo "$_sep_line" +echo "$_info_line" +echo "$_sep_line" +echo "" diff --git a/.profile b/.profile index db89137..0ef05d4 100644 --- a/.profile +++ b/.profile @@ -61,3 +61,7 @@ _prepend_to_path "$HOME/.local/bin" # Ensure ~/.profile is loaded each time `bash` starts unset PROFILE_LOADED + + +# When everything is loaded, show a little welcome message +[ -f "$HOME/.config/shell/welcome" ] && . "$HOME/.config/shell/welcome"