Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Do boring setup stuff. Will need to type the password for your SSH key home and
- # your password for sudo the first time, but apart from that it's automated
- SSH_KEY_HOME="[email protected]:/home/user/.ssh"
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- echo "# Copying ssh keys "
- if ! ls ~/.ssh/id_* &> /dev/null; then
- scp ${SSH_KEY_HOME}/id* ~/.ssh
- echo "... done"
- else
- echo "... already got keys"
- fi
- echo "# Setup better hotkey bindings ..."
- gsettings set org.cinnamon.desktop.keybindings.media-keys terminal "['<Super>t']"
- gsettings set org.cinnamon.desktop.keybindings looking-glass-keybinding "[]"
- gsettings set org.cinnamon.desktop.keybindings.media-keys screensaver "['<Super>l', 'XF86ScreenSaver']"
- gsettings set org.cinnamon.desktop.keybindings.wm panel-run-dialog "['<Super>r']"
- gsettings set org.gnome.desktop.input-sources xkb-options "['compose:ralt']"
- gsettings set org.cinnamon.desktop.input-sources xkb-options "['compose:ralt']"
- gsettings set org.cinnamon.sounds tile-enabled false
- echo "# Install NodeJS v22 ..."
- curl -fsSL https://deb.nodesource.com/setup_22.x -o /tmp/nodesource_setup.sh
- sudo -E bash /tmp/nodesource_setup.sh
- echo "# Setup Jetbrains PPA ..."
- if [ ! -f /usr/share/keyrings/jetbrains-ppa-archive-keyring.gpg ]; then
- curl -s https://s3.eu-central-1.amazonaws.com/jetbrains-ppa/0xA6E8698A.pub.asc | gpg --dearmor | sudo tee /usr/share/keyrings/jetbrains-ppa-archive-keyring.gpg > /dev/null
- echo "deb [signed-by=/usr/share/keyrings/jetbrains-ppa-archive-keyring.gpg] http://jetbrains-ppa.s3-website.eu-central-1.amazonaws.com any main" | sudo tee /etc/apt/sources.list.d/jetbrains-ppa.list > /dev/null
- else
- echo "... already setup"
- fi
- echo "# Setup Signal PPA ..."
- wget -O- https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor > signal-desktop-keyring.gpg
- cat signal-desktop-keyring.gpg | sudo tee /usr/share/keyrings/signal-desktop-keyring.gpg > /dev/null
- echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main' | sudo tee /etc/apt/sources.list.d/signal-xenial.list
- if [ ! -f /etc/server_colour ]; then
- # Pick a randomish colour based on hostname
- COLOUR=$(( (0x$(hostname | md5sum | awk '{print substr($1,1,2)}') % 7) + (30 + (0x$(hostname | md5sum | awk '{print substr($1,1,2)}') % 7 >= 2)) ))
- sudo bash -c 'cat > /etc/server_colour' <<EOF
- #!/bin/sh
- #
- # /etc/server_colour
- # Set the colour for this server so that you don't forget what machine you're on
- #
- # Format: style;colour
- # eg: "1;36"
- #
- # Styles:
- # 0 - Normal Text
- # 1 - Bold
- # 4 - Underlined
- # 7 - Reversed
- #
- # Colours:
- # 30 - Black
- # 31 - Red
- # 32 - Green
- # 33 - Yellow
- # 34 - Blue
- # 35 - Purple
- # 36 - Cyan
- # 37 - White
- server_colour="1;$COLOUR"
- EOF
- fi
- echo "# Updating .bashrc for colours"
- if ! grep -q "server_colour" ~/.bashrc; then
- echo "... updating bashrc"
- cp ~/.bashrc ~/.bashrc.bak
- sed -i '/\033/c\
- [ -f /etc/server_colour ] && source /etc/server_colour || server_colour = "1;37"\
- PS1="${debian_chroot:+($debian_chroot)}\\[\\033[01;32m\\]\\u\\[\\033[${server_colour}m\\]@\\h\\[\\033[00m\\]:\\[\\033[01;34m\\]\\w\\[\\033[00m\\]\\$ "' ~/.bashrc
- else
- echo "... looks updated, skipping"
- fi
- sudo apt update
- sudo apt upgrade -y
- sudo apt install -y nala
- sudo nala install -y rustrover pycharm-professional webstorm vim curl build-essential gcc make python3-venv signal-desktop
- echo "# Get and install discord ..."
- wget "https://discord.com/api/download?platform=linux&format=deb" -O /tmp/discord.deb && sudo dpkg -i /tmp/discord.deb
- echo "Installing Rust ..."
- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
- echo "Fixing directories ..."
- cd ~
- for dir in Desktop Documents Downloads Music Pictures Videos Templates Public; do
- if [ -d "$dir" ]; then
- echo " - Fixing '$dir' ..."
- mv "$dir" "$(echo "$dir" | tr '[:upper:]' '[:lower:]')"
- fi
- done
- echo " - Updating ~/.config/user-dirs.dirs"
- sed -i 's|\(XDG_\w*_DIR=\)\"\$HOME/\(.*\)\"|\1"\$HOME/\L\2"|' ~/.config/user-dirs.dirs
- xdg-user-dirs-update
- echo " - Updating nemo shortcuts (will restart nemo)"
- sed -i "s/.*/\L&/" ~/.config/gtk-3.0/bookmarks
- nemo --quit && nemo & disown -a
- echo " DONE! (and a reboot wouldn't hurt)"
Add Comment
Please, Sign In to add comment