2022-04-03 17:19:40 -04:00
|
|
|
{
|
|
|
|
inputs = {
|
|
|
|
nixpkgs.url = "nixpkgs";
|
|
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
|
|
rust-overlay = {
|
|
|
|
url = "github:oxalica/rust-overlay";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
outputs = {self, nixpkgs, rust-overlay, flake-utils, ...}:
|
|
|
|
flake-utils.lib.eachDefaultSystem(system:
|
2022-07-13 10:42:07 -04:00
|
|
|
let
|
|
|
|
version = "1.1.0";
|
2022-04-05 11:59:17 -04:00
|
|
|
dbt-overlay = import ./nix/overlay.nix;
|
2022-04-03 17:19:40 -04:00
|
|
|
# TODO(jwall): Is this overlay strictly necessary?
|
|
|
|
pkgs = import nixpkgs {inherit system; overlays = [ dbt-overlay rust-overlay.overlay ]; };
|
2022-07-13 10:42:07 -04:00
|
|
|
dbt-core = import ./nix/dbt-core/default.nix { inherit pkgs version; };
|
|
|
|
dbt-postgres = import ./nix/dbt-postgres/default.nix { inherit pkgs dbt-core version; };
|
|
|
|
dbt-redshift = import ./nix/dbt-redshift/default.nix { inherit pkgs dbt-core dbt-postgres version; };
|
|
|
|
dbt-sqlite = import ./nix/dbt-sqlite/default.nix { inherit pkgs dbt-core version; };
|
2022-04-03 17:19:40 -04:00
|
|
|
in
|
|
|
|
{
|
2022-04-06 08:56:07 -04:00
|
|
|
inherit dbt-core dbt-postgres dbt-redshift dbt-sqlite;
|
2022-04-05 11:59:17 -04:00
|
|
|
|
2022-04-03 17:19:40 -04:00
|
|
|
overlays = [ dbt-overlay rust-overlay ];
|
|
|
|
defaultPackage = dbt-core;
|
2022-04-05 11:59:17 -04:00
|
|
|
packages = {
|
2022-04-06 08:56:07 -04:00
|
|
|
inherit dbt-core dbt-postgres dbt-redshift dbt-sqlite;
|
2022-04-05 11:59:17 -04:00
|
|
|
};
|
2022-04-03 17:52:42 -04:00
|
|
|
defaultApp = {
|
|
|
|
type = "app";
|
|
|
|
program = "${dbt-core}/bin/dbt";
|
|
|
|
};
|
2022-04-05 11:59:17 -04:00
|
|
|
# Okay now nix develop should work.
|
2022-04-03 17:19:40 -04:00
|
|
|
devShell = pkgs.mkShell {
|
2022-04-05 11:59:17 -04:00
|
|
|
packages = [ dbt-core dbt-redshift dbt-postgres pkgs.python39 pkgs.python39Packages.pip ];
|
2022-04-03 17:19:40 -04:00
|
|
|
};
|
2022-04-05 16:40:27 -04:00
|
|
|
devShells = {
|
2022-04-06 08:56:07 -04:00
|
|
|
full = pkgs.mkShell { packages = [ dbt-core dbt-postgres dbt-redshift dbt-sqlite ]; };
|
2022-04-05 16:40:27 -04:00
|
|
|
core = pkgs.mkShell { packages = [ dbt-core ]; };
|
|
|
|
postgres = pkgs.mkShell { packages = [dbt-core dbt-postgres ]; };
|
|
|
|
redshift = pkgs.mkShell { packages = [dbt-core dbt-redshift ]; };
|
2022-04-06 09:03:51 -04:00
|
|
|
sqlite = pkgs.mkShell { packages = [dbt-core dbt-sqlite ]; };
|
2022-04-05 16:40:27 -04:00
|
|
|
};
|
2022-04-03 17:19:40 -04:00
|
|
|
});
|
2022-07-13 10:42:07 -04:00
|
|
|
}
|