get rid of extra configs

This commit is contained in:
James Dixon 2021-01-27 14:57:13 -05:00
parent dd683a1a7f
commit 89ef42d3ac
11 changed files with 53 additions and 476 deletions

View File

@ -8,9 +8,6 @@
[user]
email = notjamesdixon@gmail.com
name = James Dixon
[credential]
username = lemonase
helper = store
[color]
ui = true
status = auto
@ -19,8 +16,6 @@
tool = vimdiff
[difftool]
prompt = false
[pull]
ff = only
[alias]
a = add
aa = add --all
@ -40,3 +35,12 @@
pl = log --all --decorate --oneline --graph
gr = log --all --decorate --oneline --graph
graph = log --all --decorate --oneline --graph
[winUpdater]
recentlySeenVersion = 2.25.0.windows.1
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
[core]
autocrlf = true

View File

@ -0,0 +1,42 @@
#--------
# Imports
#--------
# Posh
Import-Module posh-git
# Chocolatey
$ChocolateyProfile = "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
if (Test-Path($ChocolateyProfile)) {
Import-Module "$ChocolateyProfile"
}
# PSReadLine
Set-PSReadLineOption -EditMode Emacs
Set-PSReadLineOption -BellStyle Visual
# PSFzf
Set-PsFzfOption -PSReadlineChordProvider 'Ctrl+t' -PSReadlineChordReverseHistory 'Ctrl+r'
#----------------------
# Environment Varaibles
#----------------------
$WD = "$env:USERPROFILE\source\repos"
$GOWD = "$env:USERPROFILE\go\src\github.com\lemonase"
$GODOTWD = "$env:USERPROFILE\Google Drive\Game Dev"
$EDITOR = "gvim"
#--------
# Aliases
#--------
New-Alias so "Select-Object"
New-Alias wo "Where-Object"
New-Alias venvac ".\venv\Scripts\Activate.ps1"
#----------
# Functions
#----------
function wd { Set-Location $WD }
function gowd { Set-Location $GOWD }
function godotwd { Set-Location $GODOTWD }
function ep { Start-Process "$EDITOR" "$PROFILE" }

View File

@ -1,14 +1,5 @@
# My dotfiles
I am using [GNU Stow](https://www.gnu.org/software/stow/) to symlink
my dotfiles to their correct locations in my `$HOME` directory.
# My (Windows) dotfiles
## Instructions
First `cd` into the `stow` directory and run the following command
```sh
stow * -t "$HOME"
```
If there are no errors, everything in that directory should be symlinked.
Just copy relevant files to %USERPROFILE% dir.

View File

@ -1,8 +0,0 @@
# .bash_profile is *not sourced* when launching bash from most GUI terminal emulators
#
# .bash_profile *is sourced* for login shells like from a TTY, ssh connection, or tmux.
# For the sake of simplicity and consistency, I source my .bashrc
[ -f "$HOME/.bashrc" ] && source "$HOME/.bashrc"
# vim:ft=sh

View File

@ -1,236 +0,0 @@
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
# HISTORY OPTIONS
# ---------------
HISTSIZE= ;
HISTFILESIZE=
HISTCONTROL="ignoreboth:erasedups"
HISTTIMEFORMAT="%F %T "
# SHELL OPTIONS
# -------------
shopt -s checkhash checkjobs checkwinsize
shopt -s dirspell extglob globstar
shopt -s cmdhist histappend
# VARIABLES
# ---------
# PROGRAMS
export EDITOR="/usr/bin/vim"
export VISUAL="/usr/bin/vim"
export PAGER="less"
# ALIASES
# -------
# common options
LS_OPTS="-F --color=auto"
GREP_OPTS="--color=auto"
# ls
alias l='ls ${LS_OPTS}'
alias ls='ls ${LS_OPTS}'
alias ll='ls -lsh ${LS_OPTS}'
alias la='ls -Alsh ${LS_OPTS}'
alias al='ls -A ${LS_OPTS}'
alias sl='ls -lsSh ${LS_OPTS}'
alias sal='ls -AlsSh ${LS_OPTS}'
# grep
alias grep='grep ${GREP_OPTS}'
alias fgrep='fgrep ${GREP_OPTS}'
alias egrep='egrep ${GREP_OPTS}'
# utility aliases
alias tree='tree -C'
alias treel='tree -C | less -R'
alias df='df -h'
alias lsmnt='mount | column -t'
alias mkdir='mkdir -p'
# git
alias g=git
alias groot='cd $(git rev-parse --show-toplevel 2> /dev/null || echo -n ".")'
# tmux
alias tmls='tmux ls'
alias tmlsc='tmux lsc'
alias tmks='tmux kill-session -t' # kill one session
alias tmka='tmux kill-server' # aka killall
# python venv
alias venvac='source venv/bin/activate'
# COLORS
# ------
# color vars using tput or ANSI/VT100 Control sequences
# check if tput is available
if [ -x "$(command -v tput)" ]; then
num_colors=$(tput colors)
if [ -n "$num_colors" ] && [ "$num_colors" -ge 8 ]; then
black="\[$(tput setaf 0)\]"; unesc_black="$(tput setaf 0)"
red="\[$(tput setaf 1)\]"; unesc_red="$(tput setaf 1)"
green="\[$(tput setaf 2)\]"; unesc_green="$(tput setaf 2)"
yellow="\[$(tput setaf 3)\]"; unesc_yellow="$(tput setaf 3)"
blue="\[$(tput setaf 4)\]"; unesc_blue="$(tput setaf 4)"
purple="\[$(tput setaf 5)\]"; unesc_purple="$(tput setaf 5)"
cyan="\[$(tput setaf 6)\]"; unesc_cyan="$(tput setaf 6)"
white="\[$(tput setaf 7)\]"; unesc_white="$(tput setaf 7)"
reset="\[$(tput sgr0)\]"; unesc_reset="$(tput sgr0)"
bold="\[$(tput bold)\]"; unesc_bold="$(tput bold)"
fi
else
# fallback to ANSI esacpe codes
black="\[\033[0;30m\]"; unesc_black="\033[0;30m"
red="\[\033[1;31m\]"; unesc_red="\033[1;31m"
green="\[\033[1;32m\]"; unesc_green="\033[1;32m"
yellow="\[\033[1;33m\]"; unesc_yellow="\033[1;33m"
blue="\[\033[1;34m\]"; unesc_blue="\033[1;34m"
purple="\[\033[1;35m\]"; unesc_purple="\033[1;35m"
cyan="\[\033[1;36m\]"; unesc_cyan="\033[1;36m"
white="\[\033[1;37m\]"; unesc_white="\033[1;37m"
reset="\[\033[0m\]"; unesc_reset="\033[0m"
bold="\[\033[1m\]"; unesc_bold="\033[1m"
fi
# FUNCTIONS
# ---------
# common commands improved
cll() { cd -P "$@" && ls -alshF; }
cls() { cd -P "$@" && ls; }
mkcd() { mkdir -p -- "$1" && cd "$1"; }
cdd() { [ -n "$1" ] && for i in $(seq 1 "$1"); do cd ..; done; }
touchx() { touch "$@" && chmod +x "$@"; }
# tmux
tm() {
if [ "$#" -gt 0 ]; then
tmux new-session -As "$1"
else
tmux new-session
fi
}
tma() {
if [ "$#" -gt 0 ]; then
tmux attach-session -d -t "$1"
if [ "$?" -ne 0 ]; then
tmux new-session -As "$1"
fi
else
tmux attach
fi
}
# checks if directory exists and path duplication
appendpath () {
if [ -d "$1" ]; then
case ":$PATH:" in
*:"$1":*)
;;
*)
PATH="${PATH:+$PATH:}$1"
esac
fi
}
# easy backup
bkup() {
if [ -f "$1" ]; then
cp "${1}" "${1}.bkup.$(date +'%F.%R')";
fi
}
# git
lazygit() {
git commit -a -m "$*" && git push;
}
lg() {
lazygit "$*";
}
# GIT PROMPT FUNCTION
# -------
parse_git() {
BRANCH="$(git rev-parse --abbrev-ref HEAD 2> /dev/null)"
STATUS="$(git status 2> /dev/null)"
if [[ $? -ne 0 ]]; then
return
else
printf "\001${unesc_reset}${unesc_bold}\002:(%s)" "${BRANCH}"
printf "\001${unesc_white}\002%s" "["
if echo "${STATUS}" | grep -c "nothing to commit" &> /dev/null; then printf "\001${unesc_blue}\002%s" "="; fi
if echo "${STATUS}" | grep -c "renamed:" &> /dev/null; then printf "\001${unesc_red}\002%s" "%"; fi
if echo "${STATUS}" | grep -c "deleted:" &> /dev/null; then printf "\001${unesc_red}\002%s" "-"; fi
if echo "${STATUS}" | grep -c "new file:" &> /dev/null; then printf "\001${unesc_green}\002%s" "+"; fi
if echo "${STATUS}" | grep -c "branch is ahead:" &> /dev/null; then printf "\001${unesc_yellow}\002%s" ">"; fi
if echo "${STATUS}" | grep -c "branch is behind" &> /dev/null; then printf "\001${unesc_yellow}\002%s" "<"; fi
if echo "${STATUS}" | grep -c "Untracked files:" &> /dev/null; then printf "\001${unesc_yellow}\002%s" "?"; fi
if echo "${STATUS}" | grep -c "modified:" &> /dev/null; then printf "\001${unesc_yellow}\002%s" "*"; fi
printf "\001${unesc_white}\002%s" "]"
fi
}
# PROMPTS
# -------
# ***common prompts***
# PS1="\W \\$ "
# PS1="[\u@\h:\W]\\$ "
# PS1="\u@\h:\W\\$ "
# ***color prompts***
# PS1="${bold}${blue}\W ${yellow}\\$ ${reset}"
# PS1="${bold}${purple}\u${yellow}@${cyan}\h${white}:${blue}\W ${yellow}\\$ ${reset}"
# ***git prompts***
# PS1="${bold}${blue}\W\$(parse_git)${green} \\$ ${reset}"
# PS1="${bold}${white}\t ${blue}\W\$(parse_git) ${cyan}\\$ ${reset}"
# PS1="${bold}${purple}\u${yellow}@${cyan}\h${white}:${blue}\W\$(parse_git)${green} \\$ ${reset}"
# PS1="${bold}\n${cyan}\u ${white}at ${yellow}\h ${white}in ${blue}\w ${white}on \$(parse_git)\n${yellow}\\$ ${reset}"
# BASH AUTOCOMPLETION
# -------------------
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
source /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
source /etc/bash_completion
fi
fi
# EXTRA PATHS
# --------------
# Ruby
if command -v ruby > /dev/null && command -v gem > /dev/null; then
appendpath "$(ruby -r rubygems -e 'puts Gem.user_dir')/bin"
fi
# Go
if command -v go > /dev/null; then
[ -d "$HOME/go" ] && mv "$HOME/go" "$HOME/.go"
export GOPATH="$HOME/.go"
export GOWD="$GOPATH/src/github.com/lemonase"
appendpath "$(go env GOPATH)/bin"
fi
# Rust
if command -v cargo > /dev/null; then
appendpath "$HOME/.cargo/bin"
fi
# Local
appendpath "$HOME/.local/bin"
appendpath "$HOME/.local/scripts"
# SOURCE LOCAL RC
# --------
[ -f "$HOME/.config/bashrc" ] && source "$HOME/.config/bashrc"
[ -f "$HOME/.local/bashrc" ] && source "$HOME/.local/bashrc"

