Initial commit
This commit is contained in:
commit
d8a298bb82
8
README.md
Normal file
8
README.md
Normal 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.
|
49
bootstrap.sh
Executable file
49
bootstrap.sh
Executable 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
3
gitconfig
Normal file
|
@ -0,0 +1,3 @@
|
|||
[user]
|
||||
name = Zoé Cassiopée Gauthier
|
||||
email = hello@blorp.dev
|
29
inputrc
Normal file
29
inputrc
Normal 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
55
kitty.conf
Normal 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
19
starship.toml
Normal 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 = "🗑"
|
20
themes/witchhazelhypercolor.zsh-theme
Normal file
20
themes/witchhazelhypercolor.zsh-theme
Normal 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
28
tmux.conf
Normal 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
7
zshenv
Normal 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
133
zshrc
Normal 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
|
Loading…
Reference in New Issue
Block a user