Compare commits

..

1 Commits

View File

@@ -0,0 +1,45 @@
function __create_session
set session "process-compose"
set dir "/home/tgrosinger/obsidian"
if not tmux has-session -t "$session" 2>/dev/null
# Unset any devbox environment variables so they can be re-sourced
# in the new directory.
set -l shell env
for var in (set --names --export | string match 'DEVBOX_*')
set -a shell -u $var
end
set -a shell (command -s fish) --login
tmux new-session -d -s "$session" -c "$dir" -n dev $shell
# Ensure that new panes in this session also start with the clean environment.
tmux set-option -t "$session" default-command (string join ' ' -- $shell)
set -l left (tmux display-message -t "$session:dev" -p '#{pane_id}')
tmux split-window -h -t "$left" -c "$dir" $shell
set -l right (tmux display-message -t "$session:dev" -p '#{pane_id}')
tmux send-keys -t "$left" 'devbox services attach' Enter
tmux select-pane -t "$right"
end
end
function __attach_session
set session "process-compose"
if test -z "$TMUX"
tmux attach-session -t "$session"
else
set -l current_session (tmux display-message -p '#S')
if test "$current_session" != "$session"
tmux switch-client -t "$session"
end
end
end
function pc -d "Create and attach to a tmux session for process compose in Obsidian"
__create_session
__attach_session
end