#!/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 < ~/.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 < ~/.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."