X-Git-Url: https://us-delaporte.pagekite.me/gitweb/dotfiles.git/blobdiff_plain/1b3104f5a38080cd752a903dca6946ead6c2ef58..3ede64433b2590831869b5297dffdd5b79698e29:/invoke/setup-linux/tasks.py diff --git a/invoke/setup-linux/tasks.py b/invoke/setup-linux/tasks.py index 3587e7e..1e20b05 100644 --- a/invoke/setup-linux/tasks.py +++ b/invoke/setup-linux/tasks.py @@ -1,8 +1,11 @@ from invoke import task +from datetime import datetime as dt import os HOME = os.path.expanduser('~') +TODAY = dt.now().strftime('%Y.%m.%d') + @task() def defaults(c): @@ -61,8 +64,62 @@ def link_to_home(c, path, add_dot=False): c.run(f'ls -la {HOME} | grep {filename}') +@task +def link_bashrc(c): + c.run(f'mv {HOME}/.bashrc {HOME}/bashrc_bak_{TODAY}') + link_to_home(c, 'files/pc/bashrc', add_dot=True) + @task def link_all_for_invoke(c): link_to_home(c, 'files/pc/tasks.py') link_to_home(c, 'files/pc/bashrc', add_dot=True) + +@task +def vim_nerdtree(c): + add_vim_plugin(c, 'https://github.com/preservim/nerdtree.git', 'nerdtree') + +@task +def vim_markdown(c): + add_vim_plugin(c, 'https://github.com/preservim/vim-markdown.git', 'markdown') + +@task +def vim_airline(c): + add_vim_plugin(c, 'https://github.com/vim-airline/vim-airline.git', 'airline') + +@task +def vim_ollama(c): + add_vim_plugin(c, 'https://github.com/gergap/vim-ollama.git', 'vim-ollama') + +@task +def add_vim_plugin(c, git_path, folder): + c.run(f'mkdir -p {HOME}/.vim/pack/') + c.run(f'mkdir -p {HOME}/.vim/pack/vendor') + c.run(f'mkdir -p {HOME}/.vim/pack/vendor/opt') + c.run(f'git clone --depth 1 {git_path} {HOME}/.vim/pack/vendor/opt/{folder}') + c.run(f'ls -l {HOME}/.vim/pack/vendor/opt') + print(f"Use `packadd {folder}` in .vimrc to enable") + +@task +def ensure_env(c, env): + envs = f'{HOME}/envs' + path = f'{envs}/{env}' + if(not os.path.exists(envs)): + c.run(f'mkdir -p {envs}') + + if(not os.path.exists(path)): + c.run(f'python3 -m venv {path}') + reqs = f'{DOTFILES}/reqs/{env}.txt' + c.run(f'{path}/bin/pip install -r {reqs}') + + c.run(f'{path}/bin/pip freeze') + +@task +def env_ansible(c): + ensure_env(c, 'ansible') + + +@task +def env_jupyter(c): + ensure_env(c, 'jupyter') +