diff --git a/pkgs/tools/nix/nix-melt/default.nix b/pkgs/tools/nix/nix-melt/default.nix new file mode 100644 index 000000000000..3a0b15c8c97f --- /dev/null +++ b/pkgs/tools/nix/nix-melt/default.nix @@ -0,0 +1,40 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, installShellFiles +}: + +rustPlatform.buildRustPackage rec { + pname = "nix-melt"; + version = "0.1.2"; + + src = fetchFromGitHub { + owner = "nix-community"; + repo = "nix-melt"; + rev = "v${version}"; + hash = "sha256-5V9sPbBb9t4B6yiLrYF+hx6YokGDH6+UsVQBhgqxMbY="; + }; + + cargoHash = "sha256-yBoaLqynvYC9ebC0zjd2FmSSd53xzn4ralihtCFubAw="; + + nativeBuildInputs = [ + installShellFiles + ]; + + env = { + GEN_ARTIFACTS = "artifacts"; + }; + + postInstall = '' + installManPage artifacts/nix-melt.1 + installShellCompletion artifacts/nix-melt.{bash,fish} --zsh artifacts/_nix-melt + ''; + + meta = with lib; { + description = "A ranger-like flake.lock viewer"; + homepage = "https://github.com/nix-community/nix-melt"; + changelog = "https://github.com/nix-community/nix-melt/blob/${src.rev}/CHANGELOG.md"; + license = licenses.mpl20; + maintainers = with maintainers; [ figsoda ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 58c1f902185a..e132b9953161 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -38858,6 +38858,8 @@ with pkgs; nix-linter = haskell.lib.compose.justStaticExecutables (haskellPackages.nix-linter); + nix-melt = callPackage ../tools/nix/nix-melt { }; + nixos-option = callPackage ../tools/nix/nixos-option { nix = nixVersions.nix_2_3; }; nix-pin = callPackage ../tools/package-management/nix-pin { };