Compare commits
1 commit
Author | SHA1 | Date | |
---|---|---|---|
48766a9a7b |
11 changed files with 64 additions and 176 deletions
99
.bashrc
99
.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}$(</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
|
||||
|
|
|
@ -10,7 +10,6 @@ alias \
|
|||
vv='$EDITOR' \
|
||||
e='$EDITOR' \
|
||||
svv='sudoedit' \
|
||||
nvv='neovide' \
|
||||
|
||||
# I do this too much by accident smh my head
|
||||
alias \
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 "$@"
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
8
.profile
8
.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
|
||||
|
|
12
.zshrc
12
.zshrc
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue