Skip to main content
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:
{
  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.
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.

Flake outputs

OutputDescription
lib.mkNixosSystem / lib.mkDarwinSystemSystem-aware builders (recommended entry point)
lib.mkNixOnDroidConfigurationnix-on-droid (Android terminal) builder, aarch64; reuses the HM-agnostic generic modules (HM 24.05)
nixosModules.defaultMain NixOS module (includes Home Manager)
homeManagerModules.defaultHome Manager module only
legacyPackages.{system}System-aware nixpkgs + overlay (x86_64-darwin → stable 26.05)
overlays.defaultNixpkgs overlay
templates.workstationStarter workstation template
apps.{system}.defaultQEMU 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 section for the full reference.
Last modified on July 9, 2026