dbt-nix/flake.nix

44 lines
1.8 KiB
Nix
Raw Normal View History

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:
let
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 ]; };
dbt-core = import ./nix/dbt-core/default.nix { inherit pkgs; };
2022-04-05 11:59:17 -04:00
dbt-postgres = import ./nix/dbt-postgres/default.nix { inherit pkgs dbt-core; };
dbt-redshift = import ./nix/dbt-redshift/default.nix { inherit pkgs dbt-core dbt-postgres; };
2022-04-03 17:19:40 -04:00
in
{
inherit dbt-core dbt-postgres dbt-redshift;
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 = {
inherit dbt-core dbt-postgres dbt-redshift;
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 = {
full = pkgs.mkShell { packages = [ dbt-core dbt-postgres dbt-redshift ]; };
core = pkgs.mkShell { packages = [ dbt-core ]; };
postgres = pkgs.mkShell { packages = [dbt-core dbt-postgres ]; };
redshift = pkgs.mkShell { packages = [dbt-core dbt-redshift ]; };
};
2022-04-03 17:19:40 -04:00
});
}