#!/usr/share/env bin DOCKER_LOCATION="$HOME/.config/yolk/eggs/localai" function _docker_run() { # 1: up/down/.. cd $DOCKER_LOCATION extra_flags=() if [ $1 = "up" ]; then extra_flags+=("-d") fi docker compose $1 $extra_flags cd - > /dev/zero } function _zed_replace() { # 1: true/false/.. sed --follow-symlinks -i "s/\"disable_ai\":.*/\"disable_ai\": ${1},/" $HOME/.config/yolk/eggs/zed/settings.json } function show_usage() { echo "Usage: $0 [--help] [command]" echo "[command]" echo " on: Turn AI features on" echo " off: Turn AI features off" echo " toggle: Toggle AI" echo " status: Get curent status based on docker" } function turn_on() { _docker_run up _zed_replace false } function turn_off() { _docker_run down _zed_replace true } function toggle() { if [ "$(get_status)" = "on" ];then turn_off else turn_on fi get_status } function get_status() { cd $DOCKER_LOCATION if [ "$(docker compose ps -q)" != "" ]; then echo "on" else echo "off" fi cd - > /dev/zero } if [ $# -eq 0 ]; then echo "Argument needet!"; show_usage; exit 1 fi for arg in "$@"; do case $arg in --help|-h) show_usage; exit 0 ;; on) turn_on; ;; off) turn_off; ;; status) get_status; ;; toggle) toggle; ;; *) echo "Unsuported: $arg"; show_usage; exit 1 ;; esac done