first commit
This commit is contained in:
57
i.sh
Normal file
57
i.sh
Normal file
@@ -0,0 +1,57 @@
|
||||
#!/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."
|
||||
Reference in New Issue
Block a user