Compare commits

..

1 commit

Author SHA1 Message Date
48766a9a7b modifications to support windows 2025-04-01 21:05:43 -07:00
11 changed files with 64 additions and 176 deletions

99
.bashrc
View file

@ -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}$(</etc/DIR_COLORS)"
[[ -z ${match_lhs} ]] \
&& type -P dircolors >/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 <file>
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

View file

@ -10,7 +10,6 @@ alias \
vv='$EDITOR' \
e='$EDITOR' \
svv='sudoedit' \
nvv='neovide' \
# I do this too much by accident smh my head
alias \

View file

@ -2,10 +2,7 @@
# "test edit" - makes a temporary file and edits it
# requires: bash (uses arrays)
# shellcheck disable=SC2016
set -eu
shopt -s nullglob # prevent ./foo.* from erroring if there are no results
pname="${0##*/}"
@ -13,38 +10,26 @@ ed() {
${EDITOR:-nvim} "$@"
}
backup_git() {
cd "${1:-}"
if command -v git > /dev/null; then
# Commit all existing files
git commit -am "ted-backup: update $dirname"
# Add new files and commit them
git add "$1"
git commit -m "ted-backup: add $dirname"
git push
fi
}
usage() {
echo '"Test edit" - edit a temporary file for testing code fragments'
echo ""
echo "Usage: $pname [OPTIONS] [file] [ed-opts] [--] [cmd]..."
echo ''
echo 'Arguments:'
echo ' file A file to edit. Also acts as the name for the directory.'
echo ' ed-opts Any option to pass to the editor. (eg. another file name)'
echo ' cmd... A list of commands to EVALuate after the editor exits. Defaults to `bash`'
echo ""
echo "Arguments:"
echo " file A file to edit. Also acts as the name for the directory."
echo " ed-opts Any option to pass to the editor. (eg. another file name)"
echo " cmd... A list of commands to EVALuate after the editor exits. (example: bash)"
echo ' Exposed variables:'
echo ' $filename - the name of the file specified for `file`'
echo ' $tempdir - the directory the editor was launched in.'
echo ' $ed_args - array of arguments passed to the editor.'
echo ' $cmd_args - the array of commands specified in the `cmd...` option'
echo ''
echo 'Options:'
echo ' -h, --help Print usage information and exit. This only gets read in the first argument position.'
echo ""
echo "Options:"
echo " -h, --help Print usage information and exit. This only gets read in the first argument position."
echo ""
echo "Environment:"
echo " EDITOR The editor you want to use. (Currently $EDITOR)"
echo " EDITOR The editor you want to use."
echo ""
echo "Examples:"
echo " Edit hello.sh and then run bash (so you can run it)"
@ -63,22 +48,16 @@ case "${1:-}" in
-h|--help) usage; exit;;
esac
filename="$1"; shift
dirname="${filename%%.*}"
tests_dir="${XDG_DOCUMENTS_DIR:-"$HOME"/Documents}/code-tests"
tempdir="$tests_dir"
date="$(date +%F)"
tempdir="$tests_dir/$date-$dirname"
mkdir -p "$tempdir"
ed_args=()
if [ "$1" != -- ]; then
filename="$1"; shift
dirname="${filename%%.*}"
date="$(date +%F)"
tempdir_arr=("$tests_dir/"*"$dirname")
tempdir="${tempdir_arr[0]:-"$tests_dir/$date-$dirname"}"
# build an argument list for the editor
ed_args=("$filename")
fi
# build an argument list for the editor
ed_args=("$filename")
cmds=("$SHELL")
for a;do
shift
@ -92,25 +71,18 @@ done
cd "$tempdir"
if [ "${#ed_args[@]}" != 0 ]; then
# launch editor
ed "${ed_args[@]}"
fi
# launch editor
ed "${ed_args[@]}"
# launch the command
if [ "${#cmds}" != 0 ]; then
for cmd in "${cmds[@]}"; do
(eval "$cmd")
done
else
# default to bash
"$SHELL"
fi
# check if directory is empty. If it is, remove it.
filecount="$(find . -maxdepth 1 -print | wc -l)"
if [ "$filecount" = 0 ]; then
rmdir "$tempdir"
else
backup_git .
fi

View file

@ -1,15 +0,0 @@
#!/bin/bash
# Source this and then run `vvs`
# edit search: find a file and edit it
# Requires: fd, fzf
# Usage: vvs "Search Term"
vvs() {
FILE="$(fd | fzf -1 -q "$1" --layout=reverse --info=inline --height=10%)"
if [ $? -eq 0 ]; then
"$EDITOR" "$FILE"
fi
}
vvs "$@"

View file

@ -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

View file

@ -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
@ -93,11 +100,6 @@ export LSCOLORS="Gxfxcxdxbxegedabagacad"
export LESS='-R --use-color -Dd+g$Du+b'
export MANPAGER="less -R --use-color -Dd+g -Du+b"
# Neovim for man pages
if command -v nvim > /dev/null; then
export MANPAGER='nvim +Man!'
fi
# Theme for zsh and nvim (soon™)
COLOR_SCHEME=tokyonight
@ -141,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"
@ -170,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

View file

@ -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"

View file

@ -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

View file

@ -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

View file

@ -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

12
.zshrc
View file

@ -65,19 +65,15 @@ ${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
if command -v nix &> /dev/null; then
zinit load "chisui/zsh-nix-shell"
zinit load "spwhitt/nix-zsh-completions"
fi
if command -v direnv &> /dev/null; then
zinit snippet OMZP::direnv
fi
zinit load "chisui/zsh-nix-shell"
! "${IS_SILLY_OS:-false}" && zinit load "spwhitt/nix-zsh-completions"
zinit snippet OMZP::direnv
## Theme
# terminal colors