2023-01-10 15:30:52 +00:00
|
|
|
flake_input@{ kpcli-py, nixgl, rust-overlay, neovim-nightly-overlay, ... }: [
|
2023-01-06 18:07:05 +00:00
|
|
|
|
2023-01-12 20:01:11 +00:00
|
|
|
# TODO: this is quite harmful to add globally. nixGL is built not to be pure
|
2022-12-30 14:10:55 +00:00
|
|
|
nixgl.overlays.default
|
2023-01-06 18:07:05 +00:00
|
|
|
|
2022-12-30 14:10:55 +00:00
|
|
|
rust-overlay.overlays.default
|
2023-01-06 18:07:05 +00:00
|
|
|
|
2023-01-10 15:30:52 +00:00
|
|
|
neovim-nightly-overlay.overlay
|
|
|
|
|
2023-01-12 18:04:56 +00:00
|
|
|
(final: prev:
|
|
|
|
let
|
|
|
|
nightlyRustWithExts = exts: final.rust-bin.selectLatestNightlyWith (
|
|
|
|
toolchain: (toolchain.minimal.override {
|
|
|
|
extensions = exts;
|
|
|
|
})
|
|
|
|
);
|
|
|
|
# https://rust-lang.github.io/rustup/concepts/profiles.html
|
|
|
|
rust-default-components = [ "rust-docs" "rustfmt" "clippy" ];
|
|
|
|
rust-dev-components = rust-default-components ++ [ "rust-src" "rust-analyzer" "miri" ];
|
|
|
|
in
|
|
|
|
{
|
|
|
|
# use python3.9, which works because of cython somehow?
|
|
|
|
kpcli-py = final.poetry2nix.mkPoetryApplication {
|
|
|
|
projectDir = kpcli-py;
|
|
|
|
python = final.python39;
|
|
|
|
overrides = final.poetry2nix.defaultPoetryOverrides.extend (self: super: {
|
|
|
|
# tableformatter requires setuptools
|
|
|
|
tableformatter = super.tableformatter.overridePythonAttrs (
|
|
|
|
old: {
|
|
|
|
buildInputs = (old.buildInputs or [ ]) ++ [ super.setuptools super.cython_3 ];
|
|
|
|
}
|
|
|
|
);
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
rust4devs = nightlyRustWithExts rust-dev-components;
|
|
|
|
rust4cargo = nightlyRustWithExts [ ];
|
|
|
|
rust4normi = nightlyRustWithExts rust-default-components;
|
|
|
|
})
|
2023-01-06 18:07:05 +00:00
|
|
|
|
2022-12-30 14:10:55 +00:00
|
|
|
]
|
|
|
|
|