2023-06-07 21:58:21 +02:00
|
|
|
{
|
|
|
|
inputs = {
|
|
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
|
|
poetry2nix = {
|
|
|
|
url = "github:nix-community/poetry2nix";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-06-09 02:50:36 +02:00
|
|
|
pre-commit-hooks = {
|
|
|
|
url = "github:cachix/pre-commit-hooks.nix";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-06-07 21:58:21 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
outputs = {
|
|
|
|
self,
|
|
|
|
nixpkgs,
|
2023-06-09 02:50:36 +02:00
|
|
|
flake-utils,
|
2023-06-07 21:58:21 +02:00
|
|
|
poetry2nix,
|
|
|
|
pre-commit-hooks,
|
|
|
|
}:
|
|
|
|
flake-utils.lib.eachDefaultSystem
|
|
|
|
(
|
|
|
|
system: let
|
2023-06-12 04:32:24 +02:00
|
|
|
poetry = poetry2nix.legacyPackages.${system};
|
2023-06-07 21:58:21 +02:00
|
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
|
|
in {
|
2023-06-12 04:32:24 +02:00
|
|
|
packages.default = poetry.mkPoetryApplication {
|
2023-06-09 02:50:36 +02:00
|
|
|
projectDir = ./.;
|
|
|
|
python = pkgs.python310;
|
2023-06-12 04:32:24 +02:00
|
|
|
preferWheels = true;
|
|
|
|
overrides = [
|
|
|
|
(final: prev: {
|
|
|
|
attrs = prev.pkgs.python3Packages.buildPythonPackage {
|
|
|
|
pname = "attrs";
|
|
|
|
version = "23.1.0";
|
|
|
|
src = prev.pkgs.fetchurl {
|
|
|
|
url = "https://files.pythonhosted.org/packages/f0/eb/fcb708c7bf5056045e9e98f62b93bd7467eb718b0202e7698eb11d66416c/attrs-23.1.0-py3-none-any.whl";
|
|
|
|
sha256 = "012x6glahfkg28ncs726dcnbm76gib3j1861d8jv8byw5i9b8a0z";
|
|
|
|
};
|
|
|
|
format = "wheel";
|
|
|
|
doCheck = false;
|
2023-06-09 02:50:36 +02:00
|
|
|
};
|
|
|
|
|
2023-06-12 04:32:24 +02:00
|
|
|
red-commons = prev.pkgs.python3Packages.buildPythonPackage {
|
|
|
|
pname = "Red-Commons";
|
|
|
|
version = "1.0.0";
|
|
|
|
src = prev.pkgs.fetchurl {
|
|
|
|
url = "https://files.pythonhosted.org/packages/39/7a/4afb80e4aa69fec9736159d2571db76e3546c6e3b4e8deefe0e55114526c/red_commons-1.0.0-py3-none-any.whl";
|
|
|
|
sha256 = "0i5g4p5p5na27064x5vlh96iq85i1a0n12rzw2lckqp8pw5bf1vh";
|
|
|
|
};
|
|
|
|
format = "wheel";
|
|
|
|
doCheck = false;
|
2023-06-09 02:50:36 +02:00
|
|
|
};
|
2023-06-12 04:32:24 +02:00
|
|
|
})
|
|
|
|
(poetry.mkDefaultPoetryOverrides
|
|
|
|
(import ./overrides.nix {
|
|
|
|
inherit pkgs;
|
|
|
|
lib = pkgs.lib;
|
|
|
|
}))
|
|
|
|
];
|
2023-06-07 21:58:21 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
devShells.default = pkgs.mkShell {
|
2023-06-09 02:50:36 +02:00
|
|
|
inherit (self.checks.${system}.pre-commit-check) shellHook;
|
2023-06-07 21:58:21 +02:00
|
|
|
packages = [
|
|
|
|
poetry2nix.packages.${system}.poetry
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
|
|
|
checks = {
|
|
|
|
pre-commit-check = pre-commit-hooks.lib.${system}.run {
|
|
|
|
src = ./.;
|
2023-06-09 02:50:36 +02:00
|
|
|
hooks.black.enable = true;
|
|
|
|
hooks.isort.enable = true;
|
|
|
|
hooks.pyright.enable = true;
|
2023-06-07 21:58:21 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|
|
|
|
);
|
|
|
|
}
|