# Nix Patterns

> NixOS module patterns. Use when creating or editing NixOS/home-manager modules, adding packages, or configuring programs.

- Skill: `aiskillstore/nix-patterns` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add aiskillstore/nix-patterns`
- Raw SKILL.md: https://api.skillmd.com/api/skills/aiskillstore/nix-patterns/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: aiskillstore (https://skillmd.com/u/aiskillstore)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/aiskillstore/nix-patterns

---


# NixOS Module Patterns

## Directory structure
- `modules/home/*.nix` - Home-manager modules (user packages, dotfiles)
- `modules/nixos/*.nix` - NixOS modules (system services)
- `hosts/*/` - Machine-specific configuration
- `home/default.nix` - Main home-manager entry point

## Adding packages
```nix
home.packages = with pkgs; [
  package-name
] ++ lib.optionals (stdenv.hostPlatform.system == "x86_64-linux") [
  x86-only-package
];
```

## Creating a module
```nix
{ pkgs, ... }:
{
  home.packages = with pkgs; [ mypackage ];
  xdg.configFile."app/config.json".text = builtins.toJSON { setting = "value"; };
}
```

Import in `home/default.nix`:
```nix
imports = [ ../modules/home/mymodule.nix ];
```

