add shell stuff

This commit is contained in:
Thomas Ruoff
2024-03-01 00:04:59 +01:00
parent 8a3f5ce295
commit 95331f3d81
3 changed files with 196 additions and 0 deletions

42
shell/.aliases Normal file
View File

@@ -0,0 +1,42 @@
# Unix
# Detect which `ls` flavor is in use
if ls --color > /dev/null 2>&1; then # GNU `ls`
ls_colorflag="--color"
else # BSD like `ls`
ls_colorflag="-G"
fi
alias ...="cd ../.."
alias ...="cd ../../.."
alias ....="cd ../../../.."
alias vim="nvim"
alias ls="ls ${ls_colorflag}"
alias ll="ls -al"
alias ff="find . -name"
alias ln="ln -v"
alias mkdir="mkdir -p"
alias e="$EDITOR"
alias _="sudo"
alias nohist="unset HISTFILE"
alias jest-debug="node --inspect-brk node_modules/.bin/jest $@"
alias ta="tmux attach -t"
alias ts="tmux new-session -s"
alias tl="tmux list-sessions"
alias did="vim +"normal Go" +"r\!date" ~/did.txt"
alias k="kubectl"
if [[ $OSTYPE == "linux-gnu" ]]
then
alias o="xdg-open"
fi
# Pretty print the path
alias path='echo $PATH | tr -s ":" "\n"'
# Include custom aliases
[[ -f ~/.aliases.local ]] && source ~/.aliases.local

41
shell/.tmux.conf Normal file
View File

@@ -0,0 +1,41 @@
# can't like ctrl-a
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
set-option -g history-limit 25000
set -g mouse on
# for neovim
set -sg escape-time 10
# vi for copy mode
setw -g mode-keys vi
# status bar
set -g status-style "fg=#665c54"
set -g status-left-style "fg=#928374"
set -g status-bg default
set -g status-position top
set -g status-interval 1
set -g status-left ""
# disable status
# set -g status off
# set -g status on
# count the panes from 1
set -g base-index 1
setw -g pane-base-index 1
# reload configuration
bind-key -r r source-file ~/.tmux.conf
# next/prev window (with repeat)
bind-key -r j next-window
bind-key -r k previous-window
# term colors, these are the correct ones according to neovim checkhealth
set-option -g default-terminal "screen-256color"

113
shell/.zshrc Normal file
View File

@@ -0,0 +1,113 @@
export ZSH="$HOME/.oh-my-zsh"
# install oh-mh-zsh if missig
if [[ ! -d "$ZSH" ]]
then
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --keep-zshrc
fi
# install startship
if ! command -v starship &> /dev/null
then
cargo install starship --locked
fi
# install fnm
if ! command -v fnm &> /dev/null
then
cargo install fnm --locked
fi
# install zoxide
if ! command -v zoxide &> /dev/null
then
cargo install zoxide --locked
fi
ZSH_THEME=""
# 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 one of the following lines to change the auto-update behavior
# zstyle ':omz:update' mode disabled # disable automatic updates
# zstyle ':omz:update' mode auto # update automatically without asking
# zstyle ':omz:update' mode reminder # just remind me to update when it's time
# Uncomment the following line to change how often to auto-update (in days).
# zstyle ':omz:update' frequency 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.
# You can also set it to another string to have that shown instead of the default red dots.
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
# 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=(vi-mode gnu-utils starship ripgrep fzf fd gpg-agent ssh-agent fnm zoxide rust git gh)
# personal configuration
zstyle :omz:plugins:ssh-agent lazy yes
source $ZSH/oh-my-zsh.sh
# User configuration
# You may need to manually set your language environment
export PATH="$HOME/bin:$HOME/.local/bin:$PATH"
export LANG=en_US.UTF-8
# Preferred editor for local and remote sessions
if [[ -n $SSH_CONNECTION ]]; then
export EDITOR='vim'
else
export EDITOR='nvim'
export PAGER='nvimpager'
fi
export TERMINAL='kitty'
# Compilation flags
# export ARCHFLAGS="-arch x86_64"
[[ -s $HOME/.aliases ]] && source $HOME/.aliases
# shutup
unsetopt BEEP