|
|
|
|
@@ -15,12 +15,12 @@ INSTALL_USER=$(whoami)
|
|
|
|
|
## DEV/PROGRAMMING ##
|
|
|
|
|
## ESSENTIAL TOOLS ##
|
|
|
|
|
#######################
|
|
|
|
|
echo "## dev/programming & essential tools/programs" | tee todo.md -a
|
|
|
|
|
echo "* install drivers & such" | tee todo.md -a
|
|
|
|
|
echo "## dev/programming & essential tools/programs" | tee -a todo.md
|
|
|
|
|
echo "* install drivers & such" | tee -a todo.md
|
|
|
|
|
|
|
|
|
|
# Install some apt packages
|
|
|
|
|
sudo apt-get upgrade -y
|
|
|
|
|
sudo apt-get install -y curl git jq build-essential unzip tree # for development
|
|
|
|
|
sudo apt-get install -y curl git jq build-essential unzip tree npm # for development
|
|
|
|
|
sudo apt-get install -y ripgrep # I honestly don't remember why I installed these
|
|
|
|
|
|
|
|
|
|
# Install Python & uv (package/version manager)
|
|
|
|
|
@@ -30,23 +30,27 @@ source $HOME/.local/bin/env
|
|
|
|
|
uv python install --default
|
|
|
|
|
|
|
|
|
|
# Node.js 24 (with nvm - https://github.com/nvm-sh/nvm)
|
|
|
|
|
# also required for pyright language server (neovim)
|
|
|
|
|
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash
|
|
|
|
|
\. "$HOME/.nvm/nvm.sh" # in lieu of restarting the shell
|
|
|
|
|
nvm install 24
|
|
|
|
|
|
|
|
|
|
# install a nerd font (provides special symbols for zsh/starship)
|
|
|
|
|
sudo mkdir -p /usr/share/fonts/truetype/DejaVuSansMono/
|
|
|
|
|
sudo unzip ./utils/DejaVuSansMono.zip /usr/share/fonts/truetype/DejaVuSansMono/
|
|
|
|
|
sudo unzip ./utils/DejaVuSansMono.zip -d /usr/share/fonts/truetype/DejaVuSansMono/
|
|
|
|
|
fc-cache -f -v
|
|
|
|
|
|
|
|
|
|
# zsh (better shell)
|
|
|
|
|
sudo apt-get install -y zsh
|
|
|
|
|
sudo chsh $INSTALL_USER -s /bin/zsh
|
|
|
|
|
cp ./utils/dotzshrc "$HOME/.zshrc"
|
|
|
|
|
|
|
|
|
|
# zsh nvm lazy loading (so shell doesn't take a million years to start)
|
|
|
|
|
git clone https://github.com/lukechilds/zsh-nvm.git "$HOME/.nvm-zsh"
|
|
|
|
|
# other install stuff already in .zshrc
|
|
|
|
|
|
|
|
|
|
# starship (shell prompt)
|
|
|
|
|
curl -sS https://starship.rs/install.sh | sudo sh -s -- -y
|
|
|
|
|
# echo 'eval "$(starship init zsh)"' | tee "$HOME/.zshrc" -a # should already be in zshrc
|
|
|
|
|
# echo 'eval "$(starship init zsh)"' | tee -a "$HOME/.zshrc" # should already be in zshrc
|
|
|
|
|
mkdir -p "$HOME/.config"
|
|
|
|
|
cp ./utils/starship.toml "$HOME/.config/starship.toml"
|
|
|
|
|
|
|
|
|
|
@@ -55,10 +59,16 @@ curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x8
|
|
|
|
|
sudo rm -rf /opt/nvim-linux-x86_64
|
|
|
|
|
sudo tar -C /opt -xzf nvim-linux-x86_64.tar.gz
|
|
|
|
|
rm nvim-linux-x86_64.tar.gz
|
|
|
|
|
echo 'export PATH="$PATH:/opt/nvim-linux-x86_64/bin"' | tee "$HOME/.bashrc" -a
|
|
|
|
|
echo 'export PATH="$PATH:/opt/nvim-linux-x86_64/bin"' | tee -a "$HOME/.bashrc"
|
|
|
|
|
|
|
|
|
|
# Neovim config
|
|
|
|
|
git clone https://gitea.jovan04.com/evan/neovim-config "$HOME/.config/nvim"
|
|
|
|
|
echo "* install pyright language server (and any other relevant ones)" | tee todo.md -a
|
|
|
|
|
echo "* install pyright language server (and any other relevant ones)" | tee -a todo.md
|
|
|
|
|
|
|
|
|
|
# tree-sitter-cli (neovim syntax highlighting)
|
|
|
|
|
curl -LO https://github.com/tree-sitter/tree-sitter/releases/latest/download/tree-sitter-cli-linux-x64.zip
|
|
|
|
|
sudo unzip ./tree-sitter-cli-linux-x64.zip -d /opt/nvim-linux-x86_64/bin/
|
|
|
|
|
rm ./tree-sitter-cli-linux-x64.zip
|
|
|
|
|
|
|
|
|
|
# install VS Code
|
|
|
|
|
wget "https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64" -O "vs-code-linux-x64.deb"
|
|
|
|
|
@@ -66,13 +76,13 @@ echo "code code/add-microsoft-repo boolean true" | sudo debconf-set-selections
|
|
|
|
|
sudo apt-get install -y ./vs-code-linux-x64.deb
|
|
|
|
|
rm ./vs-code-linux-x64.deb
|
|
|
|
|
|
|
|
|
|
echo "* investigate and install other IDE(s)" | tee todo.md -a
|
|
|
|
|
echo "* investigate and install other IDE(s)" | tee -a todo.md
|
|
|
|
|
|
|
|
|
|
# Brave browser
|
|
|
|
|
curl -fsS https://dl.brave.com/install.sh | sh
|
|
|
|
|
|
|
|
|
|
# GitHub SSH keys
|
|
|
|
|
echo "* generate new SSH key and add to GitHub?" | tee todo.md -a
|
|
|
|
|
echo "* generate new SSH key and add to GitHub?" | tee -a todo.md
|
|
|
|
|
|
|
|
|
|
# things I'd rather not install but have to
|
|
|
|
|
# Discord (chat)
|
|
|
|
|
@@ -83,32 +93,32 @@ rm ./discord-linux.deb
|
|
|
|
|
mkdir -p "$HOME/.config/discord"
|
|
|
|
|
echo '{ "DANGEROUS_ENABLE_DEVTOOLS_ONLY_ENABLE_IF_YOU_KNOW_WHAT_YOURE_DOING": true }' | tee "$HOME/.config/discord/settings.json"
|
|
|
|
|
|
|
|
|
|
echo "* find discord replacement" | tee todo.md -a
|
|
|
|
|
echo "* find discord replacement" | tee -a todo.md
|
|
|
|
|
|
|
|
|
|
# Zoom (video call)
|
|
|
|
|
echo "* install Zoom (video call)" | tee todo.md -a
|
|
|
|
|
echo "* install Zoom (video call)" | tee -a todo.md
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
############################
|
|
|
|
|
## WORKFLOW/SMALL TOOLS ##
|
|
|
|
|
############################
|
|
|
|
|
echo "## workflow helpers, small tools, and utilities" | tee todo.md -a
|
|
|
|
|
echo "## workflow helpers, small tools, and utilities" | tee -a todo.md
|
|
|
|
|
|
|
|
|
|
# pbcopy/pbpaste (from macOS)
|
|
|
|
|
sudo apt-get install -y xclip
|
|
|
|
|
|
|
|
|
|
printf '#!/bin/bash \nxclip -selection clipboard' | sudo tee /usr/local/bin/pbcopy
|
|
|
|
|
sudo chown 1000:1000 /usr/local/bin/pbcopy
|
|
|
|
|
sudo chown $INSTALL_USER:$INSTALL_USER /usr/local/bin/pbcopy
|
|
|
|
|
chmod 755 /usr/local/bin/pbcopy
|
|
|
|
|
|
|
|
|
|
printf '#!/bin/bash \nxclip -selection clipboard -o' | sudo tee /usr/local/bin/pbpaste
|
|
|
|
|
sudo chown 1000:1000 /usr/local/bin/pbpaste
|
|
|
|
|
sudo chown $INSTALL_USER:$INSTALL_USER /usr/local/bin/pbpaste
|
|
|
|
|
chmod 755 /usr/local/bin/pbpaste
|
|
|
|
|
|
|
|
|
|
# WordNet & def utility
|
|
|
|
|
sudo apt-get install -y wordnet
|
|
|
|
|
printf '#!/bin/bash \nwn $1 -over' | sudo tee /usr/local/bin/def
|
|
|
|
|
sudo chown 1000:1000 /usr/local/bin/def
|
|
|
|
|
sudo chown $INSTALL_USER:$INSTALL_USER /usr/local/bin/def
|
|
|
|
|
chmod 755 /usr/local/bin/def
|
|
|
|
|
|
|
|
|
|
# Artha (WordNet dictionary)
|
|
|
|
|
@@ -120,13 +130,13 @@ sudo apt-get install -y qpdf
|
|
|
|
|
# rndrmarkdown markdown renderer
|
|
|
|
|
sudo apt-get install -y pandoc
|
|
|
|
|
sudo cp ./utils/rndrmarkdown /usr/local/bin/rndrmarkdown
|
|
|
|
|
sudo chown 1000:1000 /usr/local/bin/rndrmarkdown
|
|
|
|
|
sudo chown $INSTALL_USER:$INSTALL_USER /usr/local/bin/rndrmarkdown
|
|
|
|
|
sudo chmod 755 /usr/local/bin/rndrmarkdown
|
|
|
|
|
echo 'alias rmd="rndrmarkdown"' | tee "$HOME/.bashrc" -a
|
|
|
|
|
echo 'alias rmd="rndrmarkdown"' | tee -a "$HOME/.bashrc"
|
|
|
|
|
|
|
|
|
|
# readline (for piping 1 line into wc)
|
|
|
|
|
printf '#!/bin/bash \necho "$(head -n $1 $2 | tail -n 1)"' | sudo tee /usr/local/bin/rline
|
|
|
|
|
sudo chown 1000:1000 /usr/local/bin/rline
|
|
|
|
|
sudo chown $INSTALL_USER:$INSTALL_USER /usr/local/bin/rline
|
|
|
|
|
chmod 755 /usr/local/bin/rline
|
|
|
|
|
|
|
|
|
|
# Calc (command-line calculator)
|
|
|
|
|
|