2021-12-30 22:50:53 +00:00
|
|
|
# flake-compat
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
To use, add the following to your `flake.nix`:
|
|
|
|
|
|
|
|
```nix
|
2023-10-02 17:16:08 +00:00
|
|
|
inputs.flake-compat.url = "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz";
|
2021-12-30 22:50:53 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
Afterwards, create a `default.nix` file containing the following:
|
|
|
|
|
|
|
|
```nix
|
|
|
|
(import
|
|
|
|
(
|
2023-10-24 00:54:55 +00:00
|
|
|
let
|
|
|
|
lock = builtins.fromJSON (builtins.readFile ./flake.lock);
|
|
|
|
nodeName = lock.nodes.root.inputs.flake-compat;
|
|
|
|
in
|
2021-12-30 22:50:53 +00:00
|
|
|
fetchTarball {
|
2023-10-24 00:54:55 +00:00
|
|
|
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;
|
2021-12-30 22:50:53 +00:00
|
|
|
}
|
|
|
|
)
|
|
|
|
{ src = ./.; }
|
|
|
|
).defaultNix
|
|
|
|
```
|
|
|
|
|
|
|
|
If you would like a `shell.nix` file, create one containing the above, replacing `defaultNix` with `shellNix`.
|
2024-11-27 15:44:58 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
```
|