Compare commits

...

4 Commits

Author SHA1 Message Date
7fec866385 clean up a few things 2026-07-19 13:00:39 -05:00
76dad1fb8a install neovim 2026-07-19 12:59:11 -05:00
a7cccf0c4a update cinnamon info & log out after script 2026-07-19 12:55:49 -05:00
1e9e5d8990 update some stuff in zshrc 2026-07-19 12:55:40 -05:00
2 changed files with 24 additions and 23 deletions

35
main.sh
View File

@@ -1,8 +1,8 @@
#!/bin/bash #!/bin/bash
# Last updated: 7/4/2026 # Last updated: 7/4/2026
# This was designed for Linux Mint 22.2; most of it should work for other distros. the desktop-environment.sh code will probably need to be different for anything that's not Cinnamon. # This was designed for Linux Mint 22.2; most of it should work for other distros. the desktop-environment.sh code will probably need to be different for anything that's not Cinnamon.
# Some things here require manual install because they aren't in apt repositories, don't have another stable installation source, and I don't want to rely on a static download location. # Some things here require manual install because they aren't in apt repositories, don't have another stable installation source, and I don't want to rely on a static download location.
# These things will all be put into a TODO.md file in the current directory along with brief notes/instructions. # These things will all be put into a TODO.md file in the current directory along with brief notes/instructions.
touch todo.md touch todo.md
sudo mkdir -p /usr/local/bin sudo mkdir -p /usr/local/bin
@@ -22,7 +22,6 @@ echo "* install drivers & such" | tee todo.md -a
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 # 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
echo "* globstar?" | tee todo.md -a
# Install Python & uv (package/version manager) # Install Python & uv (package/version manager)
curl -LsSf https://astral.sh/uv/install.sh | sh curl -LsSf https://astral.sh/uv/install.sh | sh
@@ -41,7 +40,6 @@ sudo mkdir -p /usr/share/fonts/truetype/DejaVuSansMono/
sudo unzip ./utils/DejaVuSansMono.zip /usr/share/fonts/truetype/DejaVuSansMono/ sudo unzip ./utils/DejaVuSansMono.zip /usr/share/fonts/truetype/DejaVuSansMono/
# zsh (better shell) # zsh (better shell)
echo "* add zsh and starship, etc. + nerd font" | tee todo.md -a
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"
@@ -52,10 +50,17 @@ curl -sS https://starship.rs/install.sh | sudo sh -s -- -y
mkdir -p "$HOME/.config" mkdir -p "$HOME/.config"
cp ./utils/starship.toml "$HOME/.config/starship.toml" cp ./utils/starship.toml "$HOME/.config/starship.toml"
# Neovim # Neovim
echo "* install neovim & clone config" | tee todo.md -a curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz
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
# Other editor(s) (TBD) 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
# Other editor(s) (TBD)
echo "* investigate and install other IDE(s)" | tee todo.md -a echo "* investigate and install other IDE(s)" | tee todo.md -a
# Brave browser # Brave browser
@@ -105,14 +110,12 @@ 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 1000:1000 /usr/local/bin/rndrmarkdown
sudo chmod 755 /usr/local/bin/rndrmarkdown sudo chmod 755 /usr/local/bin/rndrmarkdown
echo "* add rmd to zshrc; what is bashrc doing?" | tee todo.md -a echo 'alias rmd="rndrmarkdown"' | tee "$HOME/.bashrc" -a
echo 'alias rmd="rndrmarkdown"' | tee ~/.bashrc -a
# 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 1000:1000 /usr/local/bin/rline
chmod 755 /usr/local/bin/rline chmod 755 /usr/local/bin/rline
echo "* verify rline formatted correctly"
# Calc (command-line calculator) # Calc (command-line calculator)
sudo apt-get install -y calc sudo apt-get install -y calc
@@ -138,12 +141,18 @@ sudo apt-get install -y btop
########################## ##########################
## SPECIALTY PROGRAMS ## ## SPECIALTY PROGRAMS ##
########################## ##########################
source user-programs.sh source ./user-programs.sh
########################### ###########################
## DESKTOP ENVIRONMENT ## ## DESKTOP ENVIRONMENT ##
########################### ###########################
# designed & tested on Cinnamon XX.x # designed & tested on Cinnamon 6.4.8
source ./desktop-env.sh source ./desktop-env.sh
echo "Installation and setup finished. You must log out and log back in for all changes to take effect."
read -p "Press enter to log out."
cinnamon-session-quit --logout --no-prompt

View File

@@ -1,5 +1,3 @@
# some handy ls aliases # some handy ls aliases
alias ls='ls --color=auto' alias ls='ls --color=auto'
alias ll='ls -alF' alias ll='ls -alF'
@@ -15,20 +13,14 @@ 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$//'\'')"'
export PATH="/usr/local/texlive/2024/bin/x86_64-linux:$PATH" export PATH="$PATH:/opt/nvim-linux-x86_64/bin"
export PATH="$PATH:/usr/local/go/bin"
export PATH="$PATH:/opt/mssql-tools18/bin"
export PATH="$PATH:/home/evan/go/bin"
alias open="xdg-open" alias open="xdg-open"
alias nv="nvim" alias nv="nvim"
alias rmd="rndrmarkdown"
# colored GCC warnings and errors # 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 GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
eval "$(starship init zsh)" eval "$(starship init zsh)"
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
export SDKMAN_DIR="$HOME/.sdkman"
[[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh"