diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..28a5f1a --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "scripts/colorus"] + path = scripts/colorus + url = https://github.com/tremeur29/colorus diff --git a/dots/.gitconfig b/dots/.gitconfig new file mode 100644 index 0000000..b98e91f --- /dev/null +++ b/dots/.gitconfig @@ -0,0 +1,11 @@ +[color] + ui = auto +[core] + editor = nano -n -w +[push] + default = upstream +[merg] + conflictstyle = diff3 +[user] + email = eheu48@gmail.com + name = trémeur diff --git a/dots/aliases b/dots/aliases new file mode 100644 index 0000000..5c155fc --- /dev/null +++ b/dots/aliases @@ -0,0 +1,36 @@ +# Emacs +alias emacs="emacs26" + +# Cmus +pl(){pgrep -x cmus >/dev/null && cmus-remote -u || echo "cmus is not running"} +alias pa="pl" +sk(){pgrep -x cmus >/dev/null && cmus-remote -n || echo "cmus is not running"} +alias nowplaying="~/.linux/scripts/nowplaying.sh" + +# Other scripts +alias fetch="~/.linux/scripts/lfetch/lfetch" +pywal(){ + wal --vte -li "$1" + feh --bg-fill "$1" + ~/.linux/scripts/colorus/convert.sh + wait + rm -f ~/.Xresources + echo Xcursor.theme: Suru >> ~/.cache/wal/colors.Xresources # will this mean it’s there multiple times?? + cp -f ~/.cache/wal/colors.Xresources ~/.Xresources + obtgen + ~/.linux/scripts/bordergen.sh +} +alias cello="python3 ~/.linux/scripts/cellopractice.py" +alias rcmus="~/.linux/scripts/cmus-refresh.sh" + +# Brevity +alias giveme="find ~/Documents/drive | egrep -i" +cdls(){ + PATHO=$(realpath $1) + cd $PATHO && ls +} + +# Troubleshooting +alias rp="killall plank && nohup plank &" +alias rck="killall conky && nohup conky &" +alias rsw="nmcli radio wifi off && nmcli radio wifi on" diff --git a/scripts/setup.sh b/scripts/setup.sh new file mode 100644 index 0000000..20d4a78 --- /dev/null +++ b/scripts/setup.sh @@ -0,0 +1,198 @@ +#!/bin/bash + +# Pull submodule(s) +cd ~/mdddots +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 +sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" # say no for now; switch shell later +exit # go back to bash +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 + +# 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 Don’t 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 can’t 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 ~/mdddots ~/.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) + +# That’s it +echo Please restart.