nixpkgs/pkgs/tools/system/inxi/default.nix

62 lines
2.3 KiB
Nix
Raw Normal View History

{ lib, stdenv, fetchFromGitHub, perl, perlPackages, makeWrapper
, ps, dnsutils # dig is recommended for multiple categories
, withRecommends ? false # Install (almost) all recommended tools (see --recommends)
2020-11-24 15:29:28 +00:00
, withRecommendedSystemPrograms ? withRecommends, util-linuxMinimal, dmidecode
, file, hddtemp, iproute, ipmitool, usbutils, kmod, lm_sensors, smartmontools
, binutils, tree, upower, pciutils
, withRecommendedDisplayInformationPrograms ? withRecommends, glxinfo, xorg
}:
2019-01-13 18:37:32 +00:00
let
prefixPath = programs:
"--prefix PATH ':' '${stdenv.lib.makeBinPath programs}'";
recommendedSystemPrograms = lib.optionals withRecommendedSystemPrograms [
2020-11-24 15:29:28 +00:00
util-linuxMinimal dmidecode file hddtemp iproute ipmitool usbutils kmod
lm_sensors smartmontools binutils tree upower pciutils
];
recommendedDisplayInformationPrograms = lib.optionals
withRecommendedDisplayInformationPrograms
([ glxinfo ] ++ (with xorg; [ xdpyinfo xprop xrandr ]));
programs = [ ps dnsutils ] # Core programs
++ recommendedSystemPrograms
++ recommendedDisplayInformationPrograms;
in stdenv.mkDerivation rec {
pname = "inxi";
2020-12-18 12:07:30 +00:00
version = "3.2.01-1";
2019-01-13 18:37:32 +00:00
src = fetchFromGitHub {
owner = "smxi";
repo = "inxi";
rev = version;
2020-12-18 12:07:30 +00:00
sha256 = "15bakrv3jzj5h88c3bd0cfhh6hb8b4hm79924k1ygn29sqzgyw65";
2019-01-13 18:37:32 +00:00
};
buildInputs = [ perl makeWrapper ];
2019-01-13 18:37:32 +00:00
installPhase = ''
mkdir -p $out/bin
cp inxi $out/bin/
wrapProgram $out/bin/inxi \
--set PERL5LIB "${perlPackages.makePerlPath (with perlPackages; [ CpanelJSONXS ])}" \
${prefixPath programs}
2019-01-13 18:37:32 +00:00
mkdir -p $out/share/man/man1
cp inxi.1 $out/share/man/man1/
'';
meta = with stdenv.lib; {
description = "A full featured CLI system information tool";
2020-04-23 10:48:19 +00:00
longDescription = ''
inxi is a command line system information script built for console and
IRC. It is also used a debugging tool for forum technical support to
quickly ascertain users' system configurations and hardware. inxi shows
system hardware, CPU, drivers, Xorg, Desktop, Kernel, gcc version(s),
Processes, RAM usage, and a wide variety of other useful information.
'';
2020-03-17 18:34:54 +00:00
homepage = "https://smxi.org/docs/inxi.htm";
changelog = "https://github.com/smxi/inxi/blob/${version}/inxi.changelog";
2019-01-13 18:37:32 +00:00
license = licenses.gpl3Plus;
platforms = platforms.unix;
maintainers = with maintainers; [ primeos ];
};
}