add .gitignore, python, uv, and update permissions

This commit is contained in:
2026-07-11 18:20:26 -05:00
parent ef7a763d4b
commit e82a644e99
2 changed files with 25 additions and 30 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
todo.md

53
main.sh
View File

@@ -1,22 +1,13 @@
#!/bin/bash #!/bin/bash
# Last updated: 7/4/2026 # Last updated: 7/4/2026
# This was designed for Linux Mint XX.x; 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 XX.x; 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.
USER_DIR="/home/evan"
# 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.
# check for root access
if [ "$EUID" -ne 0 ]
then echo "please run this script as root"
exit
fi
touch todo.md touch todo.md
mkdir -p /usr/local/bin sudo mkdir -p /usr/local/bin
chmod 755 /usr/local/bin sudo chmod 755 /usr/local/bin
apt-get update sudo apt-get update
####################### #######################
## DEV/PROGRAMMING ## ## DEV/PROGRAMMING ##
@@ -25,14 +16,16 @@ apt-get update
echo "## dev/programming & essential tools/programs" | tee todo.md -a echo "## dev/programming & essential tools/programs" | tee todo.md -a
# Install some apt packages # Install some apt packages
apt-get install -y git jq build-essentials unzip # for development sudo apt-get upgrade
apt-get install -y ripgrep # I honestly don't remember why I installed these sudo apt-get install -y curl git jq build-essentials unzip # for development
sudo apt-get install -y ripgrep # I honestly don't remember why I installed these
echo "* globstar?" | tee todo.md -a echo "* globstar?" | tee todo.md -a
# Install Python & uv (package manager) # Install Python & uv (package/version manager)
curl -LsSf https://astral.sh/uv/install.sh | sh
# link /usr/bin/python to a real python install source $HOME/.local/bin/env
echo "* install python" | tee todo.md -a # install latest version of python with default `python` and `python3` executables
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) # also required for pyright language server (neovim)
@@ -47,7 +40,7 @@ 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 echo "* add zsh and starship, etc. + nerd font" | tee todo.md -a
apt-get install -y zsh sudo apt-get install -y zsh
# starship (shell prompt) # starship (shell prompt)
curl -sS https://starship.rs/install.sh | sh curl -sS https://starship.rs/install.sh | sh
@@ -81,25 +74,25 @@ echo "* install Zoom (video call)" | tee todo.md -a
echo "## workflow helpers, small tools, and utilities" | tee todo.md -a echo "## workflow helpers, small tools, and utilities" | tee todo.md -a
# pbcopy/pbpaste (from macOS) # pbcopy/pbpaste (from macOS)
apt-get install -y xclip sudo apt-get install -y xclip
printf '#!/bin/bash \nxclip -selection clipboard' | tee /usr/local/bin/pbcopy printf '#!/bin/bash \nxclip -selection clipboard' | tee /usr/local/bin/pbcopy
chmod 755 /usr/local/bin/pbcopy chmod 755 /usr/local/bin/pbcopy
printf '#!/bin/bash \nxclip -selection clipboard -o' | tee /usr/local/bin/pbpaste printf '#!/bin/bash \nxclip -selection clipboard -o' | tee /usr/local/bin/pbpaste
chmod 755 /usr/local/bin/pbpaste chmod 755 /usr/local/bin/pbpaste
# WordNet & def utility # WordNet & def utility
apt-get install -y wordnet sudo apt-get install -y wordnet
printf '#!/bin/bash \nwn $1 -over' | tee /usr/local/bin/def printf '#!/bin/bash \nwn $1 -over' | tee /usr/local/bin/def
chmod 755 /usr/local/bin/def chmod 755 /usr/local/bin/def
# Artha (WordNet dictionary) # Artha (WordNet dictionary)
apt-get install -y artha sudo apt-get install -y artha
# qpdf (pdf manipulation) # qpdf (pdf manipulation)
apt-get install -y qpdf sudo apt-get install -y qpdf
# rndrmarkdown markdown renderer # rndrmarkdown markdown renderer
apt-get install -y pandoc sudo apt-get install -y pandoc
cp ./utils/rndrmarkdown /usr/local/bin/rndrmarkdown cp ./utils/rndrmarkdown /usr/local/bin/rndrmarkdown
chmod 755 /usr/local/bin/rndrmarkdown chmod 755 /usr/local/bin/rndrmarkdown
echo 'alias rmd="rndrmarkdown"' | tee ~/.bashrc -a echo 'alias rmd="rndrmarkdown"' | tee ~/.bashrc -a
@@ -110,23 +103,23 @@ chmod 755 /usr/local/bin/rline
echo "* verify rline formatted correctly" echo "* verify rline formatted correctly"
# Calc (command-line calculator) # Calc (command-line calculator)
apt-get install -y calc sudo apt-get install -y calc
# OpenSSH server (prob already has ssh client) # OpenSSH server (prob already has ssh client)
apt-get install -y openssh-server sudo apt-get install -y openssh-server
echo "* verify has openSSH client" | tee todo.md -a echo "* verify has openSSH client" | tee todo.md -a
# Wine (run windoze apps) # Wine (run windoze apps)
apt-get install -y winehq sudo apt-get install -y winehq
# Gpick (color picker) # Gpick (color picker)
apt-get install -y gpick sudo apt-get install -y gpick
# ksnip (screenshot) # ksnip (screenshot)
apt-get install -y ksnip sudo apt-get install -y ksnip
# btop (system resource monitor) # btop (system resource monitor)
apt-get install -y btop sudo apt-get install -y btop
########################## ##########################