forked from kragniz/python-etcd3
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathflake.nix
76 lines (74 loc) · 2.95 KB
/
flake.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
{
description = "Vibe's Python Nix Flake";
inputs = {
nixpkgs.url = "github:daedric/nixpkgs?ref=nixos-unstable-with-fixed-poetry";
flake-utils.url = "github:numtide/flake-utils";
poetry2nix.url = "github:nix-community/poetry2nix";
};
outputs =
{
self,
nixpkgs,
poetry2nix,
flake-utils,
...
}:
flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = nixpkgs.legacyPackages.${system};
p2nix = (poetry2nix.lib.mkPoetry2Nix { inherit pkgs; });
in
{
devShell = pkgs.mkShell {
packages = [
(p2nix.mkPoetryEnv {
projectDir = self;
editablePackageSources = {
synchronizer = self;
};
python = pkgs.python311;
overrides = p2nix.overrides.withDefaults (
final: prev: {
pyclean = prev.pyclean.overridePythonAttrs (old: {
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ final.setuptools ];
});
bump2version = prev.bump2version.overridePythonAttrs (old: {
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ final.setuptools ];
});
etcd3 = prev.etcd3.overridePythonAttrs (old: {
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ final.setuptools ];
});
radon = prev.radon.overridePythonAttrs (old: {
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ final.setuptools ];
});
python-commons = prev.python-commons.overridePythonAttrs (old: {
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ final.poetry-core ];
});
click = prev.click.overridePythonAttrs (old: {
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ final.flit-core ];
});
pylint-per-file-ignores = prev.pylint-per-file-ignores.overridePythonAttrs (old: {
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ final.poetry-core ];
});
api-contracts = prev.api-contracts.overridePythonAttrs (old: {
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ final.poetry-core ];
});
dnspython = prev.dnspython.overridePythonAttrs (old: {
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ final.hatchling ];
});
ruff = prev.ruff.override {
preferWheel = true;
};
}
);
})
pkgs.etcd_3_5
pkgs.basedpyright
pkgs.shfmt
pkgs.bashInteractive
];
};
}
);
}