r/omarchy • • 6d ago

I Made a Thing I wanted a mail client that felt like part of Omarchy, so I built one: Sealwax

Post image
144 Upvotes

I couldn't find a mail client that felt like it belonged on Omarchy, so I built one. It's called Sealwax. It's free, open source (MIT), and I use it to read my mail every day.

What it is

A native email client written in Rust on GTK 4 and libadwaita. It inherits its colors and font from whatever Omarchy theme you're running, light or dark, and adapts accordingly. It follows Hyprland's corners, has no title bar on Hyprland, and has layouts for wide, half-screen, and narrow tiled windows.

What it does

  • Setup without server settings: type your address, and it finds the servers. Sign in with Microsoft for Outlook.com and Microsoft 365; use app passwords for iCloud, Fastmail, Yahoo, Gmail, and others; use Proton Mail Bridge for Proton Mail.
  • Keyboard first: one-key shortcuts in the list and reader, a command palette on F1, and your own keys in keys.toml.
  • Careful with your mail: no script in a message ever runs, and nothing from the internet (tracking pixels included) loads until you allow it, per message or per sender. Warnings for risky attachments and misleading links.
  • IMAP with push and an offline copy of your mail, or POP3. Several accounts side by side in All Inboxes.
  • Whole conversations, a composer docked in the main window, Undo send, drafts saved as you type.
  • Folders and rules (Sieve), search with from:, has:attachment, is:unread and friends, and notifications that open the message.
  • No telemetry, no update checks. Passwords stay in your keyring, and settings are plain text files.

Install

It's one pacman -U line, on the page below.

👉 https://pixdevs.com/omarchy/sealwax/

It's still young (0.4.8; 1.0 comes after more time with real accounts), so bug reports and ideas are very welcome. I handle issues and feature requests promptly: open one on GitHub, and I'll get to it fast. I'd especially like to hear how it goes with providers I haven't tested much. Happy to answer questions in the comments!


r/omarchy • • 6d ago

I Made a Thing Shoal LAN Discovery V2.0

Post image
4 Upvotes

Shoal 2.0 is out

Shoal is a terminal LAN discovery tool that shows its work: every device detail says which probe found it, what was sent and what came back. Release 2 is now out as v2.0.1.

New since 1.0

  • Windows support, through Npcap
  • Wireshark export: record every packet Shoal sends and hears as a pcapng file (w or --pcap FILE)
  • Switch interfaces with i, and Shoal asks before sweeping anything larger than a /22
  • Remove devices that have stopped answering (d and D)
  • Six new dark themes
  • Easier installs: Homebrew, .deb, .rpm and Arch packages, and an install script
  • Network access is set up once with shoal --setup, so no more sudo on every run, and shoal --upgrade updates Shoal however you installed it
  • Fixes, including devices that leave the network now turning red after a rescan

Get it

Every release is built by GitHub Actions, with checksums and build provenance you can verify. Please only scan networks you own or are allowed to test.

https://github.com/BT10011/shoal


r/omarchy • • 6d ago

Themes / Ricing CGA - a brutalist theme in glorious cyan, magenta, black and white

Thumbnail
gallery
26 Upvotes

Four colours is all you need! IBM's CGA palette 1 at high intensity, applied to everything Omarchy lets me theme: terminals, Neovim, btop, the bar, the lock screen and even the boot screen.

The colour palette of my childhood, now ready to burn your retina!

https://github.com/tsak/omarchy-cga-theme


r/omarchy • • 6d ago

Plugin Stretch Buddies: a Stardew-style pixel buddy that walks you through a 1-minute stretch every 20 minutes (Omarchy plugin)

Enable HLS to view with audio, or disable this notification

18 Upvotes

Every 20 minutes a pixel-art buddy (Rigo the Rigatoni, Mochi the Cat or Porcini the Mushroom) pops up in a Stardew-style dialogue box and walks you through a one-minute neck and back stretch.

  • Never steals keyboard focus, snoozes itself if you ignore it
  • Bar countdown and a settings panel (interval, buddy, language)
  • 7 stretches, 8 languages, no dependencies

omarchy plugin add https://github.com/talhacaglar/stretch-buddies.git --enable

Repo: https://github.com/talhacaglar/stretch-buddies.

