aithings/projects/bark-gui/default.nix
2024-02-24 19:18:13 +01:00

52 lines
1.3 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/audiolm-pytorch
../../packages/ema-pytorch
../../packages/local-attention
../../packages/pytorch-seed
../../packages/vector-quantize-pytorch
])
];
python3Variants = {
nvidia = l.overlays.applyOverlays pkgs.python3Packages (commonOverlays ++ [
overlays.python-torchCuda
]);
};
src = inputs.bark-gui-src;
mkbark-guiVariant = args: pkgs.callPackage ./package.nix ({ inherit src; } // args);
in {
packages = {
bark-gui-nvidia = mkbark-guiVariant {
python3Packages = python3Variants.nvidia;
};
};
};
flake.nixosModules = let
packageModule = pkgAttrName: { pkgs, ... }: {
services.bark-gui.package = withSystem pkgs.system (
{ config, ... }: lib.mkOptionDefault config.packages.${pkgAttrName}
);
};
in {
#bark-gui = ./nixos;
#invokeai-nvidia = {
# imports = [
# config.flake.nixosModules.invokeai
# (packageModule "bark-gui-nvidia")
# ];
#};
};
}