{
  description = "Development environment with CMake, GCC, Clang, Python, Matplotlib, and Scikit-learn";

  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
  };

  outputs = { self, nixpkgs }: 
    let
      system = "x86_64-linux";
      pkgs = import nixpkgs { inherit system; };
    in {
      devShells.${system}.default = pkgs.mkShell {
        buildInputs = [
          pkgs.cmake
          pkgs.gcc
          pkgs.clang
          pkgs.python3
          pkgs.python3Packages.matplotlib
          pkgs.python3Packages.scikit-learn
          pkgs.python3Packages.numpy
        ];
      };
    };
}