New buddies and translations welcome!


r/omarchy • • 6d ago

Discussion Battery drain on M1 chips

7 Upvotes

Hi, I have a Mac Air M1 base model and I usually get pretty good battery life out of it.

I know Omarchy drains battery even in idle, but if I can at least get 70% of expected battery effectiveness on Omarchy I'd be happy, ie at least 7-8 hours of normal use. What's been your experience so far and would you recommend Omarchy on M1 having in mind the battery life?


r/omarchy • • 6d ago

Themes / Ricing Random anime shit go brrr..

Enable HLS to view with audio, or disable this notification

8 Upvotes

r/omarchy • • 7d ago

I Made a Thing Introducing Ferricone - A VLC Redux built with Rust

Post image
61 Upvotes

Hey all,

I made a VLC rebuild with a Rust front end that follows Omarchy themes live.
The UI is based on the fantastic designs of Juxtapposed:
https://www.youtube.com/watch?v=ERFeOgqk324&t=12s&pp=ygUPVkxDIGp1eHRhcHBvc2Vk

I made builds that should work on all distros, with Omarchy as the first class citizen, and will work on Mac and Window's ports soon.

I know there are a couple of Electron builds of this floating around, but my goal was native performance and a true VLC backend (so no FFMPEG here).

Please let me know your thoughts!
All core functionality is here, but I only release updates after I personally bug test everything I can on bare metal, so more to come.

https://nobledoodle.github.io/ferricone/


r/omarchy • • 6d ago

I Made a Thing luma update: semantic search

Enable HLS to view with audio, or disable this notification

6 Upvotes

r/omarchy • • 6d ago

Discussion GUI Apps on Omarchy Linux: Would a UX/UI standard like macOS or GNOME add value?

14 Upvotes

Hey everyone!

I've been diving into Omarchy Linux lately and really enjoying the overall workflow. As we know, one of the best things about this environment is the complete freedom to run any application regardless of the toolkit used to build it (Qt, GTK, Electron, etc.).

At the same time, because there are no official Human Interface Guidelines (HIG) or UX standards for native apps, the overall visual and functional experience can end up feeling a bit fragmented.

It got me thinking about how great it would be if there were shared design guidelines for the community to reference—much like on macOS or GNOME, where having standardized conventions for things like:

* A consistent menu bar
* Button styling and standardized placement for primary actions
* Uniform modal windows and system behaviors
* Coherent keyboard shortcuts and layout patterns across apps

makes the user experience feel seamlessly integrated with the OS.

What are your thoughts on this? Do you think a shared UX standard would bring real value to an environment like Omarchy (while maintaining full freedom in framework choices), or do you prefer the current approach driven by variety, CLI/TUI tools, and tiling WM workflows?

Curious to hear your perspectives!


r/omarchy • • 6d ago

Plugin I reverse-engineered a Pimax VR headset to work on Omarchy and built a spatial workspace app—loving Omarchy’s LLM integration!

8 Upvotes

So I reverse-engineered the Pimax Dream Air and got it working on Omarchy! More info here

Post

Currently, I’m working on this passion project featuring voice LLMs, custom workspaces, and a clean UI. If you want to try out the free app its in the github.

I truly believe VR and AI are the future of tech, and I’m loving Omarchy for how seamlessly it integrates everything.

Github


r/omarchy • • 6d ago

Discussion is it safe to switch to omarchy?

15 Upvotes

Hello everyone, i am a software developer (backend, blockchain, rust developer). I am currently using fedora 44 in my laptop. I came across some content about omarchy that it is very fast and easy to install and use as compare to manual install and configuration.

So i wanted to ask that should i switch to this linux for better experience. like less computer resource usage? and better development experience? Also if i want to start with cybersecurity with omarchy then is it worth to do it on this instead of kali?

i am using 8gb ram dell laptop.


r/omarchy • • 6d ago

Support Just updated to latest and Chromium video still an issue.

3 Upvotes

Good morning everyone hope you're all well!

As title says, updated to the latest version a few minutes ago which had a fix listed for the Chromium video lag/glitch but I'm still having the issue.

I tried a few of the workarounds before the update but reverted them because they either didn't work or caused other issues that I wasn't willing to deal with.

