nix

Automate declarative system configuration with Nix across Linux and macOS.

2|1|Updated Mar 8, 2026
One-click install
npx skills add https://github.com/mattstruble/skills --skill nix-mattstruble
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: nix
Source: https://github.com/mattstruble/skills/tree/main/nix
Command: npx skills add https://github.com/mattstruble/skills --skill nix-mattstruble

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Nix-based workflows often require coordinating multi-tool configurations across NixOS, nix-darwin, and Home Manager. This skill provides a unified guide to declarative system configuration, reproducible environments, and cross-platform workflows, helping engineers set up and maintain consistent setups with Flakes, overlays, and per-host modules.

Core Features & Use Cases

  • Declarative, reproducible system configuration across Linux/macOS using Nix, NixOS, Flakes, and Home Manager.
  • Cross-platform workflows (NixOS, nix-darwin) with dev shells, overlays, and per-host modules.
  • Guidance for common tasks (nixos-rebuild, darwin-rebuild, nix develop, home-manager switch) and practical examples.

Quick Start

Create a flake.nix with inputs/outputs defining your hosts and then activate the configuration using nix commands.

Frequently Asked Questions about nix

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

FAQPage Schema
How do I manage declarative system configuration across both Linux and macOS using Nix?

Declarative system configuration across Linux and macOS is managed using Nix through unified workflows supporting NixOS, nix-darwin, and Home Manager. This provides a single approach to maintaining reproducible environments and per-host modules across different platforms.

What is the best way to structure a flake-based Nix setup for multiple hosts?

Structuring a flake-based Nix setup involves creating a flake.nix that defines inputs and outputs for your specific hosts. This approach coordinates multi-tool configurations across NixOS, nix-darwin, and Home Manager using overlays and per-host modules.

Can I use Home Manager with nix-darwin to configure my macOS environment?

Home Manager works with nix-darwin to configure macOS environments declaratively. Cross-platform workflows support combining both tools to manage user-specific configurations and system-level settings using darwin-rebuild and home-manager switch commands.

How do I create reproducible development environments with Nix flakes?

Reproducible development environments with Nix flakes are created using the nix develop command. This workflow defines dependencies and configurations in your flake.nix, ensuring consistent dev shells across Linux and macOS platforms.

When do I need overlays in my NixOS or nix-darwin configuration?

Overlays in NixOS or nix-darwin configurations are needed when customizing or extending Nixpkgs packages across multiple hosts. They allow declarative modifications to package sets, ensuring consistent dependency provisioning within your flake-based workflow.