Skip to content

Instantly share code, notes, and snippets.

@vanyasem
Last active December 3, 2019 08:57
Show Gist options
  • Save vanyasem/8799c2cd5902f12374f1f76335373e93 to your computer and use it in GitHub Desktop.
Save vanyasem/8799c2cd5902f12374f1f76335373e93 to your computer and use it in GitHub Desktop.
Arch Auto-Install
#!/usr/bin/env bash
# REVISED ON 20/11/19
# FULLY TESTED ON 15/11/19
# I assume you've already installed Arch with base and base-devel groups and any bootloader.
# Run this as a user with sudo access. DON'T RUN THE SCRIPT AS ROOT.
# Make sure to adjust sudo timeout or building AUR packages will fail.
# You need to enable pacman's multilib repository in /etc/pacman.conf
# Sets big font on HiDPI screens. Uncomment if needed
#sudo setfont latarcyrheb-sun32
set -e
sudo mount -o remount,size=6G,noatime /tmp
SRC_LOCATION=/tmp
cd $SRC_LOCATION || exit
# Hardware-specific packages for my personal PC:
#broadcom-wl-dkms heimdall intel-ucode lib32-nvidia-utils mdadm nvidia-settings nvidia-dkms nvidia-docker-1.0.1
#dcaenc openrazer-meta razercommander-git samsung-unified-driver sc-controller sensei-raw-ctl linux-apfs-dkms-git
#optimus-manager optimus-manager-qt bbswitch vulkan-intel fprintd tlp
gpg --recv-keys --keyserver pool.sks-keyservers.net 702353E0F7E48EDB # (lib32-)ncurses5-compat-libs
gpg --recv-keys --keyserver pool.sks-keyservers.net 9766E084FB0F43D8 # pcre-static
gpg --recv-keys --keyserver pool.sks-keyservers.net 3353C9CEF108B584 # qemu-user-static
gpg --recv-keys --keyserver pool.sks-keyservers.net BFF2F5A2CA201B84 # linux-steam-integration
sudo pacman -S git --noconfirm --needed
git clone https://aur.archlinux.org/trizen.git
cd trizen || exit
makepkg -sic --noconfirm
cd $SRC_LOCATION || exit
# Arch Repositories:
PACKAGE='
android-udev
arch-install-scripts
ark
asp
at
audacity
bleachbit
bluez-utils bluez-plugins
chromium pepper-flash
cmake
code
cpupower
cronie
cryfs encfs
cups sane gtk3-print-backends
dbeaver
dconf-editor
devtools
dnscrypt-proxy
dolphin
easytag
evtest
openssh sshfs fail2ban
falkon
ffmpegthumbs
filelight
filezilla
firefox
flatpak flatpak-builder
gconf-editor
gimp
git git-lfs
gpick
glade
gnome-builder gnome-code-assistance meson
gnome-disk-utility
grc
gthumb
guvcview-qt
htop iotop
inkscape
kate
kcalc
kcron
kde-gtk-config
kdenlive movit frei0r-plugins
kdialog
kile
konsole
konversation
kompare
libreoffice-fresh hunspell-en_US hyphen-en
linux-headers
lollypop
lostfiles
man
neofetch
neovim
networkmanager-openvpn
nfs-utils
nmap traceroute
ntfs-3g
obs-studio
okteta
okular
p7zip
packagekit-qt5
peek
plasma-meta
print-manager
pulseaudio-alsa pulseaudio-bluetooth pulseeffects
pycharm-community-edition
python2 python2-pip
python python-pip
qbittorrent
qemu-arch-extra ovmf
qtcreator
samba
scrot
shellcheck
smartmontools hdparm
spectacle
steam-native-runtime
strace
telegram-desktop
texinfo texlive-langcyrillic texlive-pictures texlive-science texlive-bibtexextra texlive-latexextra biber
tk
traceroute
ttf-liberation
tree
unrar
usbutils
vlc
vulkan-icd-loader lib32-vulkan-icd-loader
wget
whois
xdg-user-dirs
xorg-xhost
youtube-dl
zsh zsh-syntax-highlighting
'
trizen -S $PACKAGE --noconfirm --needed
# AUR:
AURPACKAGE='
android-apktool
android-studio
aosp-devel
aqemu
binfmt-qemu-static
chromium-extension-autoscroll
chromium-extension-dashlane
chromium-extension-runet-censorship-bypass
chromium-extension-user-agent-switcher
chromium-ublock-origin
chromium-widevine
clickable-git
dayjournal-bin
etcher
flutter
fslint
git-cola
halium-devel
hunspell-ru-aot
insomnia
linux-steam-integration
mellowplayer
minecraft-technic-launcher
neovim-symlinks
oh-my-zsh-git
protontricks
smloadr
tmate
ttf-emojione-color
vk-scraper instagram-scraper
'
trizen -S $AURPACKAGE --noconfirm --needed
# Theme (disabled by default):
THEMEPACKAGE='
adapta-gtk-theme
adapta-kde
adapta-kde-wallpapers-git
breeze-adapta-cursor-theme-git
kvantum-theme-adapta
papirus-filezilla-themes-git
papirus-icon-theme
papirus-libreoffice-theme
'
#trizen -S $THEMEPACKAGE --noconfirm --needed
#wget https://github.com/adapta-project/adapta-gtk-theme/raw/master/extra/telegram/adapta-nokto.tdesktop-theme -O ~/Downloads/
# User groups:
for GROUP in \
'audio' \
'docker' \
'kvm' \
'sys'
do
sudo usermod -a -G $GROUP $(whoami)
done
/usr/share/oh-my-zsh/tools/install.sh
# .bashrc / .zshrc settings:
# 'alias firefox=\'env TZ=UTC /usr/lib/firefox/firefox\'' \
# 'alias autoremove=\'trizen -Rns $(trizen -Qtdq)\'' \
touch ~/.zshrc
for LINE in \
'neofetch' \
'export ANDROID_HOME=$HOME/Android/Sdk/' \
'export ANDROID_NDK_ROOT=$HOME/Android/Sdk/ndk-bundle/' \
'export PATH=$HOME/Android/Sdk/emulator/:$PATH{}' \
'export EDITOR=/bin/nvim' \
'alias -s {avi,mpeg,mpg,mov,mkv,wmv,m2v,mp4,3gp,mp3,wav}=vlc' \
'alias -s {jpg,jpeg,png,bmp,cr2}=gthumb' \
'alias configure="grc --colour=auto ./configure"' \
'alias df="grc --colour=auto df"' \
'alias diff="grc --colour=auto diff"' \
'alias dig="grc --colour=auto dig"' \
'alias env="grc --colour=auto env"' \
'alias gcc="grc --colour=auto gcc"' \
'alias ip="grc --colour=auto ip"' \
'alias iptables="grc --colour=auto iptables"' \
'alias lsblk="grc --colour=auto lsblk"' \
'alias lsmod="grc --colour=auto lsmod"' \
'alias lspci="grc --colour=auto lspci"' \
'alias mount="grc --colour=auto mount"' \
'alias ping="grc --colour=auto ping"' \
'alias ps="grc --colour=auto ps"' \
'alias traceroute="grc --colour=auto traceroute"' \
'alias uptime="grc --colour=auto uptime"'
do
grep -qF "$LINE" ~/.bashrc || echo "$LINE" >> ~/.bashrc
grep -qF "$LINE" ~/.zshrc || echo "$LINE" >> ~/.zshrc
done
source ~/.bashrc
flutter config --no-analytics
LC_ALL=C xdg-user-dirs-update --force
rmdir ~/Public
rmdir ~/Templates
#git config --global cola.icontheme dark
#git config --global cola.color.remove f24343
#git config --global cola.color.add 7fd140
# Enable systemd services:
for SERVICE in \
atd \
dnscrypt-proxy \
NetworkManager \
bluetooth \
org.cups.cupsd \
smartd \
cronie \
sddm
do
sudo systemctl enable $SERVICE
sudo systemctl start $SERVICE
done
#echo --
#echo IP Vanish VPN
#echo --
#echo npm:
#echo firebase-tools
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment