too lazy to write but it works
This commit is contained in:
parent
4b536b9b11
commit
3a7ec9f943
6 changed files with 145 additions and 90 deletions
18
flake.lock
generated
18
flake.lock
generated
|
|
@ -25,11 +25,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741955947,
|
"lastModified": 1742670145,
|
||||||
"narHash": "sha256-2lbURKclgKqBNm7hVRtWh0A7NrdsibD0EaWhahUVhhY=",
|
"narHash": "sha256-xQ2F9f+ICAGBp/nNv3ddD2U4ZvzuLOci0u/5lyMXPvk=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "4e12151c9e014e2449e0beca2c0e9534b96a26b4",
|
"rev": "63e77d09a133ac641a0c204e7cfb0c97e133706d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -44,11 +44,11 @@
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1742089599,
|
"lastModified": 1742607855,
|
||||||
"narHash": "sha256-1yBAFE5yEGEjSWZ8BuPt9Yknq+cFwzW6Q86gs5rMkGI=",
|
"narHash": "sha256-lUF/tpSON29qNIqhECX/Ue4qVmI3FOvMaW4iUnK49C4=",
|
||||||
"owner": "fufexan",
|
"owner": "fufexan",
|
||||||
"repo": "nix-gaming",
|
"repo": "nix-gaming",
|
||||||
"rev": "bbf6f68ec16cead3c29d5ba33d5c52956dfaefdf",
|
"rev": "9818734e2117dac703767585d48b805fad3e7a5e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -90,11 +90,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741862977,
|
"lastModified": 1742512142,
|
||||||
"narHash": "sha256-prZ0M8vE/ghRGGZcflvxCu40ObKaB+ikn74/xQoNrGQ=",
|
"narHash": "sha256-8XfURTDxOm6+33swQJu/hx6xw1Tznl8vJJN5HwVqckg=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "cdd2ef009676ac92b715ff26630164bb88fec4e0",
|
"rev": "7105ae3957700a9646cc4b766f5815b23ed0c682",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,21 @@
|
||||||
{
|
{ config, pkgs, lib, ... }:
|
||||||
config,
|
let
|
||||||
pkgs,
|
customPkgs = import ../pkgs { inherit pkgs lib; };
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
customPkgs = import ../pkgs {inherit pkgs lib;};
|
|
||||||
in {
|
in {
|
||||||
|
imports = [
|
||||||
|
../modules/python.nix
|
||||||
|
];
|
||||||
|
python.enable = true;
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# Applications
|
(python311.withPackages (pyPkgs: with pyPkgs; [
|
||||||
|
requests
|
||||||
|
pip
|
||||||
|
virtualenv
|
||||||
|
ipython
|
||||||
|
]))
|
||||||
|
python3Packages.pip
|
||||||
|
black
|
||||||
|
ruff
|
||||||
brave # TODO: make a module to save browser stuff
|
brave # TODO: make a module to save browser stuff
|
||||||
vesktop
|
vesktop
|
||||||
git
|
git
|
||||||
|
|
@ -89,4 +97,7 @@ in {
|
||||||
nodePackages.pnpm
|
nodePackages.pnpm
|
||||||
zlib.dev
|
zlib.dev
|
||||||
];
|
];
|
||||||
|
environment.shellAliases = {
|
||||||
|
python = "python3.11";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,49 +1,49 @@
|
||||||
{
|
{ config, pkgs, lib, ... }:
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
customPkgs = import ../pkgs { inherit pkgs lib; };
|
|
||||||
in {
|
|
||||||
options.custom.python = {
|
|
||||||
enable = lib.mkEnableOption "System Python Env";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf config.custom.python.enable {
|
let
|
||||||
|
customPkgs = pkgs.callPackage ../pkgs { inherit pkgs lib; };
|
||||||
|
in {
|
||||||
|
options.python = {
|
||||||
|
enable = lib.mkEnableOption "System Python Environment";
|
||||||
|
};
|
||||||
|
config = lib.mkIf config.python.enable {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
(python311.withPackages (ps: with ps; [
|
(python311.withPackages (pyPkgs: with pyPkgs; [
|
||||||
virtualenv
|
numpy
|
||||||
(torch.override { cudaSupport = true; })
|
python-pymatting
|
||||||
torchvision
|
python-opencv-headless
|
||||||
torchaudio
|
python-rembg
|
||||||
ipython
|
|
||||||
i3ipc
|
i3ipc
|
||||||
xlib
|
pandas
|
||||||
|
matplotlib
|
||||||
|
scipy
|
||||||
|
requests
|
||||||
|
pip
|
||||||
|
virtualenv
|
||||||
|
ipython
|
||||||
six
|
six
|
||||||
psutil
|
psutil
|
||||||
pynvml
|
pynvml
|
||||||
pyqtgraph
|
pyqtgraph
|
||||||
pyqt6
|
pyqt6
|
||||||
numpy
|
|
||||||
pandas
|
|
||||||
matplotlib
|
|
||||||
scipy
|
|
||||||
requests
|
|
||||||
click
|
click
|
||||||
typer
|
typer
|
||||||
rich
|
rich
|
||||||
pyyaml
|
pyyaml
|
||||||
pytz
|
pytz
|
||||||
onnxruntime
|
|
||||||
pillow
|
pillow
|
||||||
timm
|
]))
|
||||||
] ++ [ customPkgs.python-rembg ]))
|
|
||||||
python3Packages.pip
|
python3Packages.pip
|
||||||
uv
|
|
||||||
ruff
|
|
||||||
black
|
black
|
||||||
|
ruff
|
||||||
|
uv
|
||||||
];
|
];
|
||||||
|
environment.variables = {
|
||||||
|
PIP_PREFIX = "$HOME/.local";
|
||||||
|
PYTHONPATH = "$HOME/.local/lib/python3.11/site-packages";
|
||||||
|
};
|
||||||
|
environment.shellAliases = {
|
||||||
|
python = "python3.11";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,29 +1,44 @@
|
||||||
{
|
{
|
||||||
pkgs ? import <nixpkgs> {},
|
pkgs ? import <nixpkgs> {},
|
||||||
lib ? pkgs.lib,
|
lib ? pkgs.lib,
|
||||||
}: let
|
}: {
|
||||||
python-opencv-headless = pkgs.callPackage ./python-opencv-headless {
|
|
||||||
inherit (pkgs) lib fetchurl;
|
|
||||||
python311Packages = pkgs.python311.pkgs;
|
|
||||||
};
|
|
||||||
|
|
||||||
python-pymatting = pkgs.callPackage ./python-pymatting {
|
|
||||||
inherit (pkgs) lib fetchPypi;
|
|
||||||
python311Packages = pkgs.python311.pkgs;
|
|
||||||
};
|
|
||||||
|
|
||||||
python-rembg = pkgs.callPackage ./python-rembg {
|
|
||||||
inherit (pkgs) lib fetchPypi;
|
|
||||||
inherit python-pymatting python-opencv-headless;
|
|
||||||
python311Packages = pkgs.python311.pkgs;
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
fish-rust = pkgs.callPackage ./fish-rust {};
|
fish-rust = pkgs.callPackage ./fish-rust {};
|
||||||
python-pymatting = python-pymatting;
|
python-pymatting = pkgs.callPackage ./python-pymatting {
|
||||||
python-opencv-headless = python-opencv-headless;
|
inherit lib;
|
||||||
python-rembg = python-rembg;
|
fetchPypi = pkgs.fetchPypi;
|
||||||
|
python311Packages = pkgs.python311Packages;
|
||||||
|
};
|
||||||
|
python-opencv-headless = pkgs.callPackage ./python-opencv-headless {
|
||||||
|
inherit lib;
|
||||||
|
fetchPypi = pkgs.fetchPypi;
|
||||||
|
cmake = pkgs.cmake;
|
||||||
|
pkg-config = pkgs.pkg-config;
|
||||||
|
stdenv = pkgs.stdenv;
|
||||||
|
makeWrapper = pkgs.makeWrapper;
|
||||||
|
python311Packages = pkgs.python311Packages;
|
||||||
|
};
|
||||||
|
python-rembg = pkgs.callPackage ./python-rembg {
|
||||||
|
inherit lib;
|
||||||
|
fetchPypi = pkgs.fetchPypi;
|
||||||
|
python-pymatting = pkgs.callPackage ./python-pymatting {
|
||||||
|
inherit lib;
|
||||||
|
fetchPypi = pkgs.fetchPypi;
|
||||||
|
python311Packages = pkgs.python311Packages;
|
||||||
|
};
|
||||||
|
python-opencv-headless = pkgs.callPackage ./python-opencv-headless {
|
||||||
|
inherit lib;
|
||||||
|
fetchPypi = pkgs.fetchPypi;
|
||||||
|
cmake = pkgs.cmake;
|
||||||
|
pkg-config = pkgs.pkg-config;
|
||||||
|
stdenv = pkgs.stdenv;
|
||||||
|
makeWrapper = pkgs.makeWrapper;
|
||||||
|
python311Packages = pkgs.python311Packages;
|
||||||
|
};
|
||||||
|
python311Packages = pkgs.python311Packages;
|
||||||
|
};
|
||||||
vivid-icons = pkgs.callPackage ./vivid-icons {
|
vivid-icons = pkgs.callPackage ./vivid-icons {
|
||||||
inherit (pkgs) lib stdenv fetchFromGitHub;
|
inherit lib;
|
||||||
|
stdenv = pkgs.stdenv;
|
||||||
|
fetchFromGitHub = pkgs.fetchFromGitHub;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,52 @@
|
||||||
{lib, python311Packages, fetchurl}:
|
{ lib
|
||||||
|
, python311Packages
|
||||||
|
, fetchPypi
|
||||||
|
, stdenv
|
||||||
|
, makeWrapper
|
||||||
|
, cmake
|
||||||
|
, pkg-config
|
||||||
|
}:
|
||||||
|
|
||||||
python311Packages.buildPythonPackage rec {
|
python311Packages.buildPythonPackage rec {
|
||||||
pname = "opencv-python-headless";
|
pname = "opencv-python-headless";
|
||||||
version = "4.9.0.80";
|
version = "4.11.0.86";
|
||||||
format = "wheel";
|
format = "setuptools";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchPypi {
|
||||||
url = "https://files.pythonhosted.org/packages/71/19/3c65483a80a1d062d46ae20faf5404712d25cb1dfdcaf371efbd67c38544/opencv_python_headless-4.9.0.80-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
|
pname = "opencv-python-headless";
|
||||||
sha256 = "976656362d68d9f40a5c66f83901430538002465f7db59142784f3893918f3df";
|
inherit version;
|
||||||
|
format = "setuptools";
|
||||||
|
sha256 = "mW6ygspLQ+xqOXJBTeDiMx9dnNorQQkaSXOcGfuEN5g=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = with python311Packages; [
|
||||||
|
cmake
|
||||||
|
pkg-config
|
||||||
|
makeWrapper
|
||||||
|
scikit-build
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = with python311Packages; [
|
||||||
|
scikit-build
|
||||||
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = with python311Packages; [
|
propagatedBuildInputs = with python311Packages; [
|
||||||
numpy
|
numpy
|
||||||
|
setuptools
|
||||||
];
|
];
|
||||||
|
|
||||||
|
dontUseCmakeConfigure = true;
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "cv2" ];
|
||||||
|
|
||||||
|
postFixup = ''
|
||||||
|
wrapPythonProgramsIn "$out/lib/python3.11/site-packages" "${stdenv.cc.cc.lib}"
|
||||||
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Wrapper package for OpenCV python bindings";
|
description = "Wrapper package for OpenCV python bindings (headless)";
|
||||||
homepage = "https://github.com/opencv/opencv-python";
|
homepage = "https://github.com/opencv/opencv-python";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
|
|
||||||
|
|
@ -1,44 +1,44 @@
|
||||||
{ lib,
|
{ lib
|
||||||
python311Packages,
|
, python311Packages
|
||||||
fetchPypi,
|
, fetchPypi
|
||||||
python-pymatting,
|
, python-pymatting
|
||||||
python-opencv-headless
|
, python-opencv-headless
|
||||||
}:
|
}:
|
||||||
python311Packages.buildPythonPackage rec {
|
python311Packages.buildPythonPackage rec {
|
||||||
pname = "rembg";
|
pname = "rembg";
|
||||||
version = "2.0.50";
|
version = "2.0.50";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-bMt/GbplRawFZUqoXq37zAq1dribnu/ZlIYTuUIS+DU=";
|
sha256 = "bMt/GbplRawFZUqoXq37zAq1dribnu/ZlIYTuUIS+DU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = with python311Packages; [
|
nativeBuildInputs = with python311Packages; [
|
||||||
poetry-core
|
poetry-core
|
||||||
setuptools
|
setuptools
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = with python311Packages; [
|
propagatedBuildInputs = with python311Packages; [
|
||||||
numpy
|
numpy
|
||||||
onnxruntime
|
onnxruntime
|
||||||
python-opencv-headless
|
|
||||||
pillow
|
pillow
|
||||||
pooch
|
pooch
|
||||||
python-pymatting
|
|
||||||
scikit-image
|
scikit-image
|
||||||
scipy
|
scipy
|
||||||
tqdm
|
tqdm
|
||||||
aiohttp
|
aiohttp
|
||||||
|
pytorch-bin
|
||||||
|
] ++ [
|
||||||
|
python-opencv-headless
|
||||||
|
python-pymatting
|
||||||
];
|
];
|
||||||
|
pythonRemoveDeps = [ "opencv-python-headless" ];
|
||||||
|
dontPrecompilePages = true;
|
||||||
|
doInstallCheck = false;
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Tool to remove image backgrounds";
|
description = "Tool to remove image backgrounds";
|
||||||
homepage = "https://github.com/danielgatis/rembg";
|
homepage = "https://github.com/danielgatis/rembg";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
maintainers = with maintainers; ["Cobray"];
|
maintainers = with maintainers; [ "Cobray" ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue