# delete server bin [private] server_clean: rm server # delete client bin [private] client_clean: rm client # delete binaries clean: server_clean client_clean # build server bin server: go build server.go # build client bin client: go build client.go # build both bins build: client server # delete binaries and make them again rebuild: clean build # install server ins_server: #!/usr/bin/bash echo "enter port of server or leave blank to use default (1300)" read PORT if [[ $PORT -ne "" ]]; then sed -i -e "s/1300/$PORT/" server.go fi echo "go build -o ekho_server server.go" go build -o ekho_server server.go echo "mv ekho_server /usr/local/bin/" mv ekho_server /usr/local/bin/ USER=($(users)) sed -i -e "s/USER/${USER[0]}/" ekho.service echo "cp ekho.service /etc/systemd/system/" cp ekho.service /etc/systemd/system/ mkdir -p ~/.config/ekho echo "ln -s -r ./list.q ~/.config/ekho/list.q" ln -s -r ./list.q ~/.config/ekho/list.q echo "systemctl daemon-reload" systemctl daemon-reload echo "systemctl enable ekho" systemctl enable ekho echo "systemctl start ekho" systemctl start ekho echo "systemctl status ekho" systemctl status ekho # install client ins_client: #!/usr/bin/bash echo "enter url or ip and port of server, 'aaa.bbb.ccc.ddd:port" read IP_PORT sed -i -e "s/:1300/$IP_PORT/" client.go echo "go build -o ekho client.go" go build -o ekho client.go sed -i -e "s/$IP_PORT/:1300/" client.go echo "mv ekho /usr/local/bin/" mv ekho /usr/local/bin/ echo "add 'ekho' to shell config (config.fish, .bashrc, etc)" # test server stest: @echo "creating server test session" @tmux new-session -Ad -s "server test" @tmux split-window -h -t "server test:1" -l 10% @tmux split-window -v -t "server test:1.2" @tmux send-keys -t "server test:1.1" "clear" Enter @tmux send-keys -t "server test:1.2" "clear" Enter @tmux send-keys -t "server test:1.3" "clear" Enter @tmux rename-window "server test" @tmux send-keys -t "server test:1.1" "vim server.go" Enter @tmux send-keys -t "server test:1.2" "./server" @tmux send-keys -t "server test:1.3" "./client" @tmux attach -t "server test" # test client ctest: @echo "creating client test session" @tmux new-session -Ad -s "client test" @tmux split-window -h -t "client test:1" -l 10% @tmux split-window -v -t "client test:1.2" @tmux send-keys -t "client test:1.1" "clear" Enter @tmux send-keys -t "client test:1.2" "clear" Enter @tmux send-keys -t "client test:1.3" "clear" Enter @tmux rename-window "client test" @tmux send-keys -t "client test:1.1" "vim client.go" Enter @tmux send-keys -t "client test:1.2" "./server" Enter @tmux send-keys -t "client test:1.3" "./client" @tmux attach -t "client test" # dev work dev: #!/usr/bin/bash REPO=$(basename $(git rev-parse --show-toplevel)) BRANCH=$(git branch --show-current) tmux has-session -t "$REPO->$BRANCH" if [[ $? -eq 0 ]]; then tmux attach-session -t "$REPO->$BRANCH" else tmux new-session -Ad -s "$REPO->$BRANCH" tmux rename-window "write" tmux new-window -a -t 1 -n "test" tmux new-window -a -t 2 -n "git" lazygit tmux new-window -a -t 3 -n "man" tmux select-window -t 2 tmux select-window -t 1 tmux attach -t "$REPO->$BRANCH" fi # prep repo to be committed prep: mv justfile test_justfile mv prod_justfile justfile