Appearance
Getting Started
Install
bash
nix flake init -t github:cuskiy/nixy#minimalCreates five files:
flake.nix— wires nixy intonixosConfigurationsbase.nix— schema defaults and traitsssh.nix— ssh schema and traitmy-nixos.nix— a node definitionserver.nix— a second node with overrides
Build
bash
nix build .#nixosConfigurations.my-nixos.config.system.build.toplevelHow It Works
nixy.eval scans your directory for .nix files, collects schema, traits, and nodes, then produces one module per node.
your-config/
├── flake.nix
├── base.nix # schema + traits
├── ssh.nix # schema + trait
├── my-nixos.nix # node
└── server.nix # node with overridesEach node carries schema, traits, and module:
nix
builtins.mapAttrs (name: node:
nixpkgs.lib.nixosSystem {
system = node.schema.base.system;
modules = [ node.module ];
specialArgs = { inherit name; inherit (node) schema; };
}
) cluster.nodes