Compare commits

...

4 Commits

Author SHA1 Message Date
528b82bdaf fix ctrl-arrow keys 2026-07-25 21:09:04 -05:00
2a3e0e2e2b add treesitter and update stuff with nvim config 2026-07-25 21:08:37 -05:00
32a8c1260a fix up a few things 2026-07-20 21:27:18 -05:00
7347b64eba add nvm lazy loading to zsh 2026-07-20 20:53:56 -05:00
5 changed files with 48 additions and 28 deletions

View File

@@ -2,7 +2,7 @@
## DESKTOP ENVIRONMENT ## ## DESKTOP ENVIRONMENT ##
########################### ###########################
# Designed & tested on Cinnamon 6.4.8 # Designed & tested on Cinnamon 6.4.8
echo "## desktop environment" | tee todo.md -a echo "## desktop environment" | tee -a todo.md
# remap caps-lock to escape (more efficient neovim) # remap caps-lock to escape (more efficient neovim)
gsettings set org.gnome.libgnomekbd.keyboard options "['grp\tgrp:win_space_toggle', 'terminate\tterminate:ctrl_alt_bksp', 'caps\tcaps:escape']" gsettings set org.gnome.libgnomekbd.keyboard options "['grp\tgrp:win_space_toggle', 'terminate\tterminate:ctrl_alt_bksp', 'caps\tcaps:escape']"
@@ -19,7 +19,7 @@ gsettings set org.cinnamon.gestures swipe-right-3 "WORKSPACE_PREVIOUS::start" #
gsettings set org.cinnamon.desktop.wm.preferences mouse-button-modifier "'<Super>'" gsettings set org.cinnamon.desktop.wm.preferences mouse-button-modifier "'<Super>'"
# hide annoying super menu icons # hide annoying super menu icons
echo "* hide annoying super menu icons" | tee todo.md -a echo "* hide annoying super menu icons" | tee -a todo.md
# startup programs - artha # startup programs - artha
mkdir -p "$HOME/.config/autostart" mkdir -p "$HOME/.config/autostart"

48
main.sh
View File

@@ -15,12 +15,12 @@ INSTALL_USER=$(whoami)
## DEV/PROGRAMMING ## ## DEV/PROGRAMMING ##
## ESSENTIAL TOOLS ## ## ESSENTIAL TOOLS ##
####################### #######################
echo "## dev/programming & essential tools/programs" | tee todo.md -a echo "## dev/programming & essential tools/programs" | tee -a todo.md
echo "* install drivers & such" | tee todo.md -a echo "* install drivers & such" | tee -a todo.md
# Install some apt packages # Install some apt packages
sudo apt-get upgrade -y 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 sudo apt-get install -y ripgrep # I honestly don't remember why I installed these
# Install Python & uv (package/version manager) # Install Python & uv (package/version manager)
@@ -30,23 +30,27 @@ source $HOME/.local/bin/env
uv python install --default uv python install --default
# Node.js 24 (with nvm - https://github.com/nvm-sh/nvm) # 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 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 \. "$HOME/.nvm/nvm.sh" # in lieu of restarting the shell
nvm install 24 nvm install 24
# install a nerd font (provides special symbols for zsh/starship) # install a nerd font (provides special symbols for zsh/starship)
sudo mkdir -p /usr/share/fonts/truetype/DejaVuSansMono/ 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) # zsh (better shell)
sudo apt-get install -y zsh sudo apt-get install -y zsh
sudo chsh $INSTALL_USER -s /bin/zsh sudo chsh $INSTALL_USER -s /bin/zsh
cp ./utils/dotzshrc "$HOME/.zshrc" 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) # starship (shell prompt)
curl -sS https://starship.rs/install.sh | sudo sh -s -- -y 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" mkdir -p "$HOME/.config"
cp ./utils/starship.toml "$HOME/.config/starship.toml" 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 rm -rf /opt/nvim-linux-x86_64
sudo tar -C /opt -xzf nvim-linux-x86_64.tar.gz sudo tar -C /opt -xzf nvim-linux-x86_64.tar.gz
rm 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" 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 # install VS Code
wget "https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64" -O "vs-code-linux-x64.deb" 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 sudo apt-get install -y ./vs-code-linux-x64.deb
rm ./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 # Brave browser
curl -fsS https://dl.brave.com/install.sh | sh curl -fsS https://dl.brave.com/install.sh | sh
# GitHub SSH keys # 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 # things I'd rather not install but have to
# Discord (chat) # Discord (chat)
@@ -83,32 +93,32 @@ rm ./discord-linux.deb
mkdir -p "$HOME/.config/discord" 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 '{ "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) # Zoom (video call)
echo "* install Zoom (video call)" | tee todo.md -a echo "* install Zoom (video call)" | tee -a todo.md
############################ ############################
## WORKFLOW/SMALL TOOLS ## ## 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) # pbcopy/pbpaste (from macOS)
sudo apt-get install -y xclip sudo apt-get install -y xclip
printf '#!/bin/bash \nxclip -selection clipboard' | sudo tee /usr/local/bin/pbcopy 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 chmod 755 /usr/local/bin/pbcopy
printf '#!/bin/bash \nxclip -selection clipboard -o' | sudo tee /usr/local/bin/pbpaste 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 chmod 755 /usr/local/bin/pbpaste
# WordNet & def utility # WordNet & def utility
sudo apt-get install -y wordnet sudo apt-get install -y wordnet
printf '#!/bin/bash \nwn $1 -over' | sudo tee /usr/local/bin/def 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 chmod 755 /usr/local/bin/def
# Artha (WordNet dictionary) # Artha (WordNet dictionary)
@@ -120,13 +130,13 @@ sudo apt-get install -y qpdf
# rndrmarkdown markdown renderer # rndrmarkdown markdown renderer
sudo apt-get install -y pandoc sudo apt-get install -y pandoc
sudo cp ./utils/rndrmarkdown /usr/local/bin/rndrmarkdown 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 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) # readline (for piping 1 line into wc)
printf '#!/bin/bash \necho "$(head -n $1 $2 | tail -n 1)"' | sudo tee /usr/local/bin/rline 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 chmod 755 /usr/local/bin/rline
# Calc (command-line calculator) # Calc (command-line calculator)

View File

@@ -1,7 +1,7 @@
###################### ######################
## REMOVING STUFF ## ## REMOVING STUFF ##
###################### ######################
echo "## removing stuff" | tee todo.md -a echo "## removing stuff" | tee -a todo.md
rmdir $HOME/Documents/ rmdir $HOME/Documents/
rmdir $HOME/Music/ rmdir $HOME/Music/

View File

@@ -1,7 +1,7 @@
########################## ##########################
## SPECIALTY PROGRAMS ## ## SPECIALTY PROGRAMS ##
########################## ##########################
echo "## special/single-use/professional programs" | tee todo.md -a echo "## special/single-use/professional programs" | tee -a todo.md
# GIMP (image manipulation) # GIMP (image manipulation)
sudo apt-get install -y gimp sudo apt-get install -y gimp
@@ -26,13 +26,13 @@ sudo apt-get update
sudo apt-get install -y freecad freecad-doc sudo apt-get install -y freecad freecad-doc
# 3D printing slicer # 3D printing slicer
echo "* choose and install 3D slicer" | tee todo.md -a echo "* choose and install 3D slicer" | tee -a todo.md
# ProtonVPN # ProtonVPN
echo "* install protonVPN" | tee todo.md -a echo "* install protonVPN" | tee -a todo.md
# Minecraft # Minecraft
echo "* install Minecraft" | tee todo.md -a echo "* install Minecraft" | tee -a todo.md
# unsure about right now # unsure about right now

View File

@@ -13,14 +13,24 @@ alias egrep='egrep --color=auto'
# sleep 10; alert # sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
# colored GCC warnings and errors
export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
export PATH="$PATH:/opt/nvim-linux-x86_64/bin" export PATH="$PATH:/opt/nvim-linux-x86_64/bin"
alias open="xdg-open" alias open="xdg-open"
alias nv="nvim" alias nv="nvim"
alias rmd="rndrmarkdown" alias rmd="rndrmarkdown"
# colored GCC warnings and errors autoload -Uz compinit && compinit
export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' zstyle ':completion:*' insert-tab false
zstyle ':completion:*' menu select
bindkey "^[[1;5C" forward-word # Ctrl+Right
bindkey "^[[1;5D" backward-word # Ctrl+Left
export NVM_LAZY_LOAD=true
source "$HOME/.nvm-zsh/zsh-nvm.plugin.zsh"
eval "$(starship init zsh)" eval "$(starship init zsh)"