nu-lint 0.0.30

Linter for Nu shell scripts that helpfully suggests improvements
Documentation
{
  pkgs ? import <nixpkgs> { },
  fetchFromGitHub ? pkgs.fetchFromGitHub,
}:
let
  meta = builtins.fromTOML (pkgs.lib.readFile ./Cargo.toml);

  fenix = pkgs.callPackage (fetchFromGitHub {
    owner = "nix-community";
    repo = "fenix";
    rev = "b0fa429fc946e6e716dff3bfb97ce6383eae9359";
    hash = "sha256-YmnUYXjacFHa8fWCo8gBAHpqlcG8+P5+5YYFhy6hOkg=";
  }) { };

  toolchain = fenix.fromToolchainFile {
    file = ./rust-toolchain.toml;
  };

  rustPlatform = pkgs.makeRustPlatform {
    cargo = toolchain;
    rustc = toolchain;
  };
in
rustPlatform.buildRustPackage {
  pname = meta.package.name;
  version = meta.package.version;

  src = pkgs.lib.cleanSource ./.;

  cargoLock = {
    lockFile = ./Cargo.lock;
  };

  nativeBuildInputs = [ ];

  buildInputs = [ ];

  meta = with pkgs.lib; {
    description = meta.package.description;
    homepage = meta.package.repository;
    license = licenses.mit;
    maintainers = meta.package.authors;
    mainProgram = meta.package.name;
    platforms = platforms.all;
  };
}