Skip to content

nix-ocaml/nix-overlays

Folders and files

NameName
Last commit message
Last commit date

Latest commit

cc2e49b · May 5, 2025
Mar 10, 2025
Sep 17, 2024
Mar 11, 2025
Nov 14, 2022
Sep 11, 2024
Apr 29, 2025
Apr 5, 2025
Dec 25, 2024
Mar 21, 2023
May 22, 2023
Apr 25, 2024
Jul 8, 2024
May 5, 2025
May 5, 2025
Feb 4, 2021

Repository files navigation

OCaml-focused custom Nix Overlays

This repo contains a set of custom overlays and upgrades over the upstream nixpkgs set of (mostly) OCaml packages, and a few other curated derivations.

Using this set of packages

With Flakes

In your flake.nix:

{
  # Use this repo as the `nixpkgs` URL
  inputs.nixpkgs.url = "github:nix-ocaml/nix-overlays";


  outputs = { self, nixpkgs }:
    let
      pkgs = nixpkg.legacyPackages.${"YOUR_SYSTEM_STRING"};
    in
    {
      ...
    };
}

Alternative (advanced)

{
  inputs.nixpkgs.url = "github:nixOS/nixpkgs";

  inputs.ocaml-overlay.url = "github:nix-ocaml/nix-overlays";
  inputs.ocaml-overlay.inputs.nixpkgs.follows = "nixpkgs";


  outputs = { self, nixpkgs, ocaml-overlay }:
    let
      system = "YOUR_SYSTEM_STRING";
      pkgs = import nixpkgs {
        inherit system;
        overlays = [
          ocaml-overlay.overlays.default
        ];
      };
    in
    {
      ...
    };
}

Without Flakes

let
  nixpkgs-sources =
    builtins.fetchTarball
      https://github.com/nix-ocaml/nix-overlays/archive/master.tar.gz;
  pkgs = import nixpkgs-sources { };
in

pkgs

Alternative (advanced)

let
  nixpkgs-sources =
    builtins.fetchTarball
      https://github.com/nix-ocaml/nix-overlays/archive/master.tar.gz;

  custom-nixpkgs = /path/to/custom/nixpkgs;

  pkgs = import custom-nixpkgs {
    overlays = [
      (import "${nixpkgs-sources}/overlay" custom-nixpkgs)
    ];
  };
in

pkgs

License

Copyright (c) 2023 António Nuno Monteiro.

See the MIT License text.

Note: MIT license does not apply to the packages built by nix-overlays, merely to the files in this repository (the Nix expressions, build scripts, NixOS modules, etc.). It also might not apply to patches included in the repository, which may be derivative works of the packages to which they apply. The aforementioned artifacts are all covered by the licenses of the respective packages.