Find a file
2022-02-23 10:15:29 +01:00
COPYING Add MIT license 2021-08-01 14:10:57 +02:00
default.nix Revert "Revert unlicensed contribution" 2021-08-02 13:43:28 +02:00
README.md Update README - Add flake example file 2022-02-23 10:15:29 +01:00

flake-compat

Usage

To use, add the following to your flake.nix:

inputs.flake-compat = {
  url = github:edolstra/flake-compat;
  flake = false;
};

Example in a flake.nix file:

{
  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:

(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.