Skip to content

Compare to Flakes ​

Nix Flakes provide a standard way to write Nix expressions.

Documentation  Wiki

Differences ​

Vanilla Flakes expects users to configure everything in flake.nix and manually import any needed files.

Conflake builds on top of Flakes to offer file-based attribute loading and practical defaults, enhancing productivity in authoring Flakes.

See the homepage for a list of provided features.

Migration ​

Edit flake.nix to match the following format:

nix
{
  outputs = { conflake, ... }@inputs:
    let
      outputs = {};  # Your existing `outputs`
    in
    conflake ./. {
      inherit inputs outputs;

      presets.enable = false;
    };

  inputs.conflake.url = "github:ratson/conflake";
}

Line 4: Copy existing outputs to here.

Line 9: Optional if your outputs is not conflicting to the presets.

Then migrate your outputs to Conflake options.