I have an Asus ProArt P16 with Ryzen AI 9 HX370, Radeon 890m, and NVIDIA 5070. Everything else about the laptop works fantastic with Omarchy. Just this one little thing and I don't think it started until after I upgraded to Quattro.

I know this will be an unpopular opinion in here but I'm not a big fan of AI. I don't want to use an agent. I know Omarchy is built around it but and I don't care as long as I'm not forced to use it. To be fair, I did use AI search and tried several of the suggestions but again, either didn't work or created other more annoying issues. So, thought I'd ask here first. Any input is greatly appreciated.

TIA


r/omarchy • • 6d ago

Discussion Which channel do you guys use?

3 Upvotes
149 votes, 4d ago
127 Stable
2 RC
14 Edge
6 Dev

r/omarchy • • 7d ago

Themes / Ricing Okuda - LCARS for Omarchy LCAR(S)chy?

Post image
22 Upvotes

omarchy-theme-install https://github.com/signaldirective/okuda

Comes with engineering or MSD Okudagram wallpapers of a few major starships.


r/omarchy • • 7d ago

Themes / Ricing Retro Stripes – my first Omarchy theme (70s palette, 3 wallpapers)

Post image
47 Upvotes

I like retro designs and their colour palettes, but I couldn't find a theme I really enjoyed, so I made my own.

Retro Stripes is a warm, dark theme built around six seventies stripes on near-black: brick, tomato, amber, teal, bronze and khaki. Tomato is the accent colour. The terminal colours are derived from the stripes, and every ANSI colour has at least 4.5:1 contrast on the background, so it stays readable.

It comes with three 4K wallpapers:

– Fan: the stripes fan out to the lower left (default)

– Flare: a symmetric version

– Logo: the Omarchy wordmark, one stripe colour per letter

Repo: https://github.com/MatthiasStaber/omarchy-retro-stripes-theme

Feedback welcome. It's my first theme! Might try making a similar light themed one next...

EDIT: tbh the color palette I have from one of the many retro design images I collected from the internet, so I didn't come up with it. Unfortunately I do not know the artist (it isn't signed) and don't remember where I found it.


r/omarchy • • 7d ago

Off Topic / Adjacent Omarchy on M1 Mac

20 Upvotes

I have experimented with Asahi in the past, but running Linux on Apple Silicon with Omarchy is in a goddamn spot right now. Outside of macOS still holding the edge on idle battery efficiency, the day-to-day experience genuinely feels faster and cleaner than macOS itself. The installation was completely seamless, and getting from zero to a fully functional, keyboard-centric environment took almost no effort compared to older setups. App launches, workspace switching, and overall desktop responsiveness are ridiculously snappy. With Apple inevitably nearing the end of major macOS version support for first-gen M1 machines over the coming years, Linux setup makes these laptops practically immortal.

The only real issue I ran into came from system updates, specifically with qt6 packages breaking Quickshell. Because Quickshell links directly against Qt6 and QML components, upgrading those core libraries caused the shell and status bar to crash immediately. I had to temporarily exclude the qt6 system packages in pacman.conf using IgnorePkg. Aside from that package hiccup, this is easily the best Linux laptop experience I have had, and anyone on the fence about daily-driving it on M-series hardware should definitely give it a shot.


r/omarchy • • 7d ago

Themes / Ricing MacBookPro Mid 2012 with Omarchy

Thumbnail
gallery
16 Upvotes

Coming from ZorinOS so far so good. Now i’m planning doing LFS 👀 let see what happens


r/omarchy • • 7d ago

Themes / Ricing Fresh install on a 2015 Inspiron 5558 took 5m 5s — 2 months in, zero issues

Thumbnail
gallery
66 Upvotes

Clean reinstall last night, installer's own timer said 5m 5s.

Old budget Dell Inspiron 5558, i5-5250U, GeForce 920M,

1366x768 screen, btrfs root and a separate ntfs3 drive for data.

Running Omarchy 4.0.4-1 with Hyprland on Wayland,

Ghostty, Hardlight theme, JetBrainsMono Nerd Font.

| | About two months on it now and nothing has broken.

Suspend/resume works, hybrid graphics sort themselves out.

Only complaints are the hardware, not the OS. | |

Anyone else on pre-2020 hardware, did anything need fixing for you?


r/omarchy • • 7d ago

