Home

Awesome

duckdb-nix

Nix flake for development with multiple DuckDB versions

Versions

Usage

This duckdb-nix flake assumes you have already installed nix

Flake Template

> nix flake init -t github:rupurt/duckdb-nix#multi

Custom Flake with Overlay

# flake.nix
{
  inputs.nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
  inputs.flake-utils.url = "github:numtide/flake-utils";
  inputs.duckdb-nix.url = "github:rupurt/duckdb-nix";

  outputs = {
    self,
    nixpkgs,
    flake-utils,
    duckdb-nix,
    ...
  }: let
    systems = ["x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin"];
    outputs = flake-utils.lib.eachSystem systems (system: let
      pkgs = import nixpkgs {
        inherit system;
        overlays = [
          duckdb-nix.overlay
        ];
      };
      in
      {
        devShells.default = pkgs.mkShell {
          packages = [
            pkgs.duckdb-pkgs.v0_10_2
            # pkgs.duckdb-pkgs.v0_10_1
            # pkgs.duckdb-pkgs.v0_10_0
            # pkgs.duckdb-pkgs.v0_9_2
            # pkgs.duckdb-pkgs.main
          ];
        };
      };
    );
}

License

duckdb-nix is released under the MIT license