Skip to content

kenrendell/dotfiles-install

Repository files navigation

Installation scripts for my Dotfiles

Installation

Configure the system

See Arch Linux installation guide.

pacstrap -K /mnt base linux linux-firmware efibootmgr sbctl git
genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt

Nix Storage Optimization

  • 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, set build-dir = /nix in nix.conf or set the environment variable TMPDIR to /nix.

For more info, see storage optimization.

Install Dotfiles

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

About

Installation scripts for my Dotfiles

Topics

Resources

License

Stars

Watchers

Forks

Languages