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/store
can grow significantly, as it holds all the Nix packages and their dependencies. If the/nix/store
is 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
/nix
for building Nix packages rather than/tmp
can help avoid running out of space, especially if/tmp
is mounted as a tmpfs (which is often backed by RAM and swap). Since the size of/tmp
is typically limited to a fraction of your RAM, large builds can easily exhaust this space, leading to build failures. To achieve this, setbuild-dir = /nix
innix.conf
or set the environment variableTMPDIR
to/nix
.
For more info, see storage optimization.
Prerequisites:
- Arch Linux is booted in UEFI mode. Run
cat /sys/firmware/efi/fw_platform_size
and 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 status
to check the secure boot status. - EFI partition is mounted in
/efi
directory. 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