dotfiles

My personal dotfiles
git clone git://pcardensab.com/dotfiles
Log | Files | Refs | Submodules | README

imca (2558B)


      1 #!/bin/bash -v
      2 
      3 mkdir -p ~/dox/dev/imca
      4 cd ~/dox/dev/imca
      5 
      6 # Clone repositories
      7 [ -d flask_imca/.git ] || git clone git@gitlab.com:pablo-cardenas/flask_imca.git flask_imca
      8 [ -d webpack-imca/.git ] || git clone git@gitlab.com:pablo-cardenas/webpack-imca.git webpack-imca
      9 
     10 # pre-build webpack-imca
     11 if [ ! -d webpack-imca/node_modules ]; then
     12 	pushd webpack-imca
     13 	npm install
     14 	popd
     15 fi
     16 [ -f webpack-imca/src/img/IMCA.woff ] || fontforge -c 'open("webpack-imca/src/img/IMCA.sfd").generate("webpack-imca/src/img/IMCA.woff")'
     17 
     18 # pre-build flask_imca
     19 mkdir -p flask_imca/src/instance
     20 [ -f flask_imca/src/instance/config.py ] || scp pablo@pcardenasb.com:/srv/http/flask_imca/venv/var/flask_imca-instance/config.py flask_imca/src/instance/
     21 [ -d flask_imca/src/instance/media ] || scp -r pablo@pcardenasb.com:/srv/http/flask_imca/venv/var/flask_imca-instance/media flask_imca/src/instance/
     22 
     23 if [ ! -d flask_imca/venv ]; then
     24 	python -m venv flask_imca/venv
     25 	source flask_imca/venv/bin/activate
     26 	pip install flake8 black tox
     27 	pip install pytest
     28 	pip install mypy types-Markdown types-python-slugify sqlalchemy[mypy]
     29 	pip install pre-commit
     30 	pip install mysqlclient
     31 	pip install -e ./flask_imca
     32 
     33 	pybabel compile -d flask_imca/src/flask_imca/translations
     34 	deactivate
     35 fi
     36 
     37 # pre-commit
     38 [ -f flask_imca/.git/hooks/pre-commit ] || { pushd flask_imca; ../flask_imca/venv/bin/pre-commit install; popd; }
     39 [ -f webpack-imca/.git/hooks/pre-commit ] || { pushd webpack-imca; ../flask_imca/venv/bin/pre-commit install; popd; }
     40 
     41 echo $PWD
     42 if ! tmux has-session -t imca; then
     43 	tmux new-session -s imca -n main -d
     44 
     45 	tmux split-window -d -h -t imca:0.0 -c flask_imca
     46 	tmux split-window -d -v -t imca:0.1 -c webpack-imca
     47 
     48 	tmux send-keys -t imca:0.0 'source venv/bin/activate' C-m
     49 	tmux send-keys -t imca:0.0 'vim -S ${XDG_CONFIG_HOME}/vim/session/imca.vim' C-m
     50 
     51 	tmux send-keys -t imca:0.1 'source venv/bin/activate' C-m
     52 	command -v firefox >/dev/null 2>&1 && tmux send-keys -t imca:0.1 'sleep 6s && firefox 127.0.0.1:5000 &' C-m
     53 	tmux send-keys -t imca:0.1 'flask --app flask_imca run --debug --host 0.0.0.0' C-m
     54 
     55 	tmux send-keys -t imca:0.2 'npm run watch' C-m
     56 
     57 	tmux new-window -d -c flask_imca -n venv -t imca:1
     58 	tmux send-keys -t imca:1.0 'source venv/bin/activate' C-m
     59 
     60 	tmux new-window -d -c flask_imca/src/instance -n instance -t imca:2
     61 
     62 	tmux new-window -d -c ~ -n ssh -t imca:3
     63 	tmux send-keys -t imca:3.0 'TERM=xterm-256color ssh imca.edu.pe'
     64 
     65 	tmux new-window -d -c ~/.local/bin -n '~/.local/bin' -t imca:4
     66 	tmux send-keys -t imca:4.0 'vim imca' C-m
     67 fi
     68 
     69 tmux attach -t imca