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, 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
- daily-driven on real hardware
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 Amber, 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.
› 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?
No. Marchyo targets NixOS on x86_64-linux and aarch64-linux only.
› Home Manager only?
No. The Home Manager modules read the NixOS options (osConfig.marchyo), so they run under the NixOS module, which imports them for every marchyo user.