add-nixos-machine

Automate adding NixOS machine configurations to a dendritic flake repository.

Updated Apr 9, 2026
One-click install
npx skills add https://github.com/binarin/nixos-config-outside --skill add-nixos-machine
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: add-nixos-machine
Source: https://github.com/binarin/nixos-config-outside/tree/main/files/claude-skills/add-nixos-machine
Command: npx skills add https://github.com/binarin/nixos-config-outside --skill add-nixos-machine

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires perl, nix, ssh, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This skill removes guesswork and manual steps when adding new NixOS machine configurations to a dendritic flake repository by providing templates, a clear checklist, and small helper scripts to manage host IDs, IP allocation, and stateVersion discovery.

Core Features & Use Cases

  • Step-by-step workflow: A checklist that walks through pre-checks, naming, hostId generation, inventory updates, IP allocation, module creation, validation loops, and committing.
  • Templates and examples: Complete module templates for qemu-guest, Proxmox VMs, LXC containers, and bare-metal workstations to copy and adapt.
  • Helper scripts: Utility scripts to generate an 8-character hostId, find an available IP in a network inventory file, and query the default stateVersion from a nixosConfiguration; intended for iterative validation with nix eval and formatting/linting tools.

Quick Start

Run the hostId generator to create an 8-character ID, add it to inventory/host-id.nix, allocate or skip an IP in inventory/networks/home.nix as appropriate, create modules/machines/<machine-name>.nix from the provided templates, validate with ncf eval nixos until clean, run get-state-version.sh to capture the system.stateVersion, then format and lint before committing.

Frequently Asked Questions about add-nixos-machine

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new NixOS machine to a flake repository?

To add a new NixOS machine, generate an 8-character hostId, update the inventory, allocate an IP, create a module from templates, and validate with nix eval before committing.

What templates are available for provisioning NixOS qemu-guest and LXC containers?

Module templates for provisioning NixOS qemu-guest VMs, Proxmox VMs, LXC containers, and bare-metal workstations are provided to copy and adapt for your dendritic flake.

How do I generate a hostId and allocate an IP for NixOS flake provisioning?

Helper scripts generate an 8-character hostId for inventory/host-id.nix and find available IPs in inventory/networks/home.nix to automate NixOS flake provisioning.

Do I need perl and ssh to automate NixOS machine configuration?

Yes, automating NixOS machine configuration requires perl, nix, and ssh dependencies to run helper scripts, evaluate configurations, and manage repository integration.

How do I find the stateVersion when adding a NixOS configuration?

Run get-state-version.sh to capture the system.stateVersion from a nixosConfiguration after validating your new NixOS machine module with nix eval.

What is the best way to validate new NixOS flake modules before committing?

Validate new NixOS flake modules by iteratively running nix eval nixos until clean, then apply formatting and linting tools before committing to the repository.