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 — Integration with nixos-hardware for common devices, including NVIDIA PRIME hybrid graphics.
  • 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, 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.

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)
nixosModules.hardware.<profile> nixos-hardware per-machine profiles, re-exported (e.g. lenovo-thinkpad-x1-9th-gen, framework-13-7040-amd, common-pc-ssd)
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 (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.