Compare commits

..

5 Commits

Author SHA1 Message Date
jsarthak b1c77717b3 remove copilot from master 2026-03-15 14:20:58 +05:30
jsarthak cb085b28b7 ignore lazy lock 2026-03-15 14:20:58 +05:30
jsarthak bec501a2ac Work nvim config 2026-03-15 14:19:02 +05:30
jsarthak a06ebadf56 add work config in bash 2026-03-15 14:15:45 +05:30
jsarthak edc48bc81c add work config 2026-03-15 14:14:51 +05:30
26 changed files with 369 additions and 686 deletions
-13
View File
@@ -1,15 +1,2 @@
# ── Neovim lock file ──────────────────────────────────────────────────────────
*nvim/.config/nvim/lazy-lock.json*
# ── OS clutter ────────────────────────────────────────────────────────────────
.DS_Store
Thumbs.db
# ── Per-machine local overrides (Strategy 1: Dynamic Runtime Sourcing) ────────
# These files are stowed/created on each machine but never committed.
# They contain secrets, host-specific paths, work credentials, etc.
**/*.local
**/.zshrc.local
**/.tmux.conf.local
**/.gitconfig.local
**/.env.local
+161 -26
View File
@@ -7,37 +7,172 @@ case $- in
*) return;;
esac
# ── Shared shell config ────────────────────────────────────────────────────────
[[ -f ~/.config/shell/common ]] && source ~/.config/shell/common
[[ -f ~/.config/shell/aliases ]] && source ~/.config/shell/aliases
# Path to your oh-my-bash installation.
export OSH='/home/jsarthak/.oh-my-bash'
# ── OS detection — source the right platform overlay ──────────────────────────
case "$(uname -s)" in
Darwin) [[ -f ~/.config/shell/macos ]] && source ~/.config/shell/macos ;;
Linux) [[ -f ~/.config/shell/linux ]] && source ~/.config/shell/linux ;;
esac
# Set name of the theme to load. Optionally, if you set this to "random"
# it'll load a random theme each time that oh-my-bash is loaded.
OSH_THEME="font"
# ── Bash-specific init (starship, zoxide, fzf) ────────────────────────────────
if [[ -n "$BASH_VERSION" ]]; then
# History settings
HISTCONTROL=ignoreboth
HISTSIZE=10000
HISTFILESIZE=20000
shopt -s histappend checkwinsize
# If you set OSH_THEME to "random", you can ignore themes you don't like.
# OMB_THEME_RANDOM_IGNORED=("powerbash10k" "wanelo")
# You can also specify the list from which a theme is randomly selected:
# OMB_THEME_RANDOM_CANDIDATES=("font" "powerline-light" "minimal")
# Starship prompt
command -v starship >/dev/null && eval "$(starship init bash)"
# Uncomment the following line to use case-sensitive completion.
OMB_CASE_SENSITIVE="true"
# Zoxide (smarter cd)
command -v zoxide >/dev/null && eval "$(zoxide init bash)"
# Uncomment the following line to use hyphen-insensitive completion. Case
# sensitive completion must be off. _ and - will be interchangeable.
OMB_HYPHEN_SENSITIVE="false"
# fzf
[[ -f ~/.fzf.bash ]] && source ~/.fzf.bash
# Uncomment the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE="true"
# Uncomment the following line to change how often to auto-update (in days).
export UPDATE_OSH_DAYS=13
# 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 don't want the repository to be considered dirty
# if there are untracked files.
# SCM_GIT_DISABLE_UNTRACKED_DIRTY="true"
# Uncomment the following line if you want to completely ignore the presence
# of untracked files in the repository.
# SCM_GIT_IGNORE_UNTRACKED="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output. One of the following values can
# be used to specify the timestamp format.
# * 'mm/dd/yyyy' # mm/dd/yyyy + time
# * 'dd.mm.yyyy' # dd.mm.yyyy + time
# * 'yyyy-mm-dd' # yyyy-mm-dd + time
# * '[mm/dd/yyyy]' # [mm/dd/yyyy] + [time] with colors
# * '[dd.mm.yyyy]' # [dd.mm.yyyy] + [time] with colors
# * '[yyyy-mm-dd]' # [yyyy-mm-dd] + [time] with colors
# If not set, the default value is 'yyyy-mm-dd'.
# HIST_STAMPS='yyyy-mm-dd'
# Uncomment the following line if you do not want OMB to overwrite the existing
# aliases by the default OMB aliases defined in lib/*.sh
# OMB_DEFAULT_ALIASES="check"
# Would you like to use another custom folder than $OSH/custom?
# OSH_CUSTOM=/path/to/new-custom-folder
# To disable the uses of "sudo" by oh-my-bash, please set "false" to
# this variable. The default behavior for the empty value is "true".
OMB_USE_SUDO=true
# To enable/disable display of Python virtualenv and condaenv
# OMB_PROMPT_SHOW_PYTHON_VENV=true # enable
# OMB_PROMPT_SHOW_PYTHON_VENV=false # disable
# To enable/disable Spack environment information
# OMB_PROMPT_SHOW_SPACK_ENV=true # enable
# OMB_PROMPT_SHOW_SPACK_ENV=false # disable
# Which completions would you like to load? (completions can be found in ~/.oh-my-bash/completions/*)
# Custom completions may be added to ~/.oh-my-bash/custom/completions/
# Example format: completions=(ssh git bundler gem pip pip3)
# Add wisely, as too many completions slow down shell startup.
completions=(
git
composer
ssh
)
# Which aliases would you like to load? (aliases can be found in ~/.oh-my-bash/aliases/*)
# Custom aliases may be added to ~/.oh-my-bash/custom/aliases/
# Example format: aliases=(vagrant composer git-avh)
# Add wisely, as too many aliases slow down shell startup.
aliases=(
general
)
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-bash/plugins/*)
# Custom plugins may be added to ~/.oh-my-bash/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
git
bashmarks
starship
)
# Which plugins would you like to conditionally load? (plugins can be found in ~/.oh-my-bash/plugins/*)
# Custom plugins may be added to ~/.oh-my-bash/custom/plugins/
# Example format:
# if [ "$DISPLAY" ] || [ "$SSH" ]; then
# plugins+=(tmux-autoattach)
# fi
# If you want to reduce the initialization cost of the "tput" command to
# initialize color escape sequences, you can uncomment the following setting.
# This disables the use of the "tput" command, and the escape sequences are
# initialized to be the ANSI version:
#
#OMB_TERM_USE_TPUT=no
source "$OSH"/oh-my-bash.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"
# ssh
# export SSH_KEY_PATH="~/.ssh/rsa_id"
# Set personal aliases, overriding those provided by oh-my-bash libs,
# plugins, and themes. Aliases can be placed here, though oh-my-bash
# users are encouraged to define aliases within the OSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias bashconfig="mate ~/.bashrc"
# alias ohmybash="mate ~/.oh-my-bash"
# test if the prompt var is not set and also to prevent failures
# when `$PS1` is unset and `set -u` is used
if [ -z "${PS1:-}" ]; then
# prompt var is not set, so this is *not* an interactive shell
return
fi
export EDITOR='nvim'
export MANROFFOPT="-c"
# If we reach this line of code, then the prompt var is set, so
# this is an interactive shell.
# Put all the commands here that should run only if this is an
# interactive shell.
# ── Per-machine local override (untracked) ────────────────────────────────────
# Create ~/.bashrc.local on each machine for secrets / host-specific tweaks.
[[ -f ~/.bashrc.local ]] && source ~/.bashrc.local
# Example command:
source ~/dotfiles/shell/common
source ~/dotfiles/shell/personal #added by 6500gitsetup
source ~/dotfiles/shell/aliases
source ~/dotfiles/shell/work
-85
View File
@@ -1,85 +0,0 @@
#!/usr/bin/env bash
# bootstrap.sh — Set up dotfiles on a new machine
# Usage: bash bootstrap.sh [--profile personal|work]
#
# This script stows all dotfile packages, copies shell config files,
# and creates untracked .local stub files for per-machine overrides.
set -e
DOTFILES_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROFILE="${1:-personal}"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo " Dotfiles Bootstrap"
echo " Profile : $PROFILE"
echo " OS : $(uname -s)"
echo " Host : $(hostname)"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
# ── 1. Stow all packages ───────────────────────────────────────────────────────
# shell is excluded from global .stow-local-ignore, handled separately below
PACKAGES="zsh bash tmux nvim starship alacritty kitty ghostty wezterm zed btop vim"
for pkg in $PACKAGES; do
if [[ -d "$DOTFILES_DIR/$pkg" ]]; then
echo " stow → $pkg"
stow --adopt --dir="$DOTFILES_DIR" --target="$HOME" "$pkg" 2>/dev/null || \
echo " ⚠ stow $pkg skipped (already linked or conflict)"
fi
done
# ── 2. Copy shell config files manually (stow-local-ignore excludes `shell`) ──
SHELL_SRC="$DOTFILES_DIR/shell/.config/shell"
SHELL_DST="$HOME/.config/shell"
mkdir -p "$SHELL_DST"
for f in common aliases personal work macos linux; do
if [[ -f "$SHELL_SRC/$f" ]]; then
echo " copy shell/$f$SHELL_DST/$f"
cp -n "$SHELL_SRC/$f" "$SHELL_DST/$f" 2>/dev/null || true
fi
done
# ── 3. Create untracked .local stub files ─────────────────────────────────────
create_stub() {
local file="$1" comment="$2"
if [[ ! -f "$file" ]]; then
echo "# $comment" > "$file"
echo " created stub → $file"
else
echo " exists (skipped) → $file"
fi
}
create_stub "$HOME/.zshrc.local" "Per-machine zsh overrides — never committed"
create_stub "$HOME/.bashrc.local" "Per-machine bash overrides — never committed"
create_stub "$HOME/.tmux.conf.machine.local" "Per-machine tmux overrides — never committed"
create_stub "$HOME/.gitconfig.local" "Per-machine git identity — never committed"
# ── 4. Inject profile into .zshrc.local if requested ──────────────────────────
if [[ "$PROFILE" == "work" ]]; then
if ! grep -q "DOTFILES_PROFILE" "$HOME/.zshrc.local" 2>/dev/null; then
echo "" >> "$HOME/.zshrc.local"
echo "# Work profile — load work-specific shell config and nvim plugins" >> "$HOME/.zshrc.local"
echo "export DOTFILES_PROFILE=work" >> "$HOME/.zshrc.local"
echo "source ~/.config/shell/work" >> "$HOME/.zshrc.local"
echo " → injected DOTFILES_PROFILE=work into ~/.zshrc.local"
fi
fi
# ── 5. macOS-specific setup ───────────────────────────────────────────────────
if [[ "$(uname -s)" == "Darwin" ]]; then
# Install Homebrew if missing
if ! command -v brew >/dev/null 2>&1; then
echo " Installing Homebrew…"
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
fi
fi
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo " Done! Next steps:"
echo " 1. Edit ~/.zshrc.local — add secrets / tokens"
echo " 2. Edit ~/.gitconfig.local — add your git identity for this machine"
echo " 3. Run: exec zsh (or source ~/.bashrc for bash)"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
+3 -15
View File
@@ -10,9 +10,9 @@ msgwin_orientation=0
highlighting_invert_all=false
pref_main_search_use_current_word=true
check_detect_indent=false
detect_indent_width=true
detect_indent_width=false
use_tab_to_indent=true
pref_editor_tab_width=4
pref_editor_tab_width=8
indent_mode=2
indent_type=0
virtualspace=1
@@ -63,7 +63,7 @@ beep_on_errors=true
auto_focus=false
sidebar_symbol_visible=false
sidebar_openfiles_visible=false
editor_font=Iosevka Nerd Font 14
editor_font=Cascadia Code PL 10
tagbar_font=Sans 9
msgwin_font=Comic Mono 10
show_notebook_tabs=true
@@ -132,16 +132,6 @@ treeview_position=271
msgwindow_position=1079
geometry=1883;108;1182;876;0;
custom_date_format=
tab_label_length=1000
use_native_dialogs=true
show_line_endings_only_when_differ=false
symbols_group_by_type=true
openfiles_path_mode=2
backspace_unindent=true
change_history_markers=false
change_history_indicators=false
skip_confirmation_for_replace_in_session=false
warn_on_project_close=true
[build-menu]
number_ft_menu_items=0
@@ -213,7 +203,6 @@ last_dir=/home/sarthakj
terminal_cmd=x-terminal-emulator -e "/bin/sh %c"
browser_cmd=sensible-browser
grep_cmd=grep
shell_cmd=/bin/bash
[printing]
print_cmd=lpr '%f'
@@ -223,7 +212,6 @@ print_page_numbers=true
print_page_header=true
page_header_basename=false
page_header_datefmt=%c
print_cmd_common_format=lpr '%d/%f'
[project]
session_file=
-7
View File
@@ -1,7 +0,0 @@
[Settings]
# 0: automatic selection based on system settings (requires Geany restart when changed, macOS 10.14+); 1: light; 2: dark; make sure there's no ~/.config/gtk-3.0/settings.ini file, otherwise it overrides the settings made here
theme=0
# no value: autodetect; locale string: locale to be used (e.g. en_US.UTF-8)
locale=
# no value: don't use any IM module; module name: use the specified module, e.g. 'quartz' for native macOS behavior, for complete list of modules, see Geany.app/Contents/Resources/lib/gtk-3.0/3.0.0/immodules, use without the 'im-' prefix
im_module=quartz
-5
View File
@@ -1,5 +0,0 @@
[Settings]
gtk-menu-images=1
gtk-theme-name=Prof-Gnome
gtk-application-prefer-dark-theme=0
gtk-icon-theme-name=Papirus
-32
View File
@@ -1,32 +0,0 @@
[files]
recent_files=/home/sarthakj/git-repos/v4l2loopback/utils/Makefile;/home/sarthakj/ti-processor-sdk-linux-rt-j7-evm-08_02_00_01/Makefile;/home/sarthakj/ti-processor-sdk-linux-rt-j7-evm-08_02_00_01/v4l2loopback/Makefile;/home/sarthakj/ti-processor-sdk-linux-rt-j7-evm-08_02_00_01/board-support/linux-rt-5.10.100+gitAUTOINC+204ec708dc-g204ec708dc/samples/rpmsg/Makefile;/home/sarthakj/ti-processor-sdk-linux-rt-j7-evm-08_02_00_01/v4l2loopback/Makefile.manual;/home/sarthakj/Workspace/TDA4_J7/ref/CodeRepo/Milstone_50_percent_code/src/main_baremetal.c;/home/sarthakj/Downloads/0001-ENGR00257661-pcie-imx-pcie-ep-rc-validation.patch;/home/sarthakj/Downloads/IT6664_hdmi2_tx(1).patch;/home/sarthakj/Downloads/Makefile.patch;/home/sarthakj/edid;
recent_projects=
current_page=0
[project]
session_file=
project_file_path=/home/jsarthak/projects
[geany]
treeview_position=271
msgwindow_position=1079
geometry=528;80;1182;876;0;
sidebar_page=1
[VTE]
last_dir=/home/sarthakj
[search]
find_all_expanded=false
replace_all_expanded=false
position_find_x=2122
position_find_y=446
position_replace_x=-1
position_replace_y=-1
position_fif_x=-1
position_fif_y=-1
[plugins]
load_plugins=true
custom_plugin_path=
active_plugins=;
+1 -9
View File
@@ -3,15 +3,7 @@ local options = {
base46 = {
theme = "tokyodark", -- default theme
hl_add = {},
hl_override = {
TbBufOn = {
bold = true,
fg = "green",
},
St_FileName = {
bold = true,
},
},
hl_override = {},
integrations = {},
changed_themes = {},
transparency = true,
@@ -74,12 +74,9 @@ require("lazy").setup({
{
"junegunn/seoul256.vim"
},
require("kickstart.plugins.work"),
-- ── Work-profile plugins (Copilot) ──────────────────────────────────────
-- Loaded only when DOTFILES_PROFILE=work is set (via ~/.zshrc.local).
-- On work machines add: export DOTFILES_PROFILE=work
(os.getenv("DOTFILES_PROFILE") == "work" and require("kickstart.plugins.work") or {}),
-- NOTE: Plugins can also be added by using a table,
-- with the first argument being the link and the following
-- keys can be used to configure plugin behavior/loading/etc.
--
@@ -1,8 +1,4 @@
-- Work-machine plugins (Copilot + CopilotChat)
-- Loaded only when DOTFILES_PROFILE=work is set in the environment.
-- Add this to your ~/.zshrc.local on work machines:
-- export DOTFILES_PROFILE=work
return {
"github/copilot.vim",
require("kickstart.plugins.copilot_chat"),
require("kickstart.plugins.copilot_chat")
}
-54
View File
@@ -1,54 +0,0 @@
#!/usr/bin/env bash
# tmux-session-name.sh — Auto-name new tmux sessions with emoji + codename
#
# Called by the session-created hook in .tmux.conf
# Usage: tmux-session-name.sh <current_session_name> <session_id>
CURRENT_NAME="${1:-}"
SESSION_ID="${2:-}"
# Skip if name is empty or not a plain number (user explicitly named it)
if [[ -z "$CURRENT_NAME" || ! "$CURRENT_NAME" =~ ^[0-9]+$ ]]; then
exit 0
fi
# ── Name pool ─────────────────────────────────────────────────────────────────
EMOJIS=(
"⚡" "🔥" "🌙" "🚀" "🎯" "💎" "🌊" "🎸" "🦊" "🐉"
"🌟" "🎭" "🔮" "🦋" "🌸" "🏔️" "🎪" "🦁" "🐺" "🦅"
"🐬" "🌋" "⚗️" "🧠" "🔭" "🎲" "🏹" "🌀" "🦄" "🐙"
"🎮" "🛸" "🌈" "🔱" "⚜️" "🧬" "🦾" "💫" "🎆" "🌌"
)
ADJECTIVES=(
swift blazing cosmic silent wild golden dark frozen epic neon
cyber ghost storm iron crystal hyper zen rogue nova apex
void shadow turbo lunar sonic electric primal ancient savage brave
mystic toxic ultra prime omega alpha delta sigma raging burning
)
NOUNS=(
wolf phoenix raven otter falcon dragon viper lynx shark cobra
titan spectre nexus cipher forge matrix pulse blade hawk panther
manta kraken hydra mantis raptor condor jaguar orca wraith banshee
golem oracle anvil tempest quasar nebula comet prism zenith apex
)
# ── Pick random combination ───────────────────────────────────────────────────
# We use absolute arithmetic expansion to avoid negative index quirks
EMOJI="${EMOJIS[$((RANDOM % ${#EMOJIS[@]}))]}"
ADJ="${ADJECTIVES[$((RANDOM % ${#ADJECTIVES[@]}))]}"
NOUN="${NOUNS[$((RANDOM % ${#NOUNS[@]}))]}"
NEW_NAME="${EMOJI} ${ADJ}-${NOUN}"
# ── Rename ────────────────────────────────────────────────────────────────────
if [[ -n "$SESSION_ID" ]]; then
# Use -t with the specific session ID to avoid targeting the wrong session
tmux rename-session -t "$SESSION_ID" "$NEW_NAME" 2>/dev/null
else
# Called standalone — just print the name
echo "$NEW_NAME"
fi
-16
View File
@@ -1,16 +0,0 @@
# ── Truly shared exports / env vars ───────────────────────────────────────────
# Sourced by both .zshrc and .bashrc on ALL machines (all OSes, all profiles).
# Keep this minimal — only things that apply 100% universally.
export EDITOR='nvim'
export VISUAL='nvim'
# Dotfiles root — used by scripts and tmux hooks
export DOTFILES="$HOME/dotfiles"
# Man page rendering
export MANROFFOPT="-c"
# Better history defaults (bash and zsh honour these)
export HISTSIZE=10000
export HISTFILESIZE=20000
-21
View File
@@ -1,21 +0,0 @@
# ── Linux-specific shell config ───────────────────────────────────────────────
# Sourced automatically from .zshrc / .bashrc on Linux hosts only.
# xdg-open alias (Linux equivalent of macOS `open`)
alias open="xdg-open"
# Clipboard helpers (if xclip is present)
if command -v xclip >/dev/null 2>&1; then
alias pbcopy="xclip -selection clipboard"
alias pbpaste="xclip -selection clipboard -o"
fi
# fzf shell integration (Linux path)
# Set up fzf key bindings and fuzzy completion
eval "$(fzf --bash)"
[[ -f ~/.fzf.zsh ]] && source ~/.fzf.zsh
# Zoxide (smarter cd) — in case not already initialized by bashrc
if [[ -n "$ZSH_VERSION" ]]; then
command -v zoxide >/dev/null && eval "$(zoxide init zsh)"
fi
-20
View File
@@ -1,20 +0,0 @@
# ── macOS-specific shell config ───────────────────────────────────────────────
# Sourced automatically from .zshrc / .bashrc on Darwin hosts only.
# Homebrew
eval "$(/opt/homebrew/bin/brew shellenv)" 2>/dev/null
export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:$PATH"
# Antigravity
export PATH="/Users/jsarthak/.antigravity/antigravity/bin:$PATH"
# Flutter SDK
export PATH="/Users/jsarthak/flutter-sdk/flutter/bin:$PATH"
export PATH="/Users/jsarthak/.local/bin:$PATH"
# fzf shell integration (macOS path)
source <(fzf --zsh) 2>/dev/null || true
# macOS convenience aliases
alias finder="open -a Finder ."
alias brewup="brew update && brew upgrade && brew cleanup"
+1
View File
@@ -0,0 +1 @@
.*
+49
View File
@@ -0,0 +1,49 @@
#---------------------------------- Alias -----------------------------------------
alias gsim-gui='/opt/tools/bin/gsim-gui'
alias devops-legacy='source /opt/tools/bin/6500-devops activate'
alias st="ssh 10.185.100.64"
#--------------------------------- Exports ---------------------------------------
export PATH=/opt/tools/bin/:$PATH
export PATH=/opt/tools/swtools/omeBaseTools/latest/:$PATH
export PATH=/localdisk/archive/git-cheat/:$PATH
export PATH=$HOME/toolkit/bin/:$PATH
export PATH=/home/sarjain/.cargo/bin:$PATH
export PATH=/nfs/projects/verif/ome/automain:$PATH
export PATH=/home/sarjain/scripts/:$PATH
export PATH=/home/sarjain/.local/bin/:$PATH
export PATH=/localdisk/usr/neovim/bin/:$PATH
export NTCADHOME=/opt/tools
export PATH=/usr/lab/bin:/localdisk/pne6.9/trunk/components/windml-5.3/host/x86-linux2/bin:/localdisk/pne6.9/trunk/components/webservices-1.8/host/x86-linux2/bin:/localdisk/pne6.9/trunk/components/wrll-wrsnmp/packages/wrsnmp-10.3/host/x86-linux2/bin:/localdisk/pne6.9/trunk/components/webcli-4.9/host/x86-linux2/bin:/localdisk/pne6.9/trunk/components/ip_net2-6.9/host/x86-linux2/bin:/localdisk/pne6.9/trunk/vxworks-6.9//host/x86-linux2/bin:/localdisk/pne6.9/trunk/vxworks-6.9//vxtest/src/scripts:/localdisk/pne6.9/trunk/vxworks-6.9//host/binutils/x86-linux2/bin:/localdisk/pne6.9/trunk:/localdisk/pne6.9/trunk/utilities-1.0/x86-linux2/bin:/localdisk/pne6.9/trunk/workbench-3.3/foundation/x86-linux2/bin:/localdisk/pne6.9/trunk/workbench-3.3/wrsysviewer/host/x86-linux2/bin:/localdisk/pne6.9/trunk/workbench-3.3/wrwb/platform/x86-linux2/eclipse:/localdisk/pne6.9/trunk/workbench-3.3/analysis/host/bin/x86-linux2:/localdisk/pne6.9/trunk/workbench-3.3/x86-linux2/bin:/localdisk/pne6.9/trunk/lmapi-5.0/x86-linux2/bin:/opt/tools/wh/dtd/RHE-5/wr_vxworks_gnu/4.3.3-vxworks-6.9/x86-linux2/bin:/localdisk/pne6.9/trunk/intel/20110124-vxworks-6.9/x86-linux2/bin/ia32:/opt/tools/wh/dtd/RHE-5/wr_vxworks_diab/5.9.1.0/diab/5.9.1.0/LINUX386/bin:/opt/tools/swtools/anaconda/6500/envs/linux-64/devops/bin:/opt/tools/swtools/6500/devutils/bin:/opt/tools/bin:/opt/tools/swtools/anaconda_envs/linux-64/devops/bin:/opt/tools/swtools/anaconda/pftools/condabin:/opt/vulcan/tools/equinox/latest/bin:/opt/vulcan/tools/vulcanbase/0.80/bin:/home/npawar/bin:/usr/lib64/qt-3.3/bin:/usr/lib64/ccache:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/tools/swtools/omeBaseTools/latest:/opt/rational/clearcase/bin:/nfs/projects/cmtools/neu/bin:/nfs/projects/cmtools/bin:/usr/lab/bin:/nfs/projects/equinox/insight/SSIM/latest/bin:/nfs/projects/om_swdev/vkdbg/bin:/nfs/projects/verif/ome/automain:/nfs/projects/equinox/bin:/nfs/projects/aladdin/bin:/nfs/projects/pegasus/bin:/opt/mce/bin:/usr/pde/bin:/nfs/projects/equinox/fast_desktop_analysis/bin:$PATH
export PATH=/home/sarjain/usr/lab/bin/:$PATH
export PATH=/home/sarjain/.local/bin/:$PATH
export PATH=/home/sarjain/.local/neovim/bin/:$PATH
#------
# Check if the current shell is Bash
if [[ -n "$BASH_VERSION" ]]; then
source /opt/tools/swtools/git-completion/git-completion.bash #added by 6500gitsetup
source /opt/tools/bin/go-devops
#--------------------------------- Set bash prompt -------------------------------
# export PS1="\e[1;32m\h\e[0m:\e[1;34m\w\e[0m\n$ "
#
#
#--- DevOps Shell
eval "$(starship init bash)"
fi
if [[ -n "$ZSH_VERSION" ]]; then
bash -c 'source /opt/tools/bin/go-devops && env' | while IFS='=' read -r key value; do
if [[ "$key" =~ ^[A-Za-z_][A-Za-z0-9_]*$ ]]; then
export "$key=$value"
fi
done
bash -c 'source /opt/tools/swtools/git-completion/git-completion.bash && env' | while IFS='=' read -r key value; do
if [[ "$key" =~ ^[A-Za-z_][A-Za-z0-9_]*$ ]]; then
export "$key=$value"
fi
done
fi
+58 -78
View File
@@ -1,7 +1,5 @@
# starship.toml - Fully riced modern prompt config aligned with Carbonfox theme
format = """
$os$username$hostname$directory$git_branch$git_state$git_status$cmd_duration$line_break\
$username$hostname$directory$git_branch$git_state$git_status$cmd_duration$line_break\
$character"""
# Wait 10 milliseconds for starship to check files under the current directory.
@@ -10,93 +8,75 @@ scan_timeout = 10
# Disable the blank line at the start of the prompt
add_newline = true
# # Define custom colors
# [palettes.foo]
# # Overwrite existing color
# blue = '21'
# # Define new color
# mustard = '#af8700'
[directory]
style = "purple"
truncation_length = 3
format = ': [$path]($style)[$read_only]($read_only_style) '
truncation_symbol = ".../"
truncate_to_repo =true
[character]
success_symbol = '[](bold green)'
# success_symbol = '[➜](bold green)'
error_symbol = '[✗](bold purple) '
vimcmd_symbol = "[](green)"
[git_branch]
symbol = '🌱 '
# truncation_length = 4
truncation_symbol = ''
format = '[$symbol$branch]($style) '
[git_status]
conflicted = '🏳'
ahead = '🏎💨'
behind = '😰'
diverged = '😵'
up_to_date = '✓'
untracked = '🤷'
stashed = '📦'
modified = '📝'
staged = '[++\($count\)](green)'
renamed = '👅'
deleted = '🗑'
[git_state]
format = '[\($state( $progress_current of $progress_total)\)]($style) '
cherry_pick = '[🍒 PICKING](bold red)'
[cmd_duration]
min_time = 100
format = 'underwent [$duration](bold yellow)'
[os]
disabled = false
style = "bold white"
[username]
style_user = "bold purple" # Use terminal purple
style_root = "bold red"
format = "[$user]($style)"
style_user = 'white bold'
style_root = 'black bold'
format = '[$user]($style) '
disabled = false
show_always = true
[hostname]
ssh_only = false
style = "bold cyan" # Use terminal cyan
format = "@[$hostname]($style) "
format = '@(bold blue) [$hostname](bold red) '
trim_at = '.ciena.com'
disabled = false
[directory]
style = "bold blue" # Use terminal blue
format = "in [ $path]($style)[$read_only]($read_only_style) "
truncation_length = 3
truncation_symbol = "…/"
truncate_to_repo = true
read_only = " 󰌾"
read_only_style = "bold red"
[character]
success_symbol = "[](bold green)" # Use terminal green
error_symbol = "[](bold red)" # Use terminal red
vimcmd_symbol = "[](bold cyan)" # Use terminal cyan
[git_branch]
symbol = "🌱 "
style = "bold red" # Use terminal red
format = "on [$symbol $branch]($style) "
truncation_symbol = ""
[git_status]
style = "bold red"
format = "([$all_status $ahead_behind]($style) )"
conflicted = "🏳"
ahead = "🏎💨"
behind = "😰"
diverged = "😵"
untracked = "🤷"
stashed = "📦"
modified = "📝"
staged = '[++\($count\)](green)'
renamed = "👅"
deleted = "🗑"
[git_state]
format = "([$state( $progress_current of $progress_total)]($style) )"
cherry_pick = "[🍒 PICKING](bold red)"
[python]
symbol = "🐍 "
style = "bold green"
format = "via [$symbol$version]($style) "
[nodejs]
symbol = " "
style = "bold green"
format = "via [$symbol$version]($style) "
[rust]
symbol = "🦀 "
style = "bold yellow"
format = "via [$symbol$version]($style) "
[golang]
symbol = " "
style = "bold blue"
format = "via [$symbol$version]($style) "
[cmd_duration]
min_time = 100
style = "bold yellow"
format = "took [$duration]($style) "
[status]
style = "bg:blue"
symbol = "🔴 "
success_symbol = "🟢 SUCCESS"
format = '[[\[$symbol$common_meaning$signal_name$maybe_int\]]($style) ]'
style = 'bg:blue'
symbol = '🔴 '
success_symbol = '🟢 SUCCESS'
format = '[\[$symbol$common_meaning$signal_name$maybe_int\]]($style) '
map_symbol = true
disabled = true
disabled = false
[conda]
format = "[$symbol$environment]($style) "
+84 -75
View File
@@ -71,49 +71,40 @@ tmux_conf_24b_colour=auto
# - tmux_conf_theme_synchronized
tmux_conf_theme=enabled
# Classic Monokai Color Palette
color_bg="#272822"
color_fg="#f8f8f2"
color_black="#1e1f1c"
color_gray="#3e3d32"
color_light_gray="#75715e"
color_red="#f92672"
color_green="#a6e22e" # Monokai Green (Session & Normal)
color_teal="#a6e22e" # Monokai Green
color_blue="#66d9ef" # Monokai Cyan/Blue
color_purple="#ae81ff" # Monokai Purple (Host & Visual)
color_cyan="#66d9ef" # Monokai Cyan (Active Window)
color_yellow="#e6db74" # Monokai Yellow (Date/Time)
color_white="#f8f8f2"
color_yellow="yellow"
color_reg="red"
color_green="green"
color_teal="teal"
color_white="white"
color_pink="pink"
color_black="black"
color_blue="blue"
color_mauve="#FFE3E3"
color_offwhite="#F9F9F2"
color_grey="grey"
color_accent="$color_cyan" # Active window is Monokai Cyan
color_accent="blue"
color_primary="default"
color_secondary="$color_gray"
color_fg_primary="$color_fg"
color_fg_secondary="$color_white"
# Curve variables bound to palette colors
color_blue_curve="$color_purple"
color_cyan_curve="$color_yellow"
color_purple_curve="$color_purple"
color_secondary="$color_grey"
color_fg_primary="default"
color_fg_secondary="$color_offwhite"
window_status_current_bg="default"
window_status_current_fg="$color_accent"
theme_mode_bg="$color_accent"
theme_mode_fg="$color_bg"
theme_mode_fg="$color_fg_primary"
tmux_conf_theme_window_fg="#a5afc2"
tmux_conf_theme_window_fg="$color_fg_primary"
# window style
tmux_conf_theme_window_bg="default"
# highlight focused pane, possible values are:
# - true
# - false (default)
tmux_conf_theme_highlight_focused_pane=true
tmux_conf_theme_highlight_focused_pane=false
# focused pane colours:
tmux_conf_theme_focused_pane_fg="#f2f4f8"
tmux_conf_theme_focused_pane_bg="default"
# pane border style, possible values are:
@@ -181,7 +172,7 @@ tmux_conf_theme_window_status_attr="none"
# tmux_conf_theme_window_status_format="#I #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}"
#tmux_conf_theme_window_status_format="#{circled_window_index} #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}"
# tmux_conf_theme_window_status_format=" #I: #(despell -e #W) #W #{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,🔔,}#{?window_zoomed_flag,🔍,}"
tmux_conf_theme_window_status_format="#[fg=$color_light_gray,bg=default]#I: #(bash $HOME/dotfiles/tmux/tmux-window-name.sh '#W' '#{pane_current_path}')#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,🔔,}#{?window_zoomed_flag,🔍,}"
tmux_conf_theme_window_status_format=" #I:#W #{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,🔔,}#{?window_zoomed_flag,🔍,}"
# window current status style
# - built-in variables are:
@@ -196,7 +187,7 @@ tmux_conf_theme_window_status_format="#[fg=$color_light_gray,bg=default]#I: #(ba
# tmux_conf_theme_window_status_current_format="#I #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}"
#tmux_conf_theme_window_status_current_format="#{circled_window_index} #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}"
# tmux_conf_theme_window_status_current_format="#I: #(despell -e #W) #[fg=$tmux_conf_theme_window_status_current_fg]#W*#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,🔔,}#{?window_zoomed_flag,🔍,}"
tmux_conf_theme_window_status_current_format="#[fg=$color_accent,bg=default,bold]#I: #(bash $HOME/dotfiles/tmux/tmux-window-name.sh '#W' '#{pane_current_path}')#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,🔔,}#{?window_zoomed_flag,🔍,}"
tmux_conf_theme_window_status_current_format="#I:#[fg=$tmux_conf_theme_window_status_current_fg]#W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,🔔,}#{?window_zoomed_flag,🔍,}"
tmux_conf_theme_window_status_current_fg="$window_status_current_fg"
tmux_conf_theme_window_status_current_bg="$window_status_current_bg"
@@ -219,9 +210,9 @@ tmux_conf_theme_window_status_last_attr="bold"
# status left/right sections separators
tmux_conf_theme_left_separator_main=""
tmux_conf_theme_left_separator_sub=""
tmux_conf_theme_left_separator_sub="|"
tmux_conf_theme_right_separator_main=""
tmux_conf_theme_right_separator_sub=""
tmux_conf_theme_right_separator_sub="\u2022"
# tmux_conf_theme_left_separator_main='\uE0B0' # /!\ you don't need to install Powerline
# tmux_conf_theme_left_separator_sub='\uE0B1' # yku only need fonts patched with
# tmux_conf_theme_right_separator_main='\uE0B2' # Powerline symbols or the standalone
@@ -256,19 +247,18 @@ tmux_conf_theme_right_separator_sub=""
# - #{username}
# - #{username_ssh}
tmux_conf_theme_status_left=" #[fg=$color_teal,bg=default,bold]❐ #S #[fg=$color_gray,bg=default,none]│"
tmux_conf_theme_status_left=" [#S]"
tmux_conf_theme_status_right=" #{prefix}#{mouse}#{pairing}#{synchronized} |\u2022 #{username}#{root} |\u2022 #{hostname} |\u2022 ↑ #{?uptime_y, #{uptime_y}y,}#{?uptime_d, #{uptime_d}d,}#{?uptime_h, #{uptime_h}h,}#{?uptime_m, #{uptime_m}m,} "
# status left style
tmux_conf_theme_status_left_fg="default"
tmux_conf_theme_status_left_bg="default"
tmux_conf_theme_status_left_attr="none"
tmux_conf_theme_status_right=" #{prefix}#{mouse}#{pairing}#{synchronized}#{@mode_indicator} | #[fg=$color_fg,bg=default,none]󰔚 #{?uptime_d,#{uptime_d}d,}#{?uptime_h,#{uptime_h}h,}#{?uptime_m,#{uptime_m}m,} #[fg=$color_gray]│ #[fg=$color_cyan,bg=default,bold]󱑒 %d %b %H:%M #[fg=$color_gray]│ #[fg=$color_purple,bg=default,bold]󰊪 #{username}#{root}@#{hostname}"
tmux_conf_theme_status_left_fg="$color_black,$color_fg_primary,$color_fg_primary"
tmux_conf_theme_status_left_bg="$color_primary,$color_primary,$color_primary"
tmux_conf_theme_status_left_attr="bold,none,none"
# status right style
tmux_conf_theme_status_right_fg="$color_red,$color_fg"
tmux_conf_theme_status_right_bg="default,default"
tmux_conf_theme_status_right_attr="bold,none"
tmux_conf_theme_status_right_fg="$color_fg_primary,$color_fg_primary,$color_fg_primary,$color_fg_primary"
tmux_conf_theme_status_right_bg="$color_primary,$color_primary,$color_primary,$color_primary"
tmux_conf_theme_status_right_attr="bold,none,bold,none"
# pairing indicator
tmux_conf_theme_pairing="⚇" # U+2687
@@ -277,14 +267,14 @@ tmux_conf_theme_pairing_bg="none"
tmux_conf_theme_pairing_attr="none"
# prefix indicator
tmux_conf_theme_prefix="󰘳 "
tmux_conf_theme_prefix_fg="$color_red"
tmux_conf_theme_prefix="⌨" # U+2328
tmux_conf_theme_prefix_fg="none"
tmux_conf_theme_prefix_bg="none"
tmux_conf_theme_prefix_attr="bold"
tmux_conf_theme_prefix_attr="none"
# mouse indicator
tmux_conf_theme_mouse="󰍽 "
tmux_conf_theme_mouse_fg="$color_teal"
tmux_conf_theme_mouse="↗" # U+2197
tmux_conf_theme_mouse_fg="none"
tmux_conf_theme_mouse_bg="none"
tmux_conf_theme_mouse_attr="none"
@@ -295,8 +285,8 @@ tmux_conf_theme_root_bg="none"
tmux_conf_theme_root_attr="bold,blink"
# synchronized indicator
tmux_conf_theme_synchronized="󰓦 "
tmux_conf_theme_synchronized_fg="$color_green"
tmux_conf_theme_synchronized="⚏" # U+268F
tmux_conf_theme_synchronized_fg="none"
tmux_conf_theme_synchronized_bg="none"
tmux_conf_theme_synchronized_attr="none"
@@ -360,41 +350,38 @@ tmux_conf_urlscan_options="--compact --dedupe"
# -- user customizations -------------------------------------------------------
# Source modular configurations
source-file "$HOME/dotfiles/tmux/config/settings.conf"
source-file "$HOME/dotfiles/tmux/config/keybindings.conf"
# this is the place to override or undo settings
set-option -g detach-on-destroy off
setw -g window-status-separator " #[fg=#484848]• " #!important
# increase history size
set -g history-limit 99999999
set status-bg default
# ── Auto-name sessions (emoji + codename) ─────────────────────────────────────
# Fires on every new session. Skips sessions the user explicitly named.
# Script lives in ~/dotfiles/scripts/tmux-session-name.sh
# set-hook -g session-created \
# 'run-shell "bash $HOME/dotfiles/scripts/tmux-session-name.sh \"#{session_name}\" \"#{session_id}\""'
# start with mouse mode enabled
set -g mouse on
# ── Mode indicator (always-on, Neovim-style) ──────────────────────────────────
# NORMAL = working in tmux (default, always visible)
# VISUAL = in copy-mode (prefix + Enter)
#
# #{@mode_indicator} is a window user-option set via pane-mode-changed hook.
# We use -F flag so #{pane_in_mode} is evaluated as a tmux format (1=in mode).
# This bypasses oh-my-tmux's awk pipeline which mangles inline #{?...} conditionals.
# Allow tmux to understand and pass through color queries
set -as terminal-overrides ",xterm*:Tc"
set -as terminal-overrides ",xterm*:RGB"
# Set NORMAL as the default on startup
set-window-option -g @mode_indicator "#[fg=#25be6a,bold] NORMAL "
# force Vi mode
# really you should export VISUAL or EDITOR environment variable, see manual
set -g status-keys vi
set -g mode-keys vi
# Switch between NORMAL and VISUAL whenever the pane mode changes
set-hook -g pane-mode-changed \
'if-shell -F "#{pane_in_mode}" \
"set-window-option -g @mode_indicator \"#[fg=#78a9ff,bold] VISUAL \"" \
"set-window-option -g @mode_indicator \"#[fg=#25be6a,bold] NORMAL \""'
# replace C-b by C-a instead of using both prefixes
set -gu prefix2
unbind C-a
unbind C-b
set -g prefix C-a
bind C-a send-prefix
# ── Per-machine local override (untracked) ────────────────────────────────────
# Create ~/.tmux.conf.machine.local on each machine for host-specific tweaks
# (e.g. different color scheme, right-side content, etc.)
if-shell 'test -f ~/.tmux.conf.machine.local' \
'source-file ~/.tmux.conf.machine.local'
unbind -T copy-mode-vi MouseDragEnd1Pane
# if you don't want Oh my tmux! to alter a binding, use #!important
# bind c new-window -c '#{pane_current_path}' #!important
# move status line to top
set -g status-position bottom
# -- tpm -----------------------------------------------------------------------
@@ -438,6 +425,28 @@ set -g @plugin 'tmux-plugins/tmux-resurrect'
#set -g @continuum-restore 'on'
set -g @plugin 'tmux-plugins/tmux-logging'
# switch windows alt+number
bind-key -n M-1 select-window -t 1
bind-key -n M-2 select-window -t 2
bind-key -n M-3 select-window -t 3
bind-key -n M-4 select-window -t 4
bind-key -n M-5 select-window -t 5
bind-key -n M-6 select-window -t 6
bind-key -n M-7 select-window -t 7
bind-key -n M-8 select-window -t 8
bind-key -n M-9 select-window -t 9
# Toggle popup window with Ctrl+
bind-key -n -N 'Toggle popup window' M-p if-shell -F '#{==:#{session_name},popup}' {
detach-client
} {
display-popup -d "#{pane_current_path}" -xC -yC -w 70% -h 65% -E 'tmux attach-session -t popup || tmux new-session -s popup'
}
bind-key -n M-f "tmux-sessionizer\n"
# Set alignment
set -g status-justify left
# set -g status-style fg=default,bg=default
# set mode-style "fg=black,bg=default"
# -- custom variables ----------------------------------------------------------
# to define a custom #{foo} variable, define a POSIX shell function between the
-67
View File
@@ -1,67 +0,0 @@
# ==============================================================================
# TMUX KEYBINDINGS
# ==============================================================================
# Prefix key override: change from C-b to C-a
set -gu prefix2
unbind C-a
unbind C-b
set -g prefix C-a
bind C-a send-prefix
# Fast window switching with Alt + Number
bind-key -n M-1 select-window -t 1
bind-key -n M-2 select-window -t 2
bind-key -n M-3 select-window -t 3
bind-key -n M-4 select-window -t 4
bind-key -n M-5 select-window -t 5
bind-key -n M-6 select-window -t 6
bind-key -n M-7 select-window -t 7
bind-key -n M-8 select-window -t 8
bind-key -n M-9 select-window -t 9
# Toggle centered popup scratch terminal with Alt + p
bind-key -n -N 'Toggle popup window' M-p if-shell -F '#{==:#{session_name},popup}' {
detach-client
} {
display-popup -d "#{pane_current_path}" -xC -yC -w 70% -h 65% -E 'tmux attach-session -t popup || tmux new-session -s popup'
}
# Run tmux-sessionizer with Alt + f
bind-key -n M-f send-keys "tmux-sessionizer\n"
# Sleek centered FZF popup search overlays (requires fzf)
# Alt-s: Fuzzy search and switch sessions in popup
bind-key -n M-s display-popup -w 65% -h 50% -E "tmux list-sessions | fzf --reverse --header='Jump to Session' | cut -d: -f1 | xargs tmux switch-client -t"
# Alt-w: Fuzzy search and switch windows in popup
bind-key -n M-w display-popup -w 75% -h 60% -E "tmux list-windows -a -F '#{session_name}:#{window_index} - #{window_name}' | fzf --reverse --header='Jump to Window' | cut -d' ' -f1 | xargs tmux select-window -t"
# ==============================================================================
# COPY MODE (VI MODE) & INSTANT STATUS REDRAW
# ==============================================================================
# Force immediate status redraw when entering copy mode
bind-key [ copy-mode \; refresh-client -S
# vi-copy navigation and selection bindings with instant status bar update
bind-key -T copy-mode-vi v send-keys -X begin-selection \; refresh-client -S
bind-key -T copy-mode-vi V send-keys -X select-line \; refresh-client -S
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle \; refresh-client -S
bind-key -T copy-mode-vi q send-keys -X cancel \; refresh-client -S
bind-key -T copy-mode-vi Escape send-keys -X cancel \; refresh-client -S
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel \; refresh-client -S
# Mouse Drag Selection: copy to clipboard and redraw instantly without leaving copy-mode
unbind -T copy-mode-vi MouseDragEnd1Pane
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-selection-and-cancel \; refresh-client -S
# ==============================================================================
# PANE NAVIGATION & RESIZING OVERRIDES (NO PREFIX)
# ==============================================================================
# Resize panes using Shift + Arrow keys
bind -n S-Left resize-pane -L 2
bind -n S-Right resize-pane -R 2
bind -n S-Up resize-pane -U 2
bind -n S-Down resize-pane -D 2
-49
View File
@@ -1,49 +0,0 @@
# ==============================================================================
# TMUX GENERAL SETTINGS
# ==============================================================================
# Detach behavior: keep tmux alive when closing the last window/pane in a session
set-option -g detach-on-destroy off
# Increase scrollback history limit
set -g history-limit 99999999
# Enable mouse mode (scrolling, selecting, pane resizing)
set -g mouse on
# Terminal colors and overrides: pass through truecolor support
set -as terminal-overrides ",xterm*:Tc"
set -as terminal-overrides ",xterm*:RGB"
set -as terminal-overrides ",alacritty:Tc"
set -as terminal-overrides ",kitty:Tc"
set -as terminal-overrides ",wezterm:Tc"
# Force VI mode for command status line and pane navigation/copy mode
set -g status-keys vi
set -g mode-keys vi
# Keep the status line positioned at the bottom
set -g status-position bottom
# Left-justify the window list and set a subtle dot separator between windows
set -g status-justify left
setw -g window-status-separator " #[fg=#484848]• "
# ==============================================================================
# PANE STYLING & BORDER STATUS LINE
# ==============================================================================
# Custom pane border colors
set -g pane-border-style "fg=#353535,bg=default"
set -g pane-active-border-style "fg=#78a9ff,bg=default"
# Disable status line on the pane borders
set -g pane-border-status off
# ==============================================================================
# POPUP WINDOW STYLING
# ==============================================================================
# Make popups transparent
set -g popup-style "bg=default"
set -g popup-border-style "fg=#353535,bg=default"
-86
View File
@@ -1,86 +0,0 @@
#!/bin/bash
# tmux-window-name.sh - Auto emoji/icon plugin replacement for tmux window titles
# Zero dependencies, fast shell-based script mapping commands to Nerd Font glyphs.
cmd="$1"
path="$2"
# Get basename of the directory
base_dir=$(basename "$path")
if [ "$base_dir" = "$USER" ]; then
base_dir="~"
fi
icon=""
name="$cmd"
case "$cmd" in
zsh|bash|sh|fish|ksh)
icon=""
name="$base_dir"
;;
nvim|vim|vi)
icon=""
name="nvim ($base_dir)"
;;
emacs)
icon=""
name="emacs ($base_dir)"
;;
git|lazygit|gh)
icon=""
name="${cmd} ($base_dir)"
;;
node|npm|yarn|pnpm|bun)
icon=""
name="${cmd} ($base_dir)"
;;
python|python3|pip|ipython)
icon=""
;;
docker|docker-compose|lazydocker)
icon=""
name="${cmd} ($base_dir)"
;;
cargo|rustc|rustup)
icon=""
name="${cmd} ($base_dir)"
;;
go)
icon=""
;;
htop|top|btop)
icon="󰓅"
;;
curl|wget)
icon="󰖟"
;;
man)
icon="󰈦"
;;
less|more)
icon="📄"
;;
make|cmake|just)
icon="🛠️"
;;
ssh|scp|sftp|mosh-client|mosh)
icon="🔑"
;;
sudo)
icon="🔒"
;;
terraform|tofu)
icon="󱁢"
name="${cmd} ($base_dir)"
;;
grep|rg|find|fd)
icon="🔍"
;;
sleep)
icon="💤"
;;
esac
# Output the formatted name
echo "$icon $name"
+9 -18
View File
@@ -103,26 +103,17 @@ fi
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
export PATH="/Users/jsarthak/flutter-sdk/flutter/bin:$PATH"
# ── Shared shell config ────────────────────────────────────────────────────────────────
[[ -f ~/.config/shell/common ]] && source ~/.config/shell/common
[[ -f ~/.config/shell/personal ]] && source ~/.config/shell/personal
[[ -f ~/.config/shell/aliases ]] && source ~/.config/shell/aliases
source <(fzf --zsh)
# Added by Antigravity
export PATH="/Users/jsarthak/.antigravity/antigravity/bin:$PATH"
export PATH="/Users/jsarthak/flutter-sdk/flutter/bin:$PATH"
export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:$PATH"
source $HOME/dotfiles/shell/common
source $HOME/dotfiles/shell/personal
source $HOME/dotfiles/shell/aliases
MANPAGER="col -b | cat"
MANROFFOPT="-P-c"
eval "$(zoxide init zsh)"
# ── Strategy 1: Dynamic Runtime Sourcing ─────────────────────────────────────────
# Detect OS and source the matching platform overlay.
# macos → shell/.config/shell/macos (Homebrew, Flutter, fzf, Antigravity)
# linux → shell/.config/shell/linux (xdg-open, xclip, fzf)
case "$(uname -s)" in
Darwin) [[ -f ~/.config/shell/macos ]] && source ~/.config/shell/macos ;;
Linux) [[ -f ~/.config/shell/linux ]] && source ~/.config/shell/linux ;;
esac
# ── Per-machine local override (untracked) ──────────────────────────────────
# Create ~/.zshrc.local on each machine for secrets / profile sourcing.
# On work machines: export DOTFILES_PROFILE=work && source ~/.config/shell/work
[[ -f ~/.zshrc.local ]] && source ~/.zshrc.local