2021-12-30 22:50:53 +00:00
|
|
|
# flake-compat
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
To use, add the following to your `flake.nix`:
|
|
|
|
|
|
|
|
```nix
|
|
|
|
inputs.flake-compat = {
|
|
|
|
url = github:edolstra/flake-compat;
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
```
|
|
|
|
|
2022-02-23 09:15:29 +00:00
|
|
|
Example in a `flake.nix` file:
|
|
|
|
|
|
|
|
```nix
|
|
|
|
{
|
|
|
|
description = "My first flake";
|
|
|
|
|
|
|
|
inputs.nixpkgs.url = "nixpkgs/nixos-unstable";
|
|
|
|
inputs.flake-utils.url = "github:numtide/flake-utils";
|
|
|
|
inputs.flake-compat = {
|
|
|
|
url = github:edolstra/flake-compat;
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
outputs = { self, nixpkgs, flake-utils, flake-compat }:
|
|
|
|
flake-utils.lib.eachDefaultSystem
|
|
|
|
(system:
|
|
|
|
let pkgs = nixpkgs.legacyPackages.${system}; in
|
|
|
|
{
|
|
|
|
devShell = pkgs.mkShell { buildInputs = [ pkgs.hello pkgs.cowsay ]; };
|
|
|
|
}
|
|
|
|
);
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2021-12-30 22:50:53 +00:00
|
|
|
Afterwards, create a `default.nix` file containing the following:
|
|
|
|
|
|
|
|
```nix
|
|
|
|
(import
|
|
|
|
(
|
|
|
|
let lock = builtins.fromJSON (builtins.readFile ./flake.lock); in
|
|
|
|
fetchTarball {
|
|
|
|
url = "https://github.com/edolstra/flake-compat/archive/${lock.nodes.flake-compat.locked.rev}.tar.gz";
|
|
|
|
sha256 = lock.nodes.flake-compat.locked.narHash;
|
|
|
|
}
|
|
|
|
)
|
|
|
|
{ src = ./.; }
|
|
|
|
).defaultNix
|
|
|
|
```
|
|
|
|
|
|
|
|
If you would like a `shell.nix` file, create one containing the above, replacing `defaultNix` with `shellNix`.
|