Installation scripts for my Dotfiles
See Arch Linux installation guide.
pacstrap -K /mnt base linux linux-firmware efibootmgr sbctl git
genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt- The
/nix/storecan grow significantly, as it holds all the Nix packages and their dependencies. If the/nix/storeis on the root partition and it becomes too large, it could potentially exhaust the available space, causing system issues. Therefore, it's recommended to create a separate partition for/nix. - Using
/nixfor building Nix packages rather than/tmpcan help avoid running out of space, especially if/tmpis mounted as a tmpfs (which is often backed by RAM and swap). Since the size of/tmpis typically limited to a fraction of your RAM, large builds can easily exhaust this space, leading to build failures. To achieve this, setbuild-dir = /nixinnix.confor set the environment variableTMPDIRto/nix.
For more info, see storage optimization.
Prerequisites:
- Arch Linux is booted in UEFI mode. Run
cat /sys/firmware/efi/fw_platform_sizeand if the file exists, then the system is booted in UEFI mode. See UEFI from Linux. - Secure boot is disabled and is in setup mode. Run
sbctl statusto check the secure boot status. - EFI partition is mounted in
/efidirectory. See typical mount points for EFI partition. - The EFI, Root and Swap partition must be labeled EFI, SYSTEM, and SWAP, respectively.
Then run the following in arch-chroot environment:
git clone 'https://github.com/kenrendell/dotfiles-install.git' /srv/git/dotfiles-install
/srv/git/dotfiles-install/install.sh "${USERNAME}"After successfully creating unified kernel images, create an UEFI boot entry for each EFI executable in /efi/EFI/Linux directory with the following command:
efibootmgr --create --disk "${DISK}" --part "${DISK_PARTITION_NUMBER}" --label 'Arch Linux' --loader 'EFI\Linux\linux.efi' --unicode
efibootmgr --create --disk "${DISK}" --part "${DISK_PARTITION_NUMBER}" --label 'Arch Linux (LTS)' --loader 'EFI\Linux\linux-lts.efi' --unicode