{"id":"af071e3d-4f5a-4da5-9133-15e9fdcb6c34","shortId":"HHvgh7","kind":"skill","title":"nixos","tagline":"Use when the user asks about NixOS, Nix language, flakes, nixpkgs, configuration.nix, nixos-rebuild, modules, options, overlays, derivations, mkDerivation, callPackage, home-manager, nix-darwin, devenv, packaging, cross-compilation, binary caches, garbage collection, NixOS contai","description":"# NixOS Documentation\n\nComplete reference for NixOS and the Nix ecosystem, auto-generated from official repositories:\n\n- [nix.dev](https://nix.dev/) — tutorials, guides, best practices\n- [NixOS Manual](https://nixos.org/manual/nixos/stable/) — from `NixOS/nixpkgs`\n- [Nix Pills](https://nixos.org/guides/nix-pills/) — progressive learning series\n- [Release Wiki](https://nixos.github.io/release-wiki/) — NixOS release process\n\nThe `references/` directory contains full, unmodified documentation from those sources, updated daily.\n\n## Directives\n\n- Base all answers on the official NixOS documentation in the reference files below.\n- Use correct Nix language syntax (attribute sets, let-in, with, inherit, etc.).\n- Distinguish between **NixOS module options** (`services.nginx.enable = true;`) and **Nix language expressions** (`pkgs.mkDerivation { ... }`).\n- Show configuration examples using current NixOS syntax (`configuration.nix` or flake-based configs).\n- When flakes are relevant, show both the classic (channels) and flakes approach if applicable.\n- For packaging, prefer the `callPackage` pattern over raw `import`.\n\n## Reference Files\n\nIdentify the topic from the user's question, then read the matching reference file:\n\n### Getting Started\n\n| Topic | File |\n|-------|------|\n| Installing Nix package manager | **`references/install-nix.md`** |\n| NixOS installation (USB, PXE, VirtualBox, proxy, other distro) | **`references/nixos-installation.md`** |\n| First steps (ad-hoc shells, declarative shell, reproducible scripts) | **`references/first-steps.md`** |\n| Upgrading NixOS | **`references/nixos-upgrading.md`** |\n| Changing NixOS configuration | **`references/nixos-changing-config.md`** |\n| Glossary and terminology | **`references/glossary.md`** |\n| FAQ | **`references/faq.md`** |\n\n### Nix Language & Concepts\n\n| Topic | File |\n|-------|------|\n| Nix language tutorial | **`references/nix-language.md`** |\n| Flakes (concept and usage) | **`references/flakes.md`** |\n| callPackage design pattern | **`references/callpackage.md`** |\n| Module system (basics and deep dive) | **`references/module-system.md`** |\n| Working with local files in Nix | **`references/working-with-local-files.md`** |\n| Pinning nixpkgs versions | **`references/pinning-nixpkgs.md`** |\n| Nix Pills (progressive learning, 20 lessons) | **`references/nix-pills.md`** |\n\n### NixOS Configuration\n\n| Topic | File |\n|-------|------|\n| Configuration syntax, modularity, abstractions | **`references/nixos-config-syntax.md`** |\n| Package management (declarative, ad-hoc, custom packages) | **`references/nixos-package-mgmt.md`** |\n| User management | **`references/nixos-user-mgmt.md`** |\n| Networking (firewall, SSH, IPv4/6, wireless, NetworkManager) | **`references/nixos-networking.md`** |\n| Filesystems (LUKS, SSHFS, OverlayFS) | **`references/nixos-filesystems.md`** |\n| Display server (X11, Wayland, Xfce, GPU acceleration) | **`references/nixos-display-server.md`** |\n| Linux kernel configuration | **`references/nixos-linux-kernel.md`** |\n| Kubernetes | **`references/nixos-kubernetes.md`** |\n| Configuration profiles (minimal, graphical, headless, etc.) | **`references/nixos-profiles.md`** |\n\n### NixOS Administration\n\n| Topic | File |\n|-------|------|\n| Service management, logging, rollback, troubleshooting, boot problems | **`references/nixos-administration.md`** |\n| Containers (declarative, imperative, networking) | **`references/nixos-containers.md`** |\n\n### NixOS Development\n\n| Topic | File |\n|-------|------|\n| Writing NixOS modules (options, types, assertions) | **`references/nixos-writing-modules.md`** |\n| NixOS tests (writing, running, interactive) | **`references/nixos-testing.md`** |\n| Building NixOS images (ISO, systemd-repart) | **`references/nixos-building-images.md`** |\n\n### Packaging & Build\n\n| Topic | File |\n|-------|------|\n| Packaging existing software for nixpkgs | **`references/packaging-tutorial.md`** |\n| Cross-compilation | **`references/cross-compilation.md`** |\n\n### Tutorials\n\n| Topic | File |\n|-------|------|\n| NixOS configuration on a VM | **`references/nixos-vm-tutorial.md`** |\n| Building and running Docker images | **`references/nixos-docker-tutorial.md`** |\n| Building a bootable ISO image | **`references/nixos-iso-tutorial.md`** |\n| Integration testing with VMs | **`references/nixos-testing-tutorial.md`** |\n| Deploying NixOS with Terraform | **`references/nixos-terraform-tutorial.md`** |\n| Distributed builds setup | **`references/nixos-distributed-builds.md`** |\n| NixOS on Raspberry Pi | **`references/nixos-raspberry-pi.md`** |\n| Provisioning remote machines | **`references/nixos-remote-machines.md`** |\n| Binary cache setup | **`references/nixos-binary-cache.md`** |\n\n### Guides & Recipes\n\n| Topic | File |\n|-------|------|\n| Best practices | **`references/best-practices.md`** |\n| Troubleshooting | **`references/troubleshooting.md`** |\n| Recipes (direnv, CI, dependencies, Python env, binary cache, sharing deps) | **`references/recipes.md`** |\n\n### Release Process\n\n| Topic | File |\n|-------|------|\n| NixOS release process, roles, branch-off, beta, freeze | **`references/release-process.md`** |\n\n## Live Fetching\n\nWhen reference files are insufficient, fetch the latest docs from raw GitHub:\n\n### nix.dev\n```\nhttps://raw.githubusercontent.com/NixOS/nix.dev/master/source/<path>.md\n```\n\n### NixOS Manual (nixpkgs)\n```\nhttps://raw.githubusercontent.com/NixOS/nixpkgs/master/nixos/doc/manual/<section>/<file>.md\n```\n\n### Nix Pills\n```\nhttps://raw.githubusercontent.com/NixOS/nix-pills/master/pills/<NN>-<slug>.md\n```\n\n## Strategy\n\n1. Identify the topic from the user's question.\n2. Read the matching reference file from the tables above.\n3. Answer with correct Nix syntax and `configuration.nix` / `flake.nix` examples.\n4. If more detail is needed, fetch from the corresponding raw GitHub URL.\n5. For beginners, recommend starting with `references/first-steps.md` or `references/nix-pills.md`.\n6. For troubleshooting, check `references/troubleshooting.md` and `references/faq.md` first.\n7. For NixOS system issues, check `references/nixos-administration.md`.\n\n## Quick Reference\n\n### Config file location\n`/etc/nixos/configuration.nix` (classic) or `flake.nix` (flakes)\n\n### Rebuild system\n```bash\nsudo nixos-rebuild switch          # apply config\nsudo nixos-rebuild test            # apply without adding to bootloader\nsudo nixos-rebuild build           # build only\nsudo nixos-rebuild boot            # apply on next boot\n```\n\n### Nix shell (ad-hoc packages)\n```bash\nnix-shell -p python3 git vim       # classic\nnix shell nixpkgs#python3 nixpkgs#git  # flakes\n```\n\n### Nix develop (dev environment)\n```bash\nnix develop                        # from flake.nix devShell\nnix-shell                          # from shell.nix\n```\n\n### Search packages\n```bash\nnix search nixpkgs firefox\n# or https://search.nixos.org/packages\n```\n\n### Garbage collection\n```bash\nnix-collect-garbage -d             # delete all old generations\nnix store gc                       # flakes equivalent\nsudo nix-collect-garbage -d        # also clean system profiles\n```\n\n### Flake basic structure\n```nix\n{\n  inputs = {\n    nixpkgs.url = \"github:NixOS/nixpkgs/nixos-unstable\";\n  };\n  outputs = { self, nixpkgs }: {\n    nixosConfigurations.hostname = nixpkgs.lib.nixosSystem {\n      system = \"x86_64-linux\";\n      modules = [ ./configuration.nix ];\n    };\n  };\n}\n```\n\n### NixOS module syntax\n```nix\n{ config, pkgs, ... }:\n{\n  services.nginx.enable = true;\n  environment.systemPackages = with pkgs; [ vim git firefox ];\n  networking.firewall.allowedTCPPorts = [ 80 443 ];\n  users.users.myuser = {\n    isNormalUser = true;\n    extraGroups = [ \"wheel\" \"networkmanager\" ];\n  };\n}\n```","tags":["nixos","skill","marceloeatworld","agent-skills","ai-coding-assistant","claude-code","cursor","documentation","flakes","github-copilot","linux","nix"],"capabilities":["skill","source-marceloeatworld","skill-nixos-ai-skill","topic-agent-skills","topic-ai-coding-assistant","topic-claude-code","topic-cursor","topic-documentation","topic-flakes","topic-github-copilot","topic-linux","topic-nix","topic-nixos","topic-nixpkgs","topic-skill-md"],"categories":["nixos-ai-skill"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/marceloeatworld/nixos-ai-skill","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add marceloeatworld/nixos-ai-skill","source_repo":"https://github.com/marceloeatworld/nixos-ai-skill","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 9 github stars · SKILL.md body (7,702 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:08:34.799Z","embedding":null,"createdAt":"2026-05-18T13:14:06.096Z","updatedAt":"2026-05-18T19:08:34.799Z","lastSeenAt":"2026-05-18T19:08:34.799Z","tsv":"'/)':59 '/configuration.nix':705 '/etc/nixos/configuration.nix':571 '/guides/nix-pills/)':75 '/manual/nixos/stable/)':68 '/nixos/nix-pills/master/pills/':497 '/nixos/nix.dev/master/source/':484 '/nixos/nixpkgs/master/nixos/doc/manual/':491 '/packages':659 '/release-wiki/)':83 '1':500 '2':509 '20':272 '3':519 '4':529 '443':722 '5':542 '6':551 '64':702 '7':559 '80':721 'abstract':282 'acceler':314 'ad':211,288,593,615 'ad-hoc':210,287,614 'administr':330 'also':683 'answer':102,520 'appli':584,591,608 'applic':164 'approach':162 'ask':6 'assert':355 'attribut':118 'auto':51 'auto-gener':50 'base':100,149 'bash':578,618,638,651,662 'basic':252,688 'beginn':544 'best':62,437 'beta':464 'binari':34,429,448 'boot':338,607,611 'bootabl':402 'bootload':595 'branch':462 'branch-off':461 'build':363,372,394,400,417,600,601 'cach':35,430,449 'callpackag':22,169,246 'chang':222 'channel':159 'check':554,564 'ci':444 'classic':158,572,626 'clean':684 'collect':37,661,665,680 'compil':33,383 'complet':42 'concept':234,242 'config':150,568,585,710 'configur':139,224,276,279,318,322,389 'configuration.nix':13,145,526 'contai':39 'contain':90,341 'correct':114,522 'correspond':538 'cross':32,382 'cross-compil':31,381 'current':142 'custom':290 'd':667,682 'daili':98 'darwin':28 'declar':214,286,342 'deep':254 'delet':668 'dep':451 'depend':445 'deploy':411 'deriv':20 'design':247 'detail':532 'dev':636 'develop':347,635,640 'devenv':29 'devshel':643 'direct':99 'directori':89 'direnv':443 'display':308 'distinguish':126 'distribut':416 'distro':206 'dive':255 'doc':477 'docker':397 'document':41,93,107 'ecosystem':49 'env':447 'environ':637 'environment.systempackages':714 'equival':676 'etc':125,327 'exampl':140,528 'exist':376 'express':136 'extragroup':726 'faq':230 'fetch':468,474,535 'file':111,175,189,193,236,260,278,332,349,374,387,436,456,471,514,569 'filesystem':303 'firefox':655,719 'firewal':297 'first':208,558 'flake':11,148,152,161,241,575,633,675,687 'flake-bas':147 'flake.nix':527,574,642 'freez':465 'full':91 'garbag':36,660,666,681 'gc':674 'generat':52,671 'get':190 'git':624,632,718 'github':480,540,693 'glossari':226 'gpu':313 'graphic':325 'guid':61,433 'headless':326 'hoc':212,289,616 'home':24 'home-manag':23 'identifi':176,501 'imag':365,398,404 'imper':343 'import':173 'inherit':124 'input':691 'instal':194,200 'insuffici':473 'integr':406 'interact':361 'ipv4/6':299 'isnormalus':724 'iso':366,403 'issu':563 'kernel':317 'kubernet':320 'languag':10,116,135,233,238 'latest':476 'learn':77,271 'lesson':273 'let':121 'let-in':120 'linux':316,703 'live':467 'local':259 'locat':570 'log':335 'luk':304 'machin':427 'manag':25,197,285,294,334 'manual':65,487 'match':187,512 'md':485,492,498 'minim':324 'mkderiv':21 'modul':17,129,250,352,704,707 'modular':281 'need':534 'network':296,344 'networking.firewall.allowedtcpports':720 'networkmanag':301,728 'next':610 'nix':9,27,48,71,115,134,195,232,237,262,268,493,523,612,620,627,634,639,645,652,664,672,679,690,709 'nix-collect-garbag':663,678 'nix-darwin':26 'nix-shel':619,644 'nix.dev':56,58,481 'nix.dev/)':57 'nixo':1,8,15,38,40,45,64,84,106,128,143,199,220,223,275,329,346,351,357,364,388,412,420,457,486,561,581,588,598,605,706 'nixos-rebuild':14,580,587,597,604 'nixos.github.io':82 'nixos.github.io/release-wiki/)':81 'nixos.org':67,74 'nixos.org/guides/nix-pills/)':73 'nixos.org/manual/nixos/stable/)':66 'nixos/nixpkgs':70 'nixos/nixpkgs/nixos-unstable':694 'nixosconfigurations.hostname':698 'nixpkg':12,265,379,488,629,631,654,697 'nixpkgs.lib.nixossystem':699 'nixpkgs.url':692 'offici':54,105 'old':670 'option':18,130,353 'output':695 'overlay':19 'overlayf':306 'p':622 'packag':30,166,196,284,291,371,375,617,650 'pattern':170,248 'pi':423 'pill':72,269,494 'pin':264 'pkgs':711,716 'pkgs.mkderivation':137 'practic':63,438 'prefer':167 'problem':339 'process':86,454,459 'profil':323,686 'progress':76,270 'provis':425 'proxi':204 'pxe':202 'python':446 'python3':623,630 'question':183,508 'quick':566 'raspberri':422 'raw':172,479,539 'raw.githubusercontent.com':483,490,496 'raw.githubusercontent.com/nixos/nix-pills/master/pills/':495 'raw.githubusercontent.com/nixos/nix.dev/master/source/':482 'raw.githubusercontent.com/nixos/nixpkgs/master/nixos/doc/manual/':489 'read':185,510 'rebuild':16,576,582,589,599,606 'recip':434,442 'recommend':545 'refer':43,88,110,174,188,470,513,567 'references/best-practices.md':439 'references/callpackage.md':249 'references/cross-compilation.md':384 'references/faq.md':231,557 'references/first-steps.md':218,548 'references/flakes.md':245 'references/glossary.md':229 'references/install-nix.md':198 'references/module-system.md':256 'references/nix-language.md':240 'references/nix-pills.md':274,550 'references/nixos-administration.md':340,565 'references/nixos-binary-cache.md':432 'references/nixos-building-images.md':370 'references/nixos-changing-config.md':225 'references/nixos-config-syntax.md':283 'references/nixos-containers.md':345 'references/nixos-display-server.md':315 'references/nixos-distributed-builds.md':419 'references/nixos-docker-tutorial.md':399 'references/nixos-filesystems.md':307 'references/nixos-installation.md':207 'references/nixos-iso-tutorial.md':405 'references/nixos-kubernetes.md':321 'references/nixos-linux-kernel.md':319 'references/nixos-networking.md':302 'references/nixos-package-mgmt.md':292 'references/nixos-profiles.md':328 'references/nixos-raspberry-pi.md':424 'references/nixos-remote-machines.md':428 'references/nixos-terraform-tutorial.md':415 'references/nixos-testing-tutorial.md':410 'references/nixos-testing.md':362 'references/nixos-upgrading.md':221 'references/nixos-user-mgmt.md':295 'references/nixos-vm-tutorial.md':393 'references/nixos-writing-modules.md':356 'references/packaging-tutorial.md':380 'references/pinning-nixpkgs.md':267 'references/recipes.md':452 'references/release-process.md':466 'references/troubleshooting.md':441,555 'references/working-with-local-files.md':263 'releas':79,85,453,458 'relev':154 'remot':426 'repart':369 'repositori':55 'reproduc':216 'role':460 'rollback':336 'run':360,396 'script':217 'search':649,653 'search.nixos.org':658 'search.nixos.org/packages':657 'self':696 'seri':78 'server':309 'servic':333 'services.nginx.enable':131,712 'set':119 'setup':418,431 'share':450 'shell':213,215,613,621,628,646 'shell.nix':648 'show':138,155 'skill' 'skill-nixos-ai-skill' 'softwar':377 'sourc':96 'source-marceloeatworld' 'ssh':298 'sshfs':305 'start':191,546 'step':209 'store':673 'strategi':499 'structur':689 'sudo':579,586,596,603,677 'switch':583 'syntax':117,144,280,524,708 'system':251,562,577,685,700 'systemd':368 'systemd-repart':367 'tabl':517 'terminolog':228 'terraform':414 'test':358,407,590 'topic':178,192,235,277,331,348,373,386,435,455,503 'topic-agent-skills' 'topic-ai-coding-assistant' 'topic-claude-code' 'topic-cursor' 'topic-documentation' 'topic-flakes' 'topic-github-copilot' 'topic-linux' 'topic-nix' 'topic-nixos' 'topic-nixpkgs' 'topic-skill-md' 'troubleshoot':337,440,553 'true':132,713,725 'tutori':60,239,385 'type':354 'unmodifi':92 'updat':97 'upgrad':219 'url':541 'usag':244 'usb':201 'use':2,113,141 'user':5,181,293,506 'users.users.myuser':723 'version':266 'vim':625,717 'virtualbox':203 'vm':392 'vms':409 'wayland':311 'wheel':727 'wiki':80 'wireless':300 'without':592 'work':257 'write':350,359 'x11':310 'x86':701 'xfce':312","prices":[{"id":"91e2137c-deb3-41e6-a6b2-8cf80eba8592","listingId":"af071e3d-4f5a-4da5-9133-15e9fdcb6c34","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"marceloeatworld","category":"nixos-ai-skill","install_from":"skills.sh"},"createdAt":"2026-05-18T13:14:06.096Z"}],"sources":[{"listingId":"af071e3d-4f5a-4da5-9133-15e9fdcb6c34","source":"github","sourceId":"marceloeatworld/nixos-ai-skill","sourceUrl":"https://github.com/marceloeatworld/nixos-ai-skill","isPrimary":false,"firstSeenAt":"2026-05-18T13:14:06.096Z","lastSeenAt":"2026-05-18T19:08:34.799Z"}],"details":{"listingId":"af071e3d-4f5a-4da5-9133-15e9fdcb6c34","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"marceloeatworld","slug":"nixos-ai-skill","github":{"repo":"marceloeatworld/nixos-ai-skill","stars":9,"topics":["agent-skills","ai","ai-coding-assistant","claude-code","cursor","documentation","flakes","github-copilot","linux","nix","nixos","nixpkgs","skill-md","windsurf"],"license":null,"html_url":"https://github.com/marceloeatworld/nixos-ai-skill","pushed_at":"2026-05-18T07:34:03Z","description":"Auto-updated NixOS & Nix ecosystem documentation for AI coding assistants — works with 33+ tools via the Agent Skills standard (SKILL.md)","skill_md_sha":"69a624d255c0c581ecd010f34e93048b099f4d09","skill_md_path":"SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/marceloeatworld/nixos-ai-skill"},"layout":"root","source":"github","category":"nixos-ai-skill","frontmatter":{"name":"nixos","description":"Use when the user asks about NixOS, Nix language, flakes, nixpkgs, configuration.nix, nixos-rebuild, modules, options, overlays, derivations, mkDerivation, callPackage, home-manager, nix-darwin, devenv, packaging, cross-compilation, binary caches, garbage collection, NixOS containers, networking, firewall, systemd services, filesystems, LUKS, Wayland, X11, kernel, profiles, NixOS testing or VM tests, ISO images, Docker images, Raspberry Pi, Terraform, distributed builds, remote machines, pinning nixpkgs, rollback, generations, Nix Pills, or any topic related to configuring, packaging, deploying, or troubleshooting NixOS and the Nix ecosystem."},"skills_sh_url":"https://skills.sh/marceloeatworld/nixos-ai-skill"},"updatedAt":"2026-05-18T19:08:34.799Z"}}