remove bloat
This commit is contained in:
parent
f408944387
commit
f6c5e1eda4
188
arch_install
188
arch_install
|
@ -27,23 +27,6 @@ echo (){
|
||||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
# SOFTWARE.
|
# SOFTWARE.
|
||||||
#}}}
|
#}}}
|
||||||
#ABOUT#{{{
|
|
||||||
# This script will set up an Arch installation with a 100 MB /boot partition
|
|
||||||
# and an encrypted LVM partition with swap and / inside. It also installs
|
|
||||||
# and configures systemd as the init system.
|
|
||||||
#
|
|
||||||
# You should read through this script before running it in case you want to
|
|
||||||
# make any modifications, in particular, the variables just below, and the
|
|
||||||
# following functions:
|
|
||||||
#
|
|
||||||
# partition_drive - Customize to change partition sizes (/boot vs LVM)
|
|
||||||
# setup_lvm - Customize for partitions inside LVM
|
|
||||||
# install_packages - Customize packages installed in base system
|
|
||||||
# (desktop environment, etc.)
|
|
||||||
# install_aur_packages - More packages after packer (AUR helper) is
|
|
||||||
# installed
|
|
||||||
# set_netcfg - Preload netcfg profiles
|
|
||||||
#}}}
|
|
||||||
# CONFIGURE THESE VARIABLES{{{
|
# CONFIGURE THESE VARIABLES{{{
|
||||||
# Drive to install to.
|
# Drive to install to.
|
||||||
DRIVE='/dev/sda'
|
DRIVE='/dev/sda'
|
||||||
|
@ -85,107 +68,6 @@ KEYMAP='br-abnt2'
|
||||||
|
|
||||||
LANG=pt_BR.UTF-8
|
LANG=pt_BR.UTF-8
|
||||||
|
|
||||||
# Choose your video driver
|
|
||||||
# For Intel
|
|
||||||
VIDEO_DRIVER="i915"
|
|
||||||
# For nVidia
|
|
||||||
#VIDEO_DRIVER="nouveau"
|
|
||||||
# For ATI
|
|
||||||
#VIDEO_DRIVER="radeon"
|
|
||||||
# For generic stuff
|
|
||||||
#VIDEO_DRIVER="vesa"
|
|
||||||
|
|
||||||
REMOVE_PKGS=false
|
|
||||||
FULL_INSTALL=false
|
|
||||||
#}}}
|
|
||||||
# PACKAGES{{{
|
|
||||||
set_pkgs() {
|
|
||||||
# pkgs_base -> Are on the official repo are are mandatory to use the system
|
|
||||||
# pkgs -> Basic packages for a simple desktop, may be from AUR
|
|
||||||
# FULL_INSTALL -> Install extra stuff, completely optional
|
|
||||||
|
|
||||||
# sudo to allow to run as a user later
|
|
||||||
sudo pacman -Sy
|
|
||||||
|
|
||||||
pkgs_base+=' base linux-zen linux-firmware intel-ucode lvm2 '
|
|
||||||
pkgs_base+=' fish bluez cronie git man-db'
|
|
||||||
# netctl
|
|
||||||
pkgs_base+=' netctl dhcpcd ifplugd wpa_supplicant dialog'
|
|
||||||
|
|
||||||
pkgs_base+=" $(pacman -Sgq base-devel)"
|
|
||||||
if $IS_BIOS;then
|
|
||||||
pkgs_base+=' grub'
|
|
||||||
fi
|
|
||||||
|
|
||||||
pkgs+=" $pkgs_base"
|
|
||||||
# DE
|
|
||||||
pkgs+=' ly sway waybar ruby-fusuma light mako udiskie dotdrop yay'
|
|
||||||
pkgs+=' bemenu wofi-hg j4-dmenu-desktop'
|
|
||||||
# passwords and auth
|
|
||||||
pkgs+=' pass gnupg pam-gnupg'
|
|
||||||
|
|
||||||
# pkgs+=' i3 termite scrot pamixer'
|
|
||||||
pkgs+=' thunar redshift-wlr-gamma-control-git '
|
|
||||||
pkgs+=' pkgfile alacritty neovim moreutils htop-vim-git'
|
|
||||||
# Audio
|
|
||||||
pkgs+=' pulseaudio pavolume-git'
|
|
||||||
# Fonts
|
|
||||||
pkgs+=' ttf-hack inter-font otf-fira-code ttf-material-wifi-icons-git'
|
|
||||||
if $FULL_INSTALL; then
|
|
||||||
# Screenshot
|
|
||||||
pkgs+=' grim slurp wl-clipboard wf-recorder-git'
|
|
||||||
pkgs+=' httpie jq'
|
|
||||||
# Theme
|
|
||||||
pkgs+=' materia-custom-accent papirus-icon-theme'
|
|
||||||
pkgs+=' papirus-folders-git capitaine-cursors '
|
|
||||||
# Terminal
|
|
||||||
pkgs+=' tmux ranger atool p7zip tree'
|
|
||||||
pkgs+=' neofetch powerline-fonts'
|
|
||||||
pkgs+=' exa bat lolcat cmatrix'
|
|
||||||
# extra font for ranger
|
|
||||||
pkgs+=' otf-nerd-fonts-fira-code'
|
|
||||||
# Network
|
|
||||||
pkgs+=' wget curl bluez-utils rsync rclone nmap gnu-netcat tor mtr speedtest-cli'
|
|
||||||
pkgs+=' openssh sshfs fail2ban'
|
|
||||||
# Browser
|
|
||||||
pkgs+=' qutebrowser youtube-dl'
|
|
||||||
# Email
|
|
||||||
pkgs+=' neomutt isync'
|
|
||||||
# Files
|
|
||||||
pkgs+=' syncthing nextcloud-client '
|
|
||||||
pkgs+=' deluge deezloader-remix-git smloadr'
|
|
||||||
# Media
|
|
||||||
pkgs+=' imv mpv mpd mpc ncmpcpp mpv-mpris mpdris2 playerctl'
|
|
||||||
pkgs+=' blender gimp kdenlive picard image_optim'
|
|
||||||
# Office
|
|
||||||
pkgs+=' libreoffice-fresh libreoffice-fresh-pt-br hunspell-pt-br papirus-libreoffice-theme'
|
|
||||||
# Programing
|
|
||||||
pkgs+=' code neovim python-pynvim neovim-symlinks ipython how2'
|
|
||||||
pkgs+=' gdb clang'
|
|
||||||
# Virt
|
|
||||||
pkgs+=' qemu'
|
|
||||||
# Gtk
|
|
||||||
pkgs+=' gtk3-nocsd-git'
|
|
||||||
# Qt
|
|
||||||
pkgs+=' qt5-base qt5-wayland qt5ct kvantum-qt5'
|
|
||||||
# Chat
|
|
||||||
pkgs+=' discord telegram-desktop telegram-cli-git'
|
|
||||||
# Gaming
|
|
||||||
pkgs+=' steam lutris gamemode lutris-wine-meta wine wine-mono winetricks'
|
|
||||||
if [ "$VIDEO_DRIVER" == "i915" ];then
|
|
||||||
pkgs+=' xf86-video-intel '
|
|
||||||
pkgs+=' lib32-mesa vulkan-intel lib32-vulkan-intel vulkan-icd-loader lib32-vulkan-icd-loader'
|
|
||||||
elif [ "$VIDEO_DRIVER" == "radeon" ];then
|
|
||||||
pkgs+=' xf86-video-ati'
|
|
||||||
pkgs+=' lib32-mesa vulkan-radeon lib32-vulkan-radeon vulkan-icd-loader lib32-vulkan-icd-loader'
|
|
||||||
elif [ "$VIDEO_DRIVER" == "nouveau" ];then
|
|
||||||
pkgs+=' xf86-video-nouveau'
|
|
||||||
pkgs+=' nvidia nvidia-utils lib32-nvidia-utils nvidia-settings vulkan-icd-loader lib32-vulkan-icd-loader'
|
|
||||||
elif [ "$VIDEO_DRIVER" == "vesa" ];then
|
|
||||||
packages+=' xf86-video-vesa'
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
#}}}
|
#}}}
|
||||||
# Initial Setup{{{
|
# Initial Setup{{{
|
||||||
# Base install{{{
|
# Base install{{{
|
||||||
|
@ -434,7 +316,10 @@ cp -r /mnt/etc/pacman* /etc/
|
||||||
#}}}
|
#}}}
|
||||||
# install_base #{{{
|
# install_base #{{{
|
||||||
install_base() {
|
install_base() {
|
||||||
pacstrap /mnt $pkgs_base
|
pacstrap /mnt \
|
||||||
|
base base-devel linux-zen linux-firmware intel-ucode grub \
|
||||||
|
fish bluez cronie git man-db \
|
||||||
|
iwd dhcpcd
|
||||||
}
|
}
|
||||||
#}}}
|
#}}}
|
||||||
# Set fstab {{{
|
# Set fstab {{{
|
||||||
|
@ -628,39 +513,11 @@ set_daemons() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
systemctl enable \
|
systemctl enable \
|
||||||
cronie.service \
|
cronie.service \
|
||||||
netctl.service \
|
iwd.service \
|
||||||
ly.service
|
dhcpcd.service \
|
||||||
|
ly.service \
|
||||||
|
|
||||||
# Netctl{{{
|
|
||||||
|
|
||||||
cat > /etc/netctl/ethernet-dhcp <<EOF
|
|
||||||
Description='A basic dhcp ethernet connection'
|
|
||||||
Interface=en-any
|
|
||||||
Connection=ethernet
|
|
||||||
IP=dhcp
|
|
||||||
EOF
|
|
||||||
mkdir -p /etc/netctl/interfaces/
|
|
||||||
cat > /etc/netctl/interfaces/en-any <<EOF
|
|
||||||
#!/bin/bash
|
|
||||||
for interface in /sys/class/net/en*; do
|
|
||||||
break;
|
|
||||||
done
|
|
||||||
Interface=\$(basename \$interface)
|
|
||||||
echo "en-any: using interface \$Interface";
|
|
||||||
EOF
|
|
||||||
chmod +x /etc/netctl/interfaces/en-any
|
|
||||||
|
|
||||||
cd /sys/class/net/
|
|
||||||
for interface in $(ls -d en*);do
|
|
||||||
systemctl enable netctl-ifpluged@$interface
|
|
||||||
done
|
|
||||||
for interface in $(ls -d wl*);do
|
|
||||||
systemctl enable netctl-auto@$interface
|
|
||||||
done
|
|
||||||
cd -
|
|
||||||
|
|
||||||
#}}}
|
|
||||||
# Ly{{{
|
# Ly{{{
|
||||||
mkdir -p /etc/ly/
|
mkdir -p /etc/ly/
|
||||||
cat > /etc/ly/config.ini << EOF
|
cat > /etc/ly/config.ini << EOF
|
||||||
|
@ -809,15 +666,10 @@ user_setup() {
|
||||||
echo 'Installing packages'
|
echo 'Installing packages'
|
||||||
install_aur_packages
|
install_aur_packages
|
||||||
|
|
||||||
if $REMOVE_PKGS;then
|
echo 'Installing dotfiles'
|
||||||
echo 'Cleaning packages'
|
|
||||||
clean_packages
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo 'Stowing dotfiles'
|
|
||||||
install_dots
|
install_dots
|
||||||
}
|
}
|
||||||
# Install AUR packages #{{{
|
# Install AUR helper #{{{
|
||||||
install_aur_packages() {
|
install_aur_packages() {
|
||||||
|
|
||||||
sudo pacman -S --needed git
|
sudo pacman -S --needed git
|
||||||
|
@ -830,22 +682,6 @@ install_aur_packages() {
|
||||||
makepkg -si --noconfirm
|
makepkg -si --noconfirm
|
||||||
cd -
|
cd -
|
||||||
fi
|
fi
|
||||||
|
|
||||||
yay -Syu --needed --noconfirm $pkgs || true
|
|
||||||
}
|
|
||||||
#}}}
|
|
||||||
# Clean up packages #{{{
|
|
||||||
clean_packages() {
|
|
||||||
# Mark every package as dependency
|
|
||||||
yay -D --asdeps $(yay -Qqe) > /dev/null
|
|
||||||
# Mark some packages as explicit
|
|
||||||
yay -D --asexplicit $pkgs > /dev/null
|
|
||||||
# Query orphan dependencies
|
|
||||||
TO_REMOVE=$(yay -Qtdq)
|
|
||||||
if [ -n "$TO_REMOVE" ];then
|
|
||||||
# Remove queried packages
|
|
||||||
yay -Rns --noconfirm $TO_REMOVE
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
#}}}
|
#}}}
|
||||||
# Install dotfiles{{{
|
# Install dotfiles{{{
|
||||||
|
@ -853,13 +689,13 @@ install_dots() {
|
||||||
if [ ! -d ~/.dotfiles ];then
|
if [ ! -d ~/.dotfiles ];then
|
||||||
git clone $DOTFILES_URL ~/.dotfiles
|
git clone $DOTFILES_URL ~/.dotfiles
|
||||||
fi
|
fi
|
||||||
test -f ~/.dotfiles/config.y*ml &&
|
if [ -f ~/.dotfiles/config.y*ml ]; then
|
||||||
dotdrop --cfg ~/.dotfiles/config.y*ml install --force --no-banner
|
dotdrop --cfg ~/.dotfiles/config.y*ml install --force --no-banner
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
#}}}
|
#}}}
|
||||||
#}}}
|
#}}}
|
||||||
|
|
||||||
set_pkgs
|
|
||||||
if [ ! "$USER" == "root" ];then
|
if [ ! "$USER" == "root" ];then
|
||||||
user_setup
|
user_setup
|
||||||
elif is_chroot;then
|
elif is_chroot;then
|
||||||
|
|
Reference in New Issue