]> git.immae.eu Git - perso/Immae/Config/Ansible.git/blob - roles/contexts/fretlink/files/scripts/fl_tmux_dev
ca89e27cea3aace87f9d01d8dece165436095489
[perso/Immae/Config/Ansible.git] / roles / contexts / fretlink / files / scripts / fl_tmux_dev
1 #!/bin/bash
2
3 type="${1:-bash}"
4 if [ -n "$TMUX" ]; then
5 m=switch-client
6 else
7 m=attach-session
8 fi
9
10 case "$type" in
11 "bash") start_dir="$HOME";;
12 "remote") start_dir="$HOME";;
13 "puppet") start_dir="/etc/puppetlabs/code"
14 esac
15
16 if tmux has-session -t "$type" 2>/dev/null; then
17 tmux $m -t "$type"
18 else
19 if [ "$type" = "remote" ]; then
20 tmux new-session -d -c $start_dir -s "$type" mosh immae.eu \; \
21 $m -t "$type"
22 elif [ -n "$start_dir" ]; then
23 tmux new-session -d -c $start_dir -s "$type" \; \
24 $m -t "$type" \; \
25 new-window -c $start_dir
26 elif [ -d "$HOME/workdir/$type" ]; then
27 tmux new-session -d -c "$HOME/workdir/$type" -s "$type" \; \
28 $m -t "$type" \; \
29 send-keys "../start" C-m \; \
30 rename-window "running" \; \
31 new-window -c "$HOME/workdir/$type"
32 else
33 echo "Unknown session" >&2
34 exit 1
35 fi
36 fi