New installations 2024-04-29 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.
  1. partition the hard drive
  2. format partitions
  3. mount all the partitions
  4. $ pacstrap -ci /mnt base
  5. $ genfstab -U /mnt >> /mnt/etc/fstab
  6. arch-chroot into the new installation
  7. install kernel, run $ mkinitcpio -P
  8. set up a bootloader like grub or systemd-boot
  9. install additional packages: vim tmux networkmanager
  10. set up a user account with sudo privileges
  11. reboot
At this point you should have a basic working system installation, but there is a lot more to do.
  1. set hostname, locales, keymaps, timezone
  2. install additional drivers (microcode, nvidia, r8168) and load kernel modules you might need
  3. regenerate mirrorlist with reflector
  4. set up a desktop manager (lightdm) with a greeter (lightdm-gtk-greeter)
  5. install a desktop environment (cinnamon) or a window manager (i3, sway)
  6. install some AUR helper (paru, yay)
  7. install your preferred set of packages
  8. enable your preferred set of services
  9. add your user to preferred groups
  10. set up a firewall (ufw, gufw)
  11. restore your dotfiles and custom configurations
  12. change themes (mint-l-theme) and icons (papirus-icon-theme)
  13. tweak your desktop environment settings just right
  14. change your input method to fcitx with mozc
  15. disable actions on lid close (/etc/systemd/logind.conf) and automatic suspend
  16. install vim-plug and vim plugins
  17. 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!