View File

@ -1,25 +0,0 @@
# bash completion for hugctl
_hugctl_completions() {
local cur
cur="${COMP_WORDS[COMP_CWORD]}"
local blog_dir="$HOME/src/blog"
case ${COMP_CWORD} in
1)
OPTS="new list edit serve kill deploy"
compopt -o bashdefault -o default
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
;;
2)
case ${COMP_CWORD[2]} in
*)
COMPREPLY=($(compgen -W "$(find $blog_dir/content/posts/ -iname '*.md' -type f | xargs -I@ basename @)" -- $cur));
;;
esac
;;
esac
return 0
}
complete -F _hugctl_completions hugctl

View File

@ -1,132 +0,0 @@
#!/bin/bash
# hugoctl -- hugo wrapper script to help manage a hugo blog
# hugo variables (local machine)
scriptname=$(basename "$0")
blog_dir="$HOME/src/blog" # or the path to your blog
local_url="http://localhost:1313/"
post_filename=""
postname=""
full_post_dir=""
full_post_url="$local_url"
set_vars() {
local arg="$1"
# handle no argument case
if [[ -z "$arg" ]]; then
echo -en "Please enter a post title: "
read -r arg
fi
# handle extraneous .md file extension
if [[ ! "$arg" =~ .md$ ]]; then
postname="$arg"
else
postname="${arg%???}"
fi
post_filename="$postname.md"
# hugo post location for server
full_post_dir="$blog_dir/content/posts/$post_filename"
# url for browser
full_post_url="$local_url/posts/$postname"
}
serve_and_open() {
killall hugo > /dev/null 2>&1
hugo serve -s "$blog_dir" -D > /dev/null 2>&1 &
xdg-open "$full_post_url"
}
edit_post() {
serve_and_open
$EDITOR "$full_post_dir" && kill %1
}
new_post() {
hugo new -s "$blog_dir" "posts/$post_filename"
edit_post
}
deploy_blog() {
if [ -z "$blog_remote_host" ]; then echo "Please set blog_remote_host variable"; exit 1; fi
if [ -z "$blog_remote_user" ]; then echo "Please set blog_remote_user variable"; exit 1; fi
if [ -z "$blog_remote_dir" ]; then echo "Please set blog_remote_dir variable (relative to \$HOME)"; exit 1; fi
green="$(tput setaf 2)"
reset="$(tput sgr0)"
printf "${green}%s\n${reset}" "Deploying..."
ssh "$blog_remote_user@$blog_remote_host" "(cd \$HOME/$blog_remote_dir && git pull && hugo)"
}
print_help() {
printf "%s\n" "Usage: "
printf "%s\n\n" "$scriptname [args]"
printf "%s\n" "Options: "
printf "\t%s:\n\t\t%s\n\n" "new-post (aliases: newpost,np,new,n) [post-name]" "create a new post, open editor and live server"
printf "\t%s:\n\t\t%s\n\n" "edit-post (alises: edit,ep,e) [post-name]" "edit a post in the content directory"
printf "\t%s:\n\t\t%s\n\n" "list-post (aliases: list,li,lp,ls,l)" "list all posts in content directory"
printf "\t%s:\n\t\t%s\n\n" "list-drafts (alises: listdraft,ld)" "list all posts in content directory"
printf "\t%s:\n\t\t%s\n\n" "server (alises: serve,s)" "serve blog from your blog directory"
printf "\t%s:\n\t\t%s\n\n" "kill (alises: killlall,ka,k)" "kill all hugo processes"
printf "\t%s:\n\t\t%s\n\n" "deploy (aliases: dep,d)" "deploy to a remote server"
printf "\n"
}
if [[ "$#" -lt 1 ]]; then
print_help
exit 1
fi
while (($#)); do
case "$1" in
new-post|newpost|np|new|n)
shift
set_vars "$1"
new_post "$1"
break
;;
edit-post|edit|ep|e)
shift
set_vars "$1"
edit_post "$1"
break
;;
list-post|list|li|lp|l|ls)
# hugo list all | cut -d, -f1 | tail -n +2
hugo list -s "$blog_dir" all | cut -f1,4 -d, | tail -n +2 | tr ',' ' ' | column -t
break
;;
list-drafts|listdraft|ld)
hugo list drafts -s "$blog_dir"
break
;;
server|serve|s)
serve_and_open
break
;;
kill|killall|ka|k)
killall "hugo"
break
;;
deploy|dep|d)
deploy_blog
break
;;
help|-h|--help)
print_help
break
;;
*)
print_help
break
;;
esac
done

View File

@ -1,53 +0,0 @@
# change default prefix
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
# emulate a color terminal emulator
set -g default-terminal "xterm-256color"
# unset the annoying delay
set -sg escape-time 0
# mouse settings
# set -g mouse on
# set -g set-clipboard on
# set -g focus-events on
# appearance
set -g status-style "bg=black fg=white,bold"
set -g window-status-current-style "fg=yellow,bold"
# set -g status-bg black
# set -g status-fg white
#==============#
# Key Bindings #
#==============#
bind -n M-j select-pane -D
bind -n M-k select-pane -U
bind -n M-h select-pane -L
bind -n M-l select-pane -R
bind -n M-Down select-pane -D
bind -n M-Up select-pane -U
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
# Resize panes - less pain
bind-key C-J resize-pane -D 5
bind-key C-K resize-pane -U 5
bind-key C-H resize-pane -L 5
bind-key C-L resize-pane -R 5
# Move windows easier
bind-key -r < swap-window -t -1
bind-key -r > swap-window -t +1
# New panes start in cwd
bind-key '"' split-window -v -c '#{pane_current_path}'
bind-key % split-window -h -c '#{pane_current_path}'
bind c new-window -c '#{pane_current_path}'
# Source conf
bind-key r source-file ~/.tmux.conf \; display-message "Sourced ~/.tmux.conf!"

View File

@ -1,6 +0,0 @@
autoload
plugged
.backup
.swap
.undo
.netrwhist