Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
cdb8c6e
add guard for arm architecture
nilszeilon Aug 14, 2025
f6c787b
change omarchy repo
nilszeilon Aug 14, 2025
55f825d
install lazydocker instead of the bin (x86-64 arch only)
nilszeilon Aug 14, 2025
aee212b
install guide for MacOS dual boot with omarchy
nilszeilon Aug 14, 2025
bf91e56
comment out 1password stuff
nilszeilon Aug 14, 2025
67b71dd
fix menu commands with vulkan setting
nilszeilon Aug 15, 2025
c2a47f1
Autoselect BARE if we install with OMARCHY_ARM
nilszeilon Aug 15, 2025
b4b370f
fix typo
nilszeilon Aug 15, 2025
58ab8ab
update docs on how to handle errors installing.
nilszeilon Aug 15, 2025
ab30f2d
You only have to spec OMARCHY_ARM
nilszeilon Aug 15, 2025
bac54b7
add considerations to the installation guide
nilszeilon Aug 15, 2025
38349a6
install pipewire for audio
nilszeilon Aug 15, 2025
bad11ee
add noconfirm flag to install of pipewire (conflict with jack) and ad…
nilszeilon Aug 16, 2025
e3c00eb
fix typo
nilszeilon Aug 16, 2025
136390d
fix install url
nilszeilon Aug 17, 2025
1bb6ce8
auto-detect ARM arch
nilszeilon Aug 17, 2025
d24a803
add arm to state for exclusions
nilszeilon Aug 17, 2025
8847833
source 1password configs only on x86
nilszeilon Aug 17, 2025
d2f5cc4
migrate state for arm users
nilszeilon Aug 17, 2025
03dca09
Merge remote-tracking branch 'upstream/master'
nilszeilon Aug 17, 2025
7b66f5a
change back to the omarchy repo
nilszeilon Aug 17, 2025
876375c
update installation guide
nilszeilon Aug 17, 2025
c2fd26c
Merge remote-tracking branch 'upstream/dev' into add-aarch64-support
nilszeilon Aug 17, 2025
61bbadd
remove comment
nilszeilon Aug 17, 2025
5f40eb8
Merge remote-tracking branch 'upstream/dev' into add-aarch64-support
nilszeilon Aug 22, 2025
920f65d
combine conditional
nilszeilon Aug 22, 2025
82d8e35
remove architecture guard
nilszeilon Aug 22, 2025
8ef66db
preflight setup script for asahi-alarm users
nilszeilon Aug 23, 2025
700d41d
add prerequisites for Omarchy on asahi linux
nilszeilon Aug 23, 2025
43ee89b
add comment on use of correct shaders for aarch64
nilszeilon Aug 23, 2025
f69b50a
move arm check from guard
nilszeilon Aug 23, 2025
40c562c
move check to asahi preflight
nilszeilon Aug 23, 2025
724b210
set the repo to boot correctly
nilszeilon Aug 24, 2025
55b0ada
symlink the aarch64 conf file
nilszeilon Aug 24, 2025
deba584
remove noconfirm, fails install
nilszeilon Aug 24, 2025
9f1829b
add bash
nilszeilon Aug 24, 2025
4d2210a
pass env
nilszeilon Aug 24, 2025
f9e213a
remove inf loop
nilszeilon Aug 24, 2025
f3881ef
append the mirror instead of replacing
nilszeilon Aug 24, 2025
6cbe4d9
pass full path
nilszeilon Aug 24, 2025
2f64f57
run install script again
nilszeilon Aug 24, 2025
9102af3
reboot from new user
nilszeilon Aug 24, 2025
5ff21b8
instructions to continue
nilszeilon Aug 24, 2025
2e6f062
install audio first to mitigate conflict
nilszeilon Aug 24, 2025
c2d08d3
add noconfirm on pipewire things
nilszeilon Aug 24, 2025
bd83295
complete automation of asahi setup of omarchy
nilszeilon Aug 24, 2025
e723cdf
Merge remote-tracking branch 'upstream/dev' into add-aarch64-support
nilszeilon Aug 24, 2025
7b08c50
override conf files with symlink
nilszeilon Aug 24, 2025
53665ee
move asahi package to asahi pre-flight
nilszeilon Aug 24, 2025
26642ef
Merge remote-tracking branch 'upstream/dev' into add-aarch64-support
nilszeilon Aug 25, 2025
1dc79fa
use pacman here
nilszeilon Aug 25, 2025
ad2ddb8
remove mirror list and unused arm state
nilszeilon Aug 29, 2025
b65570c
remove separate audio install file
nilszeilon Aug 29, 2025
e4b2082
add pipewire packages
nilszeilon Aug 29, 2025
5d345d5
remove ref to audio.sh
nilszeilon Aug 29, 2025
08ed050
Merge remote-tracking branch 'upstream/dev' into add-aarch64-support
nilszeilon Aug 29, 2025
c2eed6f
remove previous logic of overriding files, add patch hypr envs for aa…
nilszeilon Aug 31, 2025
51b69eb
add pipewire packages to asahi
nilszeilon Aug 31, 2025
de0b32c
add arm/asahi installations back after merge
nilszeilon Sep 17, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions install/preflight/all.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ source $OMARCHY_INSTALL/preflight/guard.sh
source $OMARCHY_INSTALL/preflight/begin.sh
run_logged $OMARCHY_INSTALL/preflight/show-env.sh
run_logged $OMARCHY_INSTALL/preflight/pacman.sh
run_logged $OMARCHY_INSTALL/preflight/arm.sh
run_logged $OMARCHY_INSTALL/preflight/asahi.sh
run_logged $OMARCHY_INSTALL/preflight/migrations.sh
run_logged $OMARCHY_INSTALL/preflight/first-run-mode.sh
run_logged $OMARCHY_INSTALL/preflight/disable-mkinitcpio.sh
23 changes: 23 additions & 0 deletions install/preflight/arm.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/bin/bash
# Auto-detect ARM architecture and set flag
arch=$(uname -m)
if [[ "$arch" == "aarch64" || "$arch" == "arm64" ]]; then
export OMARCHY_ARM=true
echo "Auto-detected ARM architecture: $arch"
echo "Setting OMARCHY_ARM=true"

# Patch envs.conf for aarch64 - add Vulkan ICD for walker
envs_file="$HOME/.local/share/omarchy/default/hypr/envs.conf"
if [[ -f "$envs_file" ]]; then
# Check if the Vulkan ICD line already exists
if ! grep -q "VK_ICD_FILENAMES" "$envs_file"; then
echo "Patching envs.conf for aarch64..."
# Find the last env line and add the Vulkan ICD after it
last_env_line=$(grep -n "^env = " "$envs_file" | tail -1 | cut -d: -f1)
if [[ -n "$last_env_line" ]]; then
sed -i "${last_env_line}a\\\\n# Required for walker on aarch64\\nenv = VK_ICD_FILENAMES,/usr/share/vulkan/icd.d/lvp_icd.aarch64.json" "$envs_file"
fi
fi
fi

fi
118 changes: 118 additions & 0 deletions install/preflight/asahi.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
#!/bin/bash

# Prerequisites for installing Omarchy on a m-series macbook
#
# 1. Follow these instructions: https://asahi-alarm.org/ and choose the minimal installation (1)
# 2. Set up wifi and install wget
# 3. Run the omarchy install command

# Asahi Linux ARM setup script for Omarchy
# This script automates the post-Asahi installation steps for MacBook M-series

# Check if we're on Asahi Linux and need initial setup
if [ "$EUID" -eq 0 ] && [ "$(uname -m)" = "aarch64" ]; then

# Check for Asahi indicators
if grep -qi "asahi" /etc/os-release 2>/dev/null ||
uname -r | grep -qi "asahi" ||
pacman -Q linux-asahi &>/dev/null ||
pacman -Q asahi-scripts &>/dev/null; then

echo "Detected Asahi Linux - running initial setup..."

# install gum and asahi specific packages
pacman -S --needed --noconfirm \
gum \
asahi-audio \
pipewire-alsa \
pipewire-jack \
pipewire-pulse

set -e

# Check if running as root (required for initial setup)
if [ "$EUID" -ne 0 ]; then
echo "This script must be run as root for initial setup"
echo "Please run: sudo bash $0"
exit 1
fi

echo "=================================="
echo "Omarchy Asahi Linux Setup"
echo "=================================="
echo

# Check if user already exists
echo "Setting up user account..."
existing_users=$(awk -F: '$3 >= 1000 && $1 != "nobody" {print $1}' /etc/passwd)

if [ -n "$existing_users" ]; then
echo "Found existing users: $existing_users"
use_existing=$(gum confirm "Use an existing user account?" && echo "yes" || echo "no")

if [ "$use_existing" = "yes" ]; then
username=$(echo "$existing_users" | gum choose --header "Select user:")
else
username=$(gum input --placeholder "Enter new username")
fi
else
username=$(gum input --placeholder "Enter username for Omarchy")
fi

# Create user if doesn't exist
if ! id "$username" &>/dev/null; then
echo "Creating user $username..."
useradd -m "$username"

echo "Setting password for $username..."
while true; do
password=$(gum input --password --placeholder "Enter password for $username")
password_confirm=$(gum input --password --placeholder "Confirm password")

if [ "$password" = "$password_confirm" ]; then
echo "$username:$password" | chpasswd
break
else
echo "Passwords don't match. Please try again."
fi
done

# Add to wheel group for sudo access
usermod -aG wheel "$username"
echo "Added $username to wheel group"
fi

# Enable sudo for wheel group
echo "Configuring sudo access..."
if grep -q "^# %wheel ALL=(ALL:ALL) ALL" /etc/sudoers; then
sed -i 's/^# %wheel ALL=(ALL:ALL) ALL/%wheel ALL=(ALL:ALL) ALL/' /etc/sudoers
echo "Enabled sudo for wheel group"
elif ! grep -q "^%wheel ALL=(ALL:ALL) ALL" /etc/sudoers; then
echo "%wheel ALL=(ALL:ALL) ALL" >>/etc/sudoers
echo "Added wheel group to sudoers"
fi

# User setup complete - provide instructions to continue the Omarchy installation
echo
echo "=================================="
echo "Initial setup complete!"
echo "=================================="
echo
echo "Please follow these steps to continue:"
echo
echo "1. Log in as user: $username"
echo
echo " su - $username"
echo
echo "2. Run the following command to continue installation:"
echo
echo " wget -qO- https://omarchy.org/install | bash"
echo
echo "=================================="
echo

# Exit the script here so it doesn't continue with the rest of install.sh
exit 0

fi
fi
3 changes: 0 additions & 3 deletions install/preflight/guard.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@ done
# Must not be running as root
[ "$EUID" -eq 0 ] && abort "Running as root (not user)"

# Must be x86 only to fully work
[ "$(uname -m)" != "x86_64" ] && abort "x86_64 CPU"

# Must not have Gnome or KDE already install
pacman -Qe gnome-shell &>/dev/null && abort "Fresh + Vanilla Arch"
pacman -Qe plasma-desktop &>/dev/null && abort "Fresh + Vanilla Arch"
Expand Down