scaff 0.1.3

Painless scaffolding of the boring part of setting up projects that people other than you can use.
{
  description = "Painless scaffolding of the boring part of setting up projects";

  outputs = { self, nixpkgs }: let
    forAllSystems = nixpkgs.lib.genAttrs [ "x86_64-linux" "x86_64-darwin" "i686-linux" "aarch64-linux" ];
  in {
    # Packages
    packages = forAllSystems (system: let
      pkgs = nixpkgs.legacyPackages."${system}";
    in {
      scaff = (pkgs.callPackage ./Cargo.nix {}).rootCrate.build;
    });
    defaultPackage = forAllSystems (system: self.packages."${system}".scaff);

    devShell = forAllSystems (system: let
      pkgs = nixpkgs.legacyPackages."${system}";
    in pkgs.mkShell {
      # Things to be put in $PATH
      nativeBuildInputs = with pkgs; [ pkgconfig ];
      # Libraries to be installed
      buildInputs = with pkgs; [ openssl ];
    });

    # Make it runnable with `nix app`
    apps = forAllSystems (system: {
      scaff = {
        type    = "app";
        program = "${self.packages."${system}".scaff}/bin/scaff";
      };
    });
    defaultApp = forAllSystems (system: self.apps."${system}".scaff);
  };
}