Files
arch_scripts/setup.sh
2019-10-01 07:06:25 +03:00

101 lines
3.3 KiB
Bash

#!/bin/bash
set -euxo pipefail
AUR_PACKAGES=(
yaru-{gtk,icon,sound}-theme # Theme from Ubuntu
consolas-font # Monospace font used by Visual Studio
shadowfox-updater # Universal dark mode for Firefox
pup-git # Commandline HTML parser (useful for bash scripts)
ccls # C++ language server
ranger-git # File manager (use git for ueberzug image preview)
htop-vim-temperature # Process viewer with vim keybinds and cpu temp info
)
PYTHON_PACKAGES=(
# Web scraping libraries
requests # HTML requests
beautifulsoup4 # HTML parsing
# Statistics libraries
matplotlib # Plotting
numpy # Matrix manipulation
pandas # Data analysis
# Tools
pylint # Python linter
autopep8 # Python formatter
gdbgui # GDB frontend
ueberzug # Terminal image preview (used by ranger)
)
function set_gnome_settings {
# Set yaru theme
gsettings set org.gnome.desktop.interface enable-animations false
gsettings set org.gnome.desktop.interface gtk-theme Yaru-dark
gsettings set org.gnome.desktop.interface cursor-theme Yaru
gsettings set org.gnome.desktop.interface icon-theme Yaru
# Disable animations
gsettings set org.gnome.desktop.sound theme-name Yaru
# Set dvorak-programmer layout
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us+dvp')]"
# Set caps to ctrl
gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:nocaps']"
# Change keyboard delay and speed
gsettings set org.gnome.desktop.peripherals.keyboard delay 250
gsettings set org.gnome.desktop.peripherals.keyboard repeat-interval 25
# Enable night light
gsettings set org.gnome.settings-daemon.plugins.color night-light-enabled true
# Sort directories before files
gsettings set org.gtk.Settings.FileChooser sort-directories-first true
}
function set_firefox_settings {
local prefs_file=$(ls ~/.mozilla/firefox/*release/prefs.js)
# Make shadowfox work on FF69
sed -i 's/\("toolkit.legacyUserProprefs_fileCustomizations.stylesheets", \)true/\1true/' "${prefs_file}"
sed -i 's/\("browser.in-content.dark-mode", \)false/\1true/' "${prefs_file}"
# Enable some privacy features
sed -i 's/\("privacy.firstparty.isolate", \)false/\1true/' "${prefs_file}"
sed -i 's/\("privacy.resistFingerprinting", \)false/\1true/' "${prefs_file}"
# Disable some spying features
sed -i 's/\("browser.send_pings", \)true/\1false/' "${prefs_file}"
sed -i 's/\("dom.event.clipboardevents.enabled", \)true/\1false/' "${prefs_file}"
sed -i 's/\("media.navigator.enabled.stylesheets", \)true/\1false/' "${prefs_file}"
}
# Check internet connection
ping -w1 -c1 google.com || exit 1
# Enable pacman colors
sudo sed -i 's/#Color/Color/' /etc/pacman.conf
# Install yay if not installed
if ! pacman -Qi yay; then
git clone http://aur.archlinux.org/yay.git
cd yay
makepkg -si --noconfirm
cd ..
rm -rf yay
fi
yay -Sy --noconfirm --needed ${AUR_PACKAGES[*]}
pip install --user ${PYTHON_PACKAGES[*]}
# Install vim-plug
curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
set_gnome_settings
set_firefox_settings