58 lines
1.7 KiB
Bash
58 lines
1.7 KiB
Bash
#!/bin/bash
|
|
# 1. Install & Set Fish
|
|
sudo dnf install -y fish byobu curl wl-clipboard
|
|
chsh -s /usr/bin/fish
|
|
|
|
# 2. SILENCE THE PROMPTS (The "Wtf" Fix)
|
|
mkdir -p ~/.byobu
|
|
byobu-ctrl-a emacs
|
|
|
|
# 3. Configure Byobu Core (Clean Paths)
|
|
byobu-enable
|
|
mkdir -p ~/.byobu/bin
|
|
# We REMOVED the -S flag to stop those random files appearing in your folders
|
|
echo "set -g default-shell /usr/bin/fish" > ~/.byobu/.tmux.conf
|
|
echo "set -g default-command /usr/bin/fish" >> ~/.byobu/.tmux.conf
|
|
echo "set -g mouse off" >> ~/.byobu/.tmux.conf
|
|
echo "set -s set-clipboard on" >> ~/.byobu/.tmux.conf
|
|
|
|
# 4. Create the Smart Mouse Indicator
|
|
cat <<EOF > ~/.byobu/bin/custom
|
|
#!/bin/bash
|
|
if tmux show-options -g mouse | grep -q "on"; then
|
|
echo "#[fg=green]MOUSE: ON (Nav)#[default]"
|
|
else
|
|
echo "#[fg=red]Alt+F12 (Copy Mode)#[default]"
|
|
fi
|
|
EOF
|
|
chmod +x ~/.byobu/bin/custom
|
|
|
|
# 5. Setup Status Bar
|
|
echo 'tmux_left="session"' > ~/.byobu/status
|
|
echo 'tmux_right="custom cpu_temp load_average"' >> ~/.byobu/status
|
|
|
|
# 6. Atuin Global History
|
|
if ! command -v atuin &> /dev/null; then
|
|
curl --proto '=https' --tlsv1.2 -sSf https://setup.atuin.sh | sh
|
|
fi
|
|
|
|
# 7. Final Fish Config (The Clean Sticky Logic)
|
|
mkdir -p ~/.config/fish
|
|
cat <<EOF > ~/.config/fish/config.fish
|
|
# Atuin Setup
|
|
source ~/.atuin/bin/env.fish
|
|
atuin init fish | source
|
|
|
|
# Start a UNIQUE session per window without cluttering project folders
|
|
if status is-interactive
|
|
and not set -q BYOBU_RUN_DIR
|
|
# We use a human-readable name: FolderName-Time
|
|
set SESSION_NAME (basename (pwd))-(date +%H%M)
|
|
exec byobu new-session -A -s "\$SESSION_NAME"
|
|
end
|
|
EOF
|
|
|
|
# Kill any existing server to wipe the old "socket" logic
|
|
byobu kill-server 2>/dev/null
|
|
echo "Done! No more random files in your project folders."
|