Skip to content

Introduction

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.

  • 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 — Graphics vendor options including NVIDIA PRIME hybrid graphics; pairs with nixos-hardware profiles imported from your own flake.
  • Extensive options — Fine-grained control through the marchyo.* option namespace.

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, overlay and marchyo modules for your system automatically:

{
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). Every system rides nixpkgs unstable. The Home Manager modules read the NixOS options, so there is no Home Manager-only setup.

Output Description
lib.mkNixosSystem System builder (recommended entry point)
nixosModules.default Main NixOS module (includes Home Manager)
homeManagerModules.default The Home Manager modules (imported for every marchyo.users entry; need the NixOS module)
nixosModules.disko + lib.diskoLayout Declarative disk layouts from disko/ (see Installation)
packages.x86_64-linux.iso-{minimal,graphical} Installer ISOs
legacyPackages.{system} nixpkgs + marchyo overlay
overlays.default Nixpkgs overlay
templates.workstation Starter workstation template
apps.{system}.default QEMU VM runner (x86_64-linux)
checks.{system}.* Evaluation test suite (Linux systems only)

Every custom option lives under the marchyo.* namespace, declared across the auto-discovered files in modules/nixos/options/ (one file per logical namespace). Browse the Configuration section for the full reference.