From 64566fdb7704fd1eff72b5939ad77aaf53c6e37d Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Tue, 2 Nov 2021 19:51:27 -0300 Subject: nix-bundle: refactor --- .../package-management/nix-bundle/default.nix | 44 +++++++++++++++++----- 1 file changed, 34 insertions(+), 10 deletions(-) diff --git a/pkgs/tools/package-management/nix-bundle/default.nix b/pkgs/tools/package-management/nix-bundle/default.nix index 6eee4adf1d4..a32f788bf4d 100644 --- a/pkgs/tools/package-management/nix-bundle/default.nix +++ b/pkgs/tools/package-management/nix-bundle/default.nix @@ -1,4 +1,13 @@ -{ stdenv, lib, fetchFromGitHub, nix, makeWrapper, coreutils, gnutar, gzip, bzip2 }: +{ lib +, stdenv +, fetchFromGitHub +, bzip2 +, coreutils +, gnutar +, gzip +, makeWrapper +, nix +}: stdenv.mkDerivation rec { pname = "nix-bundle"; @@ -13,25 +22,40 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; - # coreutils, gnutar is actually needed by nix for bootstrap - buildInputs = [ nix coreutils gnutar gzip bzip2 ]; - - binPath = lib.makeBinPath [ nix coreutils gnutar gzip bzip2 ]; + # coreutils, gnutar are needed by nix for bootstrap + buildInputs = [ + bzip2 + coreutils + gnutar + gzip + nix + ]; makeFlags = [ "PREFIX=$(out)" ]; postInstall = '' mkdir -p $out/bin makeWrapper $out/share/nix-bundle/nix-bundle.sh $out/bin/nix-bundle \ - --prefix PATH : ${binPath} - cp $out/share/nix-bundle/nix-run.sh $out/bin/nix-run + --prefix PATH : ${lib.makeBinPath buildInputs} + ln -s $out/share/nix-bundle/nix-run.sh $out/bin/nix-run ''; meta = with lib; { - maintainers = [ maintainers.matthewbauer ]; - platforms = platforms.all; + homepage = "https://github.com/matthewbauer/nix-bundle"; description = "Create bundles from Nixpkgs attributes"; + longDescription = '' + nix-bundle is a way to package Nix attributes into single-file + executables. + + Benefits: + - Single-file output + - Can be run by non-root users + - No runtime + - Distro agnostic + - No installation + ''; license = licenses.mit; - homepage = "https://github.com/matthewbauer/nix-bundle"; + maintainers = [ maintainers.matthewbauer ]; + platforms = platforms.all; }; } -- cgit 1.4.1