mirror of
https://github.com/denismhz/flake.git
synced 2025-11-10 00:33:34 +01:00
78 lines
1.9 KiB
Nix
78 lines
1.9 KiB
Nix
{ config, inputs, lib, withSystem, ... }:
|
|
|
|
let
|
|
l = lib // config.flake.lib;
|
|
inherit (config.flake) overlays;
|
|
in
|
|
|
|
{
|
|
perSystem = { config, pkgs, ... }: let
|
|
commonOverlays = [
|
|
overlays.python-fixPackages
|
|
(l.overlays.callManyPackages [
|
|
../../packages/apispec-webframeworks
|
|
../../packages/torch-grammar
|
|
../../packages/flexgen
|
|
../../packages/gradio
|
|
../../packages/gradio-client
|
|
../../packages/analytics-python
|
|
../../packages/ffmpy
|
|
../../packages/llama-cpp-python
|
|
../../packages/rwkv
|
|
../../packages/autogptq
|
|
../../packages/rouge
|
|
])
|
|
];
|
|
|
|
python3Variants = {
|
|
amd = l.overlays.applyOverlays pkgs.python3Packages (commonOverlays ++ [
|
|
overlays.python-torchRocm
|
|
]);
|
|
nvidia = l.overlays.applyOverlays pkgs.python3Packages (commonOverlays ++ [
|
|
overlays.python-torchCuda
|
|
overlays.python-bitsAndBytesOldGpu
|
|
]);
|
|
};
|
|
|
|
src = inputs.textgen-src;
|
|
|
|
mkTextGenVariant = args: pkgs.callPackage ./package.nix ({ inherit src; } // args);
|
|
in {
|
|
packages = {
|
|
textgen-nvidia = mkTextGenVariant {
|
|
python3Packages = python3Variants.nvidia;
|
|
};
|
|
};
|
|
legacyPackages = {
|
|
textgen-amd = throw ''
|
|
|
|
|
|
text-generation-webui is not supported on AMD yet, as bitsandbytes does not support ROCm.
|
|
'';
|
|
};
|
|
};
|
|
|
|
flake.nixosModules = let
|
|
packageModule = pkgAttrName: { pkgs, ... }: {
|
|
services.textgen.package = withSystem pkgs.system (
|
|
{ config, ... }: lib.mkOptionDefault config.packages.${pkgAttrName}
|
|
);
|
|
};
|
|
in {
|
|
textgen = ./nixos;
|
|
textgen-amd = {
|
|
imports = [
|
|
config.flake.nixosModules.textgen
|
|
(packageModule "textgen-amd")
|
|
];
|
|
};
|
|
textgen-nvidia = {
|
|
imports = [
|
|
config.flake.nixosModules.textgen
|
|
(packageModule "textgen-nvidia")
|
|
];
|
|
};
|
|
};
|
|
}
|
|
|