Inventory
Omarchy customizations
Personal overrides vs stock Omarchy 3.8.4. Scanned from ~/.config, user services, and related home paths on 2026-09-08.
Safe edit locations only (~/.config/, ~/.local/bin/). Never edit ~/.local/share/omarchy/ — updates will overwrite it.
Quick status
| Area | Status |
|---|---|
| Active theme | Event Horizon |
| Active wallpaper | Theme bg 08-neon-visor.jpg |
| Font | JetBrainsMono Nerd Font |
| Monitor | LG 34GN850 ultrawide 3440x1440@144, scale 1 |
| Custom themes installed | Event Horizon, Aetheria |
| Active hooks | None (only .sample files) |
| Docker | See Docker (mongo and cloudflared are active with unless-stopped) |
| Firmware boot default | Windows Boot Manager requested (Boot0000); awaiting local sudo authentication |
| Plex RAID | See Plex & RAID (enabled, active user service mounting plex:/raid at /nas) |
| Ollama | See Ollama (active Vulkan service; four installed models; ai uses deepseek-coder-v2:16b-lite-instruct-q4_K_M) |
| Docs publish | ~/docs/ → Cloudflare R2 bucket omarchy via publish-omarchy-docs |
| Keychron Launcher | udev /etc/udev/rules.d/99-keychron.rules for K8 Max + Link WebHID |
| SSH inbound | sshd enabled; UFW 22/tcp; key-only via ~/.ssh/authorized_keys (RSA 4096 from ~/.ssh/id_rsa) |
| VS Code theme | Monokai Dark Soda (AdamCaviness.theme-monokai-dark-soda) |
| Default text editor | Sublime Text (omarchy default editor sublime_text + mimeapps; Geany removed) |
| WebStorm theme | Monokai Dark Soda (Islands UI + editor scheme plugin) |
| WebStorm Wayland | Native WLToolkit + system AA font settings via custom webstorm64.vmoptions |
Set Windows as the boot default
Set the UEFI firmware order to place Windows Boot Manager first. This is independent of Limine’s own menu: after applying it, the firmware launches Windows by default, while Limine / Omarchy remains the fallback entry.
# Set the persistent UEFI boot order (requires your local sudo password)
sudo efibootmgr -o 0000,0002,0003
# Verify — expected: BootOrder: 0000,0002,0003
efibootmgr -v
Boot0000 is Windows Boot Manager; Boot0002 is Limine (Omarchy); Boot0003 is the generic UEFI fallback. At last check, Limine was first; apply the command above to make Windows persistent. To restore Omarchy as the default, use sudo efibootmgr -o 0002,0000,0003.
Themes & wallpaper
Installed community themes
Both live under ~/.config/omarchy/themes/ as git clones (reinstallable):
| Theme | Path | Source |
|---|---|---|
| Event Horizon (active) | ~/.config/omarchy/themes/event-horizon |
GitHub |
| Aetheria | ~/.config/omarchy/themes/aetheria |
GitHub |
# Recreate installs
omarchy theme install https://github.com/OldJobobo/omarchy-event-horizon-theme
omarchy theme install https://github.com/JJDizz1L/aetheria.git
omarchy theme set "Event Horizon"
# or: omarchy theme set Aetheria
Current theme pointer: ~/.config/omarchy/current/theme.name → event-horizon.
Extra wallpaper (not currently active)
~/.config/omarchy/backgrounds/event-horizon/wallhaven-l8v3ey_3440x1440.png
Wallhaven ID l8v3ey, sized for the 3440×1440 ultrawide. Active background symlink currently points at the theme file 08-neon-visor.jpg, not this PNG.
# Cycle theme backgrounds
omarchy theme bg next
# Or point current background at the wallhaven file manually if desired
Hyprland
Keybindings — close window on Super+Q
~/.config/hypr/bindings.conf
Stock Omarchy binds Super+W to close (killactive). Customization:
unbind = SUPER, W
bind = SUPER, Q, killactive
- Super+W is free (no longer closes windows).
- Super+Q closes the active window.
- Super+Q had no stock Omarchy binding.
Keybindings — screenshots without Print Screen
~/.config/hypr/bindings.conf
Stock Omarchy binds bare Print to smart screenshot (and Super+Print to the color picker). Remapped to keys available on this keyboard; all three copy to the clipboard via omarchy-capture-screenshot … copy. Shown in Super+K via bindd descriptions:
unbind = , PRINT
bindd = SUPER, bracketleft, Screenshot region (clipboard), exec, omarchy-capture-screenshot region copy
bindd = SUPER, bracketright, Screenshot window (clipboard), exec, omarchy-capture-screenshot windows copy
bindd = SUPER, backslash, Screenshot fullscreen (clipboard), exec, omarchy-capture-screenshot fullscreen copy
| Action | Shortcut |
|---|---|
| Region → clipboard | Super+[ |
| Window → clipboard | Super+] |
| Fullscreen → clipboard | Super+\ |
Super+Print color picker, Alt+Print screenrecording, and OCR on Super+Ctrl+Print remain stock (still need a Print key or the capture menu: Super+Ctrl+C).
Monitors — ultrawide scale 1
~/.config/hypr/monitors.conf
| Setting | Stock | Yours |
|---|---|---|
GDK_SCALE | 2 | 2 (unchanged) |
monitor= | preferred,auto,auto | preferred,auto,1 |
Live display: LG 34GN850 (DP-1), 3440x1440@144, scale 1.00.
The commented ultrawide block in the same file suggests GDK_SCALE=1 for this class of monitor; only the Hyprland scale was changed to 1. Revisit GDK_SCALE if GTK apps look oversized/undersized.
Input — US layout
~/.config/hypr/input.conf
kb_layout = us
kb_options = compose:caps # stock
kb_layout = us is explicit (stock leaves it commented). Caps Lock remains Compose (Omarchy default).
Look & feel — scrolling layout
~/.config/hypr/looknfeel.conf
general {
layout = scrolling
}
scrolling {
column_width = 0.5
}
Default tiling is Omarchy’s dwindle; this switches to Hyprland’s niri-like side-scrolling layout. Column width is 0.5 (stock Omarchy default is 0.49). Optional column_width = 0.97 for a near-full single column remains commented.
HyprMod GUI settings
~/.config/hypr/hyprland.conf sources:
source = /home/sparks/.config/hypr/hyprland-gui.conf
~/.config/hypr/hyprland-gui.conf (generated by HyprMod)
| Setting | Value | Notes |
|---|---|---|
decoration:blur:passes | 2 | |
decoration:blur:size | 2 | |
decoration:inactive_opacity | 1.0 | No dimming of inactive windows |
ecosystem:no_donation_nag | true | |
input:sensitivity | -0.4 | Lower mouse sensitivity |
Re-apply via HyprMod, or paste the same lines back into hyprland-gui.conf / hyprland.conf.
Unchanged Hyprland files (still stock)
autostart.conf, hypridle.conf, hyprlock.conf, hyprsunset.conf, xdph.conf.
Terminal & prompt
Alacritty
~/.config/alacritty/alacritty.toml (theme colors still imported from current theme)
| Setting | Stock | Yours |
|---|---|---|
| Font size | 9 | 12 |
| Window padding | 14 | 10 |
| Font family | JetBrainsMono Nerd Font | same |
Default terminal preference: Alacritty (~/.config/xdg-terminals.list).
Starship prompt
~/.config/starship.toml
Notable changes from stock:
- Prompt format:
🍣 $directory $character(git modules removed from the main format string; git config blocks still present). - Success / error characters:
#/!(was❯/✗). - Directory:
truncation_length = 1,truncate_to_repo = false, simple[$path]($style)format.
Restore stock with:
omarchy refresh config starship.toml
# then re-apply the customizations above if needed
Git identity
~/.config/git/config
Only meaningful diff from Omarchy default is user identity:
[user]
name = Stephen Dillon
email = [email protected]
Aliases (co, br, ci, st) and the rest of the file match stock Omarchy.
Desktop apps & integrations
| Item | Location | Notes |
|---|---|---|
| 1Password (silent) | ~/.config/autostart/1password.desktop |
--silent tray start |
| Fcitx5 / Walker | ~/.config/autostart/ |
Stock Omarchy |
| Work launcher | ~/.local/bin/work.sh + ~/.local/share/applications/work.desktop |
See Work session |
| Cursor (AppImage) | ~/applications/Cursor.AppImage + Cursor.RollBack + Cursor.png + ~/.local/share/applications/cursor.desktop |
Update with python3 ~/update_cursor.py; Icon= must be absolute; ~/.local/bin/cursor symlink for CLI / work.sh |
| WebStorm | AUR webstorm + webstorm-jre → /opt/webstorm, /usr/bin/webstorm, jetbrains-webstorm.desktop |
omarchy pkg aur add webstorm webstorm-jre (2026.2.0.1); config under ~/.config/JetBrains/WebStorm2026.2/; Wayland via custom webstorm64.vmoptions |
| Sublime Text | AUR sublime-text-4 → /usr/bin/subl, sublime_text.desktop |
Default GUI / $EDITOR via omarchy default editor sublime_text; ~/.local/bin/sublime_text → subl (Omarchy expects that binary name); Geany removed (omarchy pkg drop geany) |
| Claude / JetBrains links | claude-code-url-handler.desktop + jetbrainsd.desktop |
Hidden desktop entries handle claude-cli:// and jetbrains:// links; registered in mimeapps.list |
| Hermes | ~/.local/share/applications/hermes.desktop |
Walker app entry; hermes, hermes-acp, and hermes-agent wrappers run the user install in ~/.hermes/hermes-agent/ |
Default apps (~/.config/mimeapps.list): Firefox for web, Sublime Text for text/code MIME types, Nautilus for folders, imv for images, mpv for video; scheme handlers include Bruno, claude-cli, jetbrains, Claude, and Codex. $EDITOR is sublime_text in ~/.config/uwsm/default (Super+Shift+N / omarchy launch editor; log out once after changing).
Plex RAID mount
plex-raid.service is an enabled and active user service that mounts Plex’s /raid at local /nas using SSHFS. See Plex & RAID for the exact unit, lifecycle commands, and rebuild notes.
Editors (Sublime / VS Code / Cursor / JetBrains)
Sublime Text is the default text editor (MIME + $EDITOR). Monokai Dark Soda is the shared dark theme for VS Code / Cursor / WebStorm. VS Code / Cursor use the marketplace extension. WebStorm uses a local UI theme + editor scheme plugin (Islands layout, Monokai palette — accent #f92672).
# Default editor (Omarchy $EDITOR + XDG text handlers)
omarchy pkg aur add sublime-text-4 # if missing
omarchy default editor sublime_text
ln -sfn /usr/bin/subl ~/.local/bin/sublime_text
# mimeapps.list: text/* + application/x-shellscript + xml → sublime_text.desktop
omarchy pkg drop geany # remove stock Geany if present
# WebStorm (AUR + Monokai Dark Soda theme plugin)
omarchy pkg aur add webstorm webstorm-jre
# sources: ~/themes/monokai-dark-soda/ (+ ~/themes/Monokai Dark Soda.icls)
# installed: ~/.local/share/JetBrains/WebStorm2026.2/monokai-dark-soda/
# Appearance theme + Editor color scheme both named "Monokai Dark Soda"
# VS Code
code --install-extension AdamCaviness.theme-monokai-dark-soda
# Cursor (same extension id)
cursor --install-extension AdamCaviness.theme-monokai-dark-soda
In WebStorm after install: fully quit/reopen, then Settings → Appearance → Theme → Monokai Dark Soda (editor scheme follows). Sources live under ~/themes/monokai-dark-soda/.
Custom VM options force native Wayland (WLToolkit) and system font anti-aliasing. Copy stock /opt/webstorm/bin/webstorm64.vmoptions into the config dir, then override toolkit / AA flags (full file takes precedence over the install copy):
~/.config/JetBrains/WebStorm2026.2/webstorm64.vmoptions
# …stock options…
-Dawt.toolkit.name=WLToolkit
-Dawt.useSystemAAFontSettings=on
-Dsun.java2d.xrender=true
Restart WebStorm after changing VM options. Confirm toolkit in Help → About (Toolkit: sun.awt.wl.WLToolkit).
~/.config/JetBrains/WebStorm2026.2/options/colors.scheme.xml
<application>
<component name="EditorColorsManagerImpl">
<global_color_scheme name="Monokai Dark Soda" />
</component>
</application>
~/.config/Code/User/settings.json
{
"update.mode": "none",
"workbench.colorTheme": "Monokai Dark Soda"
}
Core palette: bg #242424, fg #f8f8f2, selection #403d3d, line highlight #3d3d3d, pink #f92672, green #a6e22e, cyan #66d9ef, yellow #ffee99.
Other present configs (low / no personal edits)
| Path | Notes |
|---|---|
~/.config/waybar/ | Matches stock templates |
~/.config/walker/ | Matches stock |
~/.config/omarchy/hooks/*.sample | Samples only — not active |
~/.config/omarchy/extensions/menu.sh | Commented examples only |
~/.config/OpenRGB/ | OpenRGB used (OpenRGB.json, sizes.ors) — RGB profiles live here |
~/.config/btop/btop.conf | Diff vs stock looks like version/format churn, not intentional tuning |
| Foot / Kitty / Ghostty | Match stock (theme overlay via Omarchy current theme) |
Keychron Launcher (WebHID)
Linux blocks raw HID access by default, so launcher.keychron.com cannot talk to the keyboard until a udev rule opens /dev/hidraw*. Same fix as the common VIA-on-Linux PSA.
/etc/udev/rules.d/99-keychron.rules
# Keychron K8 Max (wired) — VID:PID 3434:0a80
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="3434", ATTRS{idProduct}=="0a80", MODE="0660", GROUP="input", TAG+="uaccess"
# Keychron Link dongle — 3434:d030
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="3434", ATTRS{idProduct}=="d030", MODE="0660", GROUP="input", TAG+="uaccess"
# STM32 DFU bootloader (firmware flash)
SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="0660", GROUP="input", TAG+="uaccess"
sudo udevadm control --reload-rules && sudo udevadm trigger
# user must be in the input group (already true on this machine)
- Use a native Chromium browser (
google-chrome-stableorchromiumfrom pacman) — not Flatpak/Snap. - Prefer a wired USB cable with the keyboard switch set to Cable; many boards will not configure over Keychron Link.
- Optional firmware helper:
omarchy pkg add dfu-util.
SSH inbound
OpenSSH server listens on port 22 so this machine can be reached from the LAN with the existing ~/.ssh/id_rsa keypair. Password and root logins are off.
| Item | Value |
|---|---|
| User | sparks |
| Hostname | omarch / omarch.local (Avahi) |
| LAN IPv4 | 10.10.10.122 (DHCP on enp42s0 — may change) |
| Service | sshd.service enabled + running |
| Firewall | UFW allow 22/tcp (default incoming deny) |
| Auth | Public key only — ~/.ssh/authorized_keys |
| Key fingerprint | SHA256:WCMurBpER7seisZExzgYAOdBSBZeiHOq13GUr7DLUaQ (RSA 4096) |
/etc/ssh/sshd_config.d/10-local.conf
# Key-only inbound SSH
PasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
~/.ssh/id_rsa.pub had been a second copy of the private key (same PEM). It was regenerated from id_rsa and copied into authorized_keys.
# From another machine that already has this private key:
ssh [email protected]
# or:
ssh [email protected]
# Recreate on a fresh box (after copying ~/.ssh/id_rsa):
ssh-keygen -y -f ~/.ssh/id_rsa | awk '{print $1" "$2" sparks@omarch"}' | tee ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa ~/.ssh/authorized_keys
chmod 644 ~/.ssh/id_rsa.pub
sudo ssh-keygen -A
sudo tee /etc/ssh/sshd_config.d/10-local.conf >/dev/null <<'EOF'
# Key-only inbound SSH
PasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
EOF
sudo systemctl enable --now sshd
sudo ufw allow 22/tcp comment 'SSH inbound'
Client must present the matching private key. Local console login is unchanged.
Docs → Cloudflare R2
Personal HTML docs in ~/docs/ are published to the Cloudflare R2 bucket omarchy (object keys match filenames). After any doc edit, run:
publish-omarchy-docs
# or: ~/scripts/publish-omarchy-docs.sh
Auth: copy ~/.config/omarchy-docs/env.example → ~/.config/omarchy-docs/env, set CLOUDFLARE_ACCOUNT_ID + CLOUDFLARE_API_TOKEN (R2 edit), chmod 600 the env file. Alternative: npx wrangler@4 login.
Agent wiring: Cursor skill ~/.cursor/skills/omarchy-docs/ and always-on rule ~/.cursor/rules/omarchy-docs-r2.mdc.
Recreate checklist (new machine / after refresh)
- Install themes (URLs above) and
omarchy theme set "Event Horizon". - Restore Hyprland edits: bindings (Super+Q close; Super+[ / ] / \ screenshots → clipboard), monitors scale
1,kb_layout = us,layout = scrollingandcolumn_width = 0.5inlooknfeel.conf, HyprMod /hyprland-gui.confsettings +sourceline. - Alacritty: font size
12, padding10. - Starship: sushi prompt + character/directory tweaks.
- Git
[user]name/email. - Copy
work.sh+work.desktop; ensure Bruno, MongoDB Compass, Firefox, and~/hailmaryexist. - Install Cursor via
python3 ~/update_cursor.py(or place AppImage into~/applications/) withCursor.png, writecursor.desktopwith absoluteExec/Iconpaths, and symlink~/.local/bin/cursor. - WebStorm:
omarchy pkg aur add webstorm webstorm-jre; install plugin from~/themes/monokai-dark-soda/into~/.local/share/JetBrains/WebStorm*/monokai-dark-soda/; select Appearance themeMonokai Dark Soda; copy custom~/.config/JetBrains/WebStorm*/webstorm64.vmoptions(WLToolkit+ AA flags); fully restart WebStorm. - Sublime:
omarchy pkg aur add sublime-text-4;omarchy default editor sublime_text;ln -sfn /usr/bin/subl ~/.local/bin/sublime_text; set text MIME types in~/.config/mimeapps.listtosublime_text.desktop;omarchy pkg drop geanyif installed. Log out once so$EDITORapplies. - VS Code:
code --install-extension AdamCaviness.theme-monokai-dark-sodaand setworkbench.colorThemetoMonokai Dark Sodain~/.config/Code/User/settings.json(same extension in Cursor if desired). - Docker / mongo: follow the Docker recreate steps.
- Plex RAID: install
sshfs, create/nas, restoreplex-raid.service, then runsystemctl --user enable --now plex-raid. See the Plex & RAID recreate steps. - Optional: copy wallhaven wallpaper into
~/.config/omarchy/backgrounds/event-horizon/. - Optional: re-export OpenRGB profile from backup of
~/.config/OpenRGB/. - Enable 1Password autostart desktop entry if desired.
- Keychron: install
/etc/udev/rules.d/99-keychron.rules(K8 Max3434:0a80, Link3434:d030), reload udev, confirm user is ininput; open launcher in native Chrome/Chromium over USB. - SSH: copy
~/.ssh/id_rsa, write realid_rsa.pub+authorized_keys, host keys viasudo ssh-keygen -A, drop-in/etc/ssh/sshd_config.d/10-local.conf(key-only),sudo systemctl enable --now sshd,sudo ufw allow 22/tcp. - Docs → R2: install
~/scripts/publish-omarchy-docs.sh(symlink~/.local/bin/publish-omarchy-docs), configure~/.config/omarchy-docs/env, thenpublish-omarchy-docs.
Dangerous resets
omarchy refresh hyprland # backs up, then restores stock Hyprland configs
omarchy refresh waybar
omarchy refresh config starship.toml
After any refresh, re-apply the Hyprland / Starship / Alacritty sections above.
File index (customized)
~/.config/hypr/bindings.conf
~/.config/hypr/monitors.conf
~/.config/hypr/input.conf
~/.config/hypr/hyprland.conf # sources hyprland-gui.conf
~/.config/hypr/hyprland-gui.conf # HyprMod
~/.config/alacritty/alacritty.toml
~/.config/starship.toml
~/.config/git/config # [user] only
~/.config/mimeapps.list # text/* → sublime_text.desktop
~/.config/uwsm/default # export EDITOR=sublime_text
~/.local/bin/sublime_text # -> /usr/bin/subl
~/.config/omarchy/themes/event-horizon/
~/.config/omarchy/themes/aetheria/
~/.config/omarchy/backgrounds/event-horizon/wallhaven-l8v3ey_3440x1440.png
~/.config/autostart/1password.desktop
~/.local/bin/work.sh
~/scripts/ai.py # ai backend: Ollama deepseek-coder-v2:16b-lite-instruct-q4_K_M (num_predict=50) → command (UI on /dev/tty)
~/.bashrc # ai() → re-add ai line + history -s + eval (needed for ↑ history)
~/.local/bin/ai # optional -> ~/scripts/ai.py (direct run; no history)
~/scripts/update_cursor.py # download latest Cursor AppImage + rotate rollback
~/scripts/publish-omarchy-docs.sh # push ~/docs → R2 bucket omarchy
~/.local/bin/publish-omarchy-docs # -> ~/scripts/publish-omarchy-docs.sh
~/.config/omarchy-docs/env # CLOUDFLARE_ACCOUNT_ID + CLOUDFLARE_API_TOKEN (chmod 600)
~/.config/omarchy-docs/env.example
~/.cursor/skills/omarchy-docs/ # agent skill: docs + R2 publish
~/.cursor/rules/omarchy-docs-r2.mdc # always-on: publish after ~/docs edits
~/.local/bin/cursor # -> ~/applications/Cursor.AppImage
~/.local/share/applications/work.desktop
~/.local/share/applications/cursor.desktop
~/.local/share/applications/claude-code-url-handler.desktop # claude-cli:// → Claude Code
~/.local/share/applications/jetbrainsd.desktop # jetbrains:// → JetBrains daemon
~/.local/share/applications/hermes.desktop # Walker entry for Hermes
~/.local/bin/hermes # Hermes CLI wrapper
~/.local/bin/hermes-acp # Hermes ACP wrapper
~/.local/bin/hermes-agent # Hermes agent wrapper
~/.config/systemd/user/plex-raid.service # SSHFS plex:/raid → /nas
~/applications/Cursor.AppImage
~/applications/Cursor.RollBack # previous AppImage (from updater)
~/applications/Cursor.png
~/themes/Monokai Dark Soda.icls # JetBrains editor color scheme (source; valid XML)
~/themes/monokai-dark-soda/ # WebStorm UI theme sources (Islands + scheme)
~/.local/share/JetBrains/WebStorm2026.2/monokai-dark-soda/ # installed theme plugin
~/.config/JetBrains/WebStorm2026.2/colors/Monokai Dark Soda.icls
~/.config/JetBrains/WebStorm2026.2/options/laf.xml # Appearance: Monokai Dark Soda
~/.config/JetBrains/WebStorm2026.2/options/colors.scheme.xml # editor: Monokai Dark Soda
~/.config/JetBrains/WebStorm2026.2/webstorm64.vmoptions # WLToolkit + system AA fonts
~/.config/JetBrains/WebStorm2026.2/ # WebStorm config
/opt/webstorm # WebStorm install (AUR webstorm + webstorm-jre)
/usr/bin/webstorm
/usr/share/applications/jetbrains-webstorm.desktop
~/.config/Code/User/settings.json # VS Code: Monokai Dark Soda + update.mode none
~/.vscode/extensions/adamcaviness.theme-monokai-dark-soda-*/
~/.config/OpenRGB/ # RGB (if you care to back it up)
/etc/udev/rules.d/99-keychron.rules # Keychron Launcher / VIA WebHID
/etc/ssh/sshd_config.d/10-local.conf # key-only sshd (no passwords / no root)
~/.ssh/id_rsa # existing 4096 RSA keypair
~/.ssh/id_rsa.pub # derived from id_rsa (was previously a private-key duplicate)
~/.ssh/authorized_keys # same pubkey — inbound SSH