Files
Nomarchy/docs/OMARCHY.md
Bernardo Magri 9792976b11
All checks were successful
Check / eval (push) Successful in 3m7s
feat(idle): a real lock bind, and a lock screen that speaks in sentences
Two nits from the post-reboot hardware pass.

Super+Escape never locked anything — there was no lock bind at all, only
the power menu's Lock row and the idle timeout. (Escape is unusable here
anyway; keybinds.nix has said so since the power menu moved to Super+X,
and an unswallowed Escape just prints its sequence into the terminal.)
Lock now lives at Super+Ctrl+L: the one row in that family that is not a
menu module, because bare Super+L collides with common app binds. It
dispatches loginctl lock-session, the same path the power menu's Lock row
takes, so logind marks the session locked and hypridle's lock_cmd remains
the single place that decides what a lock looks like.

The lock prompt read as clipped fragments ("password… or scan finger" /
"scanning finger…") next to a 64px clock. Both messages are sentences
now, and the input field's placeholder is sentence-cased to match — the
two can share the screen, so they cannot read as two different voices.

V1 + V3 pending: nix flake check --no-build passes; the built home
generation carries `bind=$mod CTRL, L, exec, loginctl lock-session`, the
new ready/present messages (built with idle.fingerprint forced on, since
the in-repo config leaves it off), and a "SUPER + CTRL + L  Lock screen"
row the cheatsheet generated on its own from the shared list. The reader
itself only exists on hardware.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 14:18:29 +01:00

127 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Coming from Omarchy
Nomarchy and [Omarchy](https://omarchy.org) are cousins: the same
Hyprland + Waybar desktop feel, the same opinionated "beautiful out of the
box," one-command theming, and a keyboard-driven menu. If you liked
Omarchy, you'll be at home here in minutes.
The one real difference is the **foundation**:
| | Omarchy | Nomarchy |
|------------|---------|----------|
| Base | Arch Linux | NixOS |
| Config | **imperative** dotfiles you edit in `~/.config`, live | **declarative** — built from a flake; changed via the menu or your `home.nix`/`system.nix` |
| Packages | `pacman` / `yay` / AUR, anytime | `nixpkgs` — added to your flake (no AUR) |
| Recovery | reinstall / restore dotfiles | **every rebuild is a bootable generation** — roll back from the boot menu |
This page maps the day-to-day deltas. Nothing about the *desktop* has to
be relearned — only *how you change it*.
---
## The one mental shift: declarative, not dotfiles
In Omarchy you open a file under `~/.config`, save it, and the change is
live. In Nomarchy the whole desktop is **built from your flake**, so you
change it one of two ways:
1. **The menu** (`SUPER+M`) — the everyday path. It writes the change into
your flake's state and rebuilds for you. You never hand-edit a config
for theming, night light, wallpaper, keyboard layout, power, etc.
2. **Your flake** — for anything the menu doesn't cover, edit
`home.nix` / `system.nix` (a handful of `nomarchy.*` options and plain
Home-Manager/NixOS), then run a rebuild.
The payoff for the extra indirection: **a bad change never bricks you.**
Every `nomarchy-rebuild` is a new NixOS generation; if one misbehaves,
reboot and pick the previous entry from the boot menu — your files
(`/home`) are never touched. See [RECOVERY.md](RECOVERY.md).
> Editing `~/.config/hypr/*` by hand won't stick — Home-Manager owns those
> files and rewrites them on the next rebuild. Change the source (menu or
> flake) instead.
---
## Install
| | |
|---|---|
| **Omarchy** | Run the bootstrap on a fresh Arch install. |
| **Nomarchy** | Boot the ISO and run **`nomarchy-install`** (single-disk UEFI, optional LUKS, hibernation-ready swap). |
| **Already on NixOS?** | Convert in place, no reformat — [MIGRATION.md](MIGRATION.md). |
---
## Keybindings (they'll feel familiar)
The full, always-current list is one keypress away: **`SUPER+?`** opens the
live cheatsheet — you never have to memorize this table.
| Key | Action |
|-----|--------|
| `SUPER+Return` | Terminal |
| `SUPER+Space` | App launcher |
| `SUPER+M` | Main menu (theme, network, audio, power, tools…) |
| `SUPER+T` | Theme picker |
| `SUPER+SHIFT+T` | Next wallpaper |
| `SUPER+E` | File manager (yazi) |
| `SUPER+X` | Power menu (lock / suspend / hibernate / reboot …) |
| `SUPER+CTRL+L` | Lock screen |
| `SUPER+?` | Keybindings cheatsheet |
| `Print` | Screenshot region → clipboard |
| `SUPER+CTRL+<key>` | Jump straight to a menu module (clipboard `V`, calc `C`, emoji `E`, capture `S`, …) |
---
## Theming
Both distros reskin everything from one place. In Nomarchy:
- **`SUPER+T`** (or `nomarchy-menu theme`) — pick from 24 presets with live
previews; it rebuilds and applies to Hyprland, Waybar, the terminal,
btop and GTK/Qt at once.
- Or from a shell: `nomarchy-theme-sync apply <slug>` (e.g. `gruvbox`,
`rose-pine`, `nord`).
- Tweak gaps / rounding / fonts / opacity / icon pack without leaving the
theme system — see [OVERRIDES.md](OVERRIDES.md). One git-tracked JSON
(`theme-state.json`) is the single source of truth.
---
## Installing software
There is no AUR. Two paths:
- **Keep it:** add the package to `home.packages` in your flake's
`home.nix`, then `nomarchy-home`. It's now declared, reproducible, and
part of your rollback history. A curated default app set already ships —
you extend the list.
- **Just this once:** `nix shell nixpkgs#<pkg>` drops you into a shell with
it on `PATH`, gone when you exit — the equivalent of a throwaway install.
Search with `nsearch <name>` (`nix search nixpkgs`).
---
## Update & roll back
| | Omarchy | Nomarchy |
|---|---|---|
| **Update** | update command | `nomarchy-pull` (bump inputs), then `nomarchy-rebuild` (system) + `nomarchy-home` (desktop) |
| **Roll back** | restore dotfiles | reboot → pick the previous **generation** in the boot menu (or a snapper snapshot) |
| **Health check** | — | `nomarchy-doctor` (System Doctor) — read-only pass/fail sheet, each ✖ shows its fix |
On a failed rebuild, `nomarchy-rebuild` / `nomarchy-home` print the last
log lines and point you at `nomarchy-doctor` and [RECOVERY.md](RECOVERY.md)
— you're never left guessing.
---
## What's exactly the same
Hyprland tiling and feel, Waybar, the rofi-driven menu, the blur/rounding
aesthetic, keyboard-first everything, and strong opinionated defaults. The
desktop is the part you already know — this page is only about the NixOS
plumbing underneath.