#!/bin/bash # Install system packages sudo apt update && \ sudo apt -y upgrade && \ sudo apt -y install ninja-build gettext cmake unzip curl python3 python3-pip python3-venv \ build-essential libssl-dev libffi-dev python3-dev file tmux && \ # Install neovim if [ -d ~/neovim ]; then rm -rf ~/neovim; fi && \ cd ~ && \ git clone https://github.com/neovim/neovim && \ cd neovim && git checkout stable && \ make CMAKE_BUILD_TYPE=RelWithDebInfo && \ cd build && cpack -G DEB && sudo dpkg -i nvim-linux64.deb && \ if [ -d ~/neovim ]; then rm -rf ~/neovim; fi && \ # Install tree sitter cli cd ~ && \ sudo apt install -y cargo && \ cargo install tree-sitter-cli && \ # Install ripgrep sudo apt install -y ripgrep && \ # Install lazygit cd ~ && \ LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": "v\K[^"]*') && \ curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz" && \ tar xf lazygit.tar.gz lazygit && \ sudo install lazygit /usr/local/bin && \ # Install gdu sudo add-apt-repository -y ppa:daniel-milde/gdu && \ sudo apt update && \ sudo apt install -y gdu && \ # Install ruby sudo apt install -y ruby ruby-dev && \ sudo gem install neovim && \ # Install perl sudo apt install -y perl make && \ curl -L https://cpanmin.us | sudo perl - App::cpanminus && \ sudo cpanm -n Neovim::Ext && \ # Install bottom cd ~ && \ curl -LO https://github.com/ClementTsang/bottom/releases/download/0.9.1/bottom_0.9.1_amd64.deb && \ sudo dpkg -i bottom_0.9.1_amd64.deb && \ # Install node cd ~ && \ curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash - && \ sudo apt install -y nodejs && \ # Install astronvim if [ ! -d ~/.config/nvim ]; then git clone --depth 1 https://github.com/AstroNvim/AstroNvim ~/.config/nvim; fi && \ # Install platformio pip3 install platformio && \ # Install pynvim pip3 install pynvim && \ # Install neovim for node sudo npm install -g neovim && \ # Add git config if [ ! -f ~/.gitconfig ]; then cp ~/code_server/gitconfig ~/.gitconfig; fi && \ # Add tmux config if [ ! -f ~/.tmux.conf ]; then cp ~/code_server/tmux.conf ~/.tmux.conf; fi && \ # restore default .bashrc sudo cp /etc/skel/.bashrc ~/.bashrc # Add path to .bashrc echo "export PATH=\$PATH:~/.local/bin:~/.cargo/bin" >> ~/.bashrc echo "eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)" >> ~/.bashrc