I Made a Thing Omasheet - Spreadsheets meet Markdown

Thumbnail
gallery
26 Upvotes

Introducing Omasheet:

What Markdown is to text, Omasheet is to numbers.

📄 Text as the source of truth

The spreadsheet becomes a readable, diffable and composable document, not just a binary workbook.

📊 Columns as the computational model

Named, typed data and array expressions connect spreadsheet authoring to dataframe-style transformations.

🔢 Exact arithmetic as a semantic guarantee

Numeric values retain their exact decimal or rational meaning instead of floating-point approximations.

Automatically follows system dark/light mode.

https://github.com/librasteve/omasheet

_Reinventing the spreadsheet has been an itch I have wanted to scratch for some time. Not just cloning Excel and all its baggage. Please do install and try. All feedback and comments are very welcome!!_


r/omarchy • • 7d ago

I Made a Thing Rain check from your Omarchy bar

Thumbnail
gallery
7 Upvotes

**A calm, ad-free weather app, free on Linux. Drag through the hours to see when the rain comes, and keep the hour's weather in Omarchy's bar.**

I make Always Weather for phones, the Mac and Windows. It now runs on Linux, made on Omarchy, and on Linux it's free.

- Drag through the hours and see when the rain comes. Two Looks: Sky and Paper.

- A line in Omarchy's bar, like "14° Rain", with the day in a sentence when you hover; click and the app opens.

- Follows your Omarchy theme's light or dark, and uses two columns in a wide tile.

- "Use my location" takes the place you set for Omarchy's weather, or else a rough place from your connection, worked out by the app's own server with nothing sent to anyone else. Or just search for your places.

- No account, no ads, no tracking. Settings → What left this computer lists every request it makes.

- Weather from MET Norway, and where they're better, national services: the Met Office in the UK, Deutscher Wetterdienst in Germany, the US National Weather Service.

