TakodaS 149824a515 WIP: nixified webui
currently packaging as a nixosModule so should be easy to integrate with
nixos generators in the future. Also looking at making a docker image
without systemd
2025-03-10 17:51:53 +00:00

77 lines
1.7 KiB
Nix

{
description = "Django application using uv2nix";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
pyproject-nix = {
url = "github:pyproject-nix/pyproject.nix";
inputs.nixpkgs.follows = "nixpkgs";
};
uv2nix = {
url = "github:pyproject-nix/uv2nix";
inputs.pyproject-nix.follows = "pyproject-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
pyproject-build-systems = {
url = "github:pyproject-nix/build-system-pkgs";
inputs.pyproject-nix.follows = "pyproject-nix";
inputs.uv2nix.follows = "uv2nix";
inputs.nixpkgs.follows = "nixpkgs";
};
uv2nix-hammer-overrides = {
url = "github:TyberiusPrime/uv2nix_hammer_overrides";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
inputs@{
self,
nixpkgs,
pyproject-nix,
pyproject-build-systems,
uv2nix,
uv2nix-hammer-overrides,
...
}:
let
lib = nixpkgs.lib.extend (
self: _: {
flake = import ./nix/lib (
{
lib = self;
}
// inputs
);
}
);
package-name = "stable-diffusion-webui";
pythonSets = import ./pythonSets.nix ({ inherit lib; } // inputs);
allArgs = inputs // {
inherit lib package-name pythonSets;
};
nixDirs = lib.flake.getSubdirs ./nix;
importFolder = (
name: {
name = name;
value =
import ./nix/${name} allArgs;
}
);
in
{
asgiApp = "django_webapp.asgi:application";
settingsModules = {
prod = "django_webapp.settings";
};
}
// builtins.listToAttrs (map importFolder nixDirs);
}