Skip to content

Instantly share code, notes, and snippets.

@azmelanar
Last active October 29, 2020 09:22
Show Gist options
  • Save azmelanar/76692a3a908aaa4ad5305b6edf11049d to your computer and use it in GitHub Desktop.
Save azmelanar/76692a3a908aaa4ad5305b6edf11049d to your computer and use it in GitHub Desktop.
Arch Linux Kickstart
#!/usr/bin/env bash
# PACKAGES
pacstrap -i /mnt base linux linux-headers linux-firmware
## system
pacman -S linux-lts linux-lts-headers linux linux-headers linux-firmware reflector
pacman -S base-devel zsh vim git openssh sudo
pacman -S networkmanager wpa_supplicant
systemctl enable NetworkManager
pacman -S lvm2
vim /etc/mkinitcpio.conf
# Add 'ext4' to MODULES
# Add 'encrypt' and 'lvm2' to HOOKS before filesystems
mkinitcpio -p linux-lts
ln -s /usr/share/zoneinfo/Europe/Warsaw /etc/localtime
hwclock --systohc --utc
# Edit /etc/locale.gen and uncomment en_US.UTF-8 UTF-8
locale-gen
echo LANG=en_US.UTF-8 >> /etc/locale.conf
echo LANGUAGE=en_US >> /etc/locale.conf
echo LC_ALL=C >> /etc/locale.conf
echo MYHOSTNAME > /etc/hostname
passwd
# Uncomment wheel in /etc/sudoers
useradd -m -g users -G wheel -s /bin/zsh MYUSERNAME
passwd MYUSERNAME
pacman -S grub efibootmgr dosfstools os-prober mtools
# Modify /etc/default/grub
# Uncomment GRUB_ENABLE_CRYPTODISK=y
# Add to GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=/dev/nvme0n1p8:vg0:allow-discards"
grub-install
grub-mkconfig -o /boot/grub/grub.cfg
cp /etc/fstab /etc/fstab.bak
exit
umount -R /mnt
swapoff -a
reboot
pacman -S --needed base-devel git
cd /opt
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
## KDE
### core
pacman -S sddm mesa mesa-demos plasma plasma-wayland-session konsole dolphin ark kate kcalc spectacle kmix gwenview okular
### audio
pacman -S pulseaudio pulseaudio-bluetooth bluez bluez-utils bluedevil
### power
pacman -S powerdevil
systemctl enable NetworkManager.service
systemctl enable bluetooth.service
systemctl enable sddm.service
## core
pacman -S zsh tar zip unzip zstd curl wget git vim jq expect parallel mosh
## network
pacman -S inetutils bind-tools traceroute nmap mtr whois
## console
pacman -S pwgen tmux neovim ripgrep bat pandoc graphviz borgbackup restic mc mpv xclip
pacman -S neofetch keychain ctags fd fzf htop ncdu shellcheck tree man-db man-pages
## fonts
pacman -S ttf-jetbrains-mono
## language packs
## java
pacman -S jre8-openjdk
## software
pacman -S networkmanager-openvpn nextcloud-client keepassxc firefox libreoffice-fresh telegram-desktop thunderbird flameshot
yay -S google-chrome jetbrains-toolbox visual-studio-code-bin slack-desktop spotify lazygit dive
## docker
pacman -Sy docker docker-compose
## kubernetes
pacman -Sy kubectl helm k9s kubeval
## google
yay -S google-cloud-sdk
## python
pacman -S python-pip python-pipenv
## javascript
pacman -S nodejs yarn
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment