diff --git a/home/.wezterm.lua b/home/.wezterm.lua new file mode 100644 index 0000000..f35a839 --- /dev/null +++ b/home/.wezterm.lua @@ -0,0 +1,129 @@ +-- Pull in the wezterm API +local wezterm = require("wezterm") + +-- This will hold the configuration. +local config = wezterm.config_builder() + +-- Basic Wezterm settings +config.window_close_confirmation = "NeverPrompt" +config.automatically_reload_config = true +config.enable_tab_bar = false +config.font = wezterm.font("FiraCode Nerd Font Mono") +config.harfbuzz_features = { "calt=0", "clig=0", "liga=0" } +config.font_size = 9 +-- Color scheme configuration based on whether terminal is set to light mode +local light_mode = false +local home = os.getenv("HOME") +if light_mode then + config.colors = { + -- The default text color + foreground = "#4F5e68", + -- The default background color + background = "#F0EDEC", + + -- Overrides the cell background color when the current cell is occupied by the + -- cursor and the cursor style is set to Block + cursor_bg = "#2c363c", + -- Overrides the text color when the current cell is occupied by the cursor + cursor_fg = "#F0EDEC", + -- Specifies the border color of the cursor when the cursor style is set to Block, + -- or the color of the vertical or horizontal bar when the cursor style is set to + -- Bar or Underline. + cursor_border = "#2c363c", + + -- the foreground color of selected text + selection_fg = "#F0edec", + -- the background color of selected text + selection_bg = "#2c363c", + + -- The color of the scrollbar "thumb"; the portion that represents the current viewport + scrollbar_thumb = "#222222", + + -- The color of the split lines between panes + split = "#444444", + + ansi = { + "#F0EDEC", + "#A8334C", + "#4F6C31", + "#944927", + "#286486", + "#88507D", + "#3B8992", + "#2C363C", + }, + brights = { + + "#CFC1BA", + "#94253E", + "#3F5A22", + "#803D1C", + "#1D5573", + "#7B3B70", + "#2B747C", + "#4F5E68", + }, + } + config.window_background_opacity = 0.95 + local f = io.open(home .. "/.config/nvim/light_mode", "w") + assert(f) + f:close() +else + config.colors = { + -- The default text color + foreground = "#8e8e8e", + -- The default background color + background = "#191919", + + -- Overrides the cell background color when the current cell is occupied by the + -- cursor and the cursor style is set to Block + cursor_bg = "#BBBBBB", + -- Overrides the text color when the current cell is occupied by the cursor + cursor_fg = "#191919", + -- Specifies the border color of the cursor when the cursor style is set to Block, + -- or the color of the vertical or horizontal bar when the cursor style is set to + -- Bar or Underline. + cursor_border = "#BBBBBB", + + -- the foreground color of selected text + selection_fg = "#191919", + -- the background color of selected text + selection_bg = "#BBBBBB", + + -- The color of the scrollbar "thumb"; the portion that represents the current viewport + scrollbar_thumb = "#222222", + + -- The color of the split lines between panes + split = "#444444", + + ansi = { + "#191919", + "#DE6E7C", + "#819B69", + "#B77E64", + "#6099C0", + "#B279A7", + "#66A5AD", + "#BBBBBB", + }, + brights = { + "#3d3839", + "#E8838F", + "#8BAE68", + "#D68C67", + "#61ABDA", + "#CF86C1", + "#65B8C1", + "#8e8e8e", + }, + } + config.window_background_opacity = 0.85 + os.remove(home .. "/.config/nvim/light_mode") +end + +config.keys = { + { key = "j", mods = "CTRL|SHIFT", action = wezterm.action.DecreaseFontSize }, + { key = "k", mods = "CTRL|SHIFT", action = wezterm.action.IncreaseFontSize }, +} +-- and finally, return the configuration to wezterm +return config -- Pull in the wezterm API diff --git a/home/.zshrc b/home/.zshrc index b5f9420..607a78a 100644 --- a/home/.zshrc +++ b/home/.zshrc @@ -1,8 +1,4 @@ -#============================================================================== -# Zsh Configuration -#============================================================================== - -# History settings +# Lines configured by zsh-newuser-install HISTFILE=~/.histfile HISTSIZE=100000 SAVEHIST=100000 @@ -12,103 +8,74 @@ setopt INC_APPEND_HISTORY # Write to history file immediately, not when shell setopt SHARE_HISTORY # Share history between all sessions setopt HIST_IGNORE_DUPS # Don't save duplicate commands setopt HIST_IGNORE_SPACE # Don't save commands starting with space +bindkey -v +# End of lines configured by zsh-newuser-install +# The following lines were added by compinstall +zstyle :compinstall filename '/home/aselimov/.zshrc' -#============================================================================== -# Environment Variables -#============================================================================== +export LS_COLORS='di=1;37:ln=35:so=32:pi=33:ex=1;32:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;43' +#~/bin/daily_scripture.sh +autoload -Uz compinit +compinit +# End of lines added by compinstall +# export OMPI_MCA_rmaps_base_oversubscribe=1 export CLICOLOR=1 export LSCOLORS=ExGxBxDxCxEgEdxbxgxcxd -export LS_COLORS='di=1;37:ln=35:so=32:pi=33:ex=1;32:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;43' +alias vi="nvim" +alias vim="nvim" +alias mergepdf="gs -dBATCH -dNOPAUSE -dQUIET -sDEVICE=pdfwrite -sOutputFile=output.pdf" +alias ddg="w3m ddg.gg" +alias cal="khal calendar" +#alias sxiv="sxiv-rifle" +alias clip2png="xclip -selection clipboard -target image/png -out" +function addbin(){ + ln -s $PWD/$1 /home/aselimov/bin +} + export XKB_DEFAULT_OPTIONS="caps:escape" export PASSWORD_STORE_CHARACTER_SET='a-zA-Z0-9+\-$!*_=' -export XDEB_PKGROOT=${HOME}/.config/xdeb + +XDEB_PKGROOT=${HOME}/.config/xdeb + +export NVM_DIR="$HOME/.nvm" +[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm +[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion # Add cuda to path export PATH="$PATH:/usr/local/cuda-12.8/bin" export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda-12.8/lib64" -#============================================================================== -# Aliases -#============================================================================== - -alias clip2png="xclip -selection clipboard -target image/png -out" - -#============================================================================== -# Functions -#============================================================================== - -load_env() { - set -a - . "$1" - set +a -} - -#============================================================================== -# Completions -#============================================================================== - -autoload -Uz compinit -compinit -zstyle ':compinstall' filename '/home/aselimov/.zshrc' -zstyle -e ':completion:*:hosts' hosts 'reply=( - ${=${${(f)"$(cat {/etc/ssh_,~/ar.ssh/known_}hosts(|2)(N) 2>/dev/null)"}%%[#| ]*}//,/ } - ${=${${${${(@M)${(f)"$(cat ~/.ssh/config 2>/dev/null)"}:#Host *}#Host }:#*\**}:#*\?*}} -)' - -#============================================================================== -# Plugins & Tools -#============================================================================== - -# nvm -export NVM_DIR="$HOME/.nvm" -[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm -[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion - -# ghcup [ -f "/home/aselimov/.ghcup/env" ] && . "/home/aselimov/.ghcup/env" # ghcup-env -# pyenv if [ $(which pyenv 2>&1 1>/dev/null) ]; then export PYENV_ROOT="$HOME/.pyenv" [[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init - zsh)" fi -# starship eval "$(starship init zsh)" +zstyle -e ':completion:*:hosts' hosts 'reply=( + ${=${${(f)"$(cat {/etc/ssh_,~/ar.ssh/known_}hosts(|2)(N) 2>/dev/null)"}%%[#| ]*}//,/ } + ${=${${${${(@M)${(f)"$(cat ~/.ssh/config 2>/dev/null)"}:#Host *}#Host }:#*\**}:#*\?*}} +)' -# zsh-autosuggestions source "$HOME/.config/zsh/zsh-autosuggestions/zsh-autosuggestions.zsh" - -# zsh-syntax-highlighting source "$HOME/.config/zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" - -# zsh-history-substring-search source "$HOME/.config/zsh/zsh-history-substring-search/zsh-history-substring-search.zsh" -#============================================================================== -# Keybindings -#============================================================================== - -bindkey -v bindkey '^[[A' history-substring-search-up bindkey '^[[B' history-substring-search-down -#============================================================================== -# OS-Specific Configuration -#============================================================================== - +# Settings that need to swap between Mac and Linux if [ "$(uname)" = "Darwin" ]; then export PATH="$PATH:/opt/homebrew/bin" alias ls="gls --classify --group-directories-first --color" - alias gemini="(source ~/.gemini_project && gemini)" - export NVIM_JDTLS_JAVA_HOME="/Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home/" # I only start tmux by default on Mac because of dwm+swallow patch if [[ -z "$TMUX" ]] && [[ -n "$PS1" ]]; then tmux attach -t dev || tmux new -s dev - fi + fi else alias ls="ls --classify --group-directories-first --color" fi