New installations
My checklist for a new Arch Linux installation, from partitioning and pacstrap to the packages and settings I set up first.
Installation guide on ArchWiki describes basics in more details. This list is just an overview, in practice the basic installation is mostly covered by 'archinstall'. In the past I wrote a post about partitioning for fully encrypted installations, check it out first if that's what you're aiming for.
- partition the hard drive
- format partitions
- mount all the partitions
- $ pacstrap -ci /mnt base
- $ genfstab -U /mnt >> /mnt/etc/fstab
- arch-chroot into the new installation
- install kernel, run $ mkinitcpio -P
- set up a bootloader like grub or systemd-boot
- install additional packages: vim tmux networkmanager
- set up a user account with sudo privileges
- reboot
At this point you should have a basic working system installation, but there is a lot more to do.
- set hostname, locales, keymaps, timezone
- install additional drivers (microcode, nvidia, r8168) and load kernel modules you might need
- regenerate mirrorlist with reflector
- set up a desktop manager (lightdm) with a greeter (lightdm-gtk-greeter)
- install a desktop environment (cinnamon) or a window manager (i3, sway)
- install some AUR helper (paru, yay)
- install your preferred set of packages
- enable your preferred set of services
- add your user to preferred groups
- set up a firewall (ufw, gufw)
- restore your dotfiles and custom configurations
- change themes (mint-l-theme) and icons (papirus-icon-theme)
- tweak your desktop environment settings just right
- change your input method to fcitx with mozc
- disable actions on lid close (/etc/systemd/logind.conf) and automatic suspend
- install vim-plug and vim plugins
- monitor filesystem integrity with AIDE
For some of these topics you can find helpful info on my blog.
Here's the reflector command that you can use for refreshing your mirrorlist:
$ reflector --verbose --latest 100 --fastest 30 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
As a bonus, here's my lightdm-gtk-greeter.conf. I couldn't decide where else to store it.
[greeter]
background = /usr/share/backgrounds/lain-on-black.png
user-background = false
theme-name = Mint-L-Dark-Red
icon-theme-name = Papirus-Dark
font-name = Liberation Sans 12
indicators = ~power;~spacer;~separator;~clock;~separator;~spacer;~session
clock-format = %H:%M:%S - %a %d %h %Y
position = 5%,start -5%,end
a11y-states = ~contrast
hide-user-image = true
Happy hacking!