From 48766a9a7b76bd150809ed1f387eaac3ad19e9ee Mon Sep 17 00:00:00 2001 From: PowerUser64 Date: Tue, 1 Apr 2025 21:05:43 -0700 Subject: [PATCH] modifications to support windows --- .bashrc | 99 +++-------------------------------------- .config/shell/colors.sh | 6 +++ .config/shell/env | 18 +++++++- .config/shell/plugins | 10 ++--- .config/shell/shrc | 1 + .gitconfig | 1 + .profile | 8 ++-- .zshrc | 4 +- 8 files changed, 44 insertions(+), 103 deletions(-) diff --git a/.bashrc b/.bashrc index 3eee8e9..8b05d6c 100644 --- a/.bashrc +++ b/.bashrc @@ -11,115 +11,30 @@ # If not running interactively, don't do anything [[ $- != *i* ]] && return +LAUNCH_ZSH="${LAUNCH_ZSH:-false}" +. ~/.config/shell/plugins + # Just in case export SHELL_CONFIG_DIR="${SHELL_CONFIG_DIR:-"${XDG_CONFIG_HOME:-"$HOME/.config"}/shell"}" # Source standard shell configuration [ -f "$SHELL_CONFIG_DIR/shrc" ] && source "$SHELL_CONFIG_DIR/shrc" -### (mostly) Manjaro default bashrc >>> +. /etc/bash.bashrc +. ~/.bashrc.bak + [ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion -# Change the window title of X terminals -case ${TERM} in - xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|interix|konsole*) - PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\007"' - ;; - screen*) - PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\033\\"' - ;; -esac - -use_color=true - -# Set colorful PS1 only on colorful terminals. -# dircolors --print-database uses its own built-in database -# instead of using /etc/DIR_COLORS. Try to use the external file -# first to take advantage of user additions. Use internal bash -# globbing instead of external grep binary. -safe_term=${TERM//[^[:alnum:]]/?} # sanitize TERM -match_lhs="" -[[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)" -[[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(/dev/null \ - && match_lhs=$(dircolors --print-database) -[[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true - -if ${use_color} ; then - # Enable colors for ls, etc. Prefer ~/.dir_colors #64489 - if type -P dircolors >/dev/null ; then - if [[ -f ~/.dir_colors ]] ; then - eval $(dircolors -b ~/.dir_colors) - elif [[ -f /etc/DIR_COLORS ]] ; then - eval $(dircolors -b /etc/DIR_COLORS) - fi - fi - - if [[ ${EUID} == 0 ]] ; then - PS1='\[\033[01;31m\][\h\[\033[01;36m\] \W\[\033[01;31m\]]\$\[\033[00m\] ' - else - PS1='\[\033[01;32m\][\u@\h\[\033[01;37m\] \W\[\033[01;32m\]]\$\[\033[00m\] ' - fi - -else - if [[ ${EUID} == 0 ]] ; then - # show root@ when we don't have colors - PS1='\u@\h \W \$ ' - else - PS1='\u@\h \w \$ ' - fi -fi - unset use_color safe_term match_lhs sh -alias cp="cp -i" # confirm before overwriting something -alias df='df -h' # human-readable sizes -alias free='free -m' # show sizes in MB -alias np='nano -w PKGBUILD' -alias more=less - -xhost +local:root > /dev/null 2>&1 - -complete -cf sudo - # Bash won't get SIGWINCH if another process is in the foreground. # Enable checkwinsize so that bash will check the terminal size when # it regains control. #65623 # http://cnswww.cns.cwru.edu/~chet/bash/FAQ (E11) shopt -s checkwinsize - shopt -s expand_aliases - -# export QT_SELECT=4 - -# Enable history appending instead of overwriting. #139609 shopt -s histappend -# -# # ex - archive extractor -# # usage: ex -ex () -{ - if [ -f $1 ] ; then - case $1 in - *.tar.bz2) tar xjf $1 ;; - *.tar.gz) tar xzf $1 ;; - *.bz2) bunzip2 $1 ;; - *.rar) unrar x $1 ;; - *.gz) gunzip $1 ;; - *.tar) tar xf $1 ;; - *.tbz2) tar xjf $1 ;; - *.tgz) tar xzf $1 ;; - *.zip) unzip $1 ;; - *.Z) uncompress $1;; - *.7z) 7z x $1 ;; - *) echo "'$1' cannot be extracted via ex()" ;; - esac - else - echo "'$1' is not a valid file" - fi -} -# <<< +complete -cf sudo # vim:fdm=marker:fmr=>>>,<<<:et:ft=bash:sw=3:ts=3 diff --git a/.config/shell/colors.sh b/.config/shell/colors.sh index f8f7687..f10abf5 100644 --- a/.config/shell/colors.sh +++ b/.config/shell/colors.sh @@ -1,4 +1,8 @@ #!/bin/sh + +if [ "${COLORS_SOURCED:-false}" = false ]; then +COLORS_SOURCED=true + # base16-shell (https://github.com/chriskempson/base16-shell) # Base16 Shell template by Chris Kempson (http://chriskempson.com) COLOR_SCHEME="${COLOR_SCHEME:-onedark}" @@ -154,3 +158,5 @@ unset color20 unset color21 unset color_foreground unset color_background + +fi diff --git a/.config/shell/env b/.config/shell/env index db7cf6f..3370945 100644 --- a/.config/shell/env +++ b/.config/shell/env @@ -3,6 +3,12 @@ # This file should be compatible with standard sh # shellcheck disable=SC2034 +if ! [ "${SHELL_ENV_LOADED:-}" = true ]; then + + echo "Sourcing env" + +export SHELL_ENV_LOADED=true + # path_append from https://superuser.com/questions/39751/add-directory-to-path-if-its-not-already-there # checks if a path is already in the PATH and if it exists path_append() { @@ -77,6 +83,7 @@ export VISUAL="$EDITOR" # Tell zellij to auto attach by default instead of opening a new session export ZELLIJ_AUTO_ATTACH=true + # Shell to use for commands like `nix-shell -p` (use zsh if using zsh) if test -n "${ZSH_VERSION:-}"; then export NIX_BUILD_SHELL=zsh @@ -136,7 +143,7 @@ export ZVM_VI_HIGHLIGHT_BACKGROUND=#515860 # vim-mode cursor # syntax: "[color] [blinking] [style]" see: https://github.com/softmoth/zsh-vim-mode#mode-in-prompt export MODE_CURSOR_VIINS="blinking bar" -export MODE_CURSOR_REPLACE="steady bar" +export MODE_CURSOR_REPLACE="steady block" export MODE_CURSOR_VICMD="steady block" export MODE_CURSOR_SEARCH="blinking underline" export MODE_CURSOR_VISUAL="steady block" @@ -165,4 +172,13 @@ DPC="$DP/classes" export S SS # this makes it easier to load the shrc while in posix sh +## SillyOS +IS_SILLY_OS=false +if [ "$OS" = 'Windows_NT' ]; then + IS_SILLY_OS=true +fi +export IS_SILLY_OS + +fi + # vim:fdm=marker:fmr=>>>,<<<:et:ft=sh:sw=3:ts=3 diff --git a/.config/shell/plugins b/.config/shell/plugins index ee9d0df..6510dc7 100644 --- a/.config/shell/plugins +++ b/.config/shell/plugins @@ -1,6 +1,11 @@ #!/bin/sh # shell plugins for POSIX +# Switch to zsh if we're told to +if [ "${LAUNCH_ZSH:-false}" = true ] && command -v zsh > /dev/null 2>&1 && [ "$0" != 'zsh' ]; then + LAUNCH_ZSH=false exec zsh +fi + # Enable zoxide if it exists if command -v zoxide > /dev/null 2>&1 || ${SKIP_ZOXIDE:-false}; then # Check what shell we're using based on variables that get set by non-posix shells - https://stackoverflow.com/a/3327022 @@ -14,10 +19,5 @@ if command -v zoxide > /dev/null 2>&1 || ${SKIP_ZOXIDE:-false}; then fi fi -# Switch to zsh if we're told to -if [ "${LAUNCH_ZSH:-false}" = true ] && command -v zsh > /dev/null 2>&1; then - LAUNCH_ZSH=false exec zsh -fi - # terminal colorscheme careful_source "$SHELL_CONFIG_DIR/colors.sh" diff --git a/.config/shell/shrc b/.config/shell/shrc index fe57dc1..393b444 100644 --- a/.config/shell/shrc +++ b/.config/shell/shrc @@ -18,6 +18,7 @@ # [optional: test to run] (-f, -x, -e) \ # [optional: operation (source, exec, command or nothing)] \ careful_source() { + echo "Sourcing $1" if test "${4:--f}" "$1"; then ${5:-.} "$1" else diff --git a/.gitconfig b/.gitconfig index aee062b..cfa1569 100644 --- a/.gitconfig +++ b/.gitconfig @@ -18,6 +18,7 @@ directory = /storage/emulated/0/docs directory = /mnt/windows/Users/blake/AppData/Local/nvim directory = /mnt/windows/Users/blake/git/gam150/unknown-dust_demon + directory = C:/Users/blake/AppData/Local/nvim [color] ui = auto diff --git a/.profile b/.profile index bf429dd..490ada9 100644 --- a/.profile +++ b/.profile @@ -1,7 +1,9 @@ #!/bin/sh # shellcheck disable=SC2155 -export PROFILE_LOADED=true +echo "Profile start" + +([[ -z ${PROFILE_LOADED} ]] && PROFILE_LOADED="true") || return export SHELL_CONFIG_DIR="${SHELL_CONFIG_DIR:-"${XDG_CONFIG_HOME:-"$HOME/.config"}/shell"}" @@ -51,8 +53,6 @@ export VDPAU_DRIVER=va_gl # Fix steam remote play black screen # shellcheck disable=SC2046 command -v dbus-launch > /dev/null && export $(dbus-launch) - - # If running in a TTY… if [ "$(tty | sed 's-[0-9]$--g')" = /dev/tty ]; then export IS_TTY=true @@ -76,4 +76,6 @@ else fi fi +echo "Profile done" + # vim:ft=sh:sw=3:ts=3:nospell diff --git a/.zshrc b/.zshrc index e37d2f6..14c68b2 100644 --- a/.zshrc +++ b/.zshrc @@ -65,14 +65,14 @@ ${SKIP_PLUGINS:-false} || { zinit load "softmoth/zsh-vim-mode" zinit load "zsh-users/zsh-history-substring-search" zinit load "zsh-users/zsh-completions" - zinit load "Tarrasch/zsh-bd" + ! "${IS_SILLY_OS:-false}" && zinit load "Tarrasch/zsh-bd" if ! command -v zoxide &> /dev/null || ${SKIP_ZOXIDE:-false}; then zinit load "agkozak/zsh-z" fi # Plugins for use with Nix zinit load "chisui/zsh-nix-shell" - zinit load "spwhitt/nix-zsh-completions" + ! "${IS_SILLY_OS:-false}" && zinit load "spwhitt/nix-zsh-completions" zinit snippet OMZP::direnv ## Theme