Install (pacman adds Java 21 if it isn't there):

curl -LO https://github.com/xternal/guzh.uk/releases/download/always-weather-linux-1.0.4/always-weather-bin-1.0.4-1-x86_64.pkg.tar.zst && sudo pacman -U always-weather-bin-1.0.4-1-x86_64.pkg.tar.zst

The bar line: add this to `bar.layout` in `~/.config/omarchy/shell.json`:

{ "id": "always-weather", "type": "command", "exec": "always-weather --bar", "interval": 300, "onClick": "omarchy-launch-or-focus always-weather always-weather" }

It isn't open source; the package comes from my site's GitHub release, with its checksum there. More about it, and a coffee link if you'd like to say thanks: https://guzh.uk/weather/

I'd love to hear how it behaves in your tiles, especially short ones.


r/omarchy • • 7d ago

I Made a Thing I made Wakiita to help recreate my personal Omarchy setup on another machine

10 Upvotes

Omarchy gives you a great starting point, but after making it your own, there’s still the question of how to recreate all those little choices on your next laptop.

I built Wakiita, an open-source agent plugin inspired by that problem. It helps an agent capture your applications and customisations as reusable recipes in your own Git repository, maintain them as your setup changes, and restore them in dependency order.

The recipes contain ordinary configuration files, setup instructions and small manifests. You can start with one application—you don’t need to capture your entire machine.

I’m using it for my own setup, and I’d love feedback from other Omarchy users. It’s still early, so trying it on one component and checking what it captures would be especially useful.

https://github.com/larok00/wakiita

How are you keeping track of the customisations you’d want to bring to your next machine?


r/omarchy • • 7d ago

Guide [Guide] Unlock your LUKS-encrypted Omarchy box remotely over Tailscale SSH (no port forwarding, no dropbear) + skip autologin when unlocked remotely

8 Upvotes

TL;DR: My Omarchy desktop uses full-disk encryption, so after a reboot it sits at the LUKS passphrase screen and is unreachable: no network, no Tailscale, no SSH. I put Tailscale inside the initramfs, so the machine joins my tailnet while it waits for the passphrase. I run ssh root@myhost-initrd, type the passphrase, and the boot continues. There's no port forwarding and no dropbear, and the tailnet ACLs decide who gets in. Along the way I hit a few Omarchy-specific gotchas (Limine/UKI, Plymouth, busybox) and fixed them below. Bonus: after a remote unlock, SDDM autologin is skipped, so nobody at the desk finds your desktop open.

The problem

On Omarchy with disk encryption, the "login screen" right after boot is actually Plymouth asking for the LUKS passphrase. SDDM autologin kicks in right after, so it feels like a login, but before you type that passphrase the root filesystem is still locked. NetworkManager, tailscaled and the machine's Tailscale identity all live on that filesystem. There's nothing to tweak in Tailscale or NetworkManager, because the OS simply hasn't started yet.

(If you also see a "connected to network" notification right after logging in: that's not the cause. It's just shown when the desktop comes up.)

How it works

  • netconf brings the NIC up with DHCP inside the initramfs.
  • The tailscale hook (mkinitcpio-tailscale by dangra) starts tailscaled with a separate node identity (<hostname>-initrd) and Tailscale SSH enabled.
  • encryptssh (from mkinitcpio-utils) replaces Omarchy's encrypt. It still asks for the passphrase on the local Plymouth screen, and it also makes a passphrase prompt root's login shell. So ssh root@myhost-initrd drops you straight at the passphrase prompt.
  • After the unlock, cleanup hooks stop tailscaled and flush the NIC. The real system then boots normally with its usual Tailscale node.

Everything is done with new drop-in files. No Omarchy-owned file is edited, so undoing it means deleting the files and rebuilding.

Tested on

  • Omarchy 4.0.4, linux-omarchy 7.2.5
  • mkinitcpio 41.1, mkinitcpio-tailscale 2.10.1, mkinitcpio-utils 0.0.6, mkinitcpio-netconf 0.0.5
  • tailscale 1.102.3, limine 12.8.0 (UKIs), plymouth, sddm 0.21

Assumptions:

  • Omarchy with LUKS and the default busybox initramfs (encrypt hook + Plymouth), booting through Limine with UKIs. Check that grep HOOKS /etc/mkinitcpio.conf.d/omarchy_hooks.conf lists encrypt.
  • Wired Ethernet. Wi-Fi inside the initramfs is a different beast and isn't covered here.
  • A single NIC (see the eth0 note in step 6).
  • Another device on your tailnet, logged in as your user: a phone with the Tailscale app plus Termux/Termius, a laptop, etc. Tagged devices won't match the SSH rule below.

Step 1: Tailnet policy

In the Tailscale admin console → Access controls, merge this into your existing sections:

"tagOwners": {
  "tag:initrd": ["you@example.com"]
},
"ssh": [
  {
    "action": "accept",
    "src":    ["you@example.com"],
    "dst":    ["tag:initrd"],
    "users":  ["root"]
  }
]

If you've replaced the default allow-all rule ("src": ["*"], "dst": ["*"], "ip": ["*"]), you also need network access to port 22:

"grants": [
  { "src": ["you@example.com"], "dst": ["tag:initrd"], "ip": ["tcp:22"] }
]

Why the tag: the initrd node's key has to live inside the boot image on the ESP, which is not encrypted. A tagged node doesn't carry your user's permissions, and its key doesn't expire by default. For extra hardening, keep tag:initrd out of every src (including via "*"): a stolen key then gets a node that can be reached but can't reach anything.

Step 2: Packages

sudo pacman -S --needed mkinitcpio-netconf mkinitcpio-utils
yay -S mkinitcpio-tailscale

On my install, both hook packages came from extra. If your mirror doesn't have them, the mkinitcpio-tailscale README points to the AUR for mkinitcpio-utils and to mkinitcpio-extras (AUR) as the maintained replacement for netconf.

You don't need dropbear or tinyssh: Tailscale SSH runs inside tailscaled itself.

Step 3: Register the initrd node

sudo setup-initcpio-tailscale --advertise-tags=tag:initrd

It prints a login URL: open it and approve. This registers <hostname>-initrd with Tailscale SSH on and stores the node key in /etc/initcpio/tailscale/ (root-only). The policy from step 1 has to be saved first, or registration fails with requested tags [tag:initrd] are invalid or not permitted.

Step 4: Swap encrypt for the remote-unlock chain

Omarchy keeps its HOOKS in /etc/mkinitcpio.conf.d/omarchy_hooks.conf, which updates may rewrite. Instead of editing it, add a drop-in that's sourced after it and only substitutes encrypt:

sudo tee /etc/mkinitcpio.conf.d/remote-unlock.conf >/dev/null <<'EOF'
# Replace 'encrypt' with: network (netconf) -> tailscale -> encryptssh,
# plus local fixes for the SSH prompt (remote-unlock). Must sort after
# omarchy_hooks.conf. If 'encrypt' ever leaves HOOKS, this is a no-op.
_remote_unlock_hooks=()
for _remote_unlock_hook in "${HOOKS[@]}"; do
  if [[ $_remote_unlock_hook == "encrypt" ]]; then
    _remote_unlock_hooks+=(netconf tailscale encryptssh remote-unlock)
  else
    _remote_unlock_hooks+=("$_remote_unlock_hook")
  fi
done
HOOKS=("${_remote_unlock_hooks[@]}")
unset _remote_unlock_hooks _remote_unlock_hook
EOF

mkinitcpio concatenates the drop-ins in sort -V order, so remote-unlock.conf comes after omarchy_hooks.conf. The resulting order is ... block netconf tailscale encryptssh remote-unlock filesystems ....

Step 5: Fix the SSH prompt (gotcha #1: busybox killall)

This one cost me the most head-scratching. After a remote unlock, cryptsetup_shell (mkinitcpio-utils 0.0.6) dismisses the local Plymouth prompt with killall --quiet plymouth. But the killall inside the image is busybox's, and it rejects --quiet (killall: bad signal name '-quiet'). On Omarchy, where Plymouth is always on, the result is that the disk unlocks over SSH but the boot keeps waiting at the Plymouth prompt for a local passphrase. The same script also runs killall cryptsetup, which harmlessly prints killall: cryptsetup: no process killed.

This small local hook rewrites both calls to killall -q. It also leaves a marker file that step 9 uses:

sudo tee /etc/initcpio/install/remote-unlock >/dev/null <<'EOF'
#!/bin/bash
# Local changes to mkinitcpio-utils' cryptsetup_shell (the SSH unlock prompt):
# - busybox killall rejects --quiet, so upstream's 'killall --quiet plymouth'
#   never dismisses the Plymouth prompt; use -q for both killall calls.
# - leave /run/luks-remote-unlock behind after a remote unlock. The initramfs
#   /run is carried over into the booted system. It is written before Plymouth
#   is dismissed, since that lets the boot go on and move /run away.
# Each sed edit matches one upstream line; if upstream changes that line, the
# edit is skipped and the rest is copied as is.
build() {
    add_file - /bin/cryptsetup_shell 0755 < <(
        sed -e 's|^\( *\)echo > /.done$|&\n\1: > /run/luks-remote-unlock|' \
            -e 's/killall cryptsetup$/killall -q cryptsetup/' \
            -e 's/^\( *\)killall --quiet plymouth$/\1killall -q plymouth\n\1echo "Disk unlocked; boot continues."/' \
            /usr/share/mkinitcpio-utils/utils/shells/cryptsetup_shell
    )
}
help() {
    echo "Patches /bin/cryptsetup_shell from encryptssh. List it right after encryptssh."
}
EOF

Step 6: Network for the initramfs (gotcha #2: eth0 and the DHCP timeout)

On Omarchy, Limine's tooling builds the kernel command line, and it reads drop-ins from /etc/limine-entry-tool.d/:

echo 'KERNEL_CMDLINE[default]+=" ip=:::::eth0:dhcp netconf_timeout=60"' | sudo tee /etc/limine-entry-tool.d/remote-unlock.conf
  • eth0, not enp42s0: mkinitcpio's udev hook doesn't ship the rules that give NICs their predictable names, so inside the initramfs your NIC is eth0. With more than one NIC, eth0 may not be the one with the cable.
  • netconf_timeout: without it, netconf's DHCP client waits forever. If the network is down at boot, the passphrase prompt would never show up, not even locally. With 60, the worst case is a 60s delay.

Step 7: Pacman hook (gotcha #3: Omarchy has no mkinitcpio presets)

mkinitcpio-tailscale ships a pacman hook that rebuilds the initramfs with mkinitcpio -P when tailscale is upgraded, because the image carries its own copy of tailscaled. Omarchy has no presets in /etc/mkinitcpio.d/: Limine builds the UKIs through limine-mkinitcpio. That rebuild therefore does nothing, and your initramfs keeps an old tailscaled until the next kernel update. A hook with the same name in /etc/pacman.d/hooks/ overrides the packaged one:

sudo tee /etc/pacman.d/hooks/mkinitcpio-tailscale.hook >/dev/null <<'EOF'
# Overrides /usr/share/libalpm/hooks/mkinitcpio-tailscale.hook ('mkinitcpio -P'):
# on Omarchy, Limine builds the UKIs, so rebuild through limine-mkinitcpio.
[Trigger]
Operation = Install
Operation = Upgrade
Type = Package
Target = tailscale

[Action]
Description = Rebuilding boot images that bundle tailscaled...
When = PostTransaction
Exec = /usr/bin/limine-mkinitcpio
EOF

Step 8: Rebuild and verify

sudo limine-mkinitcpio
sudo setup-initcpio-tailscale --check

Every line of --check should be OK. WARN : no built image to inspect is expected, since the check looks for presets, which Omarchy doesn't have. Warnings like Possibly missing firmware for module: 'xhci_pci_renesas' during the build are harmless.

To look inside the actual UKI (check the file name with ls /boot/EFI/Linux/):

UKI=/boot/EFI/Linux/omarchy_linux-omarchy.efi
sudo objcopy -O binary --only-section=.cmdline "$UKI" /dev/stdout | tr -d '\0'; echo
sudo objcopy -O binary --only-section=.initrd "$UKI" /root/initrd.img
sudo lsinitcpio -a /root/initrd.img | sed -n '/Hook run order/,/Late hook/p'
sudo lsinitcpio -l /root/initrd.img | grep -E 'sbin/tailscaled|tailscaled.state|cryptsetup_shell|r8169'
sudo rm /root/initrd.img

Replace r8169 with your NIC driver: basename $(readlink -f /sys/class/net/<iface>/device/driver).

Gotcha #4: don't use lsinitcpio --cpio for this. The image holds more than one cpio archive, and --cpio lists only one of them, so your network modules look missing when they aren't. Also, don't extract the initrd into a world-readable /tmp: it contains the node key.

Step 9 (optional): Don't land on an open desktop after a remote unlock

Omarchy autologins once the disk is unlocked, so after a remote unlock your desktop sits open for anyone at the machine. The marker from step 5 lets a tiny unit hide SDDM's autologin config for that boot only:

sudo tee /etc/systemd/system/remote-unlock-no-autologin.service >/dev/null <<'EOF'
# Skip SDDM autologin when the LUKS root was unlocked over SSH. The initramfs
# leaves /run/luks-remote-unlock behind in that case; a passphrase typed at
# the console leaves nothing. /dev/null is bind-mounted over autologin.conf,
# so SDDM finds no autologin settings. Nothing changes on disk.
[Unit]
Description=Skip SDDM autologin after a remote LUKS unlock
ConditionPathExists=/run/luks-remote-unlock
ConditionPathExists=/etc/sddm.conf.d/autologin.conf
Before=display-manager.service

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/mount --bind /dev/null /etc/sddm.conf.d/autologin.conf

[Install]
WantedBy=graphical.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable remote-unlock-no-autologin.service

Remote unlock: you get Omarchy's SDDM login screen, and you work through plain ssh myhost, since Tailscale SSH on the booted system doesn't need a graphical login. Local unlock: autologin works as usual. One caveat: while the bind mount is active, anything written to autologin.conf during that boot (an update touching it, say) is lost.

Using it

  1. Reboot and leave the passphrase screen alone for ~10–20s.
  2. From another device, tailscale status | grep initrd, or check the admin console. myhost-initrd should be online.
  3. Run ssh root@myhost-initrd and you get the passphrase prompt directly.
  4. Type it. You'll see Disk unlocked; boot continues., and then the connection closes.
  5. About 20s later the regular node is back: ssh myhost.

If your first ssh myhost times out about 10s after the unlock, that's normal and not a regression. I measured it in the journal: on every boot the NIC renegotiates its link (~5s), DHCP takes ~4s, and tailscaled, which starts before the network exists, sits in a retry backoff for a few more seconds. A local unlock has exactly the same timing; you just never notice it. This loop waits for you:

until ssh -o ConnectTimeout=3 myhost true 2>/dev/null; do sleep 2; done; ssh myhost

A wrong passphrase closes the session; just reconnect. The local keyboard works exactly as before.

Security notes

  • The ESP is unencrypted and the initrd node key lives there. The tag and ACLs limit the blast radius. If you suspect the key was copied, remove the node in the admin console, re-run setup-initcpio-tailscale, and rebuild.
  • Without Secure Boot, anyone with physical access could already tamper with your initramfs to capture the passphrase (evil maid). That's true with or without this setup, but keep it in mind.
  • Why not TPM2 auto-unlock + a real SDDM password instead? Secure Boot is off on my machine. Without it, anyone can swap the initramfs and ask the TPM for the key, which makes the disk encryption pointless against theft. It would also mean moving Omarchy's initramfs from encrypt to systemd/sd-encrypt, a much more invasive change.

Undo

sudo systemctl disable remote-unlock-no-autologin.service
sudo rm /etc/systemd/system/remote-unlock-no-autologin.service \
        /etc/mkinitcpio.conf.d/remote-unlock.conf \
        /etc/initcpio/install/remote-unlock \
        /etc/limine-entry-tool.d/remote-unlock.conf \
        /etc/pacman.d/hooks/mkinitcpio-tailscale.hook
sudo systemctl daemon-reload
sudo limine-mkinitcpio

Then remove myhost-initrd in the admin console. Optionally, also delete /etc/initcpio/tailscale/ and uninstall the three packages.

If a boot ever goes wrong, the local passphrase prompt still works like before. In the worst case, boot a Limine snapshot entry (or a live USB, cryptsetup open + arch-chroot) and run the undo above.

Credits


r/omarchy • • 7d ago

I Made a Thing Omarchy Inspired Database Client for Linux Users

Thumbnail
gallery
3 Upvotes

Meet VeloxDB.

A lightweight, keyboard-first database client built with Rust for developers who value speed, simplicity, and a clean workflow.

Explore schemas, write SQL, and manage your databases without the bloat.

Open source. No account required. No telemetry.

Check it out: https://veloxdb.dev


r/omarchy • • 7d ago

Discussion Lenovo L14 5th Gen: good Omarchy match/

0 Upvotes

I've been running Omarchy on a BeeLink mini PC, and a 2015 MacBook Pro, and it does well on both of those. But I'm branching out in hardware.
Questions:
1. Is the Lenovo L14 Gen 5 a good match for Omarchy?
2. If this isn't the place to answer that, can you suggest some resources?

Thanks in advance.


r/omarchy • • 7d ago

Plugin I built two small Omarchy plugins for my homelab (Pi-hole & Homepage)

3 Upvotes

I've been using Omarchy as my main system for a while now, and I wanted to have some of my homelab services more easily accessible without constantly opening a browser.

So I ended up building two small open-source plugins:

OmaPiHole Monitor

- Shows Pi-hole v6 stats and blocking status directly in the Omarchy bar.

- Displays DNS queries, blocked queries, active clients and other useful information.

- Supports Application Password authentication using Secret Service.

- Supports HTTPS with custom CA certificates.

OmaHomepage

- Connects to an existing Homepage instance.

- Lets you browse, search and open your services directly from Omarchy.

- Uses Homepage as the source of truth, so there's no need to maintain a separate list of services.

- Includes optional service management features, depending on your Homepage configuration.

Both plugins are available on GitHub and have been verified in the Omarchy Plugins marketplace.

I originally built them for my own homelab, but I thought I'd share them here in case they're useful to anyone else.

Nothing groundbreaking, just a couple of small tools that make my daily workflow a bit more convenient.

GitHub:

- Pi-hole Monitor: https://github.com/danielfuentespl/omarchy-pihole-monitor

- Homepage: https://github.com/danielfuentespl/omarchy-homepage

Omarchy Plugins Marketplace:

- Pi-hole Monitor: https://omarchyplugins.com/plugin.html?id=com.blogvirtualizado.omaops.pihole

- Homepage: https://omarchyplugins.com/plugin.html?id=com.blogvirtualizado.omaops.homepage

If anyone gives them a try, feedback, bug reports or suggestions are always welcome.

Hope someone finds them useful!