1
0
Fork 0
mirror of https://github.com/edolstra/flake-compat.git synced 2024-12-14 11:47:34 +00:00
flake-compat/README.md
Eelco Dolstra a1b45cd4a2 Return all outputs
They were already exposed in `defaultNix` and `shellNix`, but
"polluted" by a `default` attribute and probably not very intuitive to
find.

Issue #15.
2024-11-27 16:44:58 +01:00

35 lines
935 B
Markdown

# flake-compat
## Usage
To use, add the following to your `flake.nix`:
```nix
inputs.flake-compat.url = "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz";
```
Afterwards, create a `default.nix` file containing the following:
```nix
(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 = ./.; }
).defaultNix
```
If 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.
```nix
(import ... { src = ./.; }).outputs.packages.x86_64-linux.default
```