Hello! I’m hoping someone will be able and willing to help, as I’m not really a developer, just an end user who knows how to read documentation.
I’m attempting to install the package pyprland from pypi using configuration.nix, as I’d like it to be globally available. I’ve followed the documentation here, and it looks like this:
let
my-python-packages = ps: with ps; [
poetry-core
(
buildPythonPackage rec {
pname = "pyprland";
version = "1.3.1";
src = fetchPypi {
inherit pname version;
sha256 = "54e55b124828aab4043dad03a2972b0ef447f9adf662ca0301806b03f626f091";
};
doCheck = false;
propagatedBuildInputs = [
# Specify dependencies
pkgs.python310Packages.poetry-core
];
}
)
];
in
{
environment.systemPackages = with pkgs: [
# Python packages
(pkgs.python3.withPackages my-python-packages)
]
This appears to be working… sort of. The build fails when I attempt to do this, stating that there’s an exit code of 1. Unfortunately I really can’t make heads or tails of why it’s failing, and if that’s because I’m an idiot and misconfigured something, or whatever else. I threw poetry-core into the actual packages, as you see above, but that doesn’t seem to change anything. The output when i try to rebuild is:
zeta@nixos:~/ > sudo nixos-rebuild switch
building Nix...
building the system configuration...
these 14 derivations will be built:
/nix/store/a0a5lhyg2zbyjryinj72g4g1s7lylg5a-python3.10-pyprland-1.3.1.drv
/nix/store/a2s84yzbxp4r1607rm6rnaid7i73vjw0-python3-3.10.12-env.drv
/nix/store/k6m32p2c8fzjyiib0ffcx7vd99wqmid1-system-path.drv
/nix/store/86pj200swlzbrklh7bcshmnycfhsna8l-dbus-1.drv
/nix/store/1l8gjfh9pcrn0jd0x6g25iycs3ccjnzj-X-Restart-Triggers.drv
/nix/store/g503z8fr0m3psnqg6vl9770glllwkaqj-unit-dbus.service.drv
/nix/store/0jzk86wkvcr2dp5sb0629iy6glr502db-user-units.drv
/nix/store/rh9167nxk688nf83icrwv7zh2gr3qrnd-X-Restart-Triggers.drv
/nix/store/681f2k7w7frfzw1cdjx46ysllpfn1y33-unit-polkit.service.drv
/nix/store/d50q2iphn6zqgjjaa9yajfkkpgp3v0dr-unit-accounts-daemon.service.drv
/nix/store/pni4034bh38pscgblh95jav9vlmvs4rh-unit-dbus.service.drv
/nix/store/0r49gz3w532nxkaghvk4yj715945jw7d-system-units.drv
/nix/store/63dcrgd0wfrbhp1rc3z5dwfky2gadda6-etc.drv
/nix/store/3mrhkmb1zgn6n61g8m05rzcp2sfmllx3-nixos-system-nixos-23.11pre507671.ef99fa5c5ed.drv
building '/nix/store/a0a5lhyg2zbyjryinj72g4g1s7lylg5a-python3.10-pyprland-1.3.1.drv'...
Sourcing python-remove-tests-dir-hook
Sourcing python-catch-conflicts-hook.sh
Sourcing python-remove-bin-bytecode-hook.sh
Sourcing setuptools-build-hook
Using setuptoolsBuildPhase
Using setuptoolsShellHook
Sourcing pip-install-hook
Using pipInstallPhase
Sourcing python-imports-check-hook.sh
Using pythonImportsCheckPhase
Sourcing python-namespaces-hook
Sourcing python-catch-conflicts-hook.sh
unpacking sources
unpacking source archive /nix/store/5iqy8rgpf8rwsjk72fllfm0h3q3ncpzj-pyprland-1.3.1.tar.gz
source root is pyprland-1.3.1
setting SOURCE_DATE_EPOCH to timestamp 1683301385 of file pyprland-1.3.1/pyproject.toml
patching sources
updateAutotoolsGnuConfigScriptsPhase
configuring
no configure script, doing nothing
building
Executing setuptoolsBuildPhase
Traceback (most recent call last):
File "/build/pyprland-1.3.1/nix_run_setup", line 8, in <module>
exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\\r\\n', '\\n'), __file__, 'exec'))
File "/nix/store/jhflvwr40xbb0xr6jx4311icp9cym1fp-python3-3.10.12/lib/python3.10/tokenize.py", line 394, in open
buffer = _builtin_open(filename, 'rb')
FileNotFoundError: [Errno 2] No such file or directory: 'setup.py'
/nix/store/7aprjn0yf6p06krg4087sxvilfp4c8yy-stdenv-linux/setup: line 1596: pop_var_context: head of shell_variables not a function context
error: builder for '/nix/store/a0a5lhyg2zbyjryinj72g4g1s7lylg5a-python3.10-pyprland-1.3.1.drv' failed with exit code 1
error: 1 dependencies of derivation '/nix/store/a2s84yzbxp4r1607rm6rnaid7i73vjw0-python3-3.10.12-env.drv' failed to build
error: 1 dependencies of derivation '/nix/store/k6m32p2c8fzjyiib0ffcx7vd99wqmid1-system-path.drv' failed to build
error: 1 dependencies of derivation '/nix/store/3mrhkmb1zgn6n61g8m05rzcp2sfmllx3-nixos-system-nixos-23.11pre507671.ef99fa5c5ed.drv' failed to build
I’ve been searching around for the last two days trying to figure it out, and I just don’t know enough about how python and nix work right now to really understand what I’m doing wrong. If someone could help point me in the right direction, I’d really appreciate it.