> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jylhis.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> A modular NixOS configuration flake with sensible defaults

Marchyo is a modular NixOS configuration flake providing a curated set of system and Home Manager configurations with sensible defaults. It simplifies managing NixOS systems by offering organized, configurable modules you can enable with simple feature flags.

## Features

* **Modular architecture** — Configurations broken into small, manageable modules for desktop, development, media, and office environments.
* **Feature flags** — Enable entire stacks with a single boolean (`marchyo.desktop.enable = true`).
* **Home Manager integration** — Seamless user environment management for dotfiles and user-level applications.
* **Hardware support** — Integration with `nixos-hardware` for common devices, including NVIDIA PRIME hybrid graphics.
* **Extensive options** — Fine-grained control through the `marchyo.*` option namespace.

## How it works

Marchyo is distributed as a batteries-included Nix flake. Add it as your only input and build with `marchyo.lib.mkNixosSystem` — it wires the correct nixpkgs, Home Manager, stylix, overlay and marchyo modules for your system automatically:

```nix theme={}
{
  inputs.marchyo.url = "github:Jylhis/marchyo";

  outputs = { marchyo, ... }: {
    nixosConfigurations.myhost = marchyo.lib.mkNixosSystem {
      system = "x86_64-linux";
      modules = [ { marchyo.desktop.enable = true; } ];
    };
  };
}
```

The builder bakes in `nixosModules.default` (NixOS system modules + Home Manager integration). On x86\_64-darwin, `marchyo.lib.mkDarwinSystem` transparently pins the stable nixos-26.05 package set (the last release supporting Intel macOS); every other system rides unstable. If you only need Home Manager, use `homeManagerModules.default`.

<Note>
  The raw `marchyo.inputs.nixpkgs` passthrough is always **unstable**. For a system-correct, overlay-applied package set, use `marchyo.legacyPackages.<system>` (x86\_64-darwin → stable 26.05, others → unstable) or the `marchyo.lib.*` builders.
</Note>

## Flake outputs

| Output                                     | Description                                                                                         |
| ------------------------------------------ | --------------------------------------------------------------------------------------------------- |
| `lib.mkNixosSystem` / `lib.mkDarwinSystem` | System-aware builders (recommended entry point)                                                     |
| `lib.mkNixOnDroidConfiguration`            | nix-on-droid (Android terminal) builder, aarch64; reuses the HM-agnostic generic modules (HM 24.05) |
| `nixosModules.default`                     | Main NixOS module (includes Home Manager)                                                           |
| `homeManagerModules.default`               | Home Manager module only                                                                            |
| `legacyPackages.{system}`                  | System-aware nixpkgs + overlay (x86\_64-darwin → stable 26.05)                                      |
| `overlays.default`                         | Nixpkgs overlay                                                                                     |
| `templates.workstation`                    | Starter workstation template                                                                        |
| `apps.{system}.default`                    | QEMU VM runner (x86\_64-linux)                                                                      |
| `checks.{system}.*`                        | Evaluation test suite                                                                               |

## All options live under `marchyo.*`

Every custom option is defined in a single file (`modules/nixos/options.nix`) under the `marchyo.*` namespace. Browse the [Configuration](/configuration/feature-flags) section for the full reference.
