93 lines
2.7 KiB
Bash
Executable file
93 lines
2.7 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
IVIDEON_SESSION_NAME=Backend
|
|
PERSONAL_SESSION_NAME=Personal
|
|
OTHER_SESSION_NAME=Other
|
|
|
|
IVIDEON_REPO_ROOT_PATH="/home/user/Work/root"
|
|
|
|
change_dir_and_activate_root_env(){
|
|
# Get first argument and set True if not provided
|
|
local env_activate="${1:-True}"
|
|
|
|
# Go to project path
|
|
tmux send-keys "cd ${IVIDEON_REPO_ROOT_PATH}" C-m
|
|
|
|
if [[ "$env_activate" != "False" ]]; then
|
|
tmux send-keys "source /home/user/Work/root/venv/bin/activate" C-m
|
|
fi
|
|
|
|
# Clear terminal
|
|
tmux send-keys "clear" C-m
|
|
}
|
|
|
|
# Kill IVIDEON_SESSION_NAME if existst
|
|
tmux kill-ses -t "${IVIDEON_SESSION_NAME}"
|
|
tmux kill-ses -t "${PERSONAL_SESSION_NAME}"
|
|
tmux kill-ses -t "${OTHER_SESSION_NAME}"
|
|
|
|
# Create detached sesssion with default IDE window
|
|
tmux new-ses -d -s ${IVIDEON_SESSION_NAME} -n IDE
|
|
# Go to project path
|
|
change_dir_and_activate_root_env True
|
|
# Split IDE window in half
|
|
tmux split-window -v
|
|
change_dir_and_activate_root_env False
|
|
# Some resizing
|
|
tmux resize-pane -D 15
|
|
|
|
# Create additional windows
|
|
# Git manipulation window
|
|
tmux new-window -n cloud-env -t ${IVIDEON_SESSION_NAME}
|
|
# Go to project directory and acivate env
|
|
change_dir_and_activate_root_env
|
|
tmux send-keys "cd ${IVIDEON_REPO_ROOT_PATH}/ivideon/tests" C-m
|
|
tmux send-keys "clear" C-m
|
|
|
|
# Scripts manipulation window
|
|
tmux new-window -n Scripts -t ${IVIDEON_SESSION_NAME}
|
|
# Go to scripts directory
|
|
change_dir_and_activate_root_env False
|
|
|
|
# Bash manipulation window
|
|
tmux new-window -n Bash -t ${IVIDEON_SESSION_NAME}
|
|
change_dir_and_activate_root_env False
|
|
|
|
# Runners window
|
|
tmux new-window -n Lazydocker -t ${IVIDEON_SESSION_NAME}
|
|
change_dir_and_activate_root_env False
|
|
tmux send-keys "lazydocker" C-m
|
|
|
|
# Git window 1
|
|
tmux new-window -n "git->service" -t ${IVIDEON_SESSION_NAME}
|
|
change_dir_and_activate_root_env False
|
|
tmux send-keys "cd ${IVIDEON_REPO_ROOT_PATH}/ivideon/ivideon" C-m
|
|
|
|
# Git window 2
|
|
tmux new-window -n "git->tests" -t ${IVIDEON_SESSION_NAME}
|
|
change_dir_and_activate_root_env False
|
|
tmux send-keys "cd ${IVIDEON_REPO_ROOT_PATH}/ivideon/tests" C-m
|
|
|
|
# Git window 3
|
|
tmux new-window -n "git->api5" -t ${IVIDEON_SESSION_NAME}
|
|
tmux send-keys "cd ${IVIDEON_REPO_ROOT_PATH}/ivideon/api_concept" C-m
|
|
|
|
# ---- Session: Programming ----
|
|
|
|
# Create new session for personal use
|
|
tmux new-ses -d -s ${PERSONAL_SESSION_NAME} -n Programming
|
|
tmux new-window -n VPN -t ${PERSONAL_SESSION_NAME}
|
|
tmux new-window -n Obsidian -t ${PERSONAL_SESSION_NAME}
|
|
tmux send-keys "cd /home/user/Documents/t0xa_vault" C-m
|
|
|
|
# ---- Session: Other ----
|
|
|
|
# Create new session for other usecases use
|
|
tmux new-ses -d -s ${OTHER_SESSION_NAME} -n Other
|
|
tmux new-window -n CLI -t ${OTHER_SESSION_NAME}
|
|
change_dir_and_activate_root_env False
|
|
|
|
# ----- Attach to created environment -----
|
|
|
|
tmux attach -t "$IVIDEON_SESSION_NAME:IDE"
|
|
|