NixOS/flake-compat
null
{ "createdAt": "2020-02-25T13:15:05Z", "defaultBranch": "master", "description": null, "fullName": "NixOS/flake-compat", "homepage": null, "language": "Nix", "name": "flake-compat", "pushedAt": "2025-11-24T19:02:43Z", "stargazersCount": 311, "topics": [], "updatedAt": "2025-11-25T22:14:14Z", "url": "https://github.com/NixOS/flake-compat"}flake-compat
Section titled “flake-compat”To use, add the following to your flake.nix:
inputs.flake-compat.url = "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz";Afterwards, create a default.nix file containing the following:
(import ( let lock = builtins.fromJSON (builtins.readFile ./flake.lock); nodeName = lock.nodes.root.inputs.flake-compat; in fetchTarball { url = lock.nodes.${nodeName}.locked.url or "https://github.com/edolstra/flake-compat/archive/${lock.nodes.${nodeName}.locked.rev}.tar.gz"; sha256 = lock.nodes.${nodeName}.locked.narHash; } ) { src = ./.; }).defaultNixIf you would like a shell.nix file, create one containing the above, replacing defaultNix with shellNix.
You can access any flake output via the outputs attribute returned by flake-compat, e.g.
(import ... { src = ./.; }).outputs.packages.x86_64-linux.default