mirror of
https://github.com/virchau13/automatic1111-webui-nix.git
synced 2024-11-22 14:14:05 +03:00
feat: initial functionality
This commit is contained in:
commit
a3de422c13
21
README.md
Normal file
21
README.md
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# [AUTOMATIC1111/stable-diffusion-webui] for CUDA on NixOS
|
||||||
|
|
||||||
|
This is literally just a `shell.nix` and a `flake.nix` for stable-diffusion-webui using CUDA on NixOS.
|
||||||
|
This currently doesn't support AMD cards (I don't have one) but feel free to contribute.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
|
||||||
|
git clone https://github.com/virchau13/automatic1111-webui-nix
|
||||||
|
cp automatic1111-webui-nix-flake/*.nix stable-diffusion-webui/
|
||||||
|
cd stable-diffusion-webui
|
||||||
|
nix shell # or `nix-shell` if you're not using flakes
|
||||||
|
# just use `./webui.sh` to run it, it'll install all the rest automatically
|
||||||
|
# follow the tutorials at the original project for setting up Stable Diffusion / GFPGAN / whatever
|
||||||
|
```
|
||||||
|
|
||||||
|
You might want to switch to high performance mode on battery-powered devices.
|
||||||
|
|
||||||
|
## Credits
|
||||||
|
- AUTOMATIC1111 for obvious reasons.
|
||||||
|
- polypoyo for [the original draft of this](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/4736).
|
43
flake.lock
Normal file
43
flake.lock
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"flake-utils": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1667395993,
|
||||||
|
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1672350804,
|
||||||
|
"narHash": "sha256-jo6zkiCabUBn3ObuKXHGqqORUMH27gYDIFFfLq5P4wg=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "677ed08a50931e38382dbef01cba08a8f7eac8f6",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
21
flake.nix
Normal file
21
flake.nix
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
description = "AUTOMATIC1111/stable-diffusion-webui flake";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = github:NixOS/nixpkgs/nixos-unstable;
|
||||||
|
flake-utils.url = github:numtide/flake-utils;
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs, flake-utils }: let
|
||||||
|
isLinux = system: builtins.match ".*linux.*" system != null;
|
||||||
|
linuxSystems = builtins.filter isLinux flake-utils.lib.defaultSystems;
|
||||||
|
in flake-utils.lib.eachSystem linuxSystems (system: let
|
||||||
|
pkgs = import nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
devShells.default = import ./impl.nix pkgs;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
25
impl.nix
Normal file
25
impl.nix
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
pkgs:
|
||||||
|
|
||||||
|
pkgs.mkShell rec {
|
||||||
|
name = "stable-diffusion-webui";
|
||||||
|
buildInputs = with pkgs; [
|
||||||
|
git # The program instantly crashes if git is not present, even if everything is already downloaded
|
||||||
|
python310
|
||||||
|
stdenv.cc.cc.lib
|
||||||
|
stdenv.cc
|
||||||
|
ncurses5
|
||||||
|
binutils
|
||||||
|
gitRepo gnupg autoconf curl
|
||||||
|
procps gnumake util-linux m4 gperf unzip
|
||||||
|
cudatoolkit linuxPackages.nvidia_x11
|
||||||
|
libGLU libGL
|
||||||
|
xorg.libXi xorg.libXmu freeglut
|
||||||
|
xorg.libXext xorg.libX11 xorg.libXv xorg.libXrandr zlib
|
||||||
|
glib
|
||||||
|
];
|
||||||
|
shellHook = ''
|
||||||
|
export LD_LIBRARY_PATH="${pkgs.lib.makeLibraryPath buildInputs}"
|
||||||
|
export CUDA_PATH=${pkgs.cudatoolkit}
|
||||||
|
export EXTRA_LDFLAGS="-L${pkgs.linuxPackages.nvidia_x11}/lib"
|
||||||
|
'';
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user