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.
Option 1: Use the workstation template
The fastest way to get started is with the built-in template:
nix flake init -t github:Jylhis/marchyo#workstation
This creates a complete configuration with desktop environment, development tools, and sensible defaults. See the Workstation Template guide for details.
Option 2: Add to an existing flake
Add Marchyo as an input and import the NixOS module:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
marchyo.url = "github:Jylhis/marchyo";
};
outputs = { nixpkgs, marchyo, ... }: {
nixosConfigurations.myhost = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
marchyo.nixosModules.default
./hardware-configuration.nix
{
marchyo.desktop.enable = true;
marchyo.development.enable = true;
marchyo.users.myuser = {
fullname = "Your Name";
email = "your.email@example.com";
};
}
];
};
};
}
Option 3: Home Manager only
If you only want the Home Manager modules without the NixOS system modules:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
marchyo.url = "github:Jylhis/marchyo";
home-manager.url = "github:nix-community/home-manager";
};
outputs = { nixpkgs, marchyo, home-manager, ... }: {
homeConfigurations.myuser = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
modules = [
marchyo.homeModules.default
];
};
};
}
Minimal example
A minimal configuration that enables only the desktop environment:
{
marchyo.desktop.enable = true;
marchyo.users.myuser = {
fullname = "Your Name";
email = "you@example.com";
};
}
Enabling marchyo.desktop.enable automatically enables media and office applications via cascading defaults. You can override any of these:
{
marchyo.desktop.enable = true;
marchyo.media.enable = false; # Override: disable media apps
}
Next steps