mirror of
https://github.com/SteamDeckHomebrew/decky-loader.git
synced 2026-06-13 04:05:04 +03:00
97b62ac72b
* Add development flake file * use regular nixpkgs import * Make vscode work and add .envrc * add .direnv to the .gitignore file
55 lines
2.1 KiB
Nix
55 lines
2.1 KiB
Nix
{
|
|
description = "Decky development environment";
|
|
# pulls in the python deps from poetry
|
|
|
|
inputs = {
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
poetry2nix = {
|
|
url = "github:nix-community/poetry2nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
outputs = { self, nixpkgs, flake-utils, poetry2nix }:
|
|
flake-utils.lib.eachDefaultSystem (system:
|
|
let
|
|
pkgs = import nixpkgs { inherit system; };
|
|
p2n = (poetry2nix.lib.mkPoetry2Nix { inherit pkgs; });
|
|
in {
|
|
devShells.default = (p2n.mkPoetryEnv {
|
|
projectDir = self + "/backend";
|
|
# pyinstaller fails to compile so precompiled it is
|
|
overrides = p2n.overrides.withDefaults (final: prev: {
|
|
pyinstaller = prev.pyinstaller.override { preferWheel = true; };
|
|
pyright = null;
|
|
});
|
|
}).env.overrideAttrs (oldAttrs: {
|
|
shellHook = ''
|
|
set -o noclobber
|
|
PYTHONPATH=`which python`
|
|
FILE=.vscode/settings.json
|
|
if [ -f "$FILE" ]; then
|
|
echo "$FILE already exists, not writing interpreter path to it."
|
|
else
|
|
echo "{\"python.defaultInterpreterPath\": \"''${PYTHONPATH}\"}" > "$FILE"
|
|
fi
|
|
'';
|
|
buildInputs = with pkgs; [
|
|
nodejs_22
|
|
nodePackages.pnpm
|
|
poetry
|
|
# 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` "$@" '')
|
|
];
|
|
});
|
|
});
|
|
}
|