#! /usr/bin/env bash # Install various programs mkdir -p "$HOME/.local/bin" # python command -v apt > /dev/null && sudo apt install python3 python3-pip python3-venv # pyenv command -v pyenv > /dev/null || { curl https://pyenv.run | bash # Below are suggested dependencies for python command -v apt > /dev/null && { sudo apt update sudo apt install build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev curl llvm \ libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev } } # pipx command -v pipx > /dev/null || python3 -m pip install --user pipx command -v pyright > /dev/null || python3 -m pipx install pyright command -v poetry > /dev/null || python3 -m pipx install poetry command -v black > /dev/null || python3 -m pipx install black command -v isort > /dev/null || python3 -m pipx install isort command -v zimports > /dev/null || python3 -m pipx install zimports command -v pre-commit > /dev/null || python3 -m pipx install pre-commit command -v ranger > /dev/null || python3 -m pipx install ranger-fm command -v euporie > /dev/null || python3 -m pipx install euporie # kitty command -v kitty > /dev/null || { curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin # Create a symbolic link to add kitty to PATH (assuming $HOME/.local/bin is in # your system-wide PATH) ln -s "$HOME/.local/kitty.app/bin/kitty" "$HOME/.local/bin/" # Place the kitty.desktop file somewhere it can be found by the OS cp "$HOME/.local/kitty.app/share/applications/kitty.desktop" "$HOME/.local/share/applications/" # If you want to open text files and images in kitty via your file manager also add the kitty-open.desktop file cp "$HOME/.local/kitty.app/share/applications/kitty-open.desktop" "$HOME/.local/share/applications/" # Update the paths to the kitty and its icon in the kitty.desktop file(s) sed -i "s|Icon=kitty|Icon=/home/$USER/.local/kitty.app/share/icons/hicolor/256x256/apps/kitty.png|g" "$HOME/.local/share/applications/kitty.desktop" sed -i "s|Exec=kitty|Exec=/home/$USER/.local/kitty.app/bin/kitty|g" "$HOME/.local/share/applications/kitty.desktop" } # neovim command -v nvim > /dev/null || { curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim.appimage chmod u+x nvim.appimage mv nvim.appimage "$HOME/.local/bin/nvim" ln -s "$HOME/.local/bin/nvim" "$HOME/.local/bin/vim" } # fzf command -v fzf > /dev/null || { git clone --depth 1 https://github.com/junegunn/fzf.git "$HOME/.fzf" "$HOME/.fzf/install" }