{ lib, config, pkgs, ... }: {
  nixpkgs.overlays = [(final: prev: rec {
    pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
      (
        python-final: python-prev: let
          py = python-prev;
        in {
          equation = py.buildPythonPackage {
            pyproject = true;
            build-system = [ py.setuptools ];
            pname = "Equation";
            version = "1.2.01";
            nativeBuildInputs = [
              py.setuptools
              py.numpy
            ];
            src = pkgs.fetchzip {
              url = "https://files.pythonhosted.org/packages/2e/cc/115fb1722051f99b9699864586e7f96ca0080645387698af922fade4f7b2/Equation-1.2.01.zip";
              sha256 = "YFxZB3vaC5s49K1AQLFF4WGUr2RpomJTLQdZ24ITXr4=";
            };
          };
          morphio = py.toPythonModule ( pkgs.stdenv.mkDerivation rec {
            pyproject = true;
            build-system = [ py.setuptools ];
            pname = "MorphIO";
            version = "3.3.4";
            nativeBuildInputs = (with pkgs; [
              cmake
              ninja
              py.numpy
              hdf5
            ]);
            cmakeFlags = [
              "-DMorphIO_CXX_WARNINGS=OFF"
            ];
            postInstall = ''
              mkdir -p $out/${py.python.sitePackages}
              mv ../morphio $out/${py.python.sitePackages}
              cp binds/python/_morphio.* $out/${py.python.sitePackages}/morphio/
            '';
            src = pkgs.fetchFromGitHub {
              owner = "BlueBrain";
              repo = "MorphIO";
              rev = "v${version}";
              deepClone = true;
              fetchSubmodules = true;
              sha256 = "C3zDziG7LF7v22ZvplBrtOYq7iKGnAavfpiBCcShHaQ=";
            };
          });

        }
      )
    ];
    # Add CUDA Support to Blender
    blender_cuda = prev.blender.override {
      cudaSupport = true;
    };
#    blender = final.blender_cuda.withPackages (p: with p; [
#      # OpenCAMLib support
#      shapely
#      equation
#      opencamlib
#      # NeuroMorphoVis support
#      matplotlib
#      seaborn
#      pandas
#      pillow
#      h5py
#      morphio
#      # TODO add BluePy support?
#    ]);
  })];

  environment.systemPackages = with pkgs; [
    blender
    # GTK theme support (basic) for GTK apps e.g. inkscape
    adwaita-icon-theme

    aseprite
    pixelorama
    gimp
    
    glaxnimate
    inkscape-with-extensions
  ];
}
