NAME
marchyo — a modular NixOS configuration flake with sensible defaults
SYNOPSIS
✓ wrote flake.nix — desktop, development, users pre-wired
DESCRIPTION
My personal spin of Omarchy, rebuilt on NixOS. One flake input gives you a full Hyprland desktop, a development toolchain, and a themed user environment — declaratively, reproducibly, and without collecting nixpkgs pins.
Marchyo is batteries-included: mkNixosSystem selects the correct nixpkgs, Home Manager, stylix, overlay and marchyo modules for your system. You write the config; it picks the rest. I built it for my own machines — it might work for yours.
currently
- tracking nixpkgs unstable (stable 26.05 on Intel macOS)
- daily-driven on real hardware
- omarchy parity: tracked in OMARCHY_PARITY.md
OPTIONS
Feature flags enable whole stacks. Everything lives under marchyo.*.
EXAMPLES
The whole configuration. No separate nixpkgs input needed.
# marchyo is the only input
inputs.marchyo.url = "github:Jylhis/marchyo";
outputs = { marchyo, ... }: {
nixosConfigurations.myhost = marchyo.lib.mkNixosSystem {
system = "x86_64-linux";
modules = [
./hardware-configuration.nix
{
marchyo.desktop.enable = true;
marchyo.development.enable = true;
marchyo.users.myuser = {
fullname = "Your Name";
email = "you@example.com";
};
}
];
};
};THEMING
Paper and Roast, straight from the Jylhis design tokens. The ☾ in the header flips this page the same way marchyo.theme.variant flips your desktop.
FAQ
› Why not just use Omarchy?
Omarchy is Arch. I wanted the same opinionated desktop with NixOS guarantees — rollbacks, one config for every machine, and no drift. Parity status is tracked in OMARCHY_PARITY.md.
› Do I need my own nixpkgs input?
No. Marchyo is the only input; mkNixosSystem picks the right nixpkgs per system. If you wire modules manually, that responsibility is yours again.
› Does it work on macOS?
Yes — mkDarwinSystem works the same way. Intel macs get pinned to stable nixos-26.05 (the last release supporting them); everything else rides unstable.
› Home Manager only?
Use homeManagerModules.default in your own home-manager configuration — no NixOS system modules required.