chore(flake): Add setuptools in order to build on a minimal Nix system (#741)
Builder Win / Build PluginLoader for Win (push) Has been cancelled
Builder / Build PluginLoader (push) Has been cancelled
Push Updated Plugin Stub to Template / copy-stub (push) Has been cancelled
Lint / Run linters (push) Has been cancelled
Type Check / Run type checkers (push) Has been cancelled

This commit is contained in:
Adrian Covaci
2025-01-17 21:52:50 +00:00
committed by GitHub
parent 054517595d
commit 0c727d64d2
+50 -38
View File
@@ -11,45 +11,57 @@
}; };
}; };
outputs = { self, nixpkgs, flake-utils, poetry2nix }: outputs =
flake-utils.lib.eachDefaultSystem (system: {
self,
nixpkgs,
flake-utils,
poetry2nix,
}:
flake-utils.lib.eachDefaultSystem (
system:
let let
pkgs = import nixpkgs { inherit system; }; pkgs = import nixpkgs { inherit system; };
p2n = (poetry2nix.lib.mkPoetry2Nix { inherit pkgs; }); p2n = (poetry2nix.lib.mkPoetry2Nix { inherit pkgs; });
in { in
devShells.default = (p2n.mkPoetryEnv { {
projectDir = self + "/backend"; devShells.default =
# pyinstaller fails to compile so precompiled it is (p2n.mkPoetryEnv {
overrides = p2n.overrides.withDefaults (final: prev: { projectDir = self + "/backend";
pyinstaller = prev.pyinstaller.override { preferWheel = true; }; # pyinstaller fails to compile so precompiled it is
pyright = null; overrides = p2n.overrides.withDefaults (
}); final: prev: {
}).env.overrideAttrs (oldAttrs: { pyinstaller = prev.pyinstaller.override { preferWheel = true; };
shellHook = '' pyright = null;
PYTHONPATH=`which python` }
FILE=.vscode/settings.json );
if [ -f "$FILE" ]; then }).env.overrideAttrs
jq --arg pythonpath "$PYTHONPATH" '.["python.defaultInterpreterPath"] = $pythonpath' $FILE > "$FILE.tmp" && mv "$FILE.tmp" "$FILE" (oldAttrs: {
else shellHook = ''
echo "{\"python.defaultInterpreterPath\": \"$PYTHONPATH\"}" > "$FILE" PYTHONPATH=`which python`
fi FILE=.vscode/settings.json
''; if [ -f "$FILE" ]; then
UV_USE_IO_URING = 0; # work around node#48444 jq --arg pythonpath "$PYTHONPATH" '.["python.defaultInterpreterPath"] = $pythonpath' $FILE > "$FILE.tmp" && mv "$FILE.tmp" "$FILE"
buildInputs = with pkgs; [ else
nodejs_22 echo "{\"python.defaultInterpreterPath\": \"$PYTHONPATH\"}" > "$FILE"
nodePackages.pnpm fi
poetry '';
jq UV_USE_IO_URING = 0; # work around node#48444
# fixes local pyright not being able to see the pythonpath properly. nativeBuildInputs = with pkgs; [
(pkgs.writeShellScriptBin "pyright" '' python311Packages.setuptools
${pkgs.pyright}/bin/pyright --pythonpath `which python3` "$@" '') ];
(pkgs.writeShellScriptBin "pyright-langserver" '' buildInputs = with pkgs; [
${pkgs.pyright}/bin/pyright-langserver --pythonpath `which python3` "$@" '') nodejs_22
(pkgs.writeShellScriptBin "pyright-python" '' nodePackages.pnpm
${pkgs.pyright}/bin/pyright-python --pythonpath `which python3` "$@" '') poetry
(pkgs.writeShellScriptBin "pyright-python-langserver" '' jq
${pkgs.pyright}/bin/pyright-python-langserver --pythonpath `which python3` "$@" '') # fixes local pyright not being able to see the pythonpath properly.
]; (pkgs.writeShellScriptBin "pyright" ''${pkgs.pyright}/bin/pyright --pythonpath `which python3` "$@" '')
}); (pkgs.writeShellScriptBin "pyright-langserver" ''${pkgs.pyright}/bin/pyright-langserver --pythonpath `which python3` "$@" '')
}); (pkgs.writeShellScriptBin "pyright-python" ''${pkgs.pyright}/bin/pyright-python --pythonpath `which python3` "$@" '')
(pkgs.writeShellScriptBin "pyright-python-langserver" ''${pkgs.pyright}/bin/pyright-python-langserver --pythonpath `which python3` "$@" '')
];
});
}
);
} }