From f81074910d7f1e2e31f6655e20f31c792f3da5b4 Mon Sep 17 00:00:00 2001 From: Jesse Hitch Date: Sat, 31 Dec 2022 19:53:31 +0100 Subject: [PATCH] update fastfetch to be cuter with images if you have them :) --- .bashrc | 22 +++++++++++++--------- .config/bash/alias.sh | 3 +++ .config/bash/minimal.sh | 2 +- .config/bash/path.sh | 33 ++++++++++++++------------------- .config/fastfetch/config.conf | 18 +++++++++--------- .hushlogin | 0 README.md | 11 +++++++++++ 7 files changed, 51 insertions(+), 38 deletions(-) create mode 100644 .hushlogin diff --git a/.bashrc b/.bashrc index f9a36e9..c2881a9 100644 --- a/.bashrc +++ b/.bashrc @@ -1,7 +1,5 @@ -# @jessebot's personal .bashrc -# -------------------------------------------------------------------------- # -# General # -# -------------------------------------------------------------------------- # +# @jessebot's .bashrc: an ok BASH experience. +# ------------------------------- General ---------------------------------- # # fixes "scp: Received message too long 169564991" error # If not running interactively, don't do anything, no outputs @@ -10,7 +8,6 @@ case $- in *) return;; esac - # I hate bells a lot set bell-style none @@ -32,7 +29,7 @@ export GPG_TTY=$(tty) # everything to do with things like less and editors is in here . $XDG_CONFIG_HOME/bash/text_editing.sh -# aliases are all confined to this file +# aliases are all confined to this file, except kubernetes below . $XDG_CONFIG_HOME/bash/alias.sh # k8s aliases and configuration @@ -60,7 +57,14 @@ if [ -f $pip_packages/powerline/bindings/bash/powerline.sh ]; then fi # -------------------------------------------------------------------------- # -# PERSONAL MOTD # +# Personal MOTD using fastfetch # +# We'll use an image if you add this your personal bashrc sourced above: # +# # +# # FULL PATH, NO VARIABLES. # +# export MOTD_IMG="/FULL/PATH/2/IMG.jpg" # # -------------------------------------------------------------------------- # -# run fastfetch, a system facts cli script, immediately when we login anywhere -fastfetch +if [ -f $MOTD_IMG ]; then + fastfetch --logo $MOTD_IMG +else + fastfetch +fi diff --git a/.config/bash/alias.sh b/.config/bash/alias.sh index 3c32ef8..f84cbde 100644 --- a/.config/bash/alias.sh +++ b/.config/bash/alias.sh @@ -30,6 +30,9 @@ alias python="python$PYTHON_VERSION" # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ General ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # +# fastfetch gets system data, but we want it to have padding +alias fastfetch='echo "" && fastfetch' + # colordiff - diff, but with colors for accessibility alias diff='colordiff -uw' diff --git a/.config/bash/minimal.sh b/.config/bash/minimal.sh index 1e98e71..54c5aa3 100644 --- a/.config/bash/minimal.sh +++ b/.config/bash/minimal.sh @@ -1,7 +1,7 @@ # @jessebot's minimal browser focused rc file # ############################################################################## -source ~/.config/bash/history +source ~/.config/bash/history.sh # -------------------------------------------------------------------------- # # Pathing # diff --git a/.config/bash/path.sh b/.config/bash/path.sh index 6d34b42..584203c 100644 --- a/.config/bash/path.sh +++ b/.config/bash/path.sh @@ -1,7 +1,6 @@ # -------------------------------------------------------------------------- -# Pathing -# Adhereing as closely as possible to XDG Base Directory Spec: -# https://wiki.archlinux.org/title/XDG_Base_Directory +# Pathing: Adhereing as closely as possible to XDG Base Directory Spec +# https://specifications.freedesktop.org/basedir-spec/latest/ # -------------------------------------------------------------------------- export XDG_CONFIG_HOME="$HOME/.config" export XDG_CACHE_HOME="$HOME/.cache" @@ -11,7 +10,7 @@ export XDG_STATE_HOME="$HOME/.local/state" # ~~~~~~~~~~~~~~~~~~~~~~~~~~~ LinuxBrew PATH ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # if [[ $(uname) == *"Linux"* ]]; then - # iptables on debian is here + # TODO: iptables on debian is here, wonder if we can change that... export PATH=$PATH:/usr/sbin:/usr/share # snap package manager installs commands here @@ -24,33 +23,30 @@ if [[ $(uname) == *"Linux"* ]]; then export MANPATH=$MANPATH:/home/linuxbrew/.linuxbrew/share/man export INFOPATH=$INFOPATH:/home/linuxbrew/.linuxbrew/share/info export PATH=$PATH:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin + # pip packages installed via linuxbrew will be here pip_packages="/home/linuxbrew/.linuxbrew/lib/python$PYTHON_VERSION/site-packages" fi # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ macOS PATH ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # if [[ $(uname) == *"Darwin"* ]]; then - # this is the iterm2 shell integration stuff, making it use XDG_CONFIG_HOME + # iterm2 shell integration stuff, and making it use $XDG_CONFIG_HOME source $HOME/.config/bash/iterm2_integration.sh - # iterm2 specific commands and functions export PATH=$PATH:$HOME/.local/bin/iterm2 - # this is for macs without apple silicon, e.g. before M1 - export PATH=$PATH:$HOME/Library/Python/3.11/bin - # don't warn me that BASH is deprecated, becasuse it is already upgraded export BASH_SILENCE_DEPRECATION_WARNING=1 pip_path="lib/python3.11/site-packages" - # check if this apple silicon if [ $(uname -a | grep arm > /dev/null ; echo $?) -eq 0 ]; then - # On M1/M2: brew default installs here + # On apple silicon: brew default installs here export PATH=/opt/homebrew/bin:$PATH pip_packages="/opt/homebrew/$pip_path" else - # For older macs before the M1, pre-2020 + # For older macs before the M1, pre-2020, WITHOUT apple silicon + export PATH=$HOME/Library/Python/$PYTHON_VERSION/bin:$PATH pip_packages="/usr/local/$pip_path" fi @@ -59,7 +55,7 @@ if [[ $(uname) == *"Darwin"* ]]; then fi # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Python ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# python default install location when you do: pip$PYTHON_VERSION install --user package +# python default install location when you: pip$VERSION install --user package export PATH=$PATH:$HOME/.local/bin:/usr/local/bin # make python do it's cache in ~/.cache/python @@ -74,22 +70,21 @@ export PYENV_ROOT=$XDG_DATA_HOME/pyenv # ~~~~~~~~~~~~~~~~~~~ nvm/npm for javascript stuff ~~~~~~~~~~~~~~~~~~~~~~~~~ # for npm to use XDG stuff export NPM_CONFIG_USERCONFIG=$XDG_CONFIG_HOME/npm/npmrc -# This loads nvm export NVM_DIR="$XDG_DATA_HOME"/nvm +# TODO: loads nvm - maybe goes into devops build? [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ golang ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# TODO: probably should look into this one, to make it more XDG compliant -GOROOT=$HOME -export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin +# to make it more XDG compliant +export GOROOT=$HOME/.local/bin +export PATH=$PATH:/usr/local/go/bin:$GOROOT # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rust ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ export RUSTUP_HOME="$XDG_DATA_HOME"/rustup export CARGO_HOME="$XDG_DATA_HOME"/cargo export PATH="$XDG_DATA_HOME/cargo/bin:$PATH" -# ~~~~~~~~~~~~~~~~~~~~~~~~ other ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ general ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ export DOCKER_CONFIG=$XDG_CONFIG_HOME/docker # Make gradle use XDG diff --git a/.config/fastfetch/config.conf b/.config/fastfetch/config.conf index abbc0e4..8e31fab 100644 --- a/.config/fastfetch/config.conf +++ b/.config/fastfetch/config.conf @@ -25,7 +25,7 @@ # Must be a list of module names, separated by colons. # List available modules with "fastfetch --list-modules". # Get the default structure with "fastfetch --print-structure". ---structure Break:Title:Separator:OS:Host:Kernel:Uptime:Shell:CPU:GPU:Memory:Disk:Battery:Break:Colors:Break:Break +--structure Title:Separator:OS:Uptime:GPU:CPU:Memory:Disk:Break:Colors:Break # Multithreading option: # Sets if fastfetch should use multiple threads to detect the values. @@ -64,25 +64,25 @@ # Print available logos with "fastfetch --print-logos". # Must be the name of an available logo or a path to a text file containing a custom logo. # Default is the current distribution. -#--logo arch +# --logo /FULL/PATH/TO/YOUR/IMG/NO/VARIABLES/image.png # Logo type option: # Sets the logo type to use. # Must be auto, builtin, file, file-raw, data, data-raw, sixel, kitty or chafa. # Default is auto. -# --logo-type sixel +--logo-type sixel # Logo width option: # Sets the width of the logo (in characters) if the logo is an image. # Must be a positive integer. # Default is 65. -#--logo-width 65 +--logo-width 25 # Logo height option: # Sets the height of the logo (in characters) if the logo is an image. # Must be a positive integer. # Default is 0 (keeps aspect ration). -#--logo-height 0 +--logo-height 0 # Logo color options: # Overwrite a color in the logo. Also works for user provided logos. @@ -106,7 +106,7 @@ # Adds a padding to the left side of the logo. # Must be a positive integer. # Default is 0. -#--logo-padding-left 0 +--logo-padding-left 3 # Logo padding right option: # Adds a padding to the right side of the logo. @@ -125,14 +125,14 @@ # Must be linux console color codes or the name of a color. # Default is the key color of the logo. # Use "fastfetch --help color" to learn more and see examples. -#--color-keys magenta +--color-keys magenta # Color title option: # Sets the color of the title. # Must be linux console color codes or the name of a color. # Default is the title color of the logo. # Use "fastfetch --help color" to learn more and see examples. -#--color-title magenta +--color-title blue # Binary prefix option: # Sets the binary prefix to use. @@ -356,7 +356,7 @@ #--lib-XFConf /usr/lib/libxfconf-0.so #--lib-sqlite3 /usr/lib/libsqlite3.so #--lib-rpm /usr/lib/librpm.so ---lib-imagemagick /usr/lib/libMagickCore-7.Q16HDRI.so +#--lib-imagemagick /usr/lib/libMagickCore-7.Q16HDRI.so #--lib-z /usr/lib/libz.so #--lib-chafa /usr/lib/libchafa.so #--lib-egl /usr/lib/libEGL.so diff --git a/.hushlogin b/.hushlogin new file mode 100644 index 0000000..e69de29 diff --git a/README.md b/README.md index a966cd3..db3796d 100644 --- a/README.md +++ b/README.md @@ -739,6 +739,17 @@ These directories/files are installed to your home directory and follow the [XDG +
+ .hushlogin + +
+ + This just silences the last login message of shells. + +
+ +
+
.zshrc