From d8783c14a098dca773f3673903aa195a66ae89c6 Mon Sep 17 00:00:00 2001 From: Alex Selimov Date: Tue, 9 Sep 2025 13:34:20 -0400 Subject: [PATCH 1/2] Update command separations for mac and linux setups --- home/.wezterm.lua | 129 ---------------------------------------------- home/.zshrc | 44 +++++++++------- 2 files changed, 25 insertions(+), 148 deletions(-) delete mode 100644 home/.wezterm.lua diff --git a/home/.wezterm.lua b/home/.wezterm.lua deleted file mode 100644 index f35a839..0000000 --- a/home/.wezterm.lua +++ /dev/null @@ -1,129 +0,0 @@ --- 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 2dd2689..25579be 100644 --- a/home/.zshrc +++ b/home/.zshrc @@ -23,17 +23,15 @@ compinit export OMPI_MCA_rmaps_base_oversubscribe=1 export CLICOLOR=1 export LSCOLORS=ExGxBxDxCxEgEdxbxgxcxd -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 + +load_env() { + set -a + . "$1" + set +a } +alias clip2png="xclip -selection clipboard -target image/png -out" + export XKB_DEFAULT_OPTIONS="caps:escape" export PASSWORD_STORE_CHARACTER_SET='a-zA-Z0-9+\-$!*_=' @@ -49,16 +47,10 @@ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda-12.8/lib64" [ -f "/home/aselimov/.ghcup/env" ] && . "/home/aselimov/.ghcup/env" # ghcup-env -export PYENV_ROOT="$HOME/.pyenv" -[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH" -eval "$(pyenv init - zsh)" - -# 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" -else - alias ls="ls --classify --group-directories-first --color" +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 eval "$(starship init zsh)" @@ -73,3 +65,17 @@ source "$HOME/.config/zsh/zsh-history-substring-search/zsh-history-substring-sea bindkey '^[[A' history-substring-search-up bindkey '^[[B' history-substring-search-down + +# 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 +else + alias ls="ls --classify --group-directories-first --color" +fi From 6d3b18b810788d7563286f95e3e3740cdc3512c9 Mon Sep 17 00:00:00 2001 From: Alex Selimov Date: Tue, 9 Sep 2025 13:37:06 -0400 Subject: [PATCH 2/2] Tell gemini to cleanup my configuration --- home/.zshrc | 83 +++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 58 insertions(+), 25 deletions(-) diff --git a/home/.zshrc b/home/.zshrc index 25579be..b5f9420 100644 --- a/home/.zshrc +++ b/home/.zshrc @@ -1,4 +1,8 @@ -# Lines configured by zsh-newuser-install +#============================================================================== +# Zsh Configuration +#============================================================================== + +# History settings HISTFILE=~/.histfile HISTSIZE=100000 SAVEHIST=100000 @@ -8,21 +12,32 @@ 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' -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' +#============================================================================== +# Environment Variables +#============================================================================== -#~/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' +export XKB_DEFAULT_OPTIONS="caps:escape" +export PASSWORD_STORE_CHARACTER_SET='a-zA-Z0-9+\-$!*_=' +export XDEB_PKGROOT=${HOME}/.config/xdeb + +# 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 @@ -30,43 +45,61 @@ load_env() { set +a } -alias clip2png="xclip -selection clipboard -target image/png -out" +#============================================================================== +# Completions +#============================================================================== -export XKB_DEFAULT_OPTIONS="caps:escape" -export PASSWORD_STORE_CHARACTER_SET='a-zA-Z0-9+\-$!*_=' +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 }:#*\**}:#*\?*}} +)' -XDEB_PKGROOT=${HOME}/.config/xdeb +#============================================================================== +# 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 -# 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" - +# 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 -# Settings that need to swap between Mac and Linux +#============================================================================== +# OS-Specific Configuration +#============================================================================== + if [ "$(uname)" = "Darwin" ]; then export PATH="$PATH:/opt/homebrew/bin" alias ls="gls --classify --group-directories-first --color" @@ -75,7 +108,7 @@ if [ "$(uname)" = "Darwin" ]; then # 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