├── .hushlogin ├── .ocamlinit ├── README.md ├── zshrc ├── bash ├── prompt.sh ├── extras.sh └── colors.sh ├── zsh ├── prompt.zsh ├── extras.zsh └── colors.zsh ├── .bash_profile ├── fish ├── functions │ ├── kill_server.fish │ └── fish_prompt.fish ├── config.fish └── abbreviations.fish ├── extras ├── .gitconfig ├── Brewfile ├── colors ├── .editorconfig ├── .zshrc ├── setup.sh ├── .gitignore ├── aliases └── prompt /.hushlogin: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.ocamlinit: -------------------------------------------------------------------------------- 1 | (* Added by OPAM. *) 2 | let () = 3 | try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH") 4 | with Not_found -> () 5 | ;; 6 | 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ~/.dotfiles 2 | 3 | ## Overview 4 | 5 | An opinionated attempt for a cross-shell setup. 6 | 7 | ## Contributing 8 | 9 | Pull requests are very welcome. Fork away! 10 | -------------------------------------------------------------------------------- /zshrc: -------------------------------------------------------------------------------- 1 | source $HOME/aliases 2 | source $HOME/colors 3 | source $HOME/extras 4 | source $HOME/prompt 5 | 6 | source $HOME/zsh/colors.zsh 7 | source $HOME/zsh/extras.zsh 8 | source $HOME/zsh/prompt.zsh 9 | -------------------------------------------------------------------------------- /bash/prompt.sh: -------------------------------------------------------------------------------- 1 | set PROMPT_DIRTRIM=1 2 | 3 | PS1="\[${bold}${white}\]\n${PROMPT_CHARACTER} \[${reset}\]"; # `$` (and reset color) 4 | export PS1; 5 | 6 | PS2="\[${yellow}\]→ \[${reset}\]"; 7 | export PS2; 8 | -------------------------------------------------------------------------------- /zsh/prompt.zsh: -------------------------------------------------------------------------------- 1 | # https://www.npmjs.com/package/pure-prompt 2 | autoload -U promptinit && promptinit 3 | 4 | PURE_PROMPT_SYMBOL=${PROMPT_CHARACTER} 5 | PURE_GIT_DOWN_ARROW=${PROMPT_INCOMING_CHANGES_ICON} 6 | PURE_GIT_UP_ARROW=${PROMPT_OUTGOING_CHANGES_ICON} 7 | 8 | prompt pure 9 | -------------------------------------------------------------------------------- /bash/extras.sh: -------------------------------------------------------------------------------- 1 | [ -f /etc/bash_completion ] && source /etc/bash_completion 2 | 3 | test -e ${HOME}/.iterm2_shell_integration.bash && source ${HOME}/.iterm2_shell_integration.bash 4 | 5 | test -e ${HOME}/.rbenv/completions/rbenv.bash && source ${HOME}/.rbenv/completions/rbenv.bash 6 | -------------------------------------------------------------------------------- /.bash_profile: -------------------------------------------------------------------------------- 1 | source ~/aliases 2 | source ~/colors 3 | source ~/extras 4 | source ~/prompt 5 | 6 | source ~/bash/colors.sh 7 | source ~/bash/extras.sh 8 | source ~/bash/prompt.sh 9 | 10 | shopt -s cdspell 11 | shopt -s checkwinsize 12 | shopt -s histappend 13 | shopt -s nocaseglob 14 | -------------------------------------------------------------------------------- /fish/functions/kill_server.fish: -------------------------------------------------------------------------------- 1 | function kill_server --argument port 2 | for pid in (lsof -i TCP:$port | awk '/LISTEN/{print $2}') 3 | echo -n "Found server for port $port with pid $pid: " 4 | kill -9 $pid; and echo "killed."; or echo "could not kill." 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /extras: -------------------------------------------------------------------------------- 1 | export EDITOR=vim 2 | 3 | export NVM_DIR="$HOME/.nvm" 4 | [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" 5 | 6 | if which ruby >/dev/null && which gem >/dev/null; then 7 | PATH="$(ruby -rubygems -e 'puts Gem.user_dir')/bin:$PATH" 8 | fi 9 | 10 | export PATH="$HOME/.cargo/bin:$PATH" 11 | 12 | eval `opam config env` 13 | -------------------------------------------------------------------------------- /zsh/extras.zsh: -------------------------------------------------------------------------------- 1 | test -e ${HOME}/.iterm2_shell_integration.zsh && source ${HOME}/.iterm2_shell_integration.zsh 2 | 3 | # brew info zsh-syntax-highlighting 4 | test -e /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh && source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh 5 | 6 | # OPAM configuration 7 | . /Users/kevinsuttle/.opam/opam-init/init.zsh > /dev/null 2> /dev/null || true 8 | -------------------------------------------------------------------------------- /fish/config.fish: -------------------------------------------------------------------------------- 1 | if not status --is-interactive 2 | exit 0 3 | end 4 | 5 | source "$HOME/fish/abbreviations.fish" 6 | 7 | # Fishhh 8 | set -x fish_greeting "" 9 | 10 | # Editor prefs 11 | set -x EDITOR vim 12 | 13 | # Don’t clear the screen after quitting a manual page 14 | set -x MANPAGER "less -X" 15 | 16 | set -x GIT_TERMINAL_PROMPT 1 17 | set -x GOPATH $HOME/go 18 | set -x DOTFILES $HOME/code/dotfiles 19 | 20 | # Path 21 | if not set -q -U fish_user_paths 22 | set -U fish_user_paths "/usr/bin" "/usr/local/bin" "$GOPATH/bin" 23 | end 24 | -------------------------------------------------------------------------------- /zsh/colors.zsh: -------------------------------------------------------------------------------- 1 | # Colors 2 | autoload colors; colors 3 | 4 | # The variables are wrapped in \%\{\%\}. This should be the case for every 5 | # variable that does not contain space. 6 | for COLOR in RED GREEN YELLOW BLUE MAGENTA CYAN BLACK WHITE; do 7 | eval PR_$COLOR='%{$fg_no_bold[${(L)COLOR}]%}' 8 | eval PR_BOLD_$COLOR='%{$fg_bold[${(L)COLOR}]%}' 9 | done 10 | 11 | eval RESET='$reset_color' 12 | export PR_RED PR_GREEN PR_YELLOW PR_BLUE PR_WHITE PR_BLACK 13 | export PR_BOLD_RED PR_BOLD_GREEN PR_BOLD_YELLOW PR_BOLD_BLUE 14 | export PR_BOLD_WHITE PR_BOLD_BLACK 15 | 16 | unset LSCOLORS 17 | -------------------------------------------------------------------------------- /.gitconfig: -------------------------------------------------------------------------------- 1 | [color] 2 | branch = true 3 | diff = true 4 | grep = true 5 | interactive = true 6 | log = true 7 | status = true 8 | ui = true 9 | [core] 10 | autocrlf = input 11 | excludesfile = ~/.gitignore 12 | whitespace = space-before-tab,indent-with-non-tab,trailing-space,cr-at-eol 13 | [diff] 14 | keepBackup = false 15 | colorMoved = true 16 | [help] 17 | autocorrect = 1 18 | [merge] 19 | keepBackup = false 20 | tool = code 21 | conflictstyle = diff3 22 | [push] 23 | default = simple 24 | [filter "media"] 25 | clean = git-media-clean %f 26 | smudge = git-media-smudge %f 27 | [include] 28 | path = ~/.git.user.config 29 | path = ~/.gitconfig.local 30 | -------------------------------------------------------------------------------- /Brewfile: -------------------------------------------------------------------------------- 1 | cask_args appdir: "~/Applications" 2 | 3 | brew "git" 4 | brew "readline" 5 | brew "rbenv" 6 | brew "ruby-build" 7 | brew "yarn", args: ["without-node"] 8 | brew "vim" 9 | brew "cask" 10 | brew "mas" 11 | 12 | cask "spideroakone" 13 | cask "firefox" 14 | cask "1password" 15 | cask "cleanmymac" 16 | cask "tower" 17 | cask "iterm2" 18 | cask "alfred" 19 | cask "visual-studio-code" 20 | cask "flux" 21 | cask "slack" 22 | cask "docker" 23 | cask "private-internet-access" 24 | cask "moom" 25 | cask "torbrowser" 26 | 27 | # Can't add until signed into MAS 28 | # mas "GIPHY Capture", id: 668208984 29 | # mas "bear", id: 1091189122 30 | # mas "keynote", id: 409183694 31 | # mas "pages", id: 409201541 32 | # mas "ia-writer", id: 775737590 33 | # mas "kindle", id: 405399194 34 | -------------------------------------------------------------------------------- /colors: -------------------------------------------------------------------------------- 1 | # Colors 2 | TERM=xterm-256color 3 | CLICOLOR=1 4 | LS_COLORS=exfxcxdxbxegedabagacad 5 | 6 | if [[ $COLORTERM = gnome-* && $TERM = xterm ]] && infocmp gnome-256color >/dev/null 2>&1; then 7 | export TERM='gnome-256color'; 8 | elif infocmp xterm-256color >/dev/null 2>&1; then 9 | export TERM='xterm-256color'; 10 | fi; 11 | 12 | # Colorized man pages 13 | # https://gist.github.com/cocoalabs/2fb7dc2199b0d4bf160364b8e557eb66#gistcomment-1850830 14 | man() { 15 | LESS_TERMCAP_mb=$'\e'"[1;31m" \ 16 | LESS_TERMCAP_md=$'\e'"[1;31m" \ 17 | LESS_TERMCAP_me=$'\e'"[0m" \ 18 | LESS_TERMCAP_se=$'\e'"[0m" \ 19 | LESS_TERMCAP_so=$'\e'"[1;44;33m" \ 20 | LESS_TERMCAP_ue=$'\e'"[0m" \ 21 | LESS_TERMCAP_us=$'\e'"[1;32m" \ 22 | command man "$@" 23 | } 24 | 25 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig is awesome: http://EditorConfig.org 2 | # top-most EditorConfig file 3 | root = true 4 | 5 | # Unix-style newlines at the bottom of every file 6 | [*] 7 | end_of_line = lf 8 | charset = utf-8 9 | 10 | # Tab indentation 11 | indent_style = tabs 12 | 13 | # Make sure every file has a blank line at the end 14 | insert_final_newline = true 15 | 16 | # Remove any whitespace characters preceding newline characters 17 | trim_trailing_whitespace = true 18 | 19 | # Give operators breathing room, but not brackets 20 | spaces_around_operators = true 21 | spaces_around_brackets = false 22 | 23 | # JavaScript-specific settings 24 | [.js] 25 | quote_type = single 26 | curly_bracket_next_line = false 27 | 28 | # HTML-specific settings 29 | [.html] 30 | quote_type = double 31 | -------------------------------------------------------------------------------- /.zshrc: -------------------------------------------------------------------------------- 1 | source $HOME/aliases 2 | source $HOME/colors 3 | source $HOME/extras 4 | source $HOME/prompt 5 | 6 | source $HOME/zsh/colors.zsh 7 | source $HOME/zsh/extras.zsh 8 | source $HOME/zsh/prompt.zsh 9 | 10 | # Lines configured by zsh-newuser-install 11 | HISTFILE=~/.histfile 12 | HISTSIZE=10000 13 | SAVEHIST=10000 14 | setopt appendhistory autocd extendedglob nomatch notify 15 | unsetopt beep 16 | bindkey -e 17 | # End of lines configured by zsh-newuser-install 18 | # The following lines were added by compinstall 19 | zstyle :compinstall filename '$HOME/.zshrc' 20 | 21 | autoload -Uz compinit 22 | compinit 23 | # End of lines added by compinstall 24 | 25 | export NVM_DIR="$HOME/.nvm" 26 | [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm 27 | [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion 28 | 29 | eval "$(rbenv init -)" 30 | -------------------------------------------------------------------------------- /bash/colors.sh: -------------------------------------------------------------------------------- 1 | if tput setaf 1 &> /dev/null; then 2 | tput sgr0; # reset colors 3 | bold=$(tput bold); 4 | reset=$(tput sgr0); 5 | # Solarized colors, taken from http://git.io/solarized-colors. 6 | black=$(tput setaf 0); 7 | blue=$(tput setaf 33); 8 | cyan=$(tput setaf 37); 9 | green=$(tput setaf 64); 10 | orange=$(tput setaf 166); 11 | purple=$(tput setaf 125); 12 | red=$(tput setaf 124); 13 | violet=$(tput setaf 61); 14 | white=$(tput setaf 15); 15 | yellow=$(tput setaf 136); 16 | else 17 | bold=''; 18 | reset="\e[0m"; 19 | black="\e[1;30m"; 20 | blue="\e[1;34m"; 21 | cyan="\e[1;36m"; 22 | green="\e[1;32m"; 23 | orange="\e[1;33m"; 24 | purple="\e[1;35m"; 25 | red="\e[1;31m"; 26 | violet="\e[1;35m"; 27 | white="\e[1;37m"; 28 | yellow="\e[1;33m"; 29 | fi; 30 | 31 | # Highlight the user name when logged in as root. 32 | if [[ "${USER}" == "root" ]]; then 33 | userStyle="${red}"; 34 | else 35 | userStyle="${orange}"; 36 | fi; 37 | 38 | # Highlight the hostname when connected via SSH. 39 | if [[ "${SSH_TTY}" ]]; then 40 | hostStyle="${bold}${red}"; 41 | else 42 | hostStyle="${yellow}"; 43 | fi; 44 | -------------------------------------------------------------------------------- /setup.sh: -------------------------------------------------------------------------------- 1 | #! env sh 2 | 3 | if ( brew --version ) < /dev/null > /dev/null 2>&1; then 4 | echo 'Homebrew is already installed!' 5 | else 6 | ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"; 7 | fi 8 | 9 | if ( brew cask --version; ) < /dev/null > /dev/null 2>&1; then 10 | echo 'Caskroom tapped already' 11 | else 12 | brew tap caskroom/cask; 13 | fi 14 | 15 | if ( brew bundle check; ) < /dev/null > /dev/null 2>&1; then 16 | echo 'Brewfiles enabled' 17 | else 18 | brew tap Homebrew/bundle; 19 | brew bundle; 20 | fi 21 | 22 | brew cleanup; 23 | brew prune; 24 | brew doctor; 25 | 26 | cd ~; 27 | git init; 28 | git clone https://github.com/kevinSuttle/dotfiles.git .; 29 | git checkout -t origin/master 30 | git remote add origin https://github.com/kevinSuttle/dotfiles.git; 31 | git fetch origin; 32 | mkdir -p ~/code && cd $_; 33 | 34 | # git clone https://github.com/kevinSuttle/macOS-Defaults.git macOS-defaults -b suttle && cd $_; 35 | # source .osx; 36 | 37 | rbenv install 2.4.3; 38 | rbenv global 2.4.3; 39 | mkdir -p ~/.nvm; 40 | curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash; 41 | 42 | nvm install --lts; 43 | npm install --global pure-prompt; 44 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .svn 2 | *~ 3 | *.swp 4 | 5 | # Folder view configuration files 6 | .DS_Store 7 | Desktop.ini 8 | 9 | # Thumbnail cache files 10 | ._* 11 | Thumbs.db 12 | 13 | # Files that might appear on external disks 14 | .Spotlight-V100 15 | .Trashes 16 | .Trash 17 | 18 | # Npm 19 | *.log 20 | node_modules 21 | bower_components 22 | .pm2 23 | .node-gyp 24 | .babel.json 25 | .yarnrc 26 | 27 | # IDEs 28 | .idea 29 | .atom 30 | 31 | # Fish 32 | fish/fish_history 33 | fish/fishd.* 34 | 35 | # Misc 36 | .CFUserTextEncoding 37 | .docker 38 | .localized 39 | *.padl 40 | 41 | # User directories in MacOS 42 | Applications 43 | Desktop 44 | Documents 45 | Downloads 46 | Library 47 | Movies 48 | Music 49 | Pictures 50 | Sites 51 | SpiderOak Hive 52 | 53 | code/ 54 | .abstract/ 55 | .aws/ 56 | .bash_sessions/ 57 | .blockstack/ 58 | .bundle/ 59 | .cargo/ 60 | .config/ 61 | .cargo/ 62 | .dat-desktop/ 63 | .docker/ 64 | .electron/ 65 | .gem/ 66 | .luna/ 67 | .mix/ 68 | .multirust/ 69 | .node-gyp/ 70 | .now/ 71 | .npm/ 72 | .nvm/ 73 | .opam/ 74 | .pia_manager/ 75 | .pm2/ 76 | .rbenv/ 77 | .rustup/ 78 | .subversion/ 79 | .vscode/ 80 | .vscode-insiders/ 81 | 82 | # Sensitive data 83 | .bash_history 84 | .gitconfig.local 85 | .histfile 86 | .*.log 87 | .local 88 | .viminfo 89 | .zcompdump 90 | .ssh/ 91 | .ssb/ 92 | .Trash/ 93 | -------------------------------------------------------------------------------- /aliases: -------------------------------------------------------------------------------- 1 | # git aliases 2 | alias ga='git add' 3 | alias gai='git add -interactive' 4 | alias gA='git add --all' 5 | alias gbl="git branch --list --verbose" 6 | alias gcb="git checkout -B" 7 | alias gca='git commit --amend' 8 | alias gcl="git clone --progress" 9 | alias gco="git checkout" 10 | alias gcm="git checkout master" 11 | alias gct='git commit' 12 | alias gd="git diff" 13 | alias gitundocommit="git reset --soft 'HEAD^'" 14 | alias gitundopush="git push -f origin 'HEAD^:master'" 15 | alias glo="git log --decorate --oneline --graph" 16 | alias glg="git log --decorate --graph --abbrev-commit --date=relative" 17 | alias gmg='git merge --no-ff' 18 | alias gph="git push" 19 | alias gpr="git pull --verbose" 20 | alias gpom="git push origin master" 21 | alias grao="git remote add origin" 22 | alias grau="git remote add upstream" 23 | alias grv="git remote -v" 24 | alias gs="git status --short --branch" 25 | alias gss='git stash save' 26 | alias gsa='git stash apply' 27 | alias gsl='git stash list' 28 | alias gsp='git stash pop' 29 | alias gsc='git stash clear' 30 | alias gsd='git stash drop' 31 | 32 | ## Directory nav 33 | alias ..="cd .." 34 | alias mkcd="mkdir -p && cd $_" 35 | alias ls="ls -AFqLG" 36 | 37 | alias reload='exec $SHELL -l' 38 | 39 | # Hiding and showing files in Finder 40 | alias shf="defaults write com.apple.finder AppleShowAllFiles -bool true && killall Finder" 41 | alias hhf="defaults write com.apple.finder AppleShowAllFiles -bool false && killall Finder" 42 | 43 | ## npm: list globally-installed packages 44 | alias nlg="npm list -g --depth=0" 45 | -------------------------------------------------------------------------------- /fish/functions/fish_prompt.fish: -------------------------------------------------------------------------------- 1 | set -g __fish_git_prompt_show_informative_status 1 2 | set -g __fish_git_prompt_hide_untrackedfiles 1 3 | 4 | set -g __fish_git_prompt_color_branch magenta 5 | set -g __fish_git_prompt_showupstream "informative" 6 | set -g __fish_git_prompt_char_upstream_ahead " ⇡" 7 | set -g __fish_git_prompt_char_upstream_behind " ⇣" 8 | set -g __fish_git_prompt_char_upstream_prefix "" 9 | 10 | set -g __fish_git_prompt_char_stagedstate " ●" 11 | set -g __fish_git_prompt_char_dirtystate " *" 12 | set -g __fish_git_prompt_char_untrackedfiles "" 13 | set -g __fish_git_prompt_char_conflictedstate " ✖" 14 | set -g __fish_git_prompt_char_cleanstate " ✓" 15 | set __fish_git_prompt_showstashstate true 16 | 17 | set -g __fish_git_prompt_color_dirtystate yellow 18 | set -g __fish_git_prompt_color_stagedstate blue 19 | set -g __fish_git_prompt_color_invalidstate red 20 | set -g __fish_git_prompt_color_untrackedfiles $fish_color_normal 21 | set -g __fish_git_prompt_color_cleanstate green 22 | set -g ___fish_git_prompt_char_stateseparator " |" 23 | 24 | function fish_right_prompt 25 | set_color $fish_color_cwd 26 | printf (date +"%r ") 27 | end 28 | 29 | function fish_prompt --description 'Write out the prompt' 30 | echo -e "" 31 | set -l last_status $status 32 | 33 | if not set -q __fish_prompt_normal 34 | set -g __fish_prompt_normal (set_color normal) 35 | end 36 | 37 | # PWD 38 | set_color $fish_color_cwd 39 | echo -n (pwd) 40 | set_color normal 41 | 42 | printf '%s ' (__fish_git_prompt) 43 | 44 | if not test $last_status -eq 0 45 | set_color $fish_color_error 46 | end 47 | 48 | set_color magenta 49 | printf '\n❯ ' 50 | set_color normal 51 | end 52 | -------------------------------------------------------------------------------- /fish/abbreviations.fish: -------------------------------------------------------------------------------- 1 | abbr -a ga git add 2 | abbr -a gb git branch --verbose 3 | abbr -a gc git commit -s --verbose 4 | abbr -a gcl git clone --single-branch --verbose 5 | abbr -a gco git checkout 6 | abbr -a gcom git checkout master 7 | abbr -a gd git diff 8 | abbr -a gf git fetch --prune --all 9 | abbr -a gh git help 10 | abbr -a gl 'git log --graph --pretty format:"%C(cyan)%h%C(red)%d %C(yellow)%ar%C(white) %s %C(black)- %an"' 11 | abbr -a gm git merge --no-ff 12 | abbr -a gph git push 13 | abbr -a gpl git pull --prune 14 | abbr -a gplr git pull --rebase 15 | abbr -a gr git remote --verbose 16 | abbr -a gs git status --short --branch 17 | abbr -a gt git tag 18 | abbr -a gu "git reset --soft 'HEAD^'" 19 | 20 | # List files, including hidden ones 21 | abbr -a ls ls -1pAFG 22 | # TODO make this a function 23 | abbr -a shf defaults write com.apple.finder AppleShowAllFiles -bool true 24 | abbr -a hhf defaults write com.apple.finder AppleShowAllFiles -bool false 25 | 26 | # Easier navigation: Thanks @mathiasbynens, @gf3, et al. 27 | abbr -a .. cd .. 28 | <<<<<<< HEAD 29 | abbr -a cdc cd ~/Code/ 30 | abbr -a cdd cd ~/Downloads 31 | abbr -a cddf cd ~/Code/dotfiles 32 | abbr -a cdl cd ~/Code/laptop 33 | abbr -a cds cd ~/Code/kevinsuttle.github.io 34 | ======= 35 | abbr -a cdc cd ~/code/ 36 | abbr -a cdd cd ~/Downloads 37 | abbr -a cddf cd ~/code/dotfiles 38 | abbr -a cdl cd ~/code/laptop 39 | abbr -a cds cd ~/code/kevinsuttle.github.io 40 | >>>>>>> Update configs based on usage 41 | 42 | # Application Shortcuts 43 | abbr -a start_server "python -m SimpleHTTPServer" 44 | 45 | # Commands 46 | abbr -a get_sha "openssl dgst -sha256 <" 47 | abbr -a serve python -m SimpleHTTPServer 48 | abbr -a copyssh "pbcopy < ~/.ssh/id_rsa.pub" 49 | 50 | abbr -a efc atom ~/.config/fish/config.fish 51 | abbr -a eff atom ~/.config/fish/functions 52 | abbr -a efp atom ~/.config/fish/functions/fish_prompt 53 | abbr -a efa atom ~/.config/fish/abbreviations.fish 54 | abbr -a r source ~/.config/fish/config.fish 55 | abbr -a f exec fish 56 | -------------------------------------------------------------------------------- /prompt: -------------------------------------------------------------------------------- 1 | # Prompt settings # Alternatives starting at column 40 2 | PROMPT_CHARACTER="⬡ " # ❯ ∠ ⋔ 🝓 3 | 4 | PROMPT_PROMPT_ON_NEWLINE=false 5 | # PROMPT_MULTILINE_FIRST_PREFIX="\n\r" 6 | # PROMPT_MULTILINE_SECOND_PROMPT_PREFIX=${PROMPT_CHARACTER} 7 | PROMPT_CARRIAGE_RETURN_ICON="↵" 8 | 9 | PROMPT_LEFT_SEGMENT_SEPARATOR="" 10 | PROMPT_LEFT_SUBSEGMENT_SEPARATOR="" 11 | PROMPT_RIGHT_SEGMENT_SEPARATOR="⎪" 12 | PROMPT_RIGHT_SUBSEGMENT_SEPARATOR="⎪" 13 | 14 | PROMPT_FAIL_ICON="✕" 15 | PROMPT_STATUS_VERBOSE=false 16 | PROMPT_STATUS_BACKGROUND='red' 17 | PROMPT_STATUS_FOREGROUND='white' 18 | PROMPT_STATUS_ERROR_FOREGROUND='white' 19 | PROMPT_STATUS_ERROR_BACKGROUND='red' 20 | 21 | # PROMPT_GIT_ICON="⋋ " 22 | PROMPT_GIT_ICON="" 23 | PROMPT_OUTGOING_CHANGES_ICON="⇡" # ↥ ⊷ ↗ ⍏ 24 | PROMPT_INCOMING_CHANGES_ICON="⇣" # ↧ ⊶ ↙ ⍖ ⎌ 25 | PROMPT_TAG_ICON="\UF092 " 26 | PROMPT_COMMIT_ICON="\UF03C " 27 | PROMPT_BOOKMARK_ICON="\U1F516 " 28 | 29 | # PROMPT_GIT_HIDE_BRANCH_ICON=false 30 | # PROMPT_GIT_REMOTE_BRANCH_ICON="⑂ " 31 | 32 | PROMPT_GIT_BRANCH_ICON="" # 🝓 ⤚ 33 | PROMPT_GIT_HIDE_BRANCH_ICON=true 34 | PROMPT_GIT_STAGED_ICON="" # ⊕ 35 | PROMPT_GIT_UNSTAGED_ICON="" # ⊙ 36 | PROMPT_GIT_UNTRACKED_ICON="" # ⚐ 37 | PROMPT_GIT_HIDE_STASH_ICON=true 38 | PROMPT_GIT_STASH_ICON="" # ⎆ 39 | 40 | # Advanced color customization 41 | PROMPT_FOREGROUND='black' 42 | PROMPT_DARK_FOREGROUND='green' 43 | PROMPT_BACKGROUND='green' 44 | 45 | # If changes are detected: 46 | PROMPT_MODIFIED_FOREGROUND='black' 47 | PROMPT_MODIFIED_BACKGROUND='white' 48 | 49 | PROMPT_TIME_FOREGROUND='black' 50 | PROMPT_TIME_BACKGROUND='magenta' 51 | 52 | PROMPT_BATTERY_ICON="\U26A1" 53 | PROMPT_BATTERY_CHARGING_FOREGROUND="black" 54 | PROMPT_BATTERY_CHARGING_BACKGROUND="yellow" 55 | PROMPT_BATTERY_CHARGED_FOREGROUND="white" 56 | PROMPT_BATTERY_CHARGED_BACKGROUND="green" 57 | PROMPT_BATTERY_DISCONNECTED=$DEFAULT_COLOR 58 | PROMPT_BATTERY_LOW_FOREGROUND="white" 59 | PROMPT_BATTERY_LOW_BACKGROUND="red" 60 | PROMPT_BATTERY_LOW_THRESHOLD=15 61 | 62 | PROMPT_LEFT_ELEMENTS=(status dir) 63 | PROMPT_TIME_FORMAT="%D{%m/%d/%y %H:%M:%S}" 64 | PROMPT_RIGHT_ELEMENTS=(time battery) 65 | --------------------------------------------------------------------------------