burn-modules 0.1.1

Generic Burn modules
Documentation
{
  description = "Rust shell";

  inputs = {
    nixpkgs = {
      url = "github:nixos/nixpkgs?ref=nixos-unstable";
    };
    flake-utils = {
      url = "github:numtide/flake-utils";
    };

    fenix = {
      url = "github:nix-community/fenix";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    rustaceanvim = {
      url = "github:mrcjkb/rustaceanvim";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    cargo2nix = {
      url = "github:cargo2nix/cargo2nix/release-0.11.0";
      inputs.nixpkgs.follows = "nixpkgs";
      inputs.flake-utils.follows = "flake-utils";
    };
  };

    # flake-utils.lib.eachDefaultSystem (system:
    #   let
    #     pkgs = import nixpkgs {
    #       inherit system;
    #       overlays = [cargo2nix.overlays.default];
    #     };
    #
    #     rustPkgs = pkgs.rustBuilder.makePackageSet {
    #       rustVersion = "1.81.0";
    #       packageFun = import ./Cargo.nix;
    #     };
    #
    #   in rec {
    #     packages = {
    #       # replace hello-world with your package name
    #       hello-world = (rustPkgs.workspace.generic_mod {});
    #       default = packages.hello-world;
    #     };
    #   }
    # );
  outputs = {
    self,
    nixpkgs,
    flake-utils,
    # rust-overlay,
    fenix,
    rustaceanvim,
    cargo2nix,
  }:
    flake-utils.lib.eachDefaultSystem (
      system: let
        # see https://github.com/nix-community/poetry2nix/tree/master#api for more functions and examples.
        # overlays = [(import rust-overlay)];
        overlays = [
          fenix.overlays.default
          rustaceanvim.overlays.default
          cargo2nix.overlays.default
        ];
        pkgs = import nixpkgs {
          inherit system overlays;
          config.allowUnfree = true;
        };
        rustPkgs = pkgs.rustBuilder.makePackageSet {
          rustVersion = "1.75.0";
          packageFun = import ./Cargo.nix;
        };
        workspaceShell = rustPkgs.workspaceShell {
          packages = [
            cargo2nix.packages."${system}".cargo2nix
            (pkgs.fenix.beta.withComponents [
              # stable/beta/latest
              "cargo"
              "clippy"
              "rust-src"
              "rustc"
              "rustfmt"
            ])
            pkgs.rustaceanvim
            pkgs.rust-analyzer-nightly
            pkgs.vulkan-loader
            pkgs.openssl
          ];

          buildInputs = [
          ];
          shellHook = ''
            export VIRTUAL_ENV=gen-mods
            export LD_LIBRARY_PATH="${pkgs.vulkan-loader}/lib"
          '';
        };
      in rec {
        devShells = {
          default = workspaceShell;
        };
        packages = {
          burn-modules = rustPkgs.workspace.burn-modules {};
          default = packages.burn-modules;
        };
      }
    );
}