stocproc/flake.nix

57 lines
1.7 KiB
Nix
Raw Normal View History

2021-12-07 17:34:15 +01:00
{
description = "Generate continuous time stationary stochastic processes from a given auto correlation function.";
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
2021-12-08 21:36:21 +01:00
poetry2nix.url = "github:nix-community/poetry2nix";
2021-12-07 17:34:15 +01:00
flake-utils.url = "github:numtide/flake-utils";
fcSpline.url = "github:vale981/fcSpline";
};
2021-12-08 21:36:21 +01:00
outputs = { self, nixpkgs, flake-utils, poetry2nix, fcSpline }:
(flake-utils.lib.eachDefaultSystem (system:
let
name = "stocproc";
overlay = nixpkgs.lib.composeManyExtensions [
poetry2nix.overlay
(final: prev:
let overrides = prev.poetry2nix.overrides.withDefaults
2021-12-08 23:01:42 +01:00
(self: super: { fcspline = fcSpline.defaultPackage.${system}; });
2021-12-08 21:36:21 +01:00
in
{
${name} = (prev.poetry2nix.mkPoetryApplication {
projectDir = ./.;
preferWheels = true;
overrides = overrides;
});
"${name}Shell" = (prev.poetry2nix.mkPoetryEnv {
projectDir = ./.;
overrides = overrides;
preferWheels = true;
editablePackageSources = {
${name} = ./${name};
};
});
})
];
pkgs = import nixpkgs {
inherit system;
overlays = [ overlay ];
config.allowUnfree = true;
};
in
rec {
packages = {
${name} = pkgs.${name};
};
defaultPackage = packages.${name};
devShell = pkgs."${name}Shell".env.overrideAttrs (oldAttrs: {
buildInputs = [ pkgs.poetry pkgs.black pkgs.pyright ];
});
}));
2021-12-07 17:34:15 +01:00
}