164 lines
4.5 KiB
Bash
Executable file
164 lines
4.5 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
# Git for /etc
|
|
sudo pacman -S etckeeper --needed
|
|
(cd /etc/; sudo git config user.name "etckeeper on $(cat /etc/hostname)"; sudo git config user.email "etckeeper@$(cat /etc/hostname)")
|
|
[ ! -d /etc/.git ] && sudo etckeeper init
|
|
sudo etckeeper commit "install-arch script: begin"
|
|
|
|
# Install yay
|
|
if ! pacman -Q yay &> /dev/null
|
|
then
|
|
mkdir -p $HOME/.cache/yay
|
|
cd $HOME/.cache/yay
|
|
curl -L https://aur.archlinux.org/cgit/aur.git/snapshot/yay.tar.gz | tar xzvf -
|
|
cd yay
|
|
makepkg -si
|
|
fi
|
|
|
|
# Keyboard layout
|
|
echo '# File wrote by ~/.dotfiles/config/scripts/install-arch
|
|
|
|
Section "InputClass"
|
|
Identifier "system-keyboard"
|
|
MatchIsKeyboard "on"
|
|
Option "XkbLayout" "us_qwerty-fr"
|
|
EndSection
|
|
' | sudo tee /etc/X11/xorg.conf.d/00-keyboard.conf
|
|
|
|
# Backlight (for Intel Devices)
|
|
if [ -d /sys/class/backlight/intel_backlight ]
|
|
then
|
|
sudo pacman -S xf86-video-intel --needed
|
|
echo '# File wrote by ~/.dotfiles/config/scripts/install-arch
|
|
|
|
Section "Device"
|
|
Identifier "Intel Graphics"
|
|
Driver "intel"
|
|
Option "Backlight" "intel_backlight"
|
|
EndSection
|
|
' | sudo tee /etc/X11/xorg.conf.d/20-intel.conf
|
|
fi
|
|
|
|
# Touchpad
|
|
echo '# File wrote by ~/.dotfiles/config/scripts/install-arch
|
|
|
|
Section "InputClass"
|
|
Identifier "touchpad"
|
|
Driver "libinput"
|
|
MatchIsTouchpad "on"
|
|
Option "Tapping" "on"
|
|
EndSection
|
|
' | sudo tee /etc/X11/xorg.conf.d/30-touchpad.conf
|
|
|
|
# Disable joystick as mouse
|
|
echo '# File wrote by ~/.dotfiles/config/scripts/install-arch
|
|
|
|
Section "InputClass"
|
|
Identifier "joystick catchall"
|
|
MatchIsJoystick "on"
|
|
MatchDevicePath "/dev/input/event*"
|
|
Driver "joystick"
|
|
Option "StartKeysEnabled" "False" #Disable mouse
|
|
Option "StartMouseEnabled" "False" #support
|
|
EndSection
|
|
' | sudo tee /etc/X11/xorg.conf.d/50-joystick.conf
|
|
|
|
# Install same rules with nvidia-xrun
|
|
if [ -d /etc/X11/nvidia-xorg.conf.d ]
|
|
then
|
|
function link { # filename
|
|
sudo ln -s ../xorg.conf.d/$1 /etc/X11/nvidia-xorg.conf.d/$1
|
|
}
|
|
link 00-keyboard.conf
|
|
link 20-intel.conf # Yep
|
|
link 30-touchpad.conf
|
|
link 50-joystick.conf
|
|
fi
|
|
exit 0
|
|
|
|
# Uninstall Manjaro's pamac
|
|
if pacman -Q pamac &> /dev/null
|
|
then
|
|
sudo pacman -Rsc pamac --noconfirm
|
|
fi
|
|
|
|
# Ccache
|
|
sudo pacman -S ccache --needed
|
|
sudo sed 's|BUILDENV=\(.\+\)!ccache\(.\+\)|BUILDENV=\1ccache\2|' /etc/makepkg.conf -i
|
|
|
|
# Makepkg config
|
|
sudo sed 's|BUILDENV=\(.\+\)!color\(.\+\)|BUILDENV=\1color\2|' /etc/makepkg.conf -i
|
|
|
|
# Pacman config
|
|
sudo sed 's|#Color|Color\nILoveCandy|' /etc/pacman.conf -i
|
|
|
|
# TLP
|
|
sudo pacman -S tlp --needed
|
|
# sudo sed 's|SATA_LINKPWR_ON_BAT=min_power|SATA_LINKPWR_ON_BAT=max_performance|' /etc/default/tlp -i
|
|
sudo systemctl enable tlp.service tlp-sleep.service --now
|
|
sudo systemctl disable systemd-rfkill.service systemd-rfkill.socket
|
|
sudo tlp start
|
|
|
|
# Numlock on boot
|
|
echo "# File wrote by ~/.dotfiles/config/scripts/install-arch
|
|
|
|
[Service]
|
|
ExecStartPre=/bin/sh -c 'setleds +num < /dev/%I'
|
|
" | sudo tee /etc/systemd/system/getty@.service.d/override.conf
|
|
|
|
# Makeflags
|
|
# I'd rather have updates not take my whole CPU
|
|
# sudo sed "s|#MAKEFLAGS=\"-j2\"|MAKEFLAGS=\"-j$(nproc)\"|" /etc/makepkg.conf -i
|
|
|
|
# DHCPCD
|
|
sudo pacman -S dhcpcd --needed
|
|
sudo systemctl enable dhcpcd --now
|
|
|
|
# Time synchronisation
|
|
sudo pacman -S chrony --needed
|
|
echo '# File wrote by ~/.dotfiles/config/scripts/install-arch
|
|
|
|
server 0.europe.pool.ntp.org offline
|
|
server 1.europe.pool.ntp.org offline
|
|
server 2.europe.pool.ntp.org offline
|
|
server 3.europe.pool.ntp.org offline
|
|
driftfile /etc/chrony.drift
|
|
rtconutc
|
|
rtcsync' | sudo tee /etc/chrony.conf
|
|
sudo systemctl enable chronyd --now
|
|
echo '# File wrote by ~/.dotfiles/config/scripts/install-arch
|
|
|
|
if $if_up; then
|
|
chronyc online
|
|
elif $if_down; then
|
|
chronyc offline
|
|
fi
|
|
' | sudo tee /etc/dhcpcd.exit-hook
|
|
|
|
# Grub other OS
|
|
sudo pacman -S os-prober --needed
|
|
sudo grub-mkconfig -o /boot/grub/grub.cfg
|
|
|
|
# Manual
|
|
|
|
echo '
|
|
# Hibernation:
|
|
sudo blkid | grep 'TYPE="swap"'
|
|
sudoedit /etc/default/grub
|
|
# Add resume=UUID=<UUID-of-swap-partition> to GRUB_CMDLINE_LINUX_DEFAULT
|
|
sudo grub-mkconfig -o /boot/grub/grub.cfg
|
|
'
|
|
|
|
echo '
|
|
# wpa_supplicant (Wi-Fi)
|
|
sudo pacman -S wpa_supplicant
|
|
ip link
|
|
[ ! -f /etc/wpa_supplicant/wpa_supplicant.conf ] && wpa_passphrase 'DUMMY' 'JustToHaveAConfigFiel' > /etc/wpa_supplicant/wpa_supplicant.conf
|
|
# Replace wlo1 with the correct interface
|
|
sudo systemctl start wpa_supplicant@wlo1.service
|
|
sudo ln -s wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant-wlo1.conf
|
|
'
|
|
|
|
sudo etckeeper commit "install-arch script: end"
|