Here are the steps I used to install Omarchy in dual boot with Windows (inspired by https://www.youtube.com/watch?v=9jTk3K3ExaI):
- Use iwctl to connect to wifi
sfdisk /dev/nvme0n1-> make 1 EFI partition (nvme0n1p4 - 1G), 1 Linux partition (nvme0n1p5 - remaining space)- Format
mkfs.vfat -F 32 /dev/nvme0n1p4
mkfs.btrfs /dev/nvme0n1p5
- Create subvolumes (not sure if optional or mandatory). Do NOT create a subvolume for snapshots, it will raise errors during archinstall.
mount /dev/nvme0n1p5 /mnt
btrfs su cr /mnt/@
btrfs su cr /mnt/@home
btrfs su cr /mnt/@pkg
btrfs su cr /mnt/@log
umount /mnt
mkdir /mnt/archinstall
mount -o noatime,compress=zstd,discard=async,space_cache=v2,subvol=@ /dev/nvme0n1p5 /mnt/archinstall
mkdir -p /mnt/archinstall/home
mkdir -p /mnt/archinstall/var/cache/pacman/pkg
mkdir -p /mnt/archinstall/var/log
mount -o noatime,compress=zstd,discard=async,space_cache=v2,subvol=@home /dev/nvme0n1p5 /mnt/archinstall/home
mount -o noatime,compress=zstd,discard=async,space_cache=v2,subvol=@pkg /dev/nvme0n1p5 /mnt/archinstall/var/cache/pacman/pkg
mount -o noatime,compress=zstd,discard=async,space_cache=v2,subvol=@log /dev/nvme0n1p5 /mnt/archinstall/var/log
mkdir -p /mnt/archinstall/boot
mount /dev/nvme0n1p4 /mnt/archinstall/boot
- Run archinstall following https://learn.omacom.io/2/the-omarchy-manual/96/manual-installation, except;
Disk configuration -> Pre-Mounted configuration -> /mnt/archinstall
Disk > Disk encryption > Disabled (I disabled it out of fear it could break something, but maybe it's possible to enable encryption)
- Chroot into the newly created installation
- Copy the Windows EFI to the new EFI
mkdir /mnt/win
mount /dev/nvme0n1p1 /mnt/win
cp -r /mnt/win/EFI/Microsoft /boot/EFI
- Reboot and login as user and run:
curl -fsSL https://omarchy.org/install | bash - Add to /boot/limine.conf
/Windows
comment: Microsoft Windows Boot Manager
comment: order-priority=20
protocol: efi_chainload
image_path: boot():/EFI/Microsoft/Boot/bootmgfw.efi
- Enable lock screen
vim ~/.config/hypr/autosstart.conf
exec-once = hyprlock
exec-once = hypridle -time 120 -lock-command "hyprlock"
basecamp/omarchy#175