Merge master into staging-next

Changed files
+533 -230
nixos
modules
services
pkgs
applications
editors
jetbrains
emulators
libretro
by-name
ge
gersemi
gh
ghostfolio
ha
haproxy
ko
koboldcpp
lu
ma
macpm
mapproxy
mastodon-archive
md
md-tangle
mdslides
me
me_cleaner
mi
mimeo
ml
mlarchive2maildir
mloader
mo
mold
mongoaudit
moodle-dl
mp
mpfshell
mu
mutmut
mutt-ics
my
mymcplus
na
nagstamon
nb
nbstripout
nbutools
ne
nemo-emblems
neovim-remote
ni
nix-bisect
no
norminette
nototools
nox
np
npm-lockfile-fix
nt
nv
nvitop
nvpy
nw
nwg-clipman
nwg-wrapper
ny
py
pybibget
re
redpanda-client
ro
roddhjav-apparmor-rules
ti
tiny-dfr
development
perl-modules
Percona-Toolkit
python-modules
pybtex
pymatgen
sphinxcontrib-bibtex
svgdigitizer
svgpathtools
uiprotect
tools
devpi-server
top-level
+8 -5
flake.nix
···
*/
legacyPackages = forAllSystems (
system:
-
(import ./. { inherit system; }).extend (
-
final: prev: {
-
lib = prev.lib.extend libVersionInfoOverlay;
-
}
-
)
);
/**
···
*/
legacyPackages = forAllSystems (
system:
+
(import ./. {
+
inherit system;
+
overlays = import ./pkgs/top-level/impure-overlays.nix ++ [
+
(final: prev: {
+
lib = prev.lib.extend libVersionInfoOverlay;
+
})
+
];
+
})
);
/**
+1 -1
nixos/modules/services/mail/postfix.nix
···
${lib.concatStringsSep "\n" (
lib.mapAttrsToList (to: from: ''
ln -sf ${from} /var/lib/postfix/conf/${to}
-
${pkgs.postfix}/bin/postmap /var/lib/postfix/conf/${to}
'') cfg.mapFiles
)}
···
${lib.concatStringsSep "\n" (
lib.mapAttrsToList (to: from: ''
ln -sf ${from} /var/lib/postfix/conf/${to}
+
${pkgs.postfix}/bin/postmap -o -p /var/lib/postfix/conf/${to}
'') cfg.mapFiles
)}
+6 -1
pkgs/applications/editors/jetbrains/default.nix
···
libX11,
vmopts ? null,
}:
let
···
inherit
pname
jdk
-
extraWrapperArgs
extraBuildInputs
;
extraLdPath = extraLdPath ++ lib.optionals (stdenv.hostPlatform.isLinux) [ libGL ];
src =
if fromSource then
···
libX11,
vmopts ? null,
+
forceWayland ? false,
}:
let
···
inherit
pname
jdk
extraBuildInputs
;
+
extraWrapperArgs =
+
extraWrapperArgs
+
++ lib.optionals (stdenv.hostPlatform.isLinux && forceWayland) [
+
''--add-flags "\''${WAYLAND_DISPLAY:+-Dawt.toolkit.name=WLToolkit}"''
+
];
extraLdPath = extraLdPath ++ lib.optionals (stdenv.hostPlatform.isLinux) [ libGL ];
src =
if fromSource then
+3 -3
pkgs/applications/emulators/libretro/cores/dosbox-pure.nix
···
}:
mkLibretroCore {
core = "dosbox-pure";
-
version = "0-unstable-2025-06-16";
src = fetchFromGitHub {
owner = "schellingb";
repo = "dosbox-pure";
-
rev = "8c48d34327f5ffc44892899cf2567feaa9bbf72a";
-
hash = "sha256-u5kxj4Sl7LpivEuNhTec8Z2u3Dw/X8xFDBQ++hQAtFc=";
};
hardeningDisable = [ "format" ];
···
}:
mkLibretroCore {
core = "dosbox-pure";
+
version = "0-unstable-2025-07-10";
src = fetchFromGitHub {
owner = "schellingb";
repo = "dosbox-pure";
+
rev = "92894e7bdb6304d23278dc77f8a9fa7212450f6e";
+
hash = "sha256-uA/pm3DyT0VCyq85DzZGXjSGrKQ9uoEIfrs839ta97s=";
};
hardeningDisable = [ "format" ];
+3 -3
pkgs/applications/emulators/libretro/cores/play.nix
···
}:
mkLibretroCore {
core = "play";
-
version = "0-unstable-2025-07-01";
src = fetchFromGitHub {
owner = "jpd002";
repo = "Play-";
-
rev = "5fa3b71304aec0d2a70569bd38c87433f719e6ce";
-
hash = "sha256-t61xAqghmOmZJzAxU2Ez1ALQ8jjuHZKwmrNoRA9L+4k=";
fetchSubmodules = true;
};
···
}:
mkLibretroCore {
core = "play";
+
version = "0-unstable-2025-07-09";
src = fetchFromGitHub {
owner = "jpd002";
repo = "Play-";
+
rev = "ae9afb4e45e8de35382fb98c55d13dec9fcf8ed8";
+
hash = "sha256-HWKhgGChPGhRmrXXbjEvBt0coGpQ1JAPUTd8Ze4yKww=";
fetchSubmodules = true;
};
+2 -2
pkgs/by-name/ge/gersemi/package.nix
···
python3Packages.buildPythonApplication rec {
pname = "gersemi";
-
version = "0.19.3";
format = "pyproject";
src = fetchFromGitHub {
owner = "BlankSpruce";
repo = "gersemi";
tag = version;
-
hash = "sha256-CVb6ibO5+Tp0o+nB+bo9G9OKyB4L05wN1QiB9J4bOqY=";
};
build-system = with python3Packages; [
···
python3Packages.buildPythonApplication rec {
pname = "gersemi";
+
version = "0.20.1";
format = "pyproject";
src = fetchFromGitHub {
owner = "BlankSpruce";
repo = "gersemi";
tag = version;
+
hash = "sha256-6lBUP+xi0owlD33TLTOlaIFBcfWTnsniK/9cQdo/ND4=";
};
build-system = with python3Packages; [
+3 -3
pkgs/by-name/gh/ghostfolio/package.nix
···
buildNpmPackage rec {
pname = "ghostfolio";
-
version = "2.176.0";
src = fetchFromGitHub {
owner = "ghostfolio";
repo = "ghostfolio";
tag = version;
-
hash = "sha256-T14omi5NkMCrqiXF+gSi6ELEdfH4QMp7luJtuCWhGM4=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
···
'';
};
-
npmDepsHash = "sha256-0vFH4gdrtaBca1lWxm2uZ1VerP4hJEJgBQzygDbja3I=";
nativeBuildInputs = [
prisma
···
buildNpmPackage rec {
pname = "ghostfolio";
+
version = "2.181.0";
src = fetchFromGitHub {
owner = "ghostfolio";
repo = "ghostfolio";
tag = version;
+
hash = "sha256-+oDR+VSR0bGbTJIqNCe1WN1QWm+sEtMIuy/mNhumeyk=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
···
'';
};
+
npmDepsHash = "sha256-vcn9vhpQlacfIxHFt8G67aB91nTr9IClvA9pb+4XFFI=";
nativeBuildInputs = [
prisma
+2 -2
pkgs/by-name/ha/haproxy/package.nix
···
in
stdenv.mkDerivation (finalAttrs: {
pname = "haproxy";
-
version = "3.2.1";
src = fetchurl {
url = "https://www.haproxy.org/download/${lib.versions.majorMinor finalAttrs.version}/src/haproxy-${finalAttrs.version}.tar.gz";
-
hash = "sha256-uz+Wenl8iFHQhoPsQ9+v5K179a2G+msHIcrQM+qeWuU=";
};
buildInputs =
···
in
stdenv.mkDerivation (finalAttrs: {
pname = "haproxy";
+
version = "3.2.3";
src = fetchurl {
url = "https://www.haproxy.org/download/${lib.versions.majorMinor finalAttrs.version}/src/haproxy-${finalAttrs.version}.tar.gz";
+
hash = "sha256-r472Qoa93ckyMsXb5OpDaozLXchBfPoeiFvsUohPk0c=";
};
buildInputs =
+2 -2
pkgs/by-name/ko/koboldcpp/package.nix
···
in
effectiveStdenv.mkDerivation (finalAttrs: {
pname = "koboldcpp";
-
version = "1.94";
src = fetchFromGitHub {
owner = "LostRuins";
repo = "koboldcpp";
tag = "v${finalAttrs.version}";
-
hash = "sha256-qWH8yGjDTkMPLHjfMopfQKyBA5T1HHgllEH9Joceq3s=";
};
enableParallelBuilding = true;
···
in
effectiveStdenv.mkDerivation (finalAttrs: {
pname = "koboldcpp";
+
version = "1.95.1";
src = fetchFromGitHub {
owner = "LostRuins";
repo = "koboldcpp";
tag = "v${finalAttrs.version}";
+
hash = "sha256-aoVOEPK3hPuzkrHIFvDrnAw2D/OxXlRLXXP0CZJghx4=";
};
enableParallelBuilding = true;
+2 -2
pkgs/by-name/lu/luau/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "luau";
-
version = "0.681";
src = fetchFromGitHub {
owner = "luau-lang";
repo = "luau";
tag = finalAttrs.version;
-
hash = "sha256-pqKvh08AybuVATNQOzV14wI0GsOVzxskgeol1JA9dg8=";
};
nativeBuildInputs = [ cmake ];
···
stdenv.mkDerivation (finalAttrs: {
pname = "luau";
+
version = "0.682";
src = fetchFromGitHub {
owner = "luau-lang";
repo = "luau";
tag = finalAttrs.version;
+
hash = "sha256-yHmcUDBgNKcOg6ZW/fP7ZatdkCgG1y1ECRUbnZ7wHZY=";
};
nativeBuildInputs = [ cmake ];
+12 -6
pkgs/by-name/ma/macpm/package.nix
···
python3Packages.buildPythonApplication {
pname = "macpm";
version = "0.24-unstable-2024-11-19";
-
format = "setuptools";
src = fetchFromGitHub {
owner = "visualcjy";
···
hash = "sha256-jqaPPvYbuL8q6grmBLyZLf8aDmjugYxMOWAh1Ix82jc=";
};
# has no tests
doCheck = false;
···
ln -rs $out/bin/macpm $out/bin/asitop
'';
-
dependencies = with python3Packages; [
-
dashing
-
humanize
-
psutil
-
];
meta = {
description = "Perf monitoring CLI tool for Apple Silicon; previously named 'asitop'";
···
python3Packages.buildPythonApplication {
pname = "macpm";
version = "0.24-unstable-2024-11-19";
+
pyproject = true;
src = fetchFromGitHub {
owner = "visualcjy";
···
hash = "sha256-jqaPPvYbuL8q6grmBLyZLf8aDmjugYxMOWAh1Ix82jc=";
};
+
build-system = with python3Packages; [
+
setuptools
+
];
+
+
dependencies = with python3Packages; [
+
dashing
+
humanize
+
psutil
+
];
+
# has no tests
doCheck = false;
···
ln -rs $out/bin/macpm $out/bin/asitop
'';
+
pythonImportsCheck = [ "macpm" ];
meta = {
description = "Perf monitoring CLI tool for Apple Silicon; previously named 'asitop'";
+7 -2
pkgs/by-name/ma/mapproxy/package.nix
···
python3Packages.buildPythonApplication rec {
pname = "mapproxy";
version = "5.0.0";
-
format = "setuptools";
disabled = python3Packages.pythonOlder "3.8";
src = fetchFromGitHub {
···
substituteInPlace mapproxy/util/ext/serving.py --replace-warn "args = [sys.executable] + sys.argv" "args = sys.argv"
'';
dependencies = with python3Packages; [
boto3 # needed for caches service
jsonschema
···
shapely
gdal
lxml
-
setuptools
werkzeug
];
···
# 1) Dependency list is huge.
# https://github.com/mapproxy/mapproxy/blob/master/requirements-tests.txt
doCheck = false;
meta = {
description = "Open source proxy for geospatial data";
···
python3Packages.buildPythonApplication rec {
pname = "mapproxy";
version = "5.0.0";
+
pyproject = true;
disabled = python3Packages.pythonOlder "3.8";
src = fetchFromGitHub {
···
substituteInPlace mapproxy/util/ext/serving.py --replace-warn "args = [sys.executable] + sys.argv" "args = sys.argv"
'';
+
build-system = with python3Packages; [ setuptools ];
+
+
pythonRemoveDeps = [ "future" ];
+
dependencies = with python3Packages; [
boto3 # needed for caches service
jsonschema
···
shapely
gdal
lxml
werkzeug
];
···
# 1) Dependency list is huge.
# https://github.com/mapproxy/mapproxy/blob/master/requirements-tests.txt
doCheck = false;
+
+
pythonImportsCheck = [ "mapproxy" ];
meta = {
description = "Open source proxy for geospatial data";
+8 -2
pkgs/by-name/ma/mastodon-archive/package.nix
···
python3.pkgs.buildPythonApplication rec {
pname = "mastodon-archive";
version = "1.4.2";
-
format = "setuptools";
src = fetchFromGitHub {
owner = "kensanata";
···
hash = "sha256-b4bYQshz7mwxEfpRYV7ze4C8hz58R9cVp58wHvGFb0A=";
};
-
propagatedBuildInputs = with python3.pkgs; [
html2text
mastodon-py
progress
···
# There is no test
doCheck = false;
meta = with lib; {
description = "Utility for backing up your Mastodon content";
···
python3.pkgs.buildPythonApplication rec {
pname = "mastodon-archive";
version = "1.4.2";
+
pyproject = true;
src = fetchFromGitHub {
owner = "kensanata";
···
hash = "sha256-b4bYQshz7mwxEfpRYV7ze4C8hz58R9cVp58wHvGFb0A=";
};
+
build-system = with python3.pkgs; [
+
setuptools
+
];
+
+
dependencies = with python3.pkgs; [
html2text
mastodon-py
progress
···
# There is no test
doCheck = false;
+
+
pythonImportsCheck = [ "mastodon_archive" ];
meta = with lib; {
description = "Utility for backing up your Mastodon content";
+5 -1
pkgs/by-name/md/md-tangle/package.nix
···
python3.pkgs.buildPythonPackage rec {
pname = "md-tangle";
version = "1.4.4";
-
format = "setuptools";
# By some strange reason, fetchPypi fails miserably
src = fetchFromGitHub {
···
hash = "sha256-PkOKSsyY8uwS4mhl0lB+KGeUvXfEc7PUDHZapHMYv4c=";
};
# Pure Python application, uses only standard modules and comes without
# testing suite
doCheck = false;
meta = with lib; {
homepage = "https://github.com/joakimmj/md-tangle/";
···
python3.pkgs.buildPythonPackage rec {
pname = "md-tangle";
version = "1.4.4";
+
pyproject = true;
# By some strange reason, fetchPypi fails miserably
src = fetchFromGitHub {
···
hash = "sha256-PkOKSsyY8uwS4mhl0lB+KGeUvXfEc7PUDHZapHMYv4c=";
};
+
build-system = with python3.pkgs; [ setuptools ];
+
# Pure Python application, uses only standard modules and comes without
# testing suite
doCheck = false;
+
+
pythonImportsCheck = [ "md_tangle" ];
meta = with lib; {
homepage = "https://github.com/joakimmj/md-tangle/";
+5 -1
pkgs/by-name/md/mdslides/package.nix
···
python3Packages.buildPythonApplication {
pname = "mdslides";
version = "unstable-2022-12-15";
-
format = "setuptools";
src = fetchFromGitHub {
owner = "dadoomer";
···
sha256 = "sha256-31ALsy1P/vfI+H6Onmg4TXLeKbVAQ1FlnFs4k6ZOgHQ=";
};
doCheck = false;
meta = with lib; {
longDescription = "Using markdown, write simple but beautiful presentations with math, animations and media, which can be visualized in a web browser or exported to PDF.";
···
python3Packages.buildPythonApplication {
pname = "mdslides";
version = "unstable-2022-12-15";
+
pyproject = true;
src = fetchFromGitHub {
owner = "dadoomer";
···
sha256 = "sha256-31ALsy1P/vfI+H6Onmg4TXLeKbVAQ1FlnFs4k6ZOgHQ=";
};
+
build-system = with python3Packages; [ setuptools ];
+
doCheck = false;
+
+
pythonImportsCheck = [ "mdslides" ];
meta = with lib; {
longDescription = "Using markdown, write simple but beautiful presentations with math, animations and media, which can be visualized in a web browser or exported to PDF.";
+3 -1
pkgs/by-name/me/me_cleaner/package.nix
···
python3.pkgs.buildPythonPackage rec {
pname = "me_cleaner";
version = "1.2";
-
format = "setuptools";
src = fetchFromGitHub {
owner = "corna";
···
rev = "v${version}";
sha256 = "1bdj2clm13ir441vn7sv860xsc5gh71ja5lc2wn0gggnff0adxj4";
};
meta = with lib; {
inherit (src.meta) homepage;
···
python3.pkgs.buildPythonPackage rec {
pname = "me_cleaner";
version = "1.2";
+
pyproject = true;
src = fetchFromGitHub {
owner = "corna";
···
rev = "v${version}";
sha256 = "1bdj2clm13ir441vn7sv860xsc5gh71ja5lc2wn0gggnff0adxj4";
};
+
+
build-system = with python3.pkgs; [ setuptools ];
meta = with lib; {
inherit (src.meta) homepage;
+8 -13
pkgs/by-name/mi/mimeo/package.nix
···
python3Packages.buildPythonApplication {
pname = "mimeo";
inherit version;
-
format = "setuptools";
src = fetchurl {
url = "https://xyne.dev/projects/mimeo/src/mimeo-${version}.tar.xz";
hash = "sha256-CahvSypwR1aHVDHTdtty1ZfaKBWPolxc73uZ5OyeqZA=";
};
-
buildInputs = [
-
file
-
desktop-file-utils
-
];
-
propagatedBuildInputs = [ python3Packages.pyxdg ];
-
preConfigure = ''
substituteInPlace Mimeo.py \
-
--replace "EXE_UPDATE_DESKTOP_DATABASE = 'update-desktop-database'" \
-
"EXE_UPDATE_DESKTOP_DATABASE = '${desktop-file-utils}/bin/update-desktop-database'" \
-
--replace "EXE_FILE = 'file'" \
-
"EXE_FILE = '${file}/bin/file'"
'';
-
-
installPhase = "install -Dm755 Mimeo.py $out/bin/mimeo";
doInstallCheck = true;
installCheckPhase = ''
···
python3Packages.buildPythonApplication {
pname = "mimeo";
inherit version;
+
pyproject = true;
src = fetchurl {
url = "https://xyne.dev/projects/mimeo/src/mimeo-${version}.tar.xz";
hash = "sha256-CahvSypwR1aHVDHTdtty1ZfaKBWPolxc73uZ5OyeqZA=";
};
+
build-system = [ python3Packages.setuptools ];
+
dependencies = [ python3Packages.pyxdg ];
+
postPatch = ''
substituteInPlace Mimeo.py \
+
--replace-fail "EXE_UPDATE_DESKTOP_DATABASE = 'update-desktop-database'" \
+
"EXE_UPDATE_DESKTOP_DATABASE = '${desktop-file-utils}/bin/update-desktop-database'" \
+
--replace-fail "EXE_FILE = 'file'" \
+
"EXE_FILE = '${file}/bin/file'"
'';
doInstallCheck = true;
installCheckPhase = ''
+8 -3
pkgs/by-name/ml/mlarchive2maildir/package.nix
···
python3.pkgs.buildPythonApplication rec {
pname = "mlarchive2maildir";
version = "0.0.9";
-
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "02zjwa7zbcbqj76l0qmg7bbf3fqli60pl2apby3j4zwzcrrryczs";
};
-
nativeBuildInputs = with python3.pkgs; [ setuptools-scm ];
-
propagatedBuildInputs = with python3.pkgs; [
beautifulsoup4
click
click-log
requests
six
];
meta = with lib; {
homepage = "https://github.com/flokli/mlarchive2maildir";
···
python3.pkgs.buildPythonApplication rec {
pname = "mlarchive2maildir";
version = "0.0.9";
+
pyproject = true;
src = fetchPypi {
inherit pname version;
sha256 = "02zjwa7zbcbqj76l0qmg7bbf3fqli60pl2apby3j4zwzcrrryczs";
};
+
build-system = with python3.pkgs; [
+
setuptools
+
setuptools-scm
+
];
+
dependencies = with python3.pkgs; [
beautifulsoup4
click
click-log
requests
six
];
+
+
pythonImportsCheck = [ "mlarchive2maildir" ];
meta = with lib; {
homepage = "https://github.com/flokli/mlarchive2maildir";
+5 -6
pkgs/by-name/ml/mloader/package.nix
···
python3Packages.buildPythonApplication rec {
pname = "mloader";
version = "1.1.12";
-
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-0o4FvhuFudNSEL6fwBVqxldaNePbbidY9utDqXiLRNc=";
};
-
postPatch = ''
-
substituteInPlace setup.py \
-
--replace "protobuf~=3.6" "protobuf"
-
'';
-
propagatedBuildInputs = with python3Packages; [
click
protobuf
requests
···
python3Packages.buildPythonApplication rec {
pname = "mloader";
version = "1.1.12";
+
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-0o4FvhuFudNSEL6fwBVqxldaNePbbidY9utDqXiLRNc=";
};
+
build-system = with python3Packages; [ setuptools ];
+
+
pythonRelaxDeps = [ "protobuf" ];
+
dependencies = with python3Packages; [
click
protobuf
requests
+2 -2
pkgs/by-name/mo/mold/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "mold";
-
version = "2.40.1";
src = fetchFromGitHub {
owner = "rui314";
repo = "mold";
tag = "v${finalAttrs.version}";
-
hash = "sha256-161ATZkgoipFMRcI4x4TNqxbyWxM75Cmo/rL4Hn1JFQ=";
};
nativeBuildInputs = [
···
stdenv.mkDerivation (finalAttrs: {
pname = "mold";
+
version = "2.40.2";
src = fetchFromGitHub {
owner = "rui314";
repo = "mold";
tag = "v${finalAttrs.version}";
+
hash = "sha256-Db2IxHCQWb6JdJROi+nOi0pV4zb+8/TcFrJWUCdH6N8=";
};
nativeBuildInputs = [
+6 -2
pkgs/by-name/mo/mongoaudit/package.nix
···
python3.pkgs.buildPythonApplication rec {
pname = "mongoaudit";
version = "0.1.1";
-
format = "setuptools";
disabled = python3.pythonOlder "3.8";
···
sha256 = "17k4vw5d3kr961axl49ywid4cf3n7zxvm885c4lv15w7s2al1425";
};
-
propagatedBuildInputs = with python3.pkgs; [
pymongo
setuptools
urwid
···
python3.pkgs.buildPythonApplication rec {
pname = "mongoaudit";
version = "0.1.1";
+
pyproject = true;
disabled = python3.pythonOlder "3.8";
···
sha256 = "17k4vw5d3kr961axl49ywid4cf3n7zxvm885c4lv15w7s2al1425";
};
+
build-system = with python3.pkgs; [
+
setuptools
+
];
+
+
dependencies = with python3.pkgs; [
pymongo
setuptools
urwid
+6 -2
pkgs/by-name/mo/moodle-dl/package.nix
···
python3Packages.buildPythonApplication rec {
pname = "moodle-dl";
version = "2.3.13";
-
format = "setuptools";
src = fetchFromGitHub {
owner = "C0D3D3V";
···
hash = "sha256-6arwc72gu7XyT6HokSEs2TkvE2FG7mIvy4F+/i/0eJg=";
};
-
propagatedBuildInputs = with python3Packages; [
aiodns
aiofiles
aiohttp
···
# upstream has no tests
doCheck = false;
passthru.updateScript = gitUpdater { };
···
python3Packages.buildPythonApplication rec {
pname = "moodle-dl";
version = "2.3.13";
+
pyproject = true;
src = fetchFromGitHub {
owner = "C0D3D3V";
···
hash = "sha256-6arwc72gu7XyT6HokSEs2TkvE2FG7mIvy4F+/i/0eJg=";
};
+
build-system = with python3Packages; [ setuptools ];
+
+
dependencies = with python3Packages; [
aiodns
aiofiles
aiohttp
···
# upstream has no tests
doCheck = false;
+
+
pythonImportsCheck = [ "moodle_dl" ];
passthru.updateScript = gitUpdater { };
+5 -2
pkgs/by-name/mp/mpfshell/package.nix
···
python3Packages.buildPythonPackage {
pname = "mpfshell-unstable";
version = "2020-04-11";
-
format = "setuptools";
src = fetchFromGitHub {
owner = "wendlers";
···
sha256 = "0md6ih9vp65dacqy8gki3b2p4v76xb9ijqmxymk4b4f9z684x2m7";
};
-
propagatedBuildInputs = with python3Packages; [
pyserial
colorama
websocket-client
];
doCheck = false;
···
python3Packages.buildPythonPackage {
pname = "mpfshell-unstable";
version = "2020-04-11";
+
pyproject = true;
src = fetchFromGitHub {
owner = "wendlers";
···
sha256 = "0md6ih9vp65dacqy8gki3b2p4v76xb9ijqmxymk4b4f9z684x2m7";
};
+
build-system = with python3Packages; [ setuptools ];
+
+
dependencies = with python3Packages; [
pyserial
colorama
websocket-client
+
standard-telnetlib # Python no longer provides telnetlib since python313
];
doCheck = false;
+6 -2
pkgs/by-name/mu/mutmut/package.nix
···
python3Packages.buildPythonApplication rec {
pname = "mutmut";
version = "3.2.0";
-
format = "setuptools";
src = fetchFromGitHub {
repo = "mutmut";
···
doCheck = false;
-
propagatedBuildInputs = with python3Packages; [
click
parso
junit-xml
setproctitle
textual
];
meta = {
description = "mutation testing system for Python, with a strong focus on ease of use";
···
python3Packages.buildPythonApplication rec {
pname = "mutmut";
version = "3.2.0";
+
pyproject = true;
src = fetchFromGitHub {
repo = "mutmut";
···
doCheck = false;
+
build-system = with python3Packages; [ setuptools ];
+
+
dependencies = with python3Packages; [
click
parso
junit-xml
setproctitle
textual
];
+
+
pythonImportsCheck = [ "mutmut" ];
meta = {
description = "mutation testing system for Python, with a strong focus on ease of use";
+7 -4
pkgs/by-name/mu/mutt-ics/package.nix
···
fetchPypi,
}:
-
with python3.pkgs;
-
buildPythonApplication rec {
pname = "mutt-ics";
version = "0.9.2";
-
format = "setuptools";
src = fetchPypi {
inherit version;
···
sha256 = "d44d4bec4e71c7f14df01b90fdb9563cdc784ece4250abfea5b0b675cfe85a50";
};
-
propagatedBuildInputs = [ icalendar ];
meta = with lib; {
homepage = "https://github.com/dmedvinsky/mutt-ics";
···
fetchPypi,
}:
+
python3.pkgs.buildPythonApplication rec {
pname = "mutt-ics";
version = "0.9.2";
+
pyproject = true;
src = fetchPypi {
inherit version;
···
sha256 = "d44d4bec4e71c7f14df01b90fdb9563cdc784ece4250abfea5b0b675cfe85a50";
};
+
build-system = with python3.pkgs; [ setuptools ];
+
+
dependencies = with python3.pkgs; [ icalendar ];
+
+
pythonImportsCheck = [ "mutt_ics" ];
meta = with lib; {
homepage = "https://github.com/dmedvinsky/mutt-ics";
+6 -2
pkgs/by-name/my/mymcplus/package.nix
···
python3Packages.buildPythonApplication rec {
pname = "mymcplus";
version = "3.0.5";
-
format = "setuptools";
src = fetchFromSourcehut {
owner = "~thestr4ng3r";
···
wrapGAppsHook3
];
-
propagatedBuildInputs = with python3Packages; [
pyopengl
wxpython
];
meta = with lib; {
homepage = "https://git.sr.ht/~thestr4ng3r/mymcplus";
···
python3Packages.buildPythonApplication rec {
pname = "mymcplus";
version = "3.0.5";
+
pyproject = true;
src = fetchFromSourcehut {
owner = "~thestr4ng3r";
···
wrapGAppsHook3
];
+
build-system = with python3Packages; [ setuptools ];
+
+
dependencies = with python3Packages; [
pyopengl
wxpython
];
+
+
pythonImportsCheck = [ "mymcplus" ];
meta = with lib; {
homepage = "https://git.sr.ht/~thestr4ng3r/mymcplus";
+1 -1
pkgs/by-name/na/nagstamon/package.nix
···
python3Packages.buildPythonApplication rec {
pname = "nagstamon";
version = "3.16.2";
-
format = "setuptools";
src = fetchFromGitHub {
owner = "HenriWahl";
···
python3Packages.buildPythonApplication rec {
pname = "nagstamon";
version = "3.16.2";
+
pyproject = true;
src = fetchFromGitHub {
owner = "HenriWahl";
+8 -2
pkgs/by-name/nb/nbstripout/package.nix
···
python3.pkgs.buildPythonApplication rec {
version = "0.8.1";
-
format = "setuptools";
pname = "nbstripout";
src = fetchPypi {
···
hash = "sha256-OSJLrWkYQIhcdyofS3Bo39ppsU6K3A4546UKB8Q1GGg=";
};
-
propagatedBuildInputs = with python3.pkgs; [
nbformat
];
···
chmod -R +w $TMPDIR/e2e_notebooks
substituteInPlace tests/test_end_to_end.py --replace "tests/e2e_notebooks" "$TMPDIR/e2e_notebooks"
'';
meta = {
description = "Strip output from Jupyter and IPython notebooks";
···
python3.pkgs.buildPythonApplication rec {
version = "0.8.1";
+
pyproject = true;
pname = "nbstripout";
src = fetchPypi {
···
hash = "sha256-OSJLrWkYQIhcdyofS3Bo39ppsU6K3A4546UKB8Q1GGg=";
};
+
build-system = with python3.pkgs; [
+
setuptools
+
];
+
+
dependencies = with python3.pkgs; [
nbformat
];
···
chmod -R +w $TMPDIR/e2e_notebooks
substituteInPlace tests/test_end_to_end.py --replace "tests/e2e_notebooks" "$TMPDIR/e2e_notebooks"
'';
+
+
pythonImportsCheck = [ "nbstripout" ];
meta = {
description = "Strip output from Jupyter and IPython notebooks";
+4 -2
pkgs/by-name/nb/nbutools/package.nix
···
python3.pkgs.buildPythonApplication {
pname = "nbutools";
version = "unstable-2023-06-06";
-
format = "setuptools";
src = fetchFromGitHub {
owner = "airbus-seclab";
···
hash = "sha256-YOiFlTIDpeTFOHPU37v0pYf8s3HdaE/4pnd9qrsFtSI=";
};
-
propagatedBuildInputs = with python3.pkgs; [
aiodns
aiohttp
beautifulsoup4
···
python3.pkgs.buildPythonApplication {
pname = "nbutools";
version = "unstable-2023-06-06";
+
pyproject = true;
src = fetchFromGitHub {
owner = "airbus-seclab";
···
hash = "sha256-YOiFlTIDpeTFOHPU37v0pYf8s3HdaE/4pnd9qrsFtSI=";
};
+
build-system = with python3.pkgs; [ setuptools ];
+
+
dependencies = with python3.pkgs; [
aiodns
aiohttp
beautifulsoup4
+5 -4
pkgs/by-name/ne/nemo-emblems/package.nix
···
python3.pkgs.buildPythonApplication rec {
pname = "nemo-emblems";
version = "6.4.0";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
···
hash = "sha256-39hWA4SNuEeaPA6D5mWMHjJDs4hYK7/ZdPkTyskvm5Y=";
};
-
format = "setuptools";
-
sourceRoot = "${src.name}/nemo-emblems";
postPatch = ''
substituteInPlace setup.py \
-
--replace "/usr/share" "share"
substituteInPlace nemo-extension/nemo-emblems.py \
-
--replace "/usr/share/locale" "${cinnamon-translations}/share/locale"
'';
meta = with lib; {
homepage = "https://github.com/linuxmint/nemo-extensions/tree/master/nemo-emblems";
···
python3.pkgs.buildPythonApplication rec {
pname = "nemo-emblems";
version = "6.4.0";
+
pyproject = true;
# nixpkgs-update: no auto update
src = fetchFromGitHub {
···
hash = "sha256-39hWA4SNuEeaPA6D5mWMHjJDs4hYK7/ZdPkTyskvm5Y=";
};
sourceRoot = "${src.name}/nemo-emblems";
postPatch = ''
substituteInPlace setup.py \
+
--replace-fail "/usr/share" "share"
substituteInPlace nemo-extension/nemo-emblems.py \
+
--replace-fail "/usr/share/locale" "${cinnamon-translations}/share/locale"
'';
+
+
build-system = with python3.pkgs; [ setuptools ];
meta = with lib; {
homepage = "https://github.com/linuxmint/nemo-extensions/tree/master/nemo-emblems";
+9 -6
pkgs/by-name/ne/neovim-remote/package.nix
···
{
lib,
fetchFromGitHub,
python3,
neovim,
fetchpatch,
}:
-
with python3.pkgs;
-
buildPythonApplication rec {
pname = "neovim-remote";
version = "2.5.1";
-
format = "setuptools";
src = fetchFromGitHub {
owner = "mhinz";
···
})
];
-
propagatedBuildInputs = [
pynvim
psutil
-
setuptools
];
nativeCheckInputs = [
neovim
-
pytestCheckHook
];
doCheck = !stdenv.hostPlatform.isDarwin;
···
preCheck = ''
export HOME="$(mktemp -d)"
'';
meta = with lib; {
description = "Tool that helps controlling nvim processes from a terminal";
···
{
lib,
+
stdenv,
fetchFromGitHub,
python3,
neovim,
fetchpatch,
}:
+
python3.pkgs.buildPythonApplication rec {
pname = "neovim-remote";
version = "2.5.1";
+
pyproject = true;
src = fetchFromGitHub {
owner = "mhinz";
···
})
];
+
build-system = with python3.pkgs; [ setuptools ];
+
+
dependencies = with python3.pkgs; [
pynvim
psutil
];
nativeCheckInputs = [
neovim
+
python3.pkgs.pytestCheckHook
];
doCheck = !stdenv.hostPlatform.isDarwin;
···
preCheck = ''
export HOME="$(mktemp -d)"
'';
+
+
pythonImportsCheck = [ "nvr" ];
meta = with lib; {
description = "Tool that helps controlling nvim processes from a terminal";
+6 -2
pkgs/by-name/ni/nix-bisect/package.nix
···
in
python3.pkgs.buildPythonApplication {
inherit pname version;
-
format = "setuptools";
src = fetchFromGitHub {
owner = "timokau";
···
hash = "sha256-zyeE1jYo/9NEG8fB4gQBAR01siP4tyLvjjHN1yUS4Ug=";
};
-
propagatedBuildInputs = with python3.pkgs; [
appdirs
numpy
pexpect
];
doCheck = false;
meta = with lib; {
description = "Bisect nix builds";
···
in
python3.pkgs.buildPythonApplication {
inherit pname version;
+
pyproject = true;
src = fetchFromGitHub {
owner = "timokau";
···
hash = "sha256-zyeE1jYo/9NEG8fB4gQBAR01siP4tyLvjjHN1yUS4Ug=";
};
+
build-system = with python3.pkgs; [ setuptools ];
+
+
dependencies = with python3.pkgs; [
appdirs
numpy
pexpect
];
doCheck = false;
+
+
pythonImportsCheck = [ "nix_bisect" ];
meta = with lib; {
description = "Bisect nix builds";
+11 -4
pkgs/by-name/no/norminette/package.nix
···
python3Packages.buildPythonApplication rec {
pname = "norminette";
version = "3.3.58";
-
format = "setuptools";
src = fetchFromGitHub {
owner = "42School";
···
hash = "sha256-6hBBbfW2PQFb8rcDihvtWK0df7WcvOk0il1E82GOxaU=";
};
nativeCheckInputs = with python3Packages; [
pytestCheckHook
];
-
preCheck = ''
-
export PYTHONPATH=norminette:$PYTHONPATH
-
'';
meta = with lib; {
description = "Open source norminette to apply 42's norme to C files";
···
python3Packages.buildPythonApplication rec {
pname = "norminette";
version = "3.3.58";
+
pyproject = true;
src = fetchFromGitHub {
owner = "42School";
···
hash = "sha256-6hBBbfW2PQFb8rcDihvtWK0df7WcvOk0il1E82GOxaU=";
};
+
build-system = with python3Packages; [
+
poetry-core
+
];
+
+
pythonRemoveDeps = [
+
# Can be removed once https://github.com/42school/norminette/issues/565 is addressed
+
"argparse"
+
];
+
nativeCheckInputs = with python3Packages; [
pytestCheckHook
];
+
pythonImportsCheck = [ "norminette" ];
meta = with lib; {
description = "Open source norminette to apply 42's norme to C files";
+7 -6
pkgs/by-name/no/nototools/package.nix
···
python3Packages.buildPythonApplication rec {
pname = "nototools";
version = "0.2.20";
-
format = "setuptools";
src = fetchFromGitHub {
owner = "googlefonts";
···
sha256 = "sha256-id4UhyWOFHrtmBZHhnaY2jHDIK0s7rcGBpg4QsBTLKs=";
};
-
postPatch = ''
-
sed -i 's/use_scm_version=.*,/version="${version}",/' setup.py
-
'';
-
-
build-system = with python3Packages; [ setuptools-scm ];
pythonRemoveDeps = [
# https://github.com/notofonts/nototools/pull/901
···
postInstall = ''
cp -r third_party $out
'';
meta = with lib; {
description = "Noto fonts support tools and scripts plus web site generation";
···
python3Packages.buildPythonApplication rec {
pname = "nototools";
version = "0.2.20";
+
pyproject = true;
src = fetchFromGitHub {
owner = "googlefonts";
···
sha256 = "sha256-id4UhyWOFHrtmBZHhnaY2jHDIK0s7rcGBpg4QsBTLKs=";
};
+
build-system = with python3Packages; [
+
setuptools
+
setuptools-scm
+
];
pythonRemoveDeps = [
# https://github.com/notofonts/nototools/pull/901
···
postInstall = ''
cp -r third_party $out
'';
+
+
pythonImportsCheck = [ "nototools" ];
meta = with lib; {
description = "Noto fonts support tools and scripts plus web site generation";
+8 -8
pkgs/by-name/no/nox/package.nix
···
lib,
python3Packages,
fetchurl,
-
git,
}:
python3Packages.buildPythonApplication rec {
pname = "nox";
version = "0.0.6";
-
format = "setuptools";
-
namePrefix = "";
src = fetchurl {
url = "mirror://pypi/n/nix-nox/nix-nox-${version}.tar.gz";
···
patches = [ ./nox-review-wip.patch ];
-
buildInputs = [
-
python3Packages.pbr
-
git
];
-
propagatedBuildInputs = with python3Packages; [
dogpile-cache
click
requests
characteristic
-
setuptools
];
meta = {
homepage = "https://github.com/madjar/nox";
···
lib,
python3Packages,
fetchurl,
}:
python3Packages.buildPythonApplication rec {
pname = "nox";
version = "0.0.6";
+
pyproject = true;
src = fetchurl {
url = "mirror://pypi/n/nix-nox/nix-nox-${version}.tar.gz";
···
patches = [ ./nox-review-wip.patch ];
+
build-system = with python3Packages; [
+
setuptools
+
pbr
];
+
dependencies = with python3Packages; [
dogpile-cache
click
requests
characteristic
+
setuptools # pkg_resources is imported during runtime
];
+
+
pythonImportsCheck = [ "nox" ];
meta = {
homepage = "https://github.com/madjar/nox";
+7 -3
pkgs/by-name/np/npm-lockfile-fix/package.nix
···
python3.pkgs.buildPythonApplication rec {
pname = "npm-lockfile-fix";
version = "0.1.1";
-
format = "setuptools";
src = fetchFromGitHub {
owner = "jeslie0";
···
hash = "sha256-P93OowrVkkOfX5XKsRsg0c4dZLVn2ZOonJazPmHdD7g=";
};
-
propagatedBuildInputs = [
-
python3.pkgs.requests
];
doCheck = false; # no tests
···
python3.pkgs.buildPythonApplication rec {
pname = "npm-lockfile-fix";
version = "0.1.1";
+
pyproject = true;
src = fetchFromGitHub {
owner = "jeslie0";
···
hash = "sha256-P93OowrVkkOfX5XKsRsg0c4dZLVn2ZOonJazPmHdD7g=";
};
+
build-system = with python3.pkgs; [
+
setuptools
+
];
+
+
dependencies = with python3.pkgs; [
+
requests
];
doCheck = false; # no tests
+6 -2
pkgs/by-name/nt/ntfy/package.nix
···
pname = "ntfy";
version = "2.7.0";
-
format = "setuptools";
src = fetchFromGitHub {
owner = "dschep";
···
postPatch = ''
# We disable the Darwin specific things because it relies on pyobjc, which we don't have.
substituteInPlace setup.py \
-
--replace "':sys_platform == \"darwin\"'" "'darwin'"
'';
dependencies =
with python.pkgs;
(
···
preCheck = ''
export HOME=$(mktemp -d)
'';
meta = with lib; {
description = "Utility for sending notifications, on demand and when commands finish";
···
pname = "ntfy";
version = "2.7.0";
+
pyproject = true;
src = fetchFromGitHub {
owner = "dschep";
···
postPatch = ''
# We disable the Darwin specific things because it relies on pyobjc, which we don't have.
substituteInPlace setup.py \
+
--replace-fail "':sys_platform == \"darwin\"'" "'darwin'"
'';
+
build-system = with python.pkgs; [ setuptools ];
+
dependencies =
with python.pkgs;
(
···
preCheck = ''
export HOME=$(mktemp -d)
'';
+
+
pythonImportsCheck = [ "ntfy" ];
meta = with lib; {
description = "Utility for sending notifications, on demand and when commands finish";
+6 -3
pkgs/by-name/nt/ntfy/webpush.nix
···
lib,
buildPythonPackage,
fetchFromGitHub,
pywebpush,
py-vapid,
}:
···
buildPythonPackage rec {
pname = "ntfy-webpush";
version = "0.1.3";
-
format = "setuptools";
src = fetchFromGitHub {
owner = "dschep";
···
postPatch = ''
# break dependency loop
substituteInPlace setup.py \
-
--replace "'ntfy', " ""
'';
-
propagatedBuildInputs = [
pywebpush
py-vapid
];
···
lib,
buildPythonPackage,
fetchFromGitHub,
+
setuptools,
pywebpush,
py-vapid,
}:
···
buildPythonPackage rec {
pname = "ntfy-webpush";
version = "0.1.3";
+
pyproject = true;
src = fetchFromGitHub {
owner = "dschep";
···
postPatch = ''
# break dependency loop
substituteInPlace setup.py \
+
--replace-fail "'ntfy', " ""
'';
+
build-system = [ setuptools ];
+
+
dependencies = [
pywebpush
py-vapid
];
+4 -2
pkgs/by-name/nt/ntlmrecon/package.nix
···
python3.pkgs.buildPythonApplication rec {
pname = "ntlmrecon";
version = "0.4";
-
format = "setuptools";
src = fetchFromGitHub {
owner = "pwnfoo";
···
sha256 = "0rrx49li2l9xlcax84qxjf60nbzp3fgq77c36yqmsp0pc9i89ah6";
};
-
propagatedBuildInputs = with python3.pkgs; [
colorama
iptools
requests
···
python3.pkgs.buildPythonApplication rec {
pname = "ntlmrecon";
version = "0.4";
+
pyproject = true;
src = fetchFromGitHub {
owner = "pwnfoo";
···
sha256 = "0rrx49li2l9xlcax84qxjf60nbzp3fgq77c36yqmsp0pc9i89ah6";
};
+
build-system = with python3.pkgs; [ setuptools ];
+
+
dependencies = with python3.pkgs; [
colorama
iptools
requests
+5 -1
pkgs/by-name/nv/nvitop/package.nix
···
python3Packages.buildPythonApplication rec {
pname = "nvitop";
version = "1.5.1";
-
format = "setuptools";
src = fetchFromGitHub {
owner = "XuehaiPan";
···
tag = "v${version}";
hash = "sha256-FQbY9j6eJtupBiYTSCEJHAAlpDltb6U5hgWet42AKho=";
};
pythonRelaxDeps = [ "nvidia-ml-py" ];
···
versionCheckHook
];
versionCheckProgramArg = "--version";
meta = {
description = "Interactive NVIDIA-GPU process viewer, the one-stop solution for GPU process management";
···
python3Packages.buildPythonApplication rec {
pname = "nvitop";
version = "1.5.1";
+
pyproject = true;
src = fetchFromGitHub {
owner = "XuehaiPan";
···
tag = "v${version}";
hash = "sha256-FQbY9j6eJtupBiYTSCEJHAAlpDltb6U5hgWet42AKho=";
};
+
+
build-system = with python3Packages; [ setuptools ];
pythonRelaxDeps = [ "nvidia-ml-py" ];
···
versionCheckHook
];
versionCheckProgramArg = "--version";
+
+
pythonImportsCheck = [ "nvitop" ];
meta = {
description = "Interactive NVIDIA-GPU process viewer, the one-stop solution for GPU process management";
+7 -3
pkgs/by-name/nv/nvpy/package.nix
···
pythonPackages = python3Packages;
in
pythonPackages.buildPythonApplication rec {
-
version = "2.3.1";
-
format = "setuptools";
pname = "nvpy";
src = fetchFromGitHub {
owner = "cpbotha";
···
sha256 = "sha256-guNdLu/bCk89o5M3gQU7J0W4h7eZdLHM0FG5IAPLE7c=";
};
-
propagatedBuildInputs = with pythonPackages; [
markdown
docutils
simplenote
···
install -dm755 "$out/share/doc/nvpy/"
install -m644 README.rst "$out/share/doc/nvpy/README"
'';
meta = with pkgs.lib; {
description = "Simplenote-syncing note-taking tool inspired by Notational Velocity";
···
pythonPackages = python3Packages;
in
pythonPackages.buildPythonApplication rec {
pname = "nvpy";
+
version = "2.3.1";
+
pyproject = true;
src = fetchFromGitHub {
owner = "cpbotha";
···
sha256 = "sha256-guNdLu/bCk89o5M3gQU7J0W4h7eZdLHM0FG5IAPLE7c=";
};
+
build-system = with pythonPackages; [ setuptools ];
+
+
dependencies = with pythonPackages; [
markdown
docutils
simplenote
···
install -dm755 "$out/share/doc/nvpy/"
install -m644 README.rst "$out/share/doc/nvpy/README"
'';
+
+
pythonImportsCheck = [ "nvpy" ];
meta = with pkgs.lib; {
description = "Simplenote-syncing note-taking tool inspired by Notational Velocity";
+3 -1
pkgs/by-name/nw/nwg-clipman/package.nix
···
python3Packages.buildPythonPackage rec {
pname = "nwg-clipman";
version = "0.2.6";
-
format = "setuptools";
src = fetchFromGitHub {
owner = "nwg-piotr";
···
'';
strictDeps = true;
passthru.updateScript = nix-update-script { };
···
python3Packages.buildPythonPackage rec {
pname = "nwg-clipman";
version = "0.2.6";
+
pyproject = true;
src = fetchFromGitHub {
owner = "nwg-piotr";
···
'';
strictDeps = true;
+
+
pythonImportsCheck = [ "nwg_clipman" ];
passthru.updateScript = nix-update-script { };
+4 -2
pkgs/by-name/nw/nwg-wrapper/package.nix
···
python3Packages.buildPythonPackage rec {
pname = "nwg-wrapper";
version = "0.1.3";
-
format = "setuptools";
src = fetchFromGitHub {
owner = "nwg-piotr";
···
gtk-layer-shell
];
-
propagatedBuildInputs = with python3Packages; [
i3ipc
pygobject3
];
···
python3Packages.buildPythonPackage rec {
pname = "nwg-wrapper";
version = "0.1.3";
+
pyproject = true;
src = fetchFromGitHub {
owner = "nwg-piotr";
···
gtk-layer-shell
];
+
build-system = with python3Packages; [ setuptools ];
+
+
dependencies = with python3Packages; [
i3ipc
pygobject3
];
+7 -5
pkgs/by-name/ny/nyx/package.nix
···
fetchPypi,
}:
-
with python3Packages;
-
-
buildPythonApplication rec {
pname = "nyx";
version = "2.1.0";
-
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "02rrlllz2ci6i6cs3iddyfns7ang9a54jrlygd2jw1f9s6418ll8";
};
-
propagatedBuildInputs = [ stem ];
# ./run_tests.py returns `TypeError: testFailure() takes exactly 1 argument`
doCheck = false;
meta = with lib; {
description = "Command-line monitor for Tor";
···
fetchPypi,
}:
+
python3Packages.buildPythonApplication rec {
pname = "nyx";
version = "2.1.0";
+
pyproject = true;
src = fetchPypi {
inherit pname version;
sha256 = "02rrlllz2ci6i6cs3iddyfns7ang9a54jrlygd2jw1f9s6418ll8";
};
+
build-system = with python3Packages; [ setuptools ];
+
+
dependencies = with python3Packages; [ stem ];
# ./run_tests.py returns `TypeError: testFailure() takes exactly 1 argument`
doCheck = false;
+
+
pythonImportsCheck = [ "nyx" ];
meta = with lib; {
description = "Command-line monitor for Tor";
+5 -5
pkgs/by-name/py/pybibget/package.nix
···
fetchPypi,
}:
-
let
pname = "pybibget";
version = "0.1.0";
src = fetchPypi {
inherit pname version;
hash = "sha256-M6CIctTOVn7kIPmsoHQmYl2wQaUzfel7ryw/3ebQitg=";
};
-
in
-
python3.pkgs.buildPythonApplication {
-
inherit pname version src;
-
pyproject = true;
propagatedBuildInputs = with python3.pkgs; [
lxml
···
fetchPypi,
}:
+
python3.pkgs.buildPythonApplication rec {
pname = "pybibget";
version = "0.1.0";
+
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-M6CIctTOVn7kIPmsoHQmYl2wQaUzfel7ryw/3ebQitg=";
};
+
build-system = [
+
python3.pkgs.setuptools
+
];
propagatedBuildInputs = with python3.pkgs; [
lxml
+2 -2
pkgs/by-name/re/redpanda-client/package.nix
···
stdenv,
}:
let
-
version = "25.1.6";
src = fetchFromGitHub {
owner = "redpanda-data";
repo = "redpanda";
rev = "v${version}";
-
sha256 = "sha256-Cl2coxcK2f53uJnC5CBkqJ/oAQ+jpvjo2vknKqx7FXQ=";
};
in
buildGoModule rec {
···
stdenv,
}:
let
+
version = "25.1.7";
src = fetchFromGitHub {
owner = "redpanda-data";
repo = "redpanda";
rev = "v${version}";
+
sha256 = "sha256-GRWLEzf0YfSk96oDCuthMNmu0C1KJCk10Uz7eApS4mk=";
};
in
buildGoModule rec {
+3 -3
pkgs/by-name/ro/roddhjav-apparmor-rules/package.nix
···
stdenvNoCC.mkDerivation {
pname = "roddhjav-apparmor-rules";
-
version = "0-unstable-2025-06-21";
src = fetchFromGitHub {
owner = "roddhjav";
repo = "apparmor.d";
-
rev = "1aee62f52cb02cbdb054c233a350f4f07d828e48";
-
hash = "sha256-5gK2JTct89HrjJHAVAPxEUyKf6ukHExFgNb3Os4kv9M=";
};
dontConfigure = true;
···
stdenvNoCC.mkDerivation {
pname = "roddhjav-apparmor-rules";
+
version = "0-unstable-2025-07-12";
src = fetchFromGitHub {
owner = "roddhjav";
repo = "apparmor.d";
+
rev = "8fc70859aaef7cc20181ac6d115a6ff8ca5a9162";
+
hash = "sha256-MbbjiLa24PxaD7ZizR2CbTPy6yDFZTAV3QurFyYb3r8=";
};
dontConfigure = true;
+8 -7
pkgs/by-name/ti/tiny-dfr/package.nix
···
gdk-pixbuf,
glib,
libinput,
libxml2,
pango,
udev,
···
rustPlatform.buildRustPackage rec {
pname = "tiny-dfr";
-
version = "0.3.2";
src = fetchFromGitHub {
-
owner = "WhatAmISupposedToPutHere";
repo = "tiny-dfr";
-
rev = "v${version}";
-
hash = "sha256-5u5jyoDEt7aMs8/8QrhrUrUzFJJCNayqbN2WrMhUCV4=";
};
-
useFetchCargoVendor = true;
-
cargoHash = "sha256-9UlH2W8wNzdZJxIgOafGylliS2RjaBlpirxSWHJ/SIQ=";
nativeBuildInputs = [
pkg-config
···
gdk-pixbuf
glib
libinput
libxml2
pango
udev
···
doInstallCheck = true;
meta = with lib; {
-
homepage = "https://github.com/WhatAmISupposedToPutHere/tiny-dfr";
description = "Most basic dynamic function row daemon possible";
license = [
licenses.asl20
···
gdk-pixbuf,
glib,
libinput,
+
librsvg,
libxml2,
pango,
udev,
···
rustPlatform.buildRustPackage rec {
pname = "tiny-dfr";
+
version = "0.3.5";
src = fetchFromGitHub {
+
owner = "AsahiLinux";
repo = "tiny-dfr";
+
tag = "v${version}";
+
hash = "sha256-G4OeYZH3VF6fKWxHYLTmwzQmQ4JupgYNH/6aJSgINvg=";
};
+
cargoHash = "sha256-/PtoAc2ZNJfW5gegcFQAAlEmjSMysZ+QebVfHtW35Nk=";
nativeBuildInputs = [
pkg-config
···
gdk-pixbuf
glib
libinput
+
librsvg
libxml2
pango
udev
···
doInstallCheck = true;
meta = with lib; {
+
homepage = "https://github.com/AsahiLinux/tiny-dfr";
description = "Most basic dynamic function row daemon possible";
license = [
licenses.asl20
+38 -5
pkgs/development/perl-modules/Percona-Toolkit/default.nix
···
DBI,
IOSocketSSL,
TermReadKey,
}:
-
buildPerlPackage rec {
-
pname = "Percona-Toolkit";
-
version = "3.2.0";
src = fetchFromGitHub {
owner = "percona";
repo = "percona-toolkit";
rev = "v${version}";
-
sha256 = "084ldpskvlfm32lfss5qqzm5y9b8hf029aa4i5pcnzgb53xaxkqx";
};
outputs = [ "out" ];
-
nativeBuildInputs = [ shortenPerlShebang ];
buildInputs = [
DBDmysql
DBI
IOSocketSSL
TermReadKey
];
postInstall = ''
shortenPerlShebang $(grep -l "/bin/env perl" $out/bin/*)
···
DBI,
IOSocketSSL,
TermReadKey,
+
go,
+
buildGoModule,
+
git,
}:
+
let
+
version = "3.7.0";
src = fetchFromGitHub {
owner = "percona";
repo = "percona-toolkit";
rev = "v${version}";
+
sha256 = "sha256-fJGeL9XZHTFmpns5CE7It35HRnF3JiC6muOpOS1zboI=";
+
+
# needed for build script
+
leaveDotGit = true;
};
+
goDeps =
+
(buildGoModule {
+
pname = "Percona-Toolkit go-bindings";
+
inherit src version;
+
+
vendorHash = "sha256-HAaoVYK6av085zSG0ZRpbmUgEA2UEt7CGWF/834e+z4=";
+
}).goModules;
+
in
+
buildPerlPackage {
+
pname = "Percona-Toolkit";
+
+
inherit src version;
+
outputs = [ "out" ];
+
nativeBuildInputs = [
+
git
+
shortenPerlShebang
+
];
buildInputs = [
DBDmysql
+
go
DBI
IOSocketSSL
TermReadKey
];
+
+
postPatch = ''
+
cp -r --reflink=auto ${goDeps} vendor
+
chmod -R u+rw vendor
+
substituteInPlace src/go/Makefile \
+
--replace-fail "go get ./..." "echo 'Skipping go get due to offline build'"
+
'';
+
+
preBuild = ''
+
export HOME=$TMPDIR
+
'';
postInstall = ''
shortenPerlShebang $(grep -l "/bin/env perl" $out/bin/*)
+27 -13
pkgs/development/python-modules/pybtex/default.nix
···
lib,
buildPythonPackage,
fetchPypi,
latexcodec,
pyyaml,
-
setuptools,
}:
buildPythonPackage rec {
-
version = "0.24.0";
-
format = "setuptools";
pname = "pybtex";
-
doCheck = false;
-
pythonImportsCheck = [ "pybtex" ];
-
propagatedBuildInputs = [
latexcodec
pyyaml
-
setuptools
];
-
src = fetchPypi {
-
inherit version pname;
-
sha256 = "818eae35b61733e5c007c3fcd2cfb75ed1bc8b4173c1f70b56cc4c0802d34755";
-
};
-
meta = with lib; {
homepage = "https://pybtex.org/";
description = "BibTeX-compatible bibliography processor written in Python";
-
license = licenses.mit;
};
}
···
lib,
buildPythonPackage,
fetchPypi,
+
+
# build-system
+
setuptools,
+
+
# dependencies
latexcodec,
pyyaml,
+
+
# tests
+
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "pybtex";
+
version = "0.25.1";
+
pyproject = true;
+
src = fetchPypi {
+
inherit version pname;
+
sha256 = "sha256-nq+QJnx+g+Ilr4n+plw3Cvv2X0WCINOUap4wSeHspJE=";
+
};
+
build-system = [
+
setuptools
+
];
+
+
dependencies = [
latexcodec
pyyaml
];
+
pythonImportsCheck = [ "pybtex" ];
+
nativeCheckInputs = [
+
pytestCheckHook
+
];
+
+
meta = {
homepage = "https://pybtex.org/";
+
changelog = "https://bitbucket.org/pybtex-devs/pybtex/src/master/CHANGES";
description = "BibTeX-compatible bibliography processor written in Python";
+
license = lib.licenses.mit;
};
}
+1
pkgs/development/python-modules/pymatgen/default.nix
···
# attempt to insert nil object from objects[1]
"test_timer_10_2_7"
];
disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [
···
# attempt to insert nil object from objects[1]
"test_timer_10_2_7"
+
"test_timer"
];
disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [
+2 -2
pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix
···
buildPythonPackage rec {
pname = "sphinxcontrib-bibtex";
-
version = "2.6.3";
pyproject = true;
disabled = pythonOlder "3.7";
···
owner = "mcmtroffaes";
repo = "sphinxcontrib-bibtex";
tag = version;
-
hash = "sha256-cqz5Jamtlflo5rFhWPCPlYoymApUtXPG4oTRjfDI+WY=";
};
build-system = [ setuptools ];
···
buildPythonPackage rec {
pname = "sphinxcontrib-bibtex";
+
version = "2.6.5";
pyproject = true;
disabled = pythonOlder "3.7";
···
owner = "mcmtroffaes";
repo = "sphinxcontrib-bibtex";
tag = version;
+
hash = "sha256-sT23DkIfJcb3cFBFdL31RRzlDoJRcCUYIdpUVuYjGuo=";
};
build-system = [ setuptools ];
+84
pkgs/development/python-modules/svgdigitizer/default.nix
···
···
+
{
+
lib,
+
buildPythonPackage,
+
fetchFromGitHub,
+
stdenv,
+
+
# build-system
+
setuptools,
+
+
# dependencies
+
astropy,
+
click,
+
frictionless,
+
matplotlib,
+
mergedeep,
+
pandas,
+
pillow,
+
pybtex,
+
pymupdf,
+
pyyaml,
+
scipy,
+
svg-path,
+
svgpathtools,
+
svgwrite,
+
+
# tests
+
pytestCheckHook,
+
}:
+
+
buildPythonPackage rec {
+
pname = "svgdigitizer";
+
version = "0.12.6";
+
pyproject = true;
+
+
src = fetchFromGitHub {
+
owner = "echemdb";
+
repo = "svgdigitizer";
+
tag = version;
+
hash = "sha256-aodPjms92+/6bbheIs/8w+M4T+mfw5PWf1dsxFuojwA=";
+
};
+
+
build-system = [
+
setuptools
+
];
+
+
dependencies = [
+
astropy
+
click
+
frictionless
+
matplotlib
+
mergedeep
+
pandas
+
pillow
+
pybtex
+
pymupdf
+
pyyaml
+
scipy
+
svg-path
+
svgpathtools
+
svgwrite
+
];
+
+
nativeCheckInputs = [
+
pytestCheckHook
+
];
+
pytestFlags = [
+
"--doctest-modules"
+
"svgdigitizer"
+
];
+
+
pythonImportsCheck = [
+
"svgdigitizer"
+
];
+
+
meta = {
+
description = "(x,y) Data Points from SVG files";
+
homepage = "https://github.com/echemdb/svgdigitizer";
+
changelog = "https://github.com/echemdb/svgdigitizer/blob/${src.rev}/ChangeLog";
+
license = lib.licenses.gpl3Only;
+
maintainers = with lib.maintainers; [ doronbehar ];
+
# https://github.com/echemdb/svgdigitizer/issues/252
+
broken = stdenv.hostPlatform.isDarwin;
+
};
+
}
+54
pkgs/development/python-modules/svgpathtools/default.nix
···
···
+
{
+
lib,
+
buildPythonPackage,
+
fetchFromGitHub,
+
+
# build-system
+
setuptools,
+
+
# dependencies
+
numpy,
+
scipy,
+
svgwrite,
+
+
# tests
+
pytestCheckHook,
+
}:
+
+
buildPythonPackage rec {
+
pname = "svgpathtools";
+
version = "1.7.1";
+
pyproject = true;
+
+
src = fetchFromGitHub {
+
owner = "mathandy";
+
repo = "svgpathtools";
+
tag = "v${version}";
+
hash = "sha256-SzYssDJ+uGb5zXZ16XaMCvIPF8BKJ4VVI/gUghz1IyA=";
+
};
+
+
build-system = [
+
setuptools
+
];
+
+
dependencies = [
+
numpy
+
scipy
+
svgwrite
+
];
+
+
nativeCheckInputs = [
+
pytestCheckHook
+
];
+
+
pythonImportsCheck = [
+
"svgpathtools"
+
];
+
+
meta = {
+
description = "A collection of tools for manipulating and analyzing SVG Path objects and Bezier curves";
+
homepage = "https://github.com/mathandy/svgpathtools";
+
license = lib.licenses.mit;
+
maintainers = with lib.maintainers; [ doronbehar ];
+
};
+
}
+2 -2
pkgs/development/python-modules/uiprotect/default.nix
···
buildPythonPackage rec {
pname = "uiprotect";
-
version = "7.14.1";
pyproject = true;
disabled = pythonOlder "3.10";
···
owner = "uilibs";
repo = "uiprotect";
tag = "v${version}";
-
hash = "sha256-e5VfG20hl+SGssNsLMoQ2ULJAcVS6gahNkC6XqRuXb0=";
};
build-system = [ poetry-core ];
···
buildPythonPackage rec {
pname = "uiprotect";
+
version = "7.14.2";
pyproject = true;
disabled = pythonOlder "3.10";
···
owner = "uilibs";
repo = "uiprotect";
tag = "v${version}";
+
hash = "sha256-amCE5y/4tAdrvlk6ZSa6QaG9XuLnFfz1ml1r/H80fdE=";
};
build-system = [ poetry-core ];
+2 -2
pkgs/development/tools/devpi-server/default.nix
···
buildPythonApplication rec {
pname = "devpi-server";
-
version = "6.14.0";
pyproject = true;
disabled = pythonOlder "3.7";
···
owner = "devpi";
repo = "devpi";
rev = "server-${version}";
-
hash = "sha256-j8iILbptUw8DUE9lFpjDp/VYzdJzmOYqM/RCnkpWdcA=";
};
sourceRoot = "${src.name}/server";
···
buildPythonApplication rec {
pname = "devpi-server";
+
version = "6.15.0";
pyproject = true;
disabled = pythonOlder "3.7";
···
owner = "devpi";
repo = "devpi";
rev = "server-${version}";
+
hash = "sha256-tKR1xZju5bDbFu8t3SunTM8FlaXodSm/OjJ3Jfl7Dzk=";
};
sourceRoot = "${src.name}/server";
+61
pkgs/top-level/impure-overlays.nix
···
···
+
/**
+
This file has as its value the list of overlays, as determined from the environment.
+
If Nix evaluation is [pure](https://nix.dev/manual/nix/latest/command-ref/conf-file.html?highlight=pure-eval#conf-pure-eval), then the list is empty.
+
*/
+
let
+
# Return ‘x’ if it evaluates, or ‘def’ if it throws an exception.
+
try =
+
x: def:
+
let
+
res = builtins.tryEval x;
+
in
+
if res.success then res.value else def;
+
homeDir = builtins.getEnv "HOME";
+
+
isDir = path: builtins.pathExists (path + "/.");
+
pathOverlays = try (toString <nixpkgs-overlays>) "";
+
homeOverlaysFile = homeDir + "/.config/nixpkgs/overlays.nix";
+
homeOverlaysDir = homeDir + "/.config/nixpkgs/overlays";
+
overlays =
+
path:
+
# check if the path is a directory or a file
+
if isDir path then
+
# it's a directory, so the set of overlays from the directory, ordered lexicographically
+
let
+
content = builtins.readDir path;
+
in
+
map (n: import (path + ("/" + n))) (
+
builtins.filter (
+
n:
+
(
+
builtins.match ".*\\.nix" n != null
+
&&
+
# ignore Emacs lock files (.#foo.nix)
+
builtins.match "\\.#.*" n == null
+
)
+
|| builtins.pathExists (path + ("/" + n + "/default.nix"))
+
) (builtins.attrNames content)
+
)
+
else
+
# it's a file, so the result is the contents of the file itself
+
import path;
+
in
+
if pathOverlays != "" && builtins.pathExists pathOverlays then
+
overlays pathOverlays
+
else if builtins.pathExists homeOverlaysFile && builtins.pathExists homeOverlaysDir then
+
throw ''
+
Nixpkgs overlays can be specified with ${homeOverlaysFile} or ${homeOverlaysDir}, but not both.
+
Please remove one of them and try again.
+
''
+
else if builtins.pathExists homeOverlaysFile then
+
if isDir homeOverlaysFile then
+
throw (homeOverlaysFile + " should be a file")
+
else
+
overlays homeOverlaysFile
+
else if builtins.pathExists homeOverlaysDir then
+
if !(isDir homeOverlaysDir) then
+
throw (homeOverlaysDir + " should be a directory")
+
else
+
overlays homeOverlaysDir
+
else
+
[ ]
+1 -57
pkgs/top-level/impure.nix
···
homeDir = builtins.getEnv "HOME";
-
# Return ‘x’ if it evaluates, or ‘def’ if it throws an exception.
-
try =
-
x: def:
-
let
-
res = builtins.tryEval x;
-
in
-
if res.success then res.value else def;
-
in
{
···
# Overlays are used to extend Nixpkgs collection with additional
# collections of packages. These collection of packages are part of the
# fix-point made by Nixpkgs.
-
overlays ?
-
let
-
isDir = path: builtins.pathExists (path + "/.");
-
pathOverlays = try (toString <nixpkgs-overlays>) "";
-
homeOverlaysFile = homeDir + "/.config/nixpkgs/overlays.nix";
-
homeOverlaysDir = homeDir + "/.config/nixpkgs/overlays";
-
overlays =
-
path:
-
# check if the path is a directory or a file
-
if isDir path then
-
# it's a directory, so the set of overlays from the directory, ordered lexicographically
-
let
-
content = builtins.readDir path;
-
in
-
map (n: import (path + ("/" + n))) (
-
builtins.filter (
-
n:
-
(
-
builtins.match ".*\\.nix" n != null
-
&&
-
# ignore Emacs lock files (.#foo.nix)
-
builtins.match "\\.#.*" n == null
-
)
-
|| builtins.pathExists (path + ("/" + n + "/default.nix"))
-
) (builtins.attrNames content)
-
)
-
else
-
# it's a file, so the result is the contents of the file itself
-
import path;
-
in
-
if pathOverlays != "" && builtins.pathExists pathOverlays then
-
overlays pathOverlays
-
else if builtins.pathExists homeOverlaysFile && builtins.pathExists homeOverlaysDir then
-
throw ''
-
Nixpkgs overlays can be specified with ${homeOverlaysFile} or ${homeOverlaysDir}, but not both.
-
Please remove one of them and try again.
-
''
-
else if builtins.pathExists homeOverlaysFile then
-
if isDir homeOverlaysFile then
-
throw (homeOverlaysFile + " should be a file")
-
else
-
overlays homeOverlaysFile
-
else if builtins.pathExists homeOverlaysDir then
-
if !(isDir homeOverlaysDir) then
-
throw (homeOverlaysDir + " should be a directory")
-
else
-
overlays homeOverlaysDir
-
else
-
[ ],
crossOverlays ? [ ],
···
homeDir = builtins.getEnv "HOME";
in
{
···
# Overlays are used to extend Nixpkgs collection with additional
# collections of packages. These collection of packages are part of the
# fix-point made by Nixpkgs.
+
overlays ? import ./impure-overlays.nix,
crossOverlays ? [ ],
+4
pkgs/top-level/python-packages.nix
···
svg2tikz = callPackage ../development/python-modules/svg2tikz { };
svgelements = callPackage ../development/python-modules/svgelements { };
svglib = callPackage ../development/python-modules/svglib { };
svgutils = callPackage ../development/python-modules/svgutils { };
···
svg2tikz = callPackage ../development/python-modules/svg2tikz { };
+
svgdigitizer = callPackage ../development/python-modules/svgdigitizer { };
+
svgelements = callPackage ../development/python-modules/svgelements { };
svglib = callPackage ../development/python-modules/svglib { };
+
+
svgpathtools = callPackage ../development/python-modules/svgpathtools { };
svgutils = callPackage ../development/python-modules/svgutils { };