1
0

flake.nix 964 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. {
  2. description = "Python development environment";
  3. inputs = {
  4. nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
  5. };
  6. outputs = { self, nixpkgs }:
  7. let
  8. system = "x86_64-linux";
  9. pkgs = import nixpkgs {
  10. inherit system;
  11. config.allowUnfree = true;
  12. };
  13. pythonEnv = pkgs.python3.withPackages (ps: with ps; [
  14. rich
  15. ]);
  16. zk = pkgs.writeShellScriptBin "zk" ''
  17. export PYTHONPATH="${builtins.toString ./.}:$PYTHONPATH"
  18. exec ${pythonEnv}/bin/python -m src.zelkelbt "$@"
  19. '';
  20. in
  21. {
  22. devShells.${system}.default = pkgs.mkShell {
  23. packages = with pkgs; [
  24. pythonEnv
  25. zk
  26. ruff
  27. llvmPackages_latest.llvm
  28. clang
  29. ];
  30. shellHook = ''
  31. export LD_LIBRARY_PATH="${pkgs.stdenv.cc.cc.lib}/lib:$LD_LIBRARY_PATH"
  32. export PYTHONPATH="${builtins.toString ./.}:$PYTHONPATH"
  33. '';
  34. };
  35. };
  36. }