You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

201 lines
7.0 KiB
Bash

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#!/bin/bash
# Pull submodule(s)
cd ~/dotfiles
git submodule update --init
cd -
# Add ppas
sudo add-apt-repository ppa:ufleisch/kid3
sudo add-apt-repository ppa:papirus/papirus
sudo add-apt-repository ppa:snwh/ppa
sudo add-apt-repository ppa:kelleyk/emacs
# Add apt keys (non-free software)
sudo apt install curl wget
curl -sS https://download.spotify.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb http://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify.list
wget -qO- https://github.com/retorquere/zotero-deb/releases/download/apt-get/install.sh | sudo bash
. /etc/os-release
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys ACCAF35C
echo "deb http://apt.insync.io/$ID $VERSION_CODENAME non-free contrib" | sudo tee /etc/apt/sources.list.d/insync.list
sudo apt update
# Install things
sudo apt install arc-theme biber calibre chromium-browser cmus conky-all curl libcurl4-openssl-dev libnotify-dev emacs26 evince feh ffmpeg fonts-crosextra-carlito fonts-noto fonts-noto-color-emoji fonts-sil-andika fonts-sil-doulos geoclue-2.0 ghostscript gimp insync kid3-qt libreoffice openbox pandoc papirus-icon-theme plank pnmixer python-pip python2.7 python3 python3-venv python3-pip redshift-gtk ruby-full sakura spotify-client suru-icon-set texlive-extra-utils texlive-latex-extra texlive-xetex tex-gyre thunderbird tint2 tree vlc vlc-plugin-fluidsynth xcompmgr zotero zsh
# build-essential libsox-fmt-all sox xserver-xorg-core xserver-xlib-input-synaptics zlib1g-dev
sudo apt update
sudo apt upgrade
sudo apt autoremove
sudo apt clean
# Disable tap to click # DO NOT DO THIS
# sudo mkdir -p /etc/X11/xorg.conf.d
# sudo cp /usr/share/X11/xorg.conf.d/70-synaptics.conf /etc/X11/xorg.conf.d/70-synaptics.conf
# Set compose key
sudo sed -i 's/XKBOPTIONS=""/XKBOPTIONS="compose:caps"/g' /etc/default/keyboard
# Install pip packages
sudo pip3 install pywal
# Install/set zsh
wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
sh install.sh --unattended
rm -f https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
chsh -s /bin/zsh
# Download various packages from github
mkdir -p ~/.gimp-2.8/scripts
curl https://api.github.com/repos/tshatrov/scriptfu/releases/latest | grep "browser_download_url.*scm" | cut -d : -f 2,3 | tr -d \" | wget -qi -
mv animstack.scm ~/.gimp-2.8/scripts/
curl https://api.github.com/repos/getferdi/ferdi/releases/latest | grep "browser_download_url.*deb" | cut -d : -f 2,3 | tr -d \" | wget -qi -
sudo dpkg -i ferdi*.deb
rm -f ferdi*.deb
git clone https://github.com/Arkq/cmusfm.git
cd cmusfm
autoreconf --install
mkdir build
cd -
cd cmusfm/build
../configure --enable-libnotify
make && sudo make install
cd -
rm -rf cmusfm # i *assume* this can be done before init
cmusfm init
echo Dont forget to set it as a status display program
mkdir -p ~/.zot
curl https://api.github.com/repos/retorquere/zotero-better-bibtex/releases/latest | grep "browser_download_url.*xpi" | cut -d : -f 2,3 | tr -d \" | wget -qi -
mv zotero-better-bibtex*.xpi ~/.zot/
wget https://github.com/bBoxType/FiraSans/archive/master.zip
unzip master.zip
sudo mkdir -p /usr/share/fonts/opentype/fira
sudo mkdir -p /usr/share/fonts/truetype/fira
sudo find FiraSans-master/ -name "*.otf" -exec cp {} /usr/share/fonts/opentype/fira/ \;
sudo find FiraSans-master/ -name "*.ttf" -exec cp {} /usr/share/fonts/truetype/fira/ \;
rm -f master.zip
rm -rf FiraSans-master
git clone https://github.com/fikriomar16/obtgen.git
mkdir -p ~/.local/bin
cd obtgen
cp -r my-obtgen/ myobtheme/ obtgen ~/.local/bin/
chmod +x ~/.local/bin/obtgen
cd -
rm -rf obtgen
git clone https://github.com/dikiaap/frost-plank-theme
frost-plank-theme/install.sh
rm -rf frost-plank-theme
# Font for prompt
mkdir -p ~/.local/share/fonts
cd ~/.local/share/fonts/
wget https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Noto/Mono/complete/Noto%20Mono%20Nerd%20Font%20Complete%20Mono.ttf
cd -
# Set default terminal & browser
read -p "Prepare to set default terminal.`echo $'\nPress enter to continue.'`"
clear
sudo update-alternatives --config x-terminal-emulator
read -p "Prepare to set default browser.`echo $'\nPress enter to continue.'`"
clear
sudo update-alternatives --config x-www-browser
# This cant be done before setting up zsh I think
sudo gem install jekyll bundler
# Make empty files for machine-specific config
mkdir -p ~/.config/openbox
touch ~/.config/openbox/autostart-specific.sh
echo \#\!\/bin\/bash > ~/.config/openbox/autostart-specific.sh
echo \: > ~/.config/openbox/autostart-specific.sh
chmod +x ~/.config/openbox/autostart-specific.sh
touch ~/.oh-my-zsh/custom/aliases-specific
touch ~/.colourvars
# Rename the git repo
mv ~/dotfiles ~/.linux
# Set cursor theme
rm -f ~/.Xresources
touch ~/.Xresources
echo Xcursor.theme: Suru > .Xresources # this is set again after wal
# Get rid of existing config files
rm -f ~/.zshrc ~/.gitconfig ~/.XCompose
rm -f ~/.config/cmus/rc
rm -f ~/.oh-my-zsh/custom/aliases
rm -f ~/.config/openbox/rc.xml
rm -f ~/.config/openbox/menu.xml
rm -f ~/.config/openbox/autostart
rm -f ~/.config/gtk-3.0/settings.ini
rm -f ~/.config/gtk-4.0/settings.ini
rm -f ~/.config/fontconfig/fonts.conf
rm -f ~/.config/pnmixer/config
rm -f ~/.config/sakura/sakura.conf
rm -f ~/.conkyrc
rm -rf ~/.config/plank
# Symlink config files from git repo
ln -s ~/.linux/dots/.zshrc ~
ln -s ~/.linux/dots/aliases ~/.oh-my-zsh/custom
ln -s ~/.linux/dots/.gitconfig ~
ln -s ~/.linux/dots/.XCompose ~
mkdir -p ~/.config/cmus
ln -s ~/.linux/dots/cmus/rc ~/.config/cmus
ln -s ~/.linux/dots/openbox/autostart ~/.config/openbox
ln -s ~/.linux/dots/openbox/rc.xml ~/.config/openbox
ln -s ~/.linux/dots/openbox/menu.xml ~/.config/openbox
mkdir -p ~/.config/gtk-3.0
ln -s ~/.linux/dots/gtk/3/settings.ini ~/.config/gtk-3.0
mkdir -p ~/.config/gtk-4.0
ln -s ~/.linux/dots/gtk/4/settings.ini ~/.config/gtk-4.0
mkdir -p ~/.config/fontconfig
ln -s ~/.linux/dots/fonts.conf ~/.config/fontconfig
mkdir -p ~/.config/pnmixer
ln -s ~/.linux/dots/pnmixer/config ~/.config/pnmixer
mkdir -p ~/.config/sakura
ln -s ~/.linux/dots/sakura.conf ~/.config/sakura
ln -s ~/.linux/dots/.conkyrc ~
mkdir -p ~/.config/plank/dock1/launchers
cp ~/.linux/dots/plank/items/*.dockitem ~/.config/plank/dock1/launchers/
cat ~/.linux/dots/plank/plank.ini | dconf load /net/launchpad/plank/docks/
# Set up .emacs.d (haven't tested this part)
rm -f ~/.emacs
rm -rf ~/.emacs.d
mkdir -p ~/.emacs.d
git clone https://github.com/tremeur29/emacs.d.git ~/.emacs.d
# Set theme
wal --vte -li ~/.linux/aes/kandinsky.jpg
wait
feh --bg-fill ~/.linux/aes/kandinsky.jpg
rm -f ~/.Xresources
echo Xcursor.theme: Suru >> ~/.cache/wal/colors.Xresources
cp -f ~/.cache/wal/colors.Xresources ~/.Xresources
obtgen
~/.linux/scripts/bordergen.sh
# Stop double autostarts (not sure if this actually works)
rm -f ~/.config/autostart/*
# Now set zsh
chsh -s $(which zsh)
# Thats it
echo Please restart.