https://www.atlassian.com/git/tutorials/dotfiles
EXISTING SYSTEM WITH DOTFILES ALREADY CLONED:
- alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
- echo ".cfg" >> .gitignore
- git clone --bare git@github.com:Michalidis/dotfiles.git $HOME/.cfg
- alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
- config checkout
- config config --local status.showUntrackedFiles no
- config submodule init
- config submodule update
Before performing git actions, call
alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
Then instead of calling "git add" and other git commands, call "config add". That should do the trick
NEW SYSTEM WITHOUT DOTFILES CLONED:
Install ZSH:
- Install git
- Install curl
- Install zsh (https://github.com/ohmyzsh/ohmyzsh/wiki/Installing-ZSH)
- Install oh-my-zsh (./.oh-my-zsh/tools/install.sh)
Install i3:
- sudo apt-get install i3
- Log out
- Choose i3 as WM
- sudo apt-get install -y i3status py3status conky
- mv extras/py3status.conf /etc/
Install NVIM:
- git clone https://github.com/neovim/neovim.git
- cd neovim
- sudo apt-get install libtool libtool-bin autoconf automake cmake make libncurses5-dev g++ pkg-config gettext
- make CMAKE_BUILD_TYPE=Release
- sudo make install
- choose and install a font from "fonts/" folder
- sudo apt install silversearcher-ag
- run nvim and run "forceUpdateAll", usually accessed by <leader>c menu
- sudo npm install -g neovim
- pip3 install --upgrade pynvim
- fix issues when running ":checkhealth" from nvim
- sudo apt-get install ranger
Install Plug:
- Create file "plug.vim" in .local/share/nvim/site/autoload/ directory
- Paste the contents of https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim to the file and save
- Open nvim
- Call command ":PlugInstall"
- curl -fsSL https://deb.nodesource.com/setup_19.x | sudo -E bash - && sudo apt-get install -y nodejs
- sudo apt-get install npm python3-pip
- pip3 install --user neovim
Install TMUX:
- sudo apt-get install tmux
Install luarocks: (is this needed?)
- sudo apt install build-essential libreadline-dev unzip
- curl -R -O http://www.lua.org/ftp/lua-5.3.5.tar.gz
- tar -zxf lua-5.3.5.tar.gz
- cd lua-5.3.5
- make linux test
- wget https://luarocks.org/releases/luarocks-3.8.0.tar.gz
- tar zxpf luarocks-3.8.0.tar.gz
- cd luarocks-3.8.0
- ./configure --with-lua-include=/usr/local/include
Install flameshot (screenshots):
- sudo apt-get install flameshot
Install docker:
- sudo apt update
- sudo apt install apt-transport-https ca-certificates curl software-properties-common
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- sudo apt update
- apt-cache policy docker-ce
- sudo apt-get install docker-ce
- sudo systemctl status docker
Execute docker without sudo:
- sudo usermod -aG docker ${USER}
- PERFORM A SYSTEM REBOOT
Install docker-compose:
- mkdir -p ~/.docker/cli-plugins/
- curl -SL https://github.com/docker/compose/releases/download/v2.3.3/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
- mv docker-compose ~/.docker/cli-plugins/docker-compose
- chmod +x ~/.docker/cli-plugins/docker-compose
- sudo ln -s ~/.docker/cli-plugins/docker-compose /usr/bin/docker-compose
Install Angular language service:
- npm -g install typescript
- npm -g install @angular/language-service
- npm -g install @angular/cli
Install Typescript language server:
- npm -g install typescript-language-server typescript
Install TSLint:
- Open nvim
- execute :CocInstall coc-tslint
Install RipGrep (used by r mapping):
- sudo apt-get install ripgrep
Enable automatic keyboard frequency change when keyboard is replugged (config found in i3_autostart.sh):
- sudo apt-get install inputplug