Initial commit

This commit is contained in:
Zoé Cassiopée Gauthier 2022-01-04 22:41:41 -05:00
commit d8a298bb82
11 changed files with 358 additions and 0 deletions

8
README.md Normal file
View File

@ -0,0 +1,8 @@
# dotfiles
* Execute `./bootstrap.sh` the first time to install a package manager and the dotfiles themselves.
## Updating
* Refresh this repository from GitHub by executing `git pull`.
* Execute `./bootstrap.sh` any time to install any new dotfile that may have been added to the repository.

7
ackrc Normal file
View File

@ -0,0 +1,7 @@
--type-set
log=.log
--nolog
--pager
less -RFSX

49
bootstrap.sh Executable file
View File

@ -0,0 +1,49 @@
#!/usr/bin/env bash
set -e
if [ $SPIN ]; then
DOTFILES="$HOME/dotfiles"
else
DOTFILES="$(dirname -- "$(readlink -f -- "$0")")"
fi
echo "🐚 Installing dotfiles from '$DOTFILES'..."
ln -sf "$DOTFILES/ackrc" ~/.ackrc
ln -sf "$DOTFILES/gitconfig" ~/.gitconfig
ln -sf "$DOTFILES/inputrc" ~/.inputrc
ln -sf "$DOTFILES/tmux.conf" ~/.tmux.conf
ln -sf "$DOTFILES/zshenv" ~/.zshenv
ln -sf "$DOTFILES/zshrc" ~/.zshrc
mkdir -p ~/.config
ln -sf "$DOTFILES/starship.toml" ~/.config/starship.toml
if [ ! -d ~/.vim ]; then
git clone --quiet https://github.com/deuxpi/dotvim.git ~/.vim
ln -sf ~/.vim/vimrc ~/.vimrc
else
git -C ~/.vim pull --quiet
fi
mkdir -p ~/.config/coc/
vim +'PlugInstall --sync' +qa
if [ ! -d ~/.oh-my-zsh ]; then
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended --keep-zshrc
fi
if [ ! -d ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions ]; then
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
fi
if [ ! -d ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting ]; then
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
fi
mkdir -p ~/.oh-my-zsh/custom/themes
ln -sf "$DOTFILES/themes/witchhazelhypercolor.zsh-theme" ~/.oh-my-zsh/custom/themes/witchhazelhypercolor.zsh-theme
if ! [ -x "$(command -v starship)" ]; then
sh -c "$(curl -fsSL https://starship.rs/install.sh)" -- -y
fi
mkdir -p ~/.config/kitty/
ln -sf "$DOTFILES/kitty.conf" ~/.config/kitty/kitty.conf

3
gitconfig Normal file
View File

@ -0,0 +1,3 @@
[user]
name = Zoé Cassiopée Gauthier
email = hello@blorp.dev

29
inputrc Normal file
View File

@ -0,0 +1,29 @@
set input-meta on
set output-meta on
set colored-stats on
set completion-ignore-case on
set page-completions on
set show-all-if-ambiguous on
set show-all-if-unmodified on
set visible-stats on
# Be more intelligent when autocompleting by also looking at the text after
# the cursor. For example, when the current line is "cd ~/src/mozil", and
# the cursor is on the "z", pressing Tab will not autocomplete it to "cd
# ~/src/mozillail", but to "cd ~/src/mozilla". (This is supported by the
# Readline used by Bash 4.) [from https://github.com/mathiasbynens/dotfiles]
set skip-completed-text on
"\e[1~": beginning-of-line
"\e[4~": end-of-line
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word
# Use the text that has already been typed as the prefix for searching through
# commands (i.e. more intelligent Up/Down behavior)
"\e[B": history-search-forward
"\e[A": history-search-backward

55
kitty.conf Normal file
View File

@ -0,0 +1,55 @@
# vim:fileencoding=utf-8:ft=conf:foldmethod=marker
font_family IBM Plex Mono Semibold
italic_font IBM Plex Mono Semibold Italic
bold_font IBM Plex Mono Bold
font_size 14
copy_on_select clipboard
remember_window_size no
initial_window_width 120c
initial_window_height 50c
cursor #F8F8F0
cursor_text_color background
foreground #F8F8F2
background #282634
color0 #282634
color1 #BF5C7D
color2 #62C28E
color3 #FFF781
color4 #DCC8FF
color5 #716799
color6 #62B5C1
color7 #F8F8F2
color8 #665D8D
color9 #FFB8D1
color10 #81FFBE
color11 #FFF9A3
color12 #C5A3FF
color13 #8077A8
color14 #81EEFF
color15 #F8F8F0
tab_bar_style powerline
tab_activity_symbol ✨
tab_title_template "{index}: {title}"
active_tab_background #81FFBE
inactive_tab_background #FFB8D1
macos_quit_when_last_window_closed yes
map cmd+kp_1 goto_tab 1
map cmd+kp_2 goto_tab 2
map cmd+kp_3 goto_tab 3
map cmd+kp_4 goto_tab 4
map cmd+kp_5 goto_tab 5
map cmd+kp_6 goto_tab 6
map cmd+kp_7 goto_tab 7
map cmd+kp_8 goto_tab 8
map cmd+kp_9 goto_tab 9

19
starship.toml Normal file
View File

@ -0,0 +1,19 @@
command_timeout = 10000
[docker_context]
disabled = true
[gcloud]
disabled = true
[git_status]
conflicted = "🏳"
ahead = "🏎💨"
behind = "😰"
diverged = "😵"
untracked = "🤷‍"
stashed = "📦"
modified = "📝"
staged = '[++\($count\)](green)'
renamed = "👅"
deleted = "🗑"

View File

@ -0,0 +1,20 @@
# Witch Hazel Hypercolor ZSH Theme
#
# by @medecau and @zoeisnowooze
#
# https://witchhazel.thea.codes/
# https://twitter.com/ZoeIsNowOoze/status/1418271734327820289
#
# 1. Create a file ~/.oh-my-zsh/custom/themes/witchhazelhypercolor.zsh-theme
#
# 2. Set the name of the theme to load in the ~/.zshrc configuration, for example:
#
# ZSH_THEME="witchhazelhypercolor"
PROMPT="%(?:%{$FG[121]%} :%{$FG[218]%} )"
PROMPT+=' %{$FG[123]%}%c%{$reset_color%} $(git_prompt_info)'
ZSH_THEME_GIT_PROMPT_PREFIX="%{$bold_color%}%{$FG[183]%}git:(%{$FG[218]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
ZSH_THEME_GIT_PROMPT_DIRTY="%{$FG[183]%}) %{$FG[228]%}✗"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$FG[183]%})"

28
tmux.conf Normal file
View File

@ -0,0 +1,28 @@
set-option -g prefix C-a
unbind-key C-b
bind-key a send-prefix
# increase number of lines in window history
set -g history-limit 50000
# windows start at 1, not 0
set -g base-index 1
# default terminal
set -g default-terminal "screen-256color"
# display activity on status line
set -g visual-activity on
# attempt to set terminal title
set -g set-titles on
# don't wait for escape sequences
set -sg escape-time 0
# aggressive resize causes window to only resize to smallest client that is
# "actively" looking at the window
setw -g aggressive-resize on
# monitor activity in all windows
setw -g monitor-activity

7
zshenv Normal file
View File

@ -0,0 +1,7 @@
export EDITOR=vim
export PAGER=less
export LESS=RSM
if [ -f "$HOME/.cargo/env" ]; then
. "$HOME/.cargo/env"
fi

133
zshrc Normal file
View File

@ -0,0 +1,133 @@
if [ -n "${commands[fzf-share]}" ]; then
source "$(fzf-share)/key-bindings.zsh"
source "$(fzf-share)/completion.zsh"
fi
fpath+=~/.zfunc
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
export PATH=$HOME/.local/bin:$PATH
# Path to your oh-my-zsh installation.
export ZSH="$HOME/.oh-my-zsh"
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
ZSH_THEME="witchhazelhypercolor"
# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in $ZSH/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"
# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
# Uncomment the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE="true"
# Uncomment the following line to automatically update without prompting.
# DISABLE_UPDATE_PROMPT="true"
# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13
# Uncomment the following line if pasting URLs and other text is messed up.
# DISABLE_MAGIC_FUNCTIONS="true"
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
# HIST_STAMPS="mm/dd/yyyy"
# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder
# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
common-aliases
fzf
git
zsh-autosuggestions
zsh-syntax-highlighting
)
ZSH_HIGHLIGHT_MAXLENGTH=300
ZSH_HIGHLIGHT_HIGHLIGHTERS=(
main
brackets
pattern
cursor
)
ZSH_AUTOSUGGEST_STRATEGY=match_prev_cmd
source $ZSH/oh-my-zsh.sh
# User configuration
# export MANPATH="/usr/local/man:$MANPATH"
# You may need to manually set your language environment
# export LANG=en_US.UTF-8
# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
# export EDITOR='vim'
# else
# export EDITOR='mvim'
# fi
# Compilation flags
# export ARCHFLAGS="-arch x86_64"
# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
alias ssh="kitty +kitten ssh"
alias icat="kitty icat --align=left"
alias isvg="rsvg-convert | icat"
alias idot='dot -Tsvg -Gbgcolor="transparent" -Ecolor="#f8f8f2ff" -Efontcolor="#f8f8f2ff" -Efontname="IBM Plex Mono Semibold" -Ncolor="#f8f8f2ff" -Nfontcolor="#f8f8f2ff" -Nfontname="IBM Plex Mono Semibold" | isvg'
if which starship >/dev/null 2>&1; then
eval "$(starship init zsh)"
fi