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):
@task
def setup_vi(c):
+ c.run('sudo apt-get install vim -y')
c.run(f'ln -s {DOTFILES}/files/vimrc {HOME}/.vimrc')
c.run(f'ls -al {HOME} | grep vimrc')
+ c.run(f'mkdir -p {HOME}/.swp')
+
+@task
+def debug(c):
+ pass
@task
def install_librewolf(c):
c.run(f'$HOME/dotfiles/install/librewolf.sh')
+
+@task
+def install_git(c):
+ c.run('sudo apt-get install git -y')
+
+@task(install_librewolf, setup_vi, install_git)
+def bare_minimum(c):
+ pass
+
+@task
+def ssh_key(c):
+ # c.run(f'ssh-keygen')
+ c.run(f'librewolf https://codeberg.org/user/settings/keys', asynchronous=True)
+ c.run(f'cat $HOME/.ssh/*.pub')
+
+@task
+def screen(c):
+ c.run(f'sudo apt-get install screen -y')
+ c.run(f'$HOME/dotfiles/setup/screen.sh')
+
+@task
+def list_ports(c):
+ c.run('sudo netstat -tunlp')
+
+@task
+def link_to_home(c, path, add_dot=False):
+ filename = os.path.basename(path)
+ if(add_dot):
+ filename = f'.{filename}'
+
+ if(os.path.exists(f'{HOME}/{filename}')):
+ print(f'WARNING: {HOME}/{filename} exists.')
+ else:
+ c.run(f'ln -s {HOME}/dotfiles/{path} {HOME}/{filename}')
+ 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")
+