marchyo(7)Jylhis Manualmarchyo(7)

NAME

marchyo — a modular NixOS configuration flake with sensible defaults

SYNOPSIS

you@myhost — bash
❯nix flake init -t github:Jylhis/marchyo#workstation

✓ wrote flake.nix — desktop, development, users pre-wired

❯sudo nixos-rebuild switch --flake .#myhost

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.*.

$ ls -la marchyo/
drwxr-xr-x desktop.enable hyprland · pipewire · fonts
drwxr-xr-x development.enable git · docker · qemu/kvm
drwxr-xr-x media.enable obs-studio auto
drwxr-xr-x office.enable papers · obsidian auto

EXAMPLES

The whole configuration. No separate nixpkgs input needed.

flake.nix
# 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.

☀ paper
variant = "light";
☾ amber
variant = "dark";

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.

SEE ALSO

docs(7), quickstart(1), github(1), omarchy(7)