flake-compat/README.md

54 lines
1.2 KiB
Markdown
Raw Normal View History

# flake-compat
## Usage
To use, add the following to your `flake.nix`:
```nix
inputs.flake-compat = {
url = github:edolstra/flake-compat;
flake = false;
};
```
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 ]; };
}
);
}
```
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`.