aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/tools/system
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/tools/system')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/acct/default.nix30
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/acpica-tools/default.nix36
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/actkbd/default.nix34
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/amtterm/default.nix28
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/at/default.nix59
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/at/install.patch54
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/augeas/default.nix21
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/awstats/default.nix62
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/bar/default.nix18
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/bfs/default.nix35
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/bottom/default.nix33
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/bpytop/default.nix46
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/chase/default.nix28
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/clinfo/default.nix27
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/cm-rgb/default.nix63
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/collectd/data.nix14
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/collectd/default.nix51
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/collectd/plugins.nix350
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/colorls/Gemfile2
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/colorls/Gemfile.lock21
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/colorls/default.nix18
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/colorls/gemset.nix53
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/confd/default.nix24
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/consul-template/default.nix24
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/cron/default.nix47
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/ctop/default.nix26
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/daemon/default.nix28
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/daemonize/default.nix18
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/das_watchdog/default.nix33
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/datefudge/default.nix37
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/dcfldd/default.nix23
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/dd_rescue/default.nix42
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/ddrescue/default.nix51
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/ddrescueview/default.nix42
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/ddrutility/default.nix25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/dfc/default.nix21
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/di/default.nix22
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/disk-filltest/default.nix38
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/dog/default.nix30
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/efibootmgr/default.nix39
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/efivar/default.nix64
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/envconsul/default.nix24
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/evemu/default.nix29
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/facter/default.nix36
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/fakechroot/default.nix37
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/fakeroot/default.nix48
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/fakeroot/einval.patch47
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/fcron/default.nix61
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/fcron/relative-fcronsighup.patch16
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/fdisk/default.nix29
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/fio/default.nix41
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/foreman/Gemfile3
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/foreman/Gemfile.lock15
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/foreman/default.nix15
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/foreman/gemset.nix18
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/foremost/default.nix39
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/foremost/makefile.patch23
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/freeipmi/default.nix44
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/gdmap/default.nix27
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/gdmap/get_sensitive.patch34
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/gdmap/set_flags.patch25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/gohai/default.nix32
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/gohai/deps.nix30
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/goreman/default.nix23
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/gotop/default.nix28
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/gptfdisk/default.nix46
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/gt5/default.nix26
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/hardinfo/default.nix50
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/hardlink/default.nix33
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/Gemfile3
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/Gemfile.lock17
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/default.nix17
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/gemset.nix31
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/honcho/default.nix50
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/hostctl/default.nix36
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/htop/default.nix28
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/hwinfo/default.nix40
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/idle3tools/default.nix22
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/illum/default.nix33
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/incron/default.nix36
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/incron/default_path.patch36
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/inxi/default.nix61
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/ioping/default.nix31
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/iops/default.nix29
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/ior/default.nix26
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/ipmitool/default.nix50
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/ipmiutil/default.nix32
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/ipmiutil/default.upstream4
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/java-service-wrapper/default.nix41
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/journalwatch/default.nix39
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/jump/default.nix41
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/kmon/default.nix31
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/krakenx/default.nix23
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/ledmon/default.nix35
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/loadwatch/default.nix20
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/localtime/default.nix37
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/logcheck/default.nix48
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/logrotate/default.nix40
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/lr/default.nix23
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/lshw/default.nix54
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/mcron/default.nix38
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/mcron/install-vixie-programs.patch23
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/memtester/default.nix26
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/minijail/default.nix60
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/minijail/tools.nix13
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/mlc/default.nix30
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/monit/default.nix41
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/mq-cli/default.nix24
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/netdata/default.nix84
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/netdata/go.d.plugin.nix31
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/netdata/no-files-in-etc-and-var.patch129
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/nq/default.nix25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/nvtop/default.nix34
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/opencl-info/default.nix36
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/opencl-info/opencl-info-clhpp2.diff22
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/pciutils/default.nix43
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/pcstat/default.nix24
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/pcstat/deps.nix11
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/builder.sh71
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/darwin-cfframework.patch24
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/darwin-sw_vers.patch47
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/default.nix95
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/procodile/Gemfile2
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/procodile/Gemfile.lock15
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/procodile/default.nix17
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/procodile/gemset.nix23
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/proot/default.nix46
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/ps_mem/default.nix23
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/psensor/default.nix33
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/psstop/default.nix24
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/r10k/Gemfile5
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/r10k/Gemfile.lock48
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/r10k/default.nix23
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/r10k/gemset.nix168
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/rocm-smi/default.nix30
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/rofi-systemd/default.nix46
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/rowhammer-test/default.nix29
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/rsyslog/default.nix118
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/rsyslog/fix-gnutls-detection.patch60
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/runit/default.nix61
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/runit/fix-ar-ranlib.patch18
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/s-tui/default.nix25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/s6-rc/default.nix42
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/s6/default.nix42
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/safe-rm/default.nix34
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/safecopy/default.nix30
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/setserial/default.nix27
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/sg3_utils/default.nix17
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/sleuthkit/default.nix34
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/smartmontools/default.nix43
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/smartmontools/smartmontools.patch26
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/snooze/default.nix19
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/socklog/default.nix59
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/stress-ng/default.nix72
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/stress/default.nix16
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/suid-chroot/default.nix22
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/supervise/default.nix20
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/symlinks/default.nix27
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/syslog-ng-incubator/default.nix34
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/syslog-ng/default.nix64
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/systemd-journal2gelf/default.nix23
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/testdisk/default.nix68
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/thermald/default.nix74
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/thinkfan/default.nix47
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/throttled/default.nix43
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/tm/default.nix26
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/tre-command/default.nix28
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/tree/default.nix59
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/ts/default.nix27
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/tuptime/default.nix44
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/uefitool/common.nix39
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/uefitool/variants.nix15
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/undaemonize/default.nix22
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/uptimed/default.nix30
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/uptimed/no-var-spool-install.patch15
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/vbetool/default.nix27
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/vboot_reference/default.nix50
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/vboot_reference/dont_static_link.patch30
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/which/default.nix17
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/wsmancli/default.nix36
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/xe/default.nix23
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/yeshup/default.nix25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/system/zenith/default.nix27
183 files changed, 6778 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/acct/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/acct/default.nix
new file mode 100644
index 000000000000..dd4eb0d5d2b8
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/acct/default.nix
@@ -0,0 +1,30 @@
+{ fetchurl, stdenv }:
+
+stdenv.mkDerivation rec {
+ name = "acct-6.6.4";
+
+ src = fetchurl {
+ url = "mirror://gnu/acct/${name}.tar.gz";
+ sha256 = "0gv6m8giazshvgpvwbng98chpas09myyfw1zr2y7hqxib0mvy5ac";
+ };
+
+ doCheck = true;
+
+ meta = with stdenv.lib; {
+ description = "GNU Accounting Utilities, login and process accounting utilities";
+
+ longDescription = ''
+ The GNU Accounting Utilities provide login and process accounting
+ utilities for GNU/Linux and other systems. It is a set of utilities
+ which reports and summarizes data about user connect times and process
+ execution statistics.
+ '';
+
+ license = licenses.gpl3Plus;
+
+ homepage = "https://www.gnu.org/software/acct/";
+
+ maintainers = with maintainers; [ pSub ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/acpica-tools/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/acpica-tools/default.nix
new file mode 100644
index 000000000000..62b1be619650
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/acpica-tools/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, bison, flex }:
+
+stdenv.mkDerivation rec {
+ pname = "acpica-tools";
+ version = "20200430";
+
+ src = fetchurl {
+ url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz";
+ sha256 = "0z19bniqsa8y0n1qrxmb6gz7m63jpwx22zgk5ablyriixhfpz07v";
+ };
+
+ NIX_CFLAGS_COMPILE = "-O3";
+
+ enableParallelBuilding = true;
+
+ buildFlags = [
+ "acpibin"
+ "acpidump"
+ "acpiexec"
+ "acpihelp"
+ "acpinames"
+ "acpixtract"
+ ];
+
+ nativeBuildInputs = [ bison flex ];
+
+ installFlags = [ "PREFIX=${placeholder "out"}" ];
+
+ meta = with stdenv.lib; {
+ description = "ACPICA Tools";
+ homepage = "https://www.acpica.org/";
+ license = with licenses; [ gpl2 bsd3 ];
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ tadfisher ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/actkbd/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/actkbd/default.nix
new file mode 100644
index 000000000000..706b3700a415
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/actkbd/default.nix
@@ -0,0 +1,34 @@
+{ fetchurl, stdenv }:
+
+stdenv.mkDerivation rec {
+ name = "actkbd-0.2.8";
+
+ src = fetchurl {
+ url = "http://users.softlab.ece.ntua.gr/~thkala/projects/actkbd/files/${name}.tar.bz2";
+ sha256 = "1ipb7k5q7k7p54is96ij2n74jfa6xc0llb9lpjwxhsqviqxn9slm";
+ };
+
+ preConfigure = ''
+ substituteInPlace Makefile \
+ --replace /usr/local $out \
+ --replace /etc $out/etc
+ '';
+
+ postInstall = ''
+ mkdir -p $out/share/doc/actkbd
+ cp -r README samples $out/share/doc/actkbd
+ '';
+
+ meta = with stdenv.lib; {
+ description = "A keyboard shortcut daemon";
+ longDescription = ''
+ actkbd is a simple daemon that binds actions to keyboard events
+ directly on evdev interface (that is, no X11 required). It
+ recognises key combinations and can handle press, repeat and
+ release events.
+ '';
+ license = licenses.gpl2;
+ homepage = "http://users.softlab.ece.ntua.gr/~thkala/projects/actkbd/";
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/amtterm/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/amtterm/default.nix
new file mode 100644
index 000000000000..9050111fc17b
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/amtterm/default.nix
@@ -0,0 +1,28 @@
+{ fetchurl, stdenv, makeWrapper, perl, perlPackages }:
+
+
+stdenv.mkDerivation rec {
+ pname = "amtterm";
+ version = "1.6-1";
+
+ buildInputs = with perlPackages; [ perl SOAPLite ];
+ nativeBuildInputs = [ makeWrapper ];
+
+ src = fetchurl {
+ url = "https://www.kraxel.org/cgit/amtterm/snapshot/${pname}-${version}.tar.gz";
+ sha256 = "1jxcsqkag2bxmrnr4m6g88sln1j2d9liqlna57fj8kkc85316vlc";
+ };
+
+ makeFlags = [ "prefix=$(out)" "STRIP=" ];
+
+ postInstall =
+ "wrapProgram $out/bin/amttool --prefix PERL5LIB : $PERL5LIB";
+
+ meta = with stdenv.lib;
+ { description = "Intel AMT® SoL client + tools";
+ homepage = "https://www.kraxel.org/cgit/amtterm/";
+ license = licenses.gpl2;
+ maintainers = [ maintainers.ehmry ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/at/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/at/default.nix
new file mode 100644
index 000000000000..278b14cd1999
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/at/default.nix
@@ -0,0 +1,59 @@
+{ stdenv, fetchurl, fetchpatch, bison, flex, pam, perl
+, sendmailPath ? "/run/wrappers/bin/sendmail"
+, atWrapperPath ? "/run/wrappers/bin/at"
+}:
+
+stdenv.mkDerivation rec {
+ pname = "at";
+ version = "3.1.23";
+
+ src = fetchurl {
+ # Debian is apparently the last location where it can be found.
+ url = "mirror://debian/pool/main/a/at/at_${version}.orig.tar.gz";
+ sha256 = "040pr2ivfbrhvrhzis97cpwfkzpr7nin33nc301aga5aajlhlicp";
+ };
+
+ patches = [
+ ./install.patch
+ (fetchpatch {
+ url = "https://raw.githubusercontent.com/riscv/riscv-poky/master/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch";
+ sha256 = "1rk4hskp0c1jqkanzdxf873i6jgki3xhrm609fsam8an8sl1njnm";
+ })
+ ];
+
+ nativeBuildInputs = [ bison flex perl /* for `prove` (tests) */ ];
+
+ buildInputs = [ pam ];
+
+ preConfigure =
+ ''
+ export SENDMAIL=${sendmailPath}
+ # Purity: force atd.pid to be placed in /var/run regardless of
+ # whether it exists now.
+ substituteInPlace ./configure --replace "test -d /var/run" "true"
+ '';
+
+ configureFlags = [
+ "--with-etcdir=/etc/at"
+ "--with-jobdir=/var/spool/atjobs"
+ "--with-atspool=/var/spool/atspool"
+ "--with-daemon_username=atd"
+ "--with-daemon_groupname=atd"
+ ];
+
+ doCheck = true;
+
+ # Ensure that "batch" can invoke the setuid "at" wrapper, if it exists, or
+ # else we get permission errors (on NixOS). "batch" is a shell script, so
+ # when the kernel executes it it drops setuid perms.
+ postInstall = ''
+ sed -i "6i test -x ${atWrapperPath} && exec ${atWrapperPath} -qb now # exec doesn't return" "$out/bin/batch"
+ '';
+
+ meta = {
+ description = ''The classical Unix `at' job scheduling command'';
+ license = stdenv.lib.licenses.gpl2Plus;
+ homepage = "https://packages.qa.debian.org/at";
+ platforms = stdenv.lib.platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/at/install.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/at/install.patch
new file mode 100644
index 000000000000..41a35a789538
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/at/install.patch
@@ -0,0 +1,54 @@
+--- at-3.1.14/Makefile.in 2013-09-08 14:43:53.000000000 +0200
++++ at-3.1.14/Makefile.in 2014-07-27 20:42:04.017703443 +0200
+@@ -91,35 +91,28 @@
+ $(CC) -c $(CFLAGS) $(DEFS) $*.c
+
+ install: all
+- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(etcdir)
+- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(bindir)
+- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(sbindir)
+- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(docdir)
+- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(atdocdir)
+- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d $(IROOT)$(ATSPOOL_DIR) $(IROOT)$(ATJOB_DIR)
+- chmod 1770 $(IROOT)$(ATSPOOL_DIR) $(IROOT)$(ATJOB_DIR)
+- touch $(IROOT)$(LFILE)
+- chmod 600 $(IROOT)$(LFILE)
+- chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(IROOT)$(LFILE)
+- test -f $(IROOT)$(etcdir)/at.allow || test -f $(IROOT)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 at.deny $(IROOT)$(etcdir)/
+- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 at $(IROOT)$(bindir)
++ $(INSTALL) -m 755 -d $(IROOT)$(bindir)
++ $(INSTALL) -m 755 -d $(IROOT)$(sbindir)
++ $(INSTALL) -m 755 -d $(IROOT)$(docdir)
++ $(INSTALL) -m 755 -d $(IROOT)$(atdocdir)
++ $(INSTALL) -m 0755 at $(IROOT)$(bindir)
+ $(LN_S) -f at $(IROOT)$(bindir)/atq
+ $(LN_S) -f at $(IROOT)$(bindir)/atrm
+- $(INSTALL) -g root -o root -m 755 batch $(IROOT)$(bindir)
+- $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man1dir)
+- $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man5dir)
+- $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man8dir)
+- $(INSTALL) -g root -o root -m 755 atd $(IROOT)$(sbindir)
+- $(INSTALL) -g root -o root -m 755 atrun $(IROOT)$(sbindir)
+- $(INSTALL) -g root -o root -m 644 at.1 $(IROOT)$(man1dir)/
++ $(INSTALL) -m 755 batch $(IROOT)$(bindir)
++ $(INSTALL) -d -m 755 $(IROOT)$(man1dir)
++ $(INSTALL) -d -m 755 $(IROOT)$(man5dir)
++ $(INSTALL) -d -m 755 $(IROOT)$(man8dir)
++ $(INSTALL) -m 755 atd $(IROOT)$(sbindir)
++ $(INSTALL) -m 755 atrun $(IROOT)$(sbindir)
++ $(INSTALL) -m 644 at.1 $(IROOT)$(man1dir)/
+ cd $(IROOT)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1 batch.1 && $(LN_S) -f at.1 atrm.1
+- $(INSTALL) -g root -o root -m 644 atd.8 $(IROOT)$(man8dir)/
++ $(INSTALL) -m 644 atd.8 $(IROOT)$(man8dir)/
+ sed "s,\$${exec_prefix},$(exec_prefix),g" <atrun.8>tmpman
+- $(INSTALL) -g root -o root -m 644 tmpman $(IROOT)$(man8dir)/atrun.8
++ $(INSTALL) -m 644 tmpman $(IROOT)$(man8dir)/atrun.8
+ rm -f tmpman
+- $(INSTALL) -g root -o root -m 644 at.allow.5 $(IROOT)$(man5dir)/
++ $(INSTALL) -m 644 at.allow.5 $(IROOT)$(man5dir)/
+ cd $(IROOT)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5
+- $(INSTALL) -g root -o root -m 644 $(DOCS) $(IROOT)$(atdocdir)
++ $(INSTALL) -m 644 $(DOCS) $(IROOT)$(atdocdir)
+ rm -f $(IROOT)$(mandir)/cat1/at.1* $(IROOT)$(mandir)/cat1/batch.1* \
+ $(IROOT)$(mandir)/cat1/atq.1*
+ rm -f $(IROOT)$(mandir)/cat1/atd.8*
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/augeas/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/augeas/default.nix
new file mode 100644
index 000000000000..338b8f8ac453
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/augeas/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pkgconfig, readline, libxml2 }:
+
+stdenv.mkDerivation rec {
+ pname = "augeas";
+ version = "1.12.0";
+
+ src = fetchurl {
+ url = "http://download.augeas.net/${pname}-${version}.tar.gz";
+ sha256 = "11ybhb13wkkilsn7b416a1dn61m1xrq0lbdpkhp5w61jrk4l469j";
+ };
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = [ readline libxml2 ];
+
+ meta = with stdenv.lib; {
+ description = "Configuration editing tool";
+ license = licenses.lgpl2;
+ homepage = "http://augeas.net/";
+ maintainers = with maintainers; [ offline ];
+ platforms = platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/awstats/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/awstats/default.nix
new file mode 100644
index 000000000000..9da6ac59f3de
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/awstats/default.nix
@@ -0,0 +1,62 @@
+{ stdenv, fetchurl, perlPackages, jdk }:
+
+perlPackages.buildPerlPackage rec {
+ pname = "awstats";
+ version = "7.7";
+
+ src = fetchurl {
+ url = "mirror://sourceforge/awstats/${pname}-${version}.tar.gz";
+ sha256 = "0z3p77jnpjilajs9yv87r8xla2x1gjqlvrhpbgbh5ih73386v3j2";
+ };
+
+ postPatch = ''
+ substituteInPlace wwwroot/cgi-bin/awstats.pl \
+ --replace /usr/share/awstats/ "$out/wwwroot/cgi-bin/"
+ '';
+
+ outputs = [ "bin" "out" "doc" ]; # bin just links the user-run executable
+ propagatedBuildOutputs = [ ]; # otherwise out propagates bin -> cycle
+
+ buildInputs = with perlPackages; [ ]; # plugins will need some
+
+ preConfigure = ''
+ touch Makefile.PL
+ patchShebangs .
+ '';
+
+ # build our own JAR
+ preBuild = ''
+ (
+ cd wwwroot/classes/src
+ rm ../*.jar
+ PATH="${jdk}/bin" "$(type -P perl)" Makefile.pl
+ test -f ../*.jar
+ )
+ '';
+
+ doCheck = false;
+
+ installPhase = ''
+ mkdir "$out"
+ mv wwwroot "$out/wwwroot"
+ rm -r "$out/wwwroot/classes/src/"
+
+ mkdir -p "$out/share/awstats"
+ mv tools "$out/share/awstats/tools"
+
+ mkdir -p "$bin/bin"
+ ln -s "$out/wwwroot/cgi-bin/awstats.pl" "$bin/bin/awstats"
+
+ mkdir -p "$doc/share/doc"
+ mv README.md docs/
+ mv docs "$doc/share/doc/awstats"
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Real-time logfile analyzer to get advanced statistics";
+ homepage = "http://awstats.org";
+ license = licenses.gpl3Plus;
+ platforms = platforms.unix;
+ };
+}
+
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/bar/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/bar/default.nix
new file mode 100644
index 000000000000..32945a24bb16
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/bar/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
+ name = "bar-1.11.1";
+
+ src = fetchurl {
+ url = "mirror://sourceforge/project/clpbar/clpbar/bar-1.11.1/bar_1.11.1.tar.gz";
+ sha256 = "00v5cb6vzizyyhflgr62d3k8dqc0rg6wdgfyyk11c0s0r32mw3zs";
+ };
+
+ meta = {
+ description = "Console progress bar";
+ homepage = "http://clpbar.sourceforge.net/";
+ license = stdenv.lib.licenses.gpl2;
+ maintainers = [ stdenv.lib.maintainers.rdnetto ];
+ platforms = stdenv.lib.platforms.all;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/bfs/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/bfs/default.nix
new file mode 100644
index 000000000000..c0755fafc06a
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/bfs/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, libcap, acl }:
+
+stdenv.mkDerivation rec {
+ pname = "bfs";
+ version = "2.1";
+
+ src = fetchFromGitHub {
+ repo = "bfs";
+ owner = "tavianator";
+ rev = version;
+ sha256 = "1iricyigm0rsc8fr91vk3krvyafbnp0y3ww1rjv94l6jbdl7rrlb";
+ };
+
+ buildInputs = stdenv.lib.optionals stdenv.isLinux [ libcap acl ];
+
+ # Disable LTO on darwin. See https://github.com/NixOS/nixpkgs/issues/19098
+ preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
+ substituteInPlace Makefile --replace "-flto -DNDEBUG" "-DNDEBUG"
+ '';
+
+ makeFlags = [ "PREFIX=$(out)" ];
+ buildFlags = [ "release" ]; # "release" enables compiler optimizations
+
+ meta = with stdenv.lib; {
+ description = "A breadth-first version of the UNIX find command";
+ longDescription = ''
+ bfs is a variant of the UNIX find command that operates breadth-first rather than
+ depth-first. It is otherwise intended to be compatible with many versions of find.
+ '';
+ homepage = "https://github.com/tavianator/bfs";
+ license = licenses.bsd0;
+ platforms = platforms.unix;
+ maintainers = with maintainers; [ yesbox ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/bottom/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/bottom/default.nix
new file mode 100644
index 000000000000..8c5e2833212c
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/bottom/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, rustPlatform, darwin, installShellFiles }:
+
+rustPlatform.buildRustPackage rec {
+ pname = "bottom";
+ version = "0.5.3";
+
+ src = fetchFromGitHub {
+ owner = "ClementTsang";
+ repo = pname;
+ rev = version;
+ sha256 = "sha256-Gc2bL7KqDqab0hCCOi2rtEw+5r0bSETzTipLLdX/ipk=";
+ };
+
+ nativeBuildInputs = [ installShellFiles ];
+
+ buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.IOKit;
+
+ cargoSha256 = "sha256-Bdkq3cTuziTQ7/BkvuBHbfuxRIXnz4h2OadoAGNTBc0=";
+
+ doCheck = false;
+
+ postInstall = ''
+ installShellCompletion $releaseDir/build/bottom-*/out/btm.{bash,fish} --zsh $releaseDir/build/bottom-*/out/_btm
+ '';
+
+ meta = with stdenv.lib; {
+ description = "A cross-platform graphical process/system monitor with a customizable interface";
+ homepage = "https://github.com/ClementTsang/bottom";
+ license = licenses.mit;
+ maintainers = with maintainers; [ berbiche ];
+ platforms = platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/bpytop/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/bpytop/default.nix
new file mode 100644
index 000000000000..feaebc14e0ad
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/bpytop/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, python3Packages, fetchFromGitHub, makeWrapper, substituteAll }:
+
+stdenv.mkDerivation rec {
+ pname = "bpytop";
+ version = "1.0.50";
+
+ src = fetchFromGitHub {
+ owner = "aristocratos";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "10j2g19sh2hl5lzbcllr862hkzr0mc1z8n24afzaycn1sphri8fc";
+ };
+
+ buildInputs = [ makeWrapper ];
+ propagatedBuildInputs = with python3Packages; [ python psutil ];
+
+ dontBuild = true;
+
+ postPatch = ''
+ sed -i -e "s#/usr/\[local/\]#$out/#g" \
+ -e "s#/usr/{td}#$out/#g" \
+ -e "s#THEME_DIR: str = \"\"#THEME_DIR: str = \"$out/share/bpytop/themes\"#" \
+ ./bpytop.py
+ '';
+
+ installPhase = ''
+ mkdir -p $out/{bin,libexec,share/bpytop}/
+ cp -r ./themes $out/share/bpytop/
+ cp ./bpytop.py $out/libexec/
+
+ makeWrapper ${python3Packages.python.interpreter} $out/bin/bpytop \
+ --add-flags "$out/libexec/bpytop.py" \
+ --prefix PYTHONPATH : "$PYTHONPATH"
+ '';
+
+ meta = with stdenv.lib; {
+ description = "A resource monitor; python port of bashtop";
+ homepage = src.meta.homepage;
+ license = licenses.apsl20;
+ maintainers = with maintainers; [ aw ];
+ platforms = with platforms; linux ++ freebsd ++ darwin;
+
+ # https://github.com/NixOS/nixpkgs/pull/94625#issuecomment-668509399
+ broken = stdenv.isDarwin;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/chase/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/chase/default.nix
new file mode 100644
index 000000000000..c4396aad9ca6
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/chase/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl ,pkgconfig, libatomic_ops , boehmgc }:
+
+stdenv.mkDerivation rec {
+ pname = "chase";
+ version = "0.5.2";
+
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = [ libatomic_ops boehmgc ] ;
+ src = fetchurl {
+ url = "mirror://debian/pool/main/c/chase/chase_${version}.orig.tar.gz";
+ sha256 = "68d95c2d4dc45553b75790fcea4413b7204a2618dff148116ca9bdb0310d737f";
+ };
+
+ doCheck = true;
+ makeFlags = [ "-e" ];
+ makeFlagsArray="LIBS=-lgc";
+
+ meta = with stdenv.lib ; {
+ description = "Follow a symlink and print out its target file";
+ longDescription = ''
+ A commandline program that chases symbolic filesystems links to the original file
+ '';
+ homepage = "https://qa.debian.org/developer.php?login=rotty%40debian.org";
+ license = licenses.gpl2Plus;
+ maintainers = [ maintainers.polyrod ];
+ platforms = platforms.all;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/clinfo/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/clinfo/default.nix
new file mode 100644
index 000000000000..9e9b4df80880
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/clinfo/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, ocl-icd, opencl-headers }:
+
+stdenv.mkDerivation rec {
+ pname = "clinfo";
+ version = "3.0.20.11.20";
+
+ src = fetchFromGitHub {
+ owner = "Oblomov";
+ repo = "clinfo";
+ rev = version;
+ sha256 = "052xfkbmgfpalmhfwn0dj5114x2mzwz29y37qqhhsdpaxsz0y422";
+ };
+
+ buildInputs = [ ocl-icd opencl-headers ];
+
+ NIX_CFLAGS_COMPILE = [ "-Wno-error=stringop-truncation" ];
+
+ makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
+ meta = with stdenv.lib; {
+ description = "Print all known information about all available OpenCL platforms and devices in the system";
+ homepage = "https://github.com/Oblomov/clinfo";
+ license = licenses.cc0;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ athas ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/cm-rgb/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/cm-rgb/default.nix
new file mode 100644
index 000000000000..acfe440b5d5c
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/cm-rgb/default.nix
@@ -0,0 +1,63 @@
+{ stdenv
+, buildPythonApplication
+, fetchFromGitHub
+, atk
+, gobject-introspection
+, wrapGAppsHook
+, click
+, hidapi
+, psutil
+, pygobject3
+}:
+
+buildPythonApplication rec {
+ pname = "cm-rgb";
+ version = "0.3.4";
+
+ src = fetchFromGitHub {
+ owner = "gfduszynski";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "04brldaa2zpvzkcg43i5hpbj03d1nqrgiplm5nh4shn12cif19ag";
+ };
+
+ nativeBuildInputs = [
+ atk
+
+ # Populate GI_TYPELIB_PATH
+ gobject-introspection
+ wrapGAppsHook
+ ];
+
+ propagatedBuildInputs = [
+ click
+ hidapi
+ psutil
+ pygobject3
+ ];
+
+ postInstall = ''
+ # Remove this line when/if this PR gets merged:
+ # https://github.com/gfduszynski/cm-rgb/pull/43
+ install -m0755 scripts/cm-rgb-gui $out/bin/cm-rgb-gui
+
+ mkdir -p $out/etc/udev/rules.d
+ echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="2516", ATTR{idProduct}=="0051", TAG+="uaccess"' \
+ > $out/etc/udev/rules.d/60-cm-rgb.rules
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Control AMD Wraith Prism RGB LEDs";
+ longDescription = ''
+ cm-rgb controls AMD Wraith Prism RGB LEDS.
+
+ To permit non-root accounts to change use this utility on
+ NixOS, add this package to <literal>services.udev.packages</literal>
+ in <filename>configuration.nix</filename>.
+ '';
+ homepage = "https://github.com/gfduszynski/cm-rgb";
+ license = licenses.mit;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ danieldk ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/collectd/data.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/collectd/data.nix
new file mode 100644
index 000000000000..378eb62d6cc5
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/collectd/data.nix
@@ -0,0 +1,14 @@
+{ stdenv, collectd }:
+
+stdenv.mkDerivation {
+ inherit (collectd) meta version;
+
+ pname = "collectd-data";
+
+ phases = [ "installPhase" ];
+
+ installPhase = ''
+ mkdir -p $out/share/collectd
+ cp ${collectd}/share/collectd/*.{db,conf} $out/share/collectd/
+ '';
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/collectd/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/collectd/default.nix
new file mode 100644
index 000000000000..278ab9056ad9
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/collectd/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchurl, fetchpatch, darwin, callPackage
+, autoreconfHook
+, pkgconfig
+, libtool
+, ...
+}@args:
+let
+ plugins = callPackage ./plugins.nix args;
+in
+stdenv.mkDerivation rec {
+ version = "5.12.0";
+ pname = "collectd";
+
+ src = fetchurl {
+ url = "https://collectd.org/files/${pname}-${version}.tar.bz2";
+ sha256 = "1mh97afgq6qgmpvpr84zngh58m0sl1b4wimqgvvk376188q09bjv";
+ };
+
+ nativeBuildInputs = [ pkgconfig autoreconfHook ];
+ buildInputs = [
+ libtool
+ ] ++ stdenv.lib.optionals stdenv.isDarwin [
+ darwin.apple_sdk.frameworks.ApplicationServices
+ ] ++ plugins.buildInputs;
+
+ configureFlags = [
+ "--localstatedir=/var"
+ "--disable-werror"
+ ] ++ plugins.configureFlags;
+
+ # do not create directories in /var during installPhase
+ postConfigure = ''
+ substituteInPlace Makefile --replace '$(mkinstalldirs) $(DESTDIR)$(localstatedir)/' '#'
+ '';
+
+ postInstall = ''
+ if [ -d $out/share/collectd/java ]; then
+ mv $out/share/collectd/java $out/share/
+ fi
+ '';
+
+ enableParallelBuilding = true;
+
+ meta = with stdenv.lib; {
+ description = "Daemon which collects system performance statistics periodically";
+ homepage = "https://collectd.org";
+ license = licenses.gpl2;
+ platforms = platforms.unix;
+ maintainers = with maintainers; [ bjornfor fpletz ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/collectd/plugins.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/collectd/plugins.nix
new file mode 100644
index 000000000000..defeed4c8928
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/collectd/plugins.nix
@@ -0,0 +1,350 @@
+{ stdenv
+, curl
+, darwin
+, hiredis
+, iptables
+, jdk
+, libatasmart
+, libdbi
+, libgcrypt
+, libmemcached, cyrus_sasl
+, libmodbus
+, libmicrohttpd
+, libmnl
+, libmysqlclient
+, libnotify, gdk-pixbuf
+, liboping
+, libpcap
+, libsigrok
+, libvirt
+, libxml2
+, libapparmor, libcap_ng, numactl
+, lvm2
+, lua
+, lm_sensors
+, mongoc
+, mosquitto
+, net-snmp
+, perl
+, postgresql
+, protobufc
+, python
+, rabbitmq-c
+, rdkafka
+, riemann_c_client
+, rrdtool
+, udev
+, varnish
+, yajl
+# Defaults to `null` for all supported plugins,
+# list of plugin names for a custom build
+, enabledPlugins ? null
+, ...
+}:
+
+let
+ # All plugins and their dependencies.
+ # Please help complete this!
+ plugins = {
+ aggregation = {};
+ amqp = {
+ buildInputs = [ yajl ] ++
+ stdenv.lib.optionals stdenv.isLinux [ rabbitmq-c ];
+ };
+ apache = {
+ buildInputs = [ curl ];
+ };
+ apcups = {};
+ apple_sensors = {};
+ aquaero = {};
+ ascent = {
+ buildInputs = [ curl libxml2 ];
+ };
+ barometer = {};
+ battery = {
+ buildInputs = stdenv.lib.optionals stdenv.isDarwin [
+ darwin.apple_sdk.frameworks.IOKit
+ ];
+ };
+ bind = {
+ buildInputs = [ curl libxml2 ];
+ };
+ ceph = {
+ buildInputs = [ yajl ];
+ };
+ cgroups = {};
+ chrony = {};
+ conntrack = {};
+ contextswitch = {};
+ cpu = {};
+ cpufreq = {};
+ cpusleep = {};
+ csv = {};
+ curl = {
+ buildInputs = [ curl ];
+ };
+ curl_json = {
+ buildInputs = [ curl yajl ];
+ };
+ curl_xml = {
+ buildInputs = [ curl libxml2 ];
+ };
+ dbi = {
+ buildInputs = [ libdbi ];
+ };
+ df = {};
+ disk = {
+ buildInputs = stdenv.lib.optionals stdenv.isLinux [
+ udev
+ ] ++ stdenv.lib.optionals stdenv.isDarwin [
+ darwin.apple_sdk.frameworks.IOKit
+ ];
+ };
+ dns = {
+ buildInputs = [ libpcap ];
+ };
+ dpdkevents = {};
+ dpdkstat = {};
+ drbd = {};
+ email = {};
+ entropy = {};
+ ethstat = {};
+ exec = {};
+ fhcount = {};
+ filecount = {};
+ fscache = {};
+ gmond = {};
+ gps = {};
+ grpc = {};
+ hddtemp = {};
+ hugepages = {};
+ intel_pmu = {};
+ intel_rdt = {};
+ interface = {};
+ ipc = {};
+ ipmi = {};
+ iptables = {
+ buildInputs = [
+ libpcap
+ ] ++ stdenv.lib.optionals stdenv.isLinux [
+ iptables libmnl
+ ];
+ };
+ ipvs = {};
+ irq = {};
+ java = {
+ buildInputs = [ jdk libgcrypt libxml2 ];
+ };
+ load = {};
+ logfile = {};
+ log_logstash = {
+ buildInputs = [ yajl ];
+ };
+ lpar = {};
+ lua = {
+ buildInputs = [ lua ];
+ };
+ lvm = {};
+ madwifi = {};
+ match_empty_counter = {};
+ match_hashed = {};
+ match_regex = {};
+ match_timediff = {};
+ match_value = {};
+ mbmon = {};
+ mcelog = {};
+ md = {};
+ memcachec = {
+ buildInputs = [ libmemcached cyrus_sasl ];
+ };
+ memcached = {};
+ memory = {};
+ mic = {};
+ modbus = {
+ buildInputs = stdenv.lib.optionals stdenv.isLinux [ libmodbus ];
+ };
+ mqtt = {
+ buildInputs = [ mosquitto ];
+ };
+ multimeter = {};
+ mysql = {
+ buildInputs = stdenv.lib.optionals (libmysqlclient != null) [
+ libmysqlclient
+ ];
+ };
+ netapp = {};
+ netlink = {
+ buildInputs = [
+ libpcap
+ ] ++ stdenv.lib.optionals stdenv.isLinux [
+ libmnl
+ ];
+ };
+ network = {
+ buildInputs = [ libgcrypt ];
+ };
+ nfs = {};
+ nginx = {
+ buildInputs = [ curl ];
+ };
+ notify_desktop = {
+ buildInputs = [ libnotify gdk-pixbuf ];
+ };
+ notify_email = {};
+ notify_nagios = {};
+ ntpd = {};
+ numa = {};
+ nut = {};
+ olsrd = {};
+ onewire = {};
+ openldap = {};
+ openvpn = {};
+ oracle = {};
+ ovs_events = {
+ buildInputs = [ yajl ];
+ };
+ ovs_stats = {
+ buildInputs = [ yajl ];
+ };
+ perl = {
+ buildInputs = [ perl ];
+ };
+ pf = {};
+ pinba = {
+ buildInputs = [ protobufc ];
+ };
+ ping = {
+ buildInputs = [ liboping ];
+ };
+ postgresql = {
+ buildInputs = [ postgresql ];
+ };
+ powerdns = {};
+ processes = {};
+ protocols = {};
+ python = {
+ buildInputs = [ python ];
+ };
+ redis = {
+ buildInputs = [ hiredis ];
+ };
+ routeros = {};
+ rrdcached = {
+ buildInputs = [ rrdtool libxml2 ];
+ };
+ rrdtool = {
+ buildInputs = [ rrdtool libxml2 ];
+ };
+ sensors = {
+ buildInputs = stdenv.lib.optionals stdenv.isLinux [ lm_sensors ];
+ };
+ serial = {};
+ sigrok = {
+ buildInputs = stdenv.lib.optionals stdenv.isLinux [ libsigrok udev ];
+ };
+ smart = {
+ buildInputs = stdenv.lib.optionals stdenv.isLinux [ libatasmart udev ];
+ };
+ snmp = {
+ buildInputs = stdenv.lib.optionals stdenv.isLinux [ net-snmp ];
+ };
+ snmp_agent = {
+ buildInputs = stdenv.lib.optionals stdenv.isLinux [ net-snmp ];
+ };
+ statsd = {};
+ swap = {};
+ synproxy = {};
+ syslog = {};
+ table = {};
+ tail_csv = {};
+ tail = {};
+ tape = {};
+ target_notification = {};
+ target_replace = {};
+ target_scale = {};
+ target_set = {};
+ target_v5upgrade = {};
+ tcpconns = {};
+ teamspeak2 = {};
+ ted = {};
+ thermal = {};
+ threshold = {};
+ tokyotyrant = {};
+ turbostat = {};
+ unixsock = {};
+ uptime = {};
+ users = {};
+ uuid = {};
+ varnish = {
+ buildInputs = [ curl varnish ];
+ };
+ virt = {
+ buildInputs = [ libvirt libxml2 yajl ] ++
+ stdenv.lib.optionals stdenv.isLinux [ lvm2 udev
+ # those might be no longer required when https://github.com/NixOS/nixpkgs/pull/51767
+ # is merged
+ libapparmor numactl libcap_ng
+ ];
+ };
+ vmem = {};
+ vserver = {};
+ wireless = {};
+ write_graphite = {};
+ write_http = {
+ buildInputs = [ curl yajl ];
+ };
+ write_kafka = {
+ buildInputs = [ yajl rdkafka ];
+ };
+ write_log = {
+ buildInputs = [ yajl ];
+ };
+ write_mongodb = {
+ buildInputs = [ mongoc ];
+ };
+ write_prometheus = {
+ buildInputs = [ protobufc libmicrohttpd ];
+ };
+ write_redis = {
+ buildInputs = [ hiredis ];
+ };
+ write_riemann = {
+ buildInputs = [ protobufc riemann_c_client ];
+ };
+ write_sensu = {};
+ write_tsdb = {};
+ xencpu = {};
+ xmms = {};
+ zfs_arc = {};
+ zone = {};
+ zookeeper = {};
+ };
+
+ configureFlags =
+ if enabledPlugins == null
+ then []
+ else (map (plugin: "--enable-${plugin}") enabledPlugins) ++
+ (map (plugin: "--disable-${plugin}")
+ (builtins.filter (plugin: ! builtins.elem plugin enabledPlugins)
+ (builtins.attrNames plugins))
+ );
+
+ pluginBuildInputs = plugin:
+ if ! builtins.hasAttr plugin plugins
+ then throw "Unknown collectd plugin: ${plugin}"
+ else
+ let
+ pluginAttrs = builtins.getAttr plugin plugins;
+ in
+ if pluginAttrs ? "buildInputs"
+ then pluginAttrs.buildInputs
+ else [];
+
+ buildInputs =
+ if enabledPlugins == null
+ then builtins.concatMap pluginBuildInputs
+ (builtins.attrNames plugins)
+ else builtins.concatMap pluginBuildInputs enabledPlugins;
+in {
+ inherit configureFlags buildInputs;
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/colorls/Gemfile b/infra/libkookie/nixpkgs/pkgs/tools/system/colorls/Gemfile
new file mode 100644
index 000000000000..0d41bd279ccb
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/colorls/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'colorls'
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/colorls/Gemfile.lock b/infra/libkookie/nixpkgs/pkgs/tools/system/colorls/Gemfile.lock
new file mode 100644
index 000000000000..d138a167ce74
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/colorls/Gemfile.lock
@@ -0,0 +1,21 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ clocale (0.0.4)
+ colorls (1.4.2)
+ clocale (~> 0)
+ filesize (~> 0)
+ manpages (~> 0)
+ rainbow (>= 2.2, < 4.0)
+ filesize (0.2.0)
+ manpages (0.6.1)
+ rainbow (3.0.0)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ colorls
+
+BUNDLED WITH
+ 2.1.4
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/colorls/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/colorls/default.nix
new file mode 100644
index 000000000000..8243590cd7d5
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/colorls/default.nix
@@ -0,0 +1,18 @@
+{ lib, bundlerApp, ruby, bundlerUpdateScript }:
+
+bundlerApp {
+ pname = "colorls";
+
+ gemdir = ./.;
+ exes = [ "colorls" ];
+
+ passthru.updateScript = bundlerUpdateScript "colorls";
+
+ meta = with lib; {
+ description = "Prettified LS";
+ homepage = "https://github.com/athityakumar/colorls";
+ license = with licenses; mit;
+ maintainers = with maintainers; [ lukebfox nicknovitski cbley ];
+ platforms = ruby.meta.platforms;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/colorls/gemset.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/colorls/gemset.nix
new file mode 100644
index 000000000000..2e4a26ff9182
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/colorls/gemset.nix
@@ -0,0 +1,53 @@
+{
+ clocale = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "065pb7hzmd6zndbln4ag94bjpw3hsm71jagsgiqskpxhgrbq03jz";
+ type = "gem";
+ };
+ version = "0.0.4";
+ };
+ colorls = {
+ dependencies = ["clocale" "filesize" "manpages" "rainbow"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0sw377wklld5zn1la0smxc2bg4rph2xf9d0h3zmxhmds06lb92db";
+ type = "gem";
+ };
+ version = "1.4.2";
+ };
+ filesize = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "17p7rf1x7h3ivaznb4n4kmxnnzj25zaviryqgn2n12v2kmibhp8g";
+ type = "gem";
+ };
+ version = "0.2.0";
+ };
+ manpages = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "11p6ilnfda6af15ks3xiz2pr0hkvdvadnk1xm4ahqlf84dld3fnd";
+ type = "gem";
+ };
+ version = "0.6.1";
+ };
+ rainbow = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk";
+ type = "gem";
+ };
+ version = "3.0.0";
+ };
+} \ No newline at end of file
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/confd/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/confd/default.nix
new file mode 100644
index 000000000000..25f03e1a665f
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/confd/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+ pname = "confd";
+ version = "0.16.0";
+ rev = "v${version}";
+
+ goPackagePath = "github.com/kelseyhightower/confd";
+ subPackages = [ "./" ];
+
+ src = fetchFromGitHub {
+ inherit rev;
+ owner = "kelseyhightower";
+ repo = "confd";
+ sha256 = "0q7r6dkgirnmqi3rhqdaai88jqzw52l6jdrrwsf2qq0hva09961p";
+ };
+
+ meta = {
+ description = "Manage local application configuration files using templates and data from etcd or consul";
+ homepage = "https://github.com/kelseyhightower/confd";
+ license = lib.licenses.mit;
+ maintainers = [ lib.maintainers.zimbatm ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/consul-template/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/consul-template/default.nix
new file mode 100644
index 000000000000..69d5cd6bb736
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/consul-template/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+ pname = "consul-template";
+ version = "0.19.4";
+ rev = "v${version}";
+
+ goPackagePath = "github.com/hashicorp/consul-template";
+
+ src = fetchFromGitHub {
+ inherit rev;
+ owner = "hashicorp";
+ repo = "consul-template";
+ sha256 = "06agjzpax45gw7s9b69cz9w523nx7ksikqcg0z0vipwrp7pwrydd";
+ };
+
+ meta = with stdenv.lib; {
+ homepage = "https://github.com/hashicorp/consul-template/";
+ description = "Generic template rendering and notifications with Consul";
+ platforms = platforms.linux ++ platforms.darwin;
+ license = licenses.mpl20;
+ maintainers = with maintainers; [ pradeepchhetri ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/cron/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/cron/default.nix
new file mode 100644
index 000000000000..9cde31205e1f
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/cron/default.nix
@@ -0,0 +1,47 @@
+{stdenv, fetchurl, vim, sendmailPath ? "/usr/sbin/sendmail"}:
+
+stdenv.mkDerivation {
+ name = "cron-4.1";
+ src = fetchurl {
+ url = "ftp://ftp.isc.org/isc/cron/cron_4.1.shar";
+ sha256 = "16n3dras4b1jh7g958nz1k54pl9pg5fwb3fvjln8z67varvq6if4";
+ };
+
+ unpackCmd = "(mkdir cron && cd cron && sh $curSrc)";
+
+ hardeningEnable = [ "pie" ];
+
+ preBuild = ''
+ # do not set sticky bit in /nix/store
+ substituteInPlace Makefile --replace ' -o root' ' ' --replace 111 755 --replace 4755 0755
+ # do not strip during install, broken on cross and we'll do ourselves as needed
+ substituteInPlace Makefile --replace ' -s cron' ' cron'
+ makeFlags="DESTROOT=$out CC=$CC"
+
+ # We want to ignore the $glibc/include/paths.h definition of
+ # sendmail path.
+ # Also set a usable default PATH (#16518).
+ cat >> pathnames.h <<__EOT__
+ #undef _PATH_SENDMAIL
+ #define _PATH_SENDMAIL "${sendmailPath}"
+
+ #undef _PATH_VI
+ #define _PATH_VI "${vim}/bin/vim"
+
+ #undef _PATH_DEFPATH
+ #define _PATH_DEFPATH "/run/wrappers/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/usr/bin:/bin"
+ __EOT__
+
+ # Implicit saved uids do not work here due to way NixOS uses setuid wrappers
+ # (#16518).
+ echo "#undef HAVE_SAVED_UIDS" >> externs.h
+ '';
+
+ preInstall = "mkdir -p $out/bin $out/sbin $out/share/man/man1 $out/share/man/man5 $out/share/man/man8";
+
+ meta = with stdenv.lib; {
+ description = "Daemon for running commands at specific times (Vixie Cron)";
+ license = licenses.bsd0;
+ platforms = with platforms; linux ++ darwin;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/ctop/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/ctop/default.nix
new file mode 100644
index 000000000000..2b538d66322f
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/ctop/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+ pname = "ctop";
+ version = "0.7.5";
+
+ src = fetchFromGitHub {
+ owner = "bcicen";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "0mm1gapnz67mwc346jr530xwpiajq1b2f295s8gz5nrb2a23mqln";
+ };
+
+ vendorSha256 = "0a5rwnf251jbp7jz2ln8z9hqp0112c6kx0y09nncvlcki35qq9sh";
+
+ doCheck = false;
+
+ buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version} -X main.build=v${version}" ];
+
+ meta = with lib; {
+ description = "Top-like interface for container metrics";
+ homepage = "https://ctop.sh/";
+ license = licenses.mit;
+ maintainers = with maintainers; [ apeyroux marsam ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/daemon/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/daemon/default.nix
new file mode 100644
index 000000000000..29f976998d53
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/daemon/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, perl }:
+
+stdenv.mkDerivation rec {
+ pname = "daemon";
+ version = "0.7";
+
+ src = fetchurl {
+ url = "http://libslack.org/daemon/download/daemon-${version}.tar.gz";
+ sha256 = "0b17zzl7bqnkn7a4pr3l6fxqfmxfld7izphrab5nvhc4wzng4spn";
+ };
+
+ makeFlags = [ "PREFIX=$(out)" ];
+ buildInputs = [ perl ];
+
+ meta = with stdenv.lib; {
+ description = "Turns other processes into daemons";
+ longDescription = ''
+ Daemon turns other process into daemons. There are many tasks that need
+ to be performed to correctly set up a daemon process. This can be tedious.
+ Daemon performs these tasks for other processes. This is useful for
+ writing daemons in languages other than C, C++ or Perl (e.g. /bin/sh,
+ Java).
+ '';
+ license = licenses.gpl2Plus;
+ maintainers = [ maintainers.sander ];
+ platforms = platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/daemonize/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/daemonize/default.nix
new file mode 100644
index 000000000000..a8685189b61c
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/daemonize/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+ pname = "daemonize";
+ version = "1.7.8";
+
+ src = fetchurl {
+ url = "https://github.com/bmc/daemonize/archive/release-${version}.tar.gz";
+ sha256 = "0q2c3i3si3k7wfhl6fyckkmkc81yp67pz52p3ggis79p4nczri10";
+ };
+
+ meta = with stdenv.lib; {
+ description = "Runs a command as a Unix daemon";
+ homepage = "http://software.clapper.org/daemonize/";
+ license = licenses.bsd3;
+ platforms = with platforms; linux ++ freebsd ++ darwin;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/das_watchdog/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/das_watchdog/default.nix
new file mode 100644
index 000000000000..8c1a5657991c
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/das_watchdog/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchgit, libgtop, xmessage, which, pkgconfig }:
+
+stdenv.mkDerivation {
+ pname = "das_watchdog";
+ version = "git-2015-09-12";
+
+ src = fetchgit {
+ url = "https://github.com/kmatheussen/das_watchdog.git";
+ rev = "5ac0db0b98e5b4e690aca0aa7fb6ec60ceddcb06";
+ sha256 = "02y1vfb3wh4908xjj1kpyf8kgxk29x8dw7yl3pnl220qz2gi99vr";
+ };
+
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = [ libgtop xmessage which ];
+
+ installPhase = ''
+ mkdir -p $out/bin/
+ cp das_watchdog $out/bin/
+ cp test_rt $out/bin/
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = "https://github.com/kmatheussen/das_watchdog";
+ description = "A general watchdog for the linux operating system";
+ longDescription = ''
+ It should run in the background at all times to ensure a realtime process
+ won't hang the machine.";
+ '';
+ license = licenses.free;
+ maintainers = [ maintainers.magnetophon ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/datefudge/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/datefudge/default.nix
new file mode 100644
index 000000000000..819071f3f068
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/datefudge/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchgit, fetchpatch }:
+
+stdenv.mkDerivation rec {
+ pname = "datefudge";
+ version = "1.24";
+
+ src = fetchgit {
+ url = "https://salsa.debian.org/debian/${pname}.git";
+ rev = "debian/${version}";
+ sha256 = "1nh433yx4y4djp0bs6aawqbwk7miq7fsbs9wpjlyh2k9dvil2lrm";
+ };
+
+ postPatch = ''
+ substituteInPlace Makefile \
+ --replace "/usr" "/" \
+ --replace "-o root -g root" ""
+ substituteInPlace datefudge.sh \
+ --replace "@LIBDIR@" "$out/lib/"
+ '';
+
+ installFlags = [ "DESTDIR=$(out)" ];
+
+ postInstall = "chmod +x $out/lib/datefudge/datefudge.so";
+
+ meta = with stdenv.lib; {
+ description = "Fake the system date";
+ longDescription = ''
+ datefudge is a small utility that pretends that the system time is
+ different by pre-loading a small library which modifies the time,
+ gettimeofday and clock_gettime system calls.
+ '';
+ homepage = "https://packages.qa.debian.org/d/datefudge.html";
+ license = licenses.gpl2;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ leenaars ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/dcfldd/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/dcfldd/default.nix
new file mode 100644
index 000000000000..9ea7b485b96b
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/dcfldd/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+ name = "dcfldd-1.3.4-1";
+
+ src = fetchurl {
+ url = "mirror://sourceforge/dcfldd/${name}.tar.gz";
+ sha256 = "1y6mwsvm75f5jzxsjjk0yhf8xnpmz6y8qvcxfandavx59lc3l57m";
+ };
+
+ buildInputs = [ ];
+
+ meta = with stdenv.lib; {
+ description = "An enhanced version of GNU dd";
+
+ homepage = "http://dcfldd.sourceforge.net/";
+
+ license = licenses.gpl2;
+
+ platforms = platforms.all;
+ maintainers = with maintainers; [ qknight ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/dd_rescue/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/dd_rescue/default.nix
new file mode 100644
index 000000000000..9962337de078
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/dd_rescue/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, autoconf }:
+
+stdenv.mkDerivation rec {
+ version = "1.99.8";
+ pname = "dd_rescue";
+
+ src = fetchurl {
+ sha256 = "1gbxm8gr9sx5g1q9dycs21hkxikcy97q09lp1lvs59pnd9qpdnwh";
+ url="http://www.garloff.de/kurt/linux/ddrescue/${pname}-${version}.tar.bz2";
+ };
+
+ dd_rhelp_src = fetchurl {
+ url = "http://www.kalysto.org/pkg/dd_rhelp-0.3.0.tar.gz";
+ sha256 = "0br6fs23ybmic3i5s1w4k4l8c2ph85ax94gfp2lzjpxbvl73cz1g";
+ };
+
+ buildInputs = [ autoconf ];
+
+ preBuild = ''
+ substituteInPlace Makefile \
+ --replace "\$(DESTDIR)/usr" "$out" \
+ --replace "-o root" "" \
+ --replace "-g root" ""
+ '';
+ makeFlags = [ "LIBDIR=$out" ];
+
+ postInstall = ''
+ mkdir -p "$out/share/dd_rescue" "$out/bin"
+ tar xf "${dd_rhelp_src}" -C "$out/share/dd_rescue"
+ cp "$out/share/dd_rescue"/dd_rhelp*/dd_rhelp "$out/bin"
+ '';
+
+ meta = with stdenv.lib; {
+ description = "A tool to copy data from a damaged block device";
+ maintainers = with maintainers; [ raskin domenkozar ];
+ platforms = platforms.linux;
+ homepage = "http://www.garloff.de/kurt/linux/ddrescue/";
+ license = licenses.gpl2Plus;
+ inherit version;
+ updateWalker = true;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/ddrescue/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/ddrescue/default.nix
new file mode 100644
index 000000000000..8efcf22312fb
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/ddrescue/default.nix
@@ -0,0 +1,51 @@
+{ stdenv
+, fetchurl, lzip
+}:
+
+stdenv.mkDerivation rec {
+ name = "ddrescue-1.25";
+
+ src = fetchurl {
+ url = "mirror://gnu/ddrescue/${name}.tar.lz";
+ sha256 = "0qqh38izl5ppap9a5izf3hijh94k65s3zbfkczd4b7x04syqwlyf";
+ };
+
+ nativeBuildInputs = [ lzip ];
+
+ doCheck = true; # not cross;
+ configureFlags = [ "CXX=${stdenv.cc.targetPrefix}c++" ];
+
+ meta = with stdenv.lib; {
+ description = "GNU ddrescue, a data recovery tool";
+
+ longDescription =
+ '' GNU ddrescue is a data recovery tool. It copies data from one file
+ or block device (hard disc, cdrom, etc) to another, trying hard to
+ rescue data in case of read errors.
+
+ The basic operation of ddrescue is fully automatic. That is, you
+ don't have to wait for an error, stop the program, read the log, run
+ it in reverse mode, etc.
+
+ If you use the logfile feature of ddrescue, the data is rescued very
+ efficiently (only the needed blocks are read). Also you can
+ interrupt the rescue at any time and resume it later at the same
+ point.
+
+ Automatic merging of backups: If you have two or more damaged copies
+ of a file, cdrom, etc, and run ddrescue on all of them, one at a
+ time, with the same output file, you will probably obtain a complete
+ and error-free file. This is so because the probability of having
+ damaged areas at the same places on different input files is very
+ low. Using the logfile, only the needed blocks are read from the
+ second and successive copies.
+ '';
+
+ homepage = "https://www.gnu.org/software/ddrescue/ddrescue.html";
+
+ license = licenses.gpl3Plus;
+
+ platforms = platforms.all;
+ maintainers = with maintainers; [ domenkozar fpletz ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/ddrescueview/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/ddrescueview/default.nix
new file mode 100644
index 000000000000..6c8e9c56cdc9
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/ddrescueview/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, lib, fetchurl, fpc, lazarus, atk, cairo, gdk-pixbuf, glib, gtk2, libX11, pango }:
+
+let
+ versionBase = "0.4";
+ versionSuffix = "alpha4";
+in stdenv.mkDerivation rec {
+ pname = "ddrescueview";
+ version = "${versionBase}${versionSuffix}";
+ name = "ddrescueview-0.4alpha4";
+
+ src = fetchurl {
+ name = "ddrescueview-${versionBase}${versionSuffix}.tar.xz";
+ url = "mirror://sourceforge/ddrescueview/ddrescueview-source-${versionBase}~${versionSuffix}.tar.xz";
+ sha256 = "0v159nlc0lrqznbbwi7zda619is5h2rjk55gz6cl807j0kd19ycc";
+ };
+ sourceRoot = "ddrescueview-source-${versionBase}~${versionSuffix}/source";
+
+ nativeBuildInputs = [ fpc lazarus ];
+
+ buildInputs = [ atk cairo gdk-pixbuf glib gtk2 libX11 pango ];
+
+ NIX_LDFLAGS = "--as-needed -rpath ${lib.makeLibraryPath buildInputs}";
+
+ buildPhase = ''
+ lazbuild --lazarusdir=${lazarus}/share/lazarus ddrescueview.lpi
+ '';
+
+ installPhase = ''
+ install -Dt $out/bin ddrescueview
+ cd ../resources/linux
+ mkdir -p "$out/share"
+ cp -ar applications icons man $out/share
+ '';
+
+ meta = with lib; {
+ description = "A tool to graphically examine ddrescue mapfiles";
+ homepage = "https://sourceforge.net/projects/ddrescueview/";
+ license = licenses.gpl3Plus;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ orivej ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/ddrutility/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/ddrutility/default.nix
new file mode 100644
index 000000000000..bb24076ce7c8
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/ddrutility/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+ pname = "ddrutility";
+ version = "2.8";
+
+ src = fetchurl {
+ url = "mirror://sourceforge/ddrutility/${pname}-${version}.tar.gz";
+ sha256 = "023g7f2sfv5cqk3iyss4awrw3b913sy5423mn5zvlyrri5hi2cac";
+ };
+
+ postPatch = ''
+ substituteInPlace makefile --replace /usr/local ""
+ '';
+
+ makeFlags = [ "DESTDIR=$(out)" ];
+
+ meta = with stdenv.lib; {
+ description = "A set of utilities for hard drive data rescue";
+ homepage = "https://sourceforge.net/projects/ddrutility/";
+ license = licenses.gpl2Plus;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ orivej ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/dfc/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/dfc/default.nix
new file mode 100644
index 000000000000..415b647befa0
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/dfc/default.nix
@@ -0,0 +1,21 @@
+{stdenv, fetchurl, cmake, gettext}:
+
+stdenv.mkDerivation rec {
+ pname = "dfc";
+ version = "3.1.1";
+
+ src = fetchurl {
+ url = "https://projects.gw-computing.net/attachments/download/615/${pname}-${version}.tar.gz";
+ sha256 = "0m1fd7l85ckb7bq4c5c3g257bkjglm8gq7x42pkmpp87fkknc94n";
+ };
+
+ nativeBuildInputs = [ cmake gettext ];
+
+ meta = {
+ homepage = "https://projects.gw-computing.net/projects/dfc";
+ description = "Displays file system space usage using graphs and colors";
+ license = stdenv.lib.licenses.bsd3;
+ maintainers = with stdenv.lib.maintainers; [qknight];
+ platforms = stdenv.lib.platforms.all;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/di/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/di/default.nix
new file mode 100644
index 000000000000..0a6ae26547bf
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/di/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+ pname = "di";
+ version = "4.48";
+
+ src = fetchurl {
+ url = "https://gentoo.com/${pname}/${pname}-${version}.tar.gz";
+ sha256 = "0crvvfsxh8ryc0j19a2x52i9zacvggm8zi6j3kzygkcwnpz4km8r";
+ };
+
+ makeFlags = [ "INSTALL_DIR=$(out)" ];
+
+ meta = with stdenv.lib; {
+ description = "Disk information utility; displays everything 'df' does and more";
+ homepage = "https://gentoo.com/di/";
+ license = licenses.zlib;
+ updateWalker = true;
+ maintainers = with maintainers; [ manveru ];
+ platforms = platforms.all;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/disk-filltest/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/disk-filltest/default.nix
new file mode 100644
index 000000000000..7bcf592012a4
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/disk-filltest/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+ pname = "disk-filltest";
+ version = "0.8.2";
+
+ src = fetchFromGitHub {
+ owner = "bingmann";
+ repo = "disk-filltest";
+ rev = "v${version}";
+ sha256 = "0qmcf5k5j7946wsbxrw4rqfj48mwl3r6kb4l3gppl97k7iyni6kj";
+ };
+
+ preBuild = ''
+ substituteInPlace Makefile --replace 'prefix = /usr/local' 'prefix = $(out)'
+ '';
+
+ postInstall = ''
+ install -D -m0644 -t $out/share/doc COPYING README
+ mkdir -p $out/share/man; mv $out/man1 $out/share/man
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Simple program to detect bad disks by filling them with random data";
+ longDescription = ''
+ disk-filltest is a tool to check storage disks for coming
+ failures by write files with pseudo-random data to the current
+ directory until the disk is full, read the files again
+ and verify the sequence written. It also can measure
+ read/write speed while filling the disk.
+ '';
+ homepage = "https://panthema.net/2013/disk-filltest";
+ license = licenses.gpl3;
+ maintainers = with maintainers; [ caadar ];
+ platforms = platforms.all;
+ };
+
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/dog/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/dog/default.nix
new file mode 100644
index 000000000000..5063e3555bb1
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/dog/default.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation {
+ name = "dog-1.7";
+
+ src = fetchurl {
+ url = "http://archive.debian.org/debian/pool/main/d/dog/dog_1.7.orig.tar.gz";
+ sha256 = "3ef25907ec5d1dfb0df94c9388c020b593fbe162d7aaa9bd08f35d2a125af056";
+ };
+
+ patchPhase = ''
+ substituteInPlace Makefile \
+ --replace "gcc" "cc"
+ '';
+
+ installPhase = ''
+ mkdir -p $out/bin
+ mkdir -p $out/man/man1
+ cp dog.1 $out/man/man1
+ cp dog $out/bin
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = "http://lwn.net/Articles/421072/";
+ description = "cat replacement";
+ license = licenses.gpl2Plus;
+ maintainers = with maintainers; [ qknight ];
+ platforms = platforms.all;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/efibootmgr/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/efibootmgr/default.nix
new file mode 100644
index 000000000000..dd898de0fc26
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/efibootmgr/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, efivar, popt }:
+
+stdenv.mkDerivation rec {
+ pname = "efibootmgr";
+ version = "17";
+
+ nativeBuildInputs = [ pkgconfig ];
+
+ buildInputs = [ efivar popt ];
+
+ src = fetchFromGitHub {
+ owner = "rhboot";
+ repo = "efibootmgr";
+ rev = version;
+ sha256 = "1niicijxg59rsmiw3rsjwy4bvi1n42dynvm01lnp9haixdzdpq03";
+ };
+
+ patches = [
+ (fetchpatch {
+ name = "remove-extra-decl.patch";
+ url = "https://github.com/rhboot/efibootmgr/commit/99b578501643377e0b1994b2a068b790d189d5ad.patch";
+ sha256 = "1sbijvlpv4khkix3vix9mbhzffj8lp8zpnbxm9gnzjz8yssz9p5h";
+ })
+ ];
+ # We have no LTO here since commit 22284b07.
+ postPatch = if stdenv.isi686 then "sed '/^CFLAGS/s/-flto//' -i Make.defaults" else null;
+
+ makeFlags = [ "EFIDIR=nixos" "PKG_CONFIG=${stdenv.cc.targetPrefix}pkg-config" ];
+
+ installFlags = [ "prefix=$(out)" ];
+
+ meta = with stdenv.lib; {
+ description = "A Linux user-space application to modify the Intel Extensible Firmware Interface (EFI) Boot Manager";
+ homepage = "https://github.com/rhboot/efibootmgr";
+ license = licenses.gpl2;
+ maintainers = with maintainers; [ ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/efivar/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/efivar/default.nix
new file mode 100644
index 000000000000..ea0ed8afcfd0
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/efivar/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, buildPackages, fetchFromGitHub, fetchurl, pkgconfig, popt }:
+
+stdenv.mkDerivation rec {
+ pname = "efivar";
+ version = "37";
+
+ outputs = [ "bin" "out" "dev" "man" ];
+
+ src = fetchFromGitHub {
+ owner = "rhinstaller";
+ repo = "efivar";
+ rev = version;
+ sha256 = "1z2dw5x74wgvqgd8jvibfff0qhwkc53kxg54v12pzymyibagwf09";
+ };
+ patches = [
+ (fetchurl {
+ name = "r13y.patch";
+ url = "https://patch-diff.githubusercontent.com/raw/rhboot/efivar/pull/133.patch";
+ sha256 = "038cwldb8sqnal5l6mhys92cqv8x7j8rgsl8i4fiv9ih9znw26i6";
+ })
+ (fetchurl {
+ name = "fix-misaligned-pointer.patch";
+ url = "https://github.com/rhboot/efivar/commit/b98ba8921010d03f46704a476c69861515deb1ca.patch";
+ sha256 = "0ni9mz7y40a2wf1d1q5n9y5dhcbydxvfdhqic7zsmgnaxs3a0p27";
+ })
+ (fetchurl {
+ name = "fix-gcc9-error.patch";
+ url = "https://github.com/rhboot/efivar/commit/c3c553db85ff10890209d0fe48fb4856ad68e4e0.patch";
+ sha256 = "0lc38npydp069nlcga25wzzm204ww9l6mpjfn6wmhdfhn0pgjwky";
+ })
+ (fetchurl {
+ name = "remove_unused_variable.patch";
+ url = "https://github.com/rhboot/efivar/commit/fdb803402fb32fa6d020bac57a40c7efe4aabb7d.patch";
+ sha256 = "1xhy8v8ff9lyxb830n9hci2fbh7rfps6rwsqrjh4lw7316gwllsd";
+ })
+ (fetchurl {
+ name = "check_string_termination.patch";
+ url = "https://github.com/rhboot/efivar/commit/4e04afc2df9bbc26e5ab524b53a6f4f1e61d7c9e.patch";
+ sha256 = "1ajj11wwsvamfspq4naanvw08h63gr0g71q0dfbrrywrhc0jlmdw";
+ })
+ ];
+ # We have no LTO here since commit 22284b07.
+ postPatch = if stdenv.isi686 then "sed '/^OPTIMIZE /s/-flto//' -i Make.defaults" else null;
+
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = [ popt ];
+ depsBuildBuild = [ buildPackages.stdenv.cc ];
+
+ makeFlags = [
+ "prefix=$(out)"
+ "libdir=$(out)/lib"
+ "bindir=$(bin)/bin"
+ "mandir=$(man)/share/man"
+ "includedir=$(dev)/include"
+ "PCDIR=$(dev)/lib/pkgconfig"
+ ];
+
+ meta = with stdenv.lib; {
+ inherit (src.meta) homepage;
+ description = "Tools and library to manipulate EFI variables";
+ platforms = platforms.linux;
+ license = licenses.lgpl21;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/envconsul/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/envconsul/default.nix
new file mode 100644
index 000000000000..09175f14609f
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/envconsul/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+ pname = "envconsul";
+ version = "0.7.3";
+ rev = "v${version}";
+
+ goPackagePath = "github.com/hashicorp/envconsul";
+
+ src = fetchFromGitHub {
+ inherit rev;
+ owner = "hashicorp";
+ repo = "envconsul";
+ sha256 = "03cgxkyyynr067dg5b0lhvaxn60318fj9fh55p1n43vj5nrzgnbc";
+ };
+
+ meta = with stdenv.lib; {
+ homepage = "https://github.com/hashicorp/envconsul/";
+ description = "Read and set environmental variables for processes from Consul";
+ platforms = platforms.linux ++ platforms.darwin;
+ license = licenses.mpl20;
+ maintainers = with maintainers; [ pradeepchhetri ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/evemu/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/evemu/default.nix
new file mode 100644
index 000000000000..02f92a198909
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/evemu/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchgit, autoreconfHook, pkgconfig, pythonPackages
+, libevdev
+}:
+
+stdenv.mkDerivation rec {
+ pname = "evemu";
+ version = "2.6.0";
+
+ # We could have downloaded a release tarball from cgit, but it changes hash
+ # each time it is downloaded :/
+ src = fetchgit {
+ url = "git://git.freedesktop.org/git/evemu";
+ rev = "refs/tags/v${version}";
+ sha256 = "1m38fxwy2s82vb2qm9aqxinws12akmqqq7q66is931lc3awqkbah";
+ };
+
+ nativeBuildInputs = [ pkgconfig autoreconfHook ];
+
+ buildInputs = [ pythonPackages.python pythonPackages.evdev libevdev ];
+
+ meta = with stdenv.lib; {
+ description = "Records and replays device descriptions and events to emulate input devices through the kernel's input system";
+ homepage = "https://www.freedesktop.org/wiki/Evemu/";
+ repositories.git = "git://git.freedesktop.org/git/evemu";
+ license = licenses.gpl2;
+ maintainers = [ maintainers.amorsillo ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/facter/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/facter/default.nix
new file mode 100644
index 000000000000..2a101bba8865
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/facter/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, boost, cmake, cpp-hocon, curl, leatherman, libwhereami, libyamlcpp, openssl, ruby, util-linux }:
+
+stdenv.mkDerivation rec {
+ pname = "facter";
+ version = "3.14.14";
+
+ src = fetchFromGitHub {
+ sha256 = "07pfa11i3nn2dk5g3c1qj3g7d2s8gd2fr0lmfijndaqxm7gjrn1a";
+ rev = version;
+ repo = pname;
+ owner = "puppetlabs";
+ };
+
+ CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isGNU "-fpermissive -Wno-error=catch-value";
+ NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lblkid";
+
+ cmakeFlags = [
+ "-DFACTER_RUBY=${ruby}/lib/libruby${stdenv.hostPlatform.extensions.sharedLibrary}"
+ "-DRUBY_LIB_INSTALL=${placeholder "out"}/lib/ruby"
+ ];
+
+ NIX_CFLAGS_COMPILE = "-Wno-error";
+
+ nativeBuildInputs = [ cmake ];
+ buildInputs = [ boost cpp-hocon curl leatherman libwhereami libyamlcpp openssl ruby util-linux ];
+
+ enableParallelBuilding = true;
+
+ meta = with stdenv.lib; {
+ homepage = "https://github.com/puppetlabs/facter";
+ description = "A system inventory tool";
+ license = licenses.asl20;
+ maintainers = [ maintainers.womfoo ];
+ platforms = platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/fakechroot/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/fakechroot/default.nix
new file mode 100644
index 000000000000..fc74644ab032
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/fakechroot/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, perl }:
+
+stdenv.mkDerivation rec {
+ pname = "fakechroot";
+ version = "2.20.1";
+
+ src = fetchFromGitHub {
+ owner = "dex4er";
+ repo = pname;
+ rev = version;
+ sha256 = "0xgnwazrmrg4gm30xjxdn6sx3lhqvxahrh6gmy3yfswxc30pmg86";
+ };
+
+ # Use patch from https://github.com/dex4er/fakechroot/pull/46 , remove once merged!
+ # Courtesy of one of our own, @copumpkin!
+ patches = [
+ (fetchpatch {
+ url = "https://github.com/dex4er/fakechroot/pull/46/commits/dcc0cfe3941e328538f9e62b2c0b15430d393ec1.patch";
+ sha256 = "1mk8j2njd94s7vf2wggi08xxxzx8dxrvdricl9cbspvkyp715w2m";
+ # Don't bother trying to reconcile conflicts for NEWS entries, as they will continue to occur
+ # and are uninteresting as well as unimportant for our purposes (since NEWS never leaves the build env).
+ excludes = [ "NEWS.md" ];
+ })
+ ];
+
+ nativeBuildInputs = [ autoreconfHook ];
+ buildInputs = [ perl ];
+
+ meta = with stdenv.lib; {
+ homepage = "https://github.com/dex4er/fakechroot";
+ description = "Give a fake chroot environment through LD_PRELOAD";
+ license = licenses.lgpl21;
+ maintainers = with maintainers; [offline];
+ platforms = platforms.linux;
+ };
+
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/fakeroot/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/fakeroot/default.nix
new file mode 100644
index 000000000000..c5765609a278
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/fakeroot/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, fetchpatch, getopt, libcap, gnused }:
+
+stdenv.mkDerivation rec {
+ version = "1.23";
+ pname = "fakeroot";
+
+ src = fetchurl {
+ url = "http://http.debian.net/debian/pool/main/f/fakeroot/fakeroot_${version}.orig.tar.xz";
+ sha256 = "1xpl0s2yjyjwlf832b6kbkaa5921liybaar13k7n45ckd9lxd700";
+ };
+
+ patches = stdenv.lib.optional stdenv.isLinux ./einval.patch
+ # patchset from brew
+ ++ stdenv.lib.optionals stdenv.isDarwin [
+ (fetchpatch {
+ name = "0001-Implement-openat-2-wrapper-which-handles-optional-ar.patch";
+ url = "https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=0001-Implement-openat-2-wrapper-which-handles-optional-ar.patch;att=1;bug=766649";
+ sha256 = "1m6ggrqwqy0in264sxqk912vniipiw629dxq7kibakvsswfk6bkk";
+ })
+ (fetchpatch {
+ name = "0002-OS-X-10.10-introduced-id_t-int-in-gs-etpriority.patch";
+ url = "https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=0002-OS-X-10.10-introduced-id_t-int-in-gs-etpriority.patch;att=2;bug=766649";
+ sha256 = "0rhayp42x4i1a6yc4d28kpshmf7lrmaprq64zfrjpdn4kbs0rkln";
+ })
+ (fetchpatch {
+ name = "fakeroot-always-pass-mode.patch";
+ url = "https://bugs.debian.org/cgi-bin/bugreport.cgi?att=2;bug=766649;filename=fakeroot-always-pass-mode.patch;msg=20";
+ sha256 = "0i3zaca1v449dm9m1cq6wq4dy6hc2y04l05m9gg8d4y4swld637p";
+ })
+ ];
+
+ buildInputs = [ getopt gnused ]
+ ++ stdenv.lib.optional (!stdenv.isDarwin) libcap
+ ;
+
+ postUnpack = ''
+ sed -i -e "s@getopt@$(type -p getopt)@g" -e "s@sed@$(type -p sed)@g" ${pname}-${version}/scripts/fakeroot.in
+ '';
+
+ meta = {
+ homepage = "https://salsa.debian.org/clint/fakeroot";
+ description = "Give a fake root environment through LD_PRELOAD";
+ license = stdenv.lib.licenses.gpl2Plus;
+ maintainers = with stdenv.lib.maintainers; [viric];
+ platforms = stdenv.lib.platforms.unix;
+ };
+
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/fakeroot/einval.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/fakeroot/einval.patch
new file mode 100644
index 000000000000..f8d4fb83d137
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/fakeroot/einval.patch
@@ -0,0 +1,47 @@
+Ignore EINVAL errors. This matters within user namespaces.
+
+See:
+https://github.com/NixOS/nixpkgs/issues/25901
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=802612
+https://github.com/NixOS/nixpkgs/issues/10496
+
+diff --git a/libfakeroot.c b/libfakeroot.c
+index 68a95fb..70da8bc 100644
+--- a/libfakeroot.c
++++ b/libfakeroot.c
+@@ -792,7 +792,7 @@ int chown(const char *path, uid_t owner, gid_t group){
+ r=next_lchown(path,owner,group);
+ else
+ r=0;
+- if(r&&(errno==EPERM))
++ if(r&&(errno==EPERM||errno==EINVAL))
+ r=0;
+
+ return r;
+@@ -819,7 +819,7 @@ int lchown(const char *path, uid_t owner, gid_t group){
+ r=next_lchown(path,owner,group);
+ else
+ r=0;
+- if(r&&(errno==EPERM))
++ if(r&&(errno==EPERM||errno==EINVAL))
+ r=0;
+
+ return r;
+@@ -843,7 +843,7 @@ int fchown(int fd, uid_t owner, gid_t group){
+ else
+ r=0;
+
+- if(r&&(errno==EPERM))
++ if(r&&(errno==EPERM||errno==EINVAL))
+ r=0;
+
+ return r;
+@@ -870,7 +870,7 @@ int fchownat(int dir_fd, const char *path, uid_t owner, gid_t group, int flags)
+ else
+ r=0;
+
+- if(r&&(errno==EPERM))
++ if(r&&(errno==EPERM||errno==EINVAL))
+ r=0;
+
+ return r;
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/fcron/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/fcron/default.nix
new file mode 100644
index 000000000000..59daac89bd44
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/fcron/default.nix
@@ -0,0 +1,61 @@
+# restart using 'killall -TERM fcron; fcron -b
+# use convert-fcrontab to update fcrontab files
+
+{ stdenv, fetchurl, perl, busybox, vim }:
+
+stdenv.mkDerivation rec {
+ pname = "fcron";
+ version = "3.3.0";
+
+ src = fetchurl {
+ url = "http://fcron.free.fr/archives/${pname}-${version}.src.tar.gz";
+ sha256 = "0q5b1fdq1rpsd4lj7v717x47pmn62hhm13394g0yxqi614xd7sls";
+ };
+
+ buildInputs = [ perl ];
+
+ patches = [ ./relative-fcronsighup.patch ];
+
+ configureFlags =
+ [ "--with-sendmail=${busybox}/sbin/sendmail"
+ "--with-editor=${vim}/bin/vi" # TODO customizable
+ "--with-bootinstall=no"
+ "--localstatedir=/var"
+ "--sysconfdir=/etc"
+ "--with-rootname=root"
+ "--with-rootgroup=root"
+ "--disable-checks"
+ ];
+
+ installTargets = [ "install-staged" ]; # install does also try to change permissions of /etc/* files
+
+ # fcron tries to install pid into system directory on install
+ installFlags = [
+ "ETC=."
+ "PIDDIR=."
+ "PIDFILE=fcron.pid"
+ "REBOOT_LOCK=fcron.reboot"
+ "FIFODIR=."
+ "FIFOFILE=fcron.fifo"
+ "FCRONTABS=."
+ ];
+
+ preConfigure = ''
+ sed -i 's@/usr/bin/env perl@${perl}/bin/perl@g' configure script/*
+ # Don't let fcron create the group fcron, nix(os) should do this
+ sed -i '2s@.*@exit 0@' script/user-group
+
+ # --with-bootinstall=no shoud do this, didn't work. So just exit the script before doing anything
+ sed -i '2s@.*@exit 0@' script/boot-install
+
+ # also don't use chown or chgrp for documentation (or whatever) when installing
+ find -type f | xargs sed -i -e 's@^\(\s\)*chown@\1:@' -e 's@^\(\s\)*chgrp@\1:@'
+ '';
+
+ meta = with stdenv.lib; {
+ description="A command scheduler with extended capabilities over cron and anacron";
+ homepage = "http://fcron.free.fr";
+ license = licenses.gpl2;
+ platforms = stdenv.lib.platforms.all;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/fcron/relative-fcronsighup.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/fcron/relative-fcronsighup.patch
new file mode 100644
index 000000000000..c0bbfc1ee3ef
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/fcron/relative-fcronsighup.patch
@@ -0,0 +1,16 @@
+Use relative fcronsighup to prefer setuid executable over package binary.
+--- fcron-3.2.1.orig/fcrontab.c 2016-06-26 17:02:48.000000000 +0200
++++ fcron-3.2.1/fcrontab.c 2017-03-05 21:54:24.676871335 +0100
+@@ -154,10 +154,10 @@
+ fcrontab_gid);
+ exit(ERR);
+ }
+- execl(BINDIREX "/fcronsighup", BINDIREX "/fcronsighup", fcronconf,
++ execlp("fcronsighup", "fcronsighup", fcronconf,
+ NULL);
+
+- error_e("Could not exec " BINDIREX " fcronsighup");
++ error_e("Could not exec fcronsighup");
+ exit(ERR);
+ break;
+
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/fdisk/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/fdisk/default.nix
new file mode 100644
index 000000000000..423b00bd5439
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/fdisk/default.nix
@@ -0,0 +1,29 @@
+{ fetchurl, stdenv, parted, libuuid, gettext, guile }:
+
+stdenv.mkDerivation rec {
+ name = "gnufdisk-2.0.0a"; # .0a1 seems broken, see https://lists.gnu.org/archive/html/bug-fdisk/2012-09/msg00000.html
+
+ src = fetchurl {
+ url = "mirror://gnu/fdisk/${name}.tar.gz";
+ sha256 = "04nd7civ561x2lwcmxhsqbprml3178jfc58fy1v7hzqg5k4nbhy3";
+ };
+
+ buildInputs = [ parted libuuid gettext guile ];
+
+ doCheck = true;
+
+ meta = {
+ description = "A command-line disk partitioning tool";
+
+ longDescription = ''
+ GNU fdisk provides alternatives to util-linux fdisk and util-linux
+ cfdisk. It uses GNU Parted.
+ '';
+
+ license = stdenv.lib.licenses.gpl3Plus;
+
+ homepage = "https://www.gnu.org/software/fdisk/";
+
+ platforms = stdenv.lib.platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/fio/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/fio/default.nix
new file mode 100644
index 000000000000..e0dc69de0e43
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/fio/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchFromGitHub, makeWrapper
+, libaio, python, zlib
+, withGnuplot ? false, gnuplot ? null }:
+
+stdenv.mkDerivation rec {
+ pname = "fio";
+ version = "3.25";
+
+ src = fetchFromGitHub {
+ owner = "axboe";
+ repo = "fio";
+ rev = "fio-${version}";
+ sha256 = "1f20ihynwnz8jqqlr73i5glr8ziplz4mmcjgk340mj2yqqcnsqag";
+ };
+
+ buildInputs = [ python zlib ]
+ ++ stdenv.lib.optional (!stdenv.isDarwin) libaio;
+
+ nativeBuildInputs = [ makeWrapper ];
+
+ enableParallelBuilding = true;
+
+ postPatch = ''
+ substituteInPlace Makefile \
+ --replace "mandir = /usr/share/man" "mandir = \$(prefix)/man" \
+ --replace "sharedir = /usr/share/fio" "sharedir = \$(prefix)/share/fio"
+ substituteInPlace tools/plot/fio2gnuplot --replace /usr/share/fio $out/share/fio
+ '';
+
+ postInstall = stdenv.lib.optionalString withGnuplot ''
+ wrapProgram $out/bin/fio2gnuplot \
+ --prefix PATH : ${stdenv.lib.makeBinPath [ gnuplot ]}
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Flexible IO Tester - an IO benchmark tool";
+ homepage = "https://git.kernel.dk/cgit/fio/";
+ license = licenses.gpl2;
+ platforms = platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/foreman/Gemfile b/infra/libkookie/nixpkgs/pkgs/tools/system/foreman/Gemfile
new file mode 100644
index 000000000000..e25e6d790fc0
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/foreman/Gemfile
@@ -0,0 +1,3 @@
+source "https://rubygems.org"
+
+gem "foreman"
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/foreman/Gemfile.lock b/infra/libkookie/nixpkgs/pkgs/tools/system/foreman/Gemfile.lock
new file mode 100644
index 000000000000..a2a7824f7aa8
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/foreman/Gemfile.lock
@@ -0,0 +1,15 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ foreman (0.78.0)
+ thor (~> 0.19.1)
+ thor (0.19.1)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ foreman
+
+BUNDLED WITH
+ 2.1.4
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/foreman/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/foreman/default.nix
new file mode 100644
index 000000000000..ce2f20176290
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/foreman/default.nix
@@ -0,0 +1,15 @@
+{ bundlerEnv, lib, ruby }:
+
+bundlerEnv {
+ inherit ruby;
+ pname = "foreman";
+ gemdir = ./.;
+
+ meta = with lib; {
+ description = "Process manager for applications with multiple components";
+ homepage = "https://github.com/ddollar/foreman";
+ license = licenses.mit;
+ maintainers = with maintainers; [ zimbatm ];
+ platforms = ruby.meta.platforms;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/foreman/gemset.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/foreman/gemset.nix
new file mode 100644
index 000000000000..b35bd15c9749
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/foreman/gemset.nix
@@ -0,0 +1,18 @@
+{
+ thor = {
+ version = "0.19.1";
+ source = {
+ type = "gem";
+ remotes = ["https://rubygems.org"];
+ sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
+ };
+ };
+ foreman = {
+ version = "0.78.0";
+ source = {
+ type = "gem";
+ remotes = ["https://rubygems.org"];
+ sha256 = "1caz8mi7gq1hs4l1flcyyw1iw1bdvdbhppsvy12akr01k3s17xaq";
+ };
+ };
+} \ No newline at end of file
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/foremost/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/foremost/default.nix
new file mode 100644
index 000000000000..96c54513ef1b
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/foremost/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+ pname = "foremost";
+ version = "1.5.7";
+
+ src = fetchurl {
+ sha256 = "0d2zxw0ijg8cd3ksgm8cf8jg128zr5x7z779jar90g9f47pm882h";
+ url = "http://foremost.sourceforge.net/pkg/${pname}-${version}.tar.gz";
+ };
+
+ patches = [ ./makefile.patch ];
+
+ makeFlags = [ "PREFIX=$(out)" ];
+
+ enableParallelBuilding = true;
+
+ hardeningDisable = [ "format" ];
+
+ preInstall = ''
+ mkdir -p $out/{bin,share/man/man8}
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Recover files based on their contents";
+ longDescription = ''
+ Foremost is a console program to recover files based on their headers,
+ footers, and internal data structures. Foremost can work on image files, such
+ as those generated by dd, Safeback, Encase, etc, or directly on a drive.
+ The headers and footers can be specified by a configuration file or you can
+ use command line switches to specify built-in file types. These built-in types
+ look at the data structures of a given file format allowing for a more
+ reliable and faster recovery.
+ '';
+ homepage = "http://foremost.sourceforge.net/";
+ license = licenses.publicDomain;
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/foremost/makefile.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/foremost/makefile.patch
new file mode 100644
index 000000000000..6626c9520ec1
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/foremost/makefile.patch
@@ -0,0 +1,23 @@
+--- a/Makefile 2015-04-21 00:40:46.949266581 +0200
++++ b/Makefile 2015-04-21 00:41:38.637165883 +0200
+@@ -24,9 +24,9 @@
+ RAW_FLAGS += -DVERSION=\"$(VERSION)\"
+
+ # Where we get installed
+-BIN = /usr/local/bin
+-MAN = /usr/share/man/man8
+-CONF= /usr/local/etc
++BIN = $(PREFIX)/bin
++MAN = $(PREFIX)/share/man/man8
++CONF= $(PREFIX)/etc
+ # Setup for compiling and cross-compiling for Windows
+ # The CR_ prefix refers to cross compiling from OSX to Windows
+ CR_CC = $(CR_BASE)/gcc
+@@ -120,7 +120,6 @@
+ install: goals
+ install -m 755 $(NAME) $(BIN)
+ install -m 444 $(MAN_PAGES) $(MAN)
+- install -m 444 foremost.conf $(CONF)
+ macinstall: BIN = /usr/local/bin/
+ macinstall: MAN = /usr/share/man/man1/
+ macinstall: CONF = /usr/local/etc/
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/freeipmi/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/freeipmi/default.nix
new file mode 100644
index 000000000000..76654d145399
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/freeipmi/default.nix
@@ -0,0 +1,44 @@
+{ fetchurl, stdenv, libgcrypt, readline, libgpgerror }:
+
+stdenv.mkDerivation rec {
+ version = "1.6.6";
+ pname = "freeipmi";
+
+ src = fetchurl {
+ url = "mirror://gnu/freeipmi/${pname}-${version}.tar.gz";
+ sha256 = "1ava5s0babfwx6dqi87phzyzjjgyah7avhljrxrjwn2cniwh38yg";
+ };
+
+ buildInputs = [ libgcrypt readline libgpgerror ];
+
+ doCheck = true;
+
+ meta = {
+ description = "Implementation of the Intelligent Platform Management Interface";
+
+ longDescription =
+ '' GNU FreeIPMI provides in-band and out-of-band IPMI software based on
+ the IPMI v1.5/2.0 specification. The IPMI specification defines a
+ set of interfaces for platform management and is implemented by a
+ number vendors for system management. The features of IPMI that
+ most users will be interested in are sensor monitoring, system event
+ monitoring, power control, and serial-over-LAN (SOL). The FreeIPMI
+ tools and libraries listed below should provide users with the
+ ability to access and utilize these and many other features. A
+ number of useful features for large HPC or cluster environments have
+ also been implemented into FreeIPMI. See the README or FAQ for more
+ info.
+ '';
+
+ homepage = "https://www.gnu.org/software/freeipmi/";
+ downloadPage = "https://www.gnu.org/software/freeipmi/download.html";
+
+ license = stdenv.lib.licenses.gpl3Plus;
+
+ maintainers = with stdenv.lib.maintainers; [ raskin ];
+ platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux; # arbitrary choice
+
+ updateWalker = true;
+ inherit version;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/gdmap/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/gdmap/default.nix
new file mode 100644
index 000000000000..6fdfd6e71909
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/gdmap/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, gtk2, pkgconfig, libxml2, intltool, gettext }:
+
+stdenv.mkDerivation rec {
+ name = "gdmap-0.8.1";
+
+ src = fetchurl {
+ url = "mirror://sourceforge/gdmap/${name}.tar.gz";
+ sha256 = "0nr8l88cg19zj585hczj8v73yh21k7j13xivhlzl8jdk0j0cj052";
+ };
+
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = [ gtk2 libxml2 intltool gettext ];
+
+ patches = [ ./get_sensitive.patch ./set_flags.patch ];
+
+ hardeningDisable = [ "format" ];
+
+ NIX_LDFLAGS = "-lm";
+
+ meta = with stdenv.lib; {
+ homepage = "http://gdmap.sourceforge.net";
+ description = "Recursive rectangle map of disk usage";
+ license = licenses.gpl2;
+ platforms = platforms.linux;
+ maintainers = [ maintainers.bjornfor ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/gdmap/get_sensitive.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/gdmap/get_sensitive.patch
new file mode 100644
index 000000000000..3cdb6291dfac
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/gdmap/get_sensitive.patch
@@ -0,0 +1,34 @@
+From 166de50914191303b232ec123cfbaadad521560c Mon Sep 17 00:00:00 2001
+From: Alexander Myltsev <avm@altlinux.ru>
+Date: Wed, 21 Apr 2010 22:43:14 +0400
+Subject: [PATCH] GTK_WIDGET_SENSITIVE -> gtk_widget_get_sensitive
+
+---
+ gdmap/src/gui_support.c | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/gui_support.c b/src/gui_support.c
+index 3027e29..45272d3 100644
+--- a/src/gui_support.c
++++ b/src/gui_support.c
+@@ -85,7 +85,7 @@ on_ebox_enter(GtkWidget* box, GdkEventCrossing* event, GtkLabel* label) {
+ const char* text;
+
+ (void)event;
+- if (GTK_WIDGET_SENSITIVE(label)) {
++ if (gtk_widget_get_sensitive(GTK_WIDGET(label))) {
+ char* temp;
+
+ text = g_object_get_data(G_OBJECT(label), "label");
+@@ -129,7 +129,7 @@ static void on_clear_label(GtkWidget* widget) {
+ void ui_event_label_set_sensitive(GtkWidget* ebox, gboolean set) {
+ gpointer callback = g_object_get_data(G_OBJECT(ebox), "callback");
+ GtkWidget* child = GTK_BIN(ebox)->child;
+- if (GTK_WIDGET_SENSITIVE(child) == set) return;
++ if (gtk_widget_get_sensitive(child) == set) return;
+
+ if (set && !callback) return;
+ gtk_widget_set_sensitive(child, set);
+--
+1.7.3.3
+
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/gdmap/set_flags.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/gdmap/set_flags.patch
new file mode 100644
index 000000000000..388836f6e5f4
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/gdmap/set_flags.patch
@@ -0,0 +1,25 @@
+From 9a5537d2b0aba18438dd77a45354ac2e73eae23d Mon Sep 17 00:00:00 2001
+From: Alexander Myltsev <avm@altlinux.ru>
+Date: Mon, 13 Dec 2010 23:24:30 +0300
+Subject: [PATCH] GTK_WIDGET_SET_FLAGS -> gtk_widget_set_can_focus
+
+---
+ gdmap/src/gui_support.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/gui_support.c b/src/gui_support.c
+index 45272d3..ca02d72 100644
+--- a/src/gui_support.c
++++ b/src/gui_support.c
+@@ -164,7 +164,7 @@ GtkWidget* ui_create_event_label(const char* text, GCallback callback,
+ // GDK_FOCUS_CHANGE_MASK |
+ GDK_ENTER_NOTIFY_MASK |
+ GDK_LEAVE_NOTIFY_MASK);
+- GTK_WIDGET_SET_FLAGS(ebox, GTK_CAN_FOCUS);
++ gtk_widget_set_can_focus(ebox, TRUE);
+
+ gtk_widget_show(ebox);
+
+--
+1.7.3.3
+
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/gohai/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/gohai/default.nix
new file mode 100644
index 000000000000..48c68f8d2f2c
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/gohai/default.nix
@@ -0,0 +1,32 @@
+{ lib, buildGoPackage, fetchgit }:
+
+buildGoPackage rec {
+ pname = "gohai";
+ version = "2018-05-23";
+ rev = "60e13eaed98afa238ad6dfc98224c04fbb7b19b1";
+
+ goPackagePath = "github.com/DataDog/gohai";
+
+ src = fetchgit {
+ inherit rev;
+ url = "https://github.com/DataDog/gohai";
+ sha256 = "15hdw195f6ayrmj1nbyfpfswdai1r1z3qjw927mbma7rwql24dkr";
+ };
+
+ goDeps = ./deps.nix;
+
+ meta = with lib; {
+ description = "System information collector";
+ homepage = "https://github.com/DataDog/gohai";
+ license = licenses.mit;
+ maintainers = [ maintainers.tazjin ];
+ platforms = platforms.unix;
+ repositories.git = "git://github.com/DataDog/gohai.git";
+
+ longDescription = ''
+ Gohai is a tool which collects an inventory of system
+ information. It is used by the Datadog agent to provide detailed
+ system metrics.
+ '';
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/gohai/deps.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/gohai/deps.nix
new file mode 100644
index 000000000000..f6d63e460246
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/gohai/deps.nix
@@ -0,0 +1,30 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+ {
+ goPackagePath = "github.com/cihub/seelog";
+ fetch = {
+ type = "git";
+ url = "https://github.com/cihub/seelog";
+ rev = "f561c5e57575bb1e0a2167028b7339b3a8d16fb4";
+ sha256 = "0r3228hvgljgpaggj6b9mvxfsizfw25q2c1761wsvcif8gz49cvl";
+ };
+ }
+ {
+ goPackagePath = "github.com/shirou/gopsutil";
+ fetch = {
+ type = "git";
+ url = "https://github.com/shirou/gopsutil";
+ rev = "eeb1d38d69593f121e060d24d17f7b1f0936b203";
+ sha256 = "01qsznk599225gf4pld7p2m30p61y77mvzhrs6raxpk6wf7icp4w";
+ };
+ }
+ {
+ goPackagePath = "golang.org/x/sys";
+ fetch = {
+ type = "git";
+ url = "https://go.googlesource.com/sys";
+ rev = "77b0e4315053a57ed2962443614bdb28db152054";
+ sha256 = "1024gcv1b40i2rgvpgyw2hgy1k5g7473pn29yavwysj37m1rrplp";
+ };
+ }
+]
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/goreman/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/goreman/default.nix
new file mode 100644
index 000000000000..22918f14145c
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/goreman/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildGoPackage, fetchFromGitHub }:
+buildGoPackage rec {
+ pname = "goreman";
+ version = "0.2.1";
+
+ goPackagePath = "github.com/mattn/goreman";
+ subPackages = ["."];
+
+ src = fetchFromGitHub {
+ owner = "mattn";
+ repo = "goreman";
+ rev = "v${version}";
+ sha256 = "1h7ip788j7bkygahpp7ylgnrx9jrbhwjzqpjhd1pflmlaxcbflcy";
+ };
+
+ meta = with lib; {
+ description = "foreman clone written in go language";
+ homepage = "https://github.com/mattn/goreman";
+ license = licenses.mit;
+ maintainers = with maintainers; [ zimbatm ];
+ };
+}
+
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/gotop/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/gotop/default.nix
new file mode 100644
index 000000000000..f5d7ff4759e7
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/gotop/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+ pname = "gotop";
+ version = "4.0.1";
+
+ src = fetchFromGitHub {
+ owner = "xxxserxxx";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "10qfzmq1wdgpvv319khzicalix1x4fqava0wry3bzz84k5c9dabs";
+ };
+
+ runVend = true;
+ vendorSha256 = "09vdhdgj74ifdhl6rmxddkvk7ls26jn8gswzcxf9389zkjzi7822";
+
+ preCheck = ''
+ export HOME=$(mktemp -d)
+ '';
+
+ meta = with stdenv.lib; {
+ description = "A terminal based graphical activity monitor inspired by gtop and vtop";
+ homepage = "https://github.com/xxxserxxx/gotop";
+ license = licenses.agpl3;
+ maintainers = [ maintainers.magnetophon ];
+ platforms = platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/gptfdisk/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/gptfdisk/default.nix
new file mode 100644
index 000000000000..613f63c3f044
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/gptfdisk/default.nix
@@ -0,0 +1,46 @@
+{ fetchurl, stdenv, libuuid, popt, icu, ncurses }:
+
+stdenv.mkDerivation rec {
+ pname = "gptfdisk";
+ version = "1.0.5";
+
+ src = fetchurl {
+ # https://www.rodsbooks.com/gdisk/${name}.tar.gz also works, but the home
+ # page clearly implies a preference for using SourceForge's bandwidth:
+ url = "mirror://sourceforge/gptfdisk/${pname}-${version}.tar.gz";
+ sha256 = "0bybgp30pqxb6x5krxazkq4drca0gz4inxj89fpyr204rn3kjz8f";
+ };
+
+ postPatch = ''
+ patchShebangs gdisk_test.sh
+ '' + stdenv.lib.optionalString stdenv.isDarwin ''
+ substituteInPlace Makefile.mac --replace \
+ "-mmacosx-version-min=10.4" "-mmacosx-version-min=10.6"
+ substituteInPlace Makefile.mac --replace \
+ " -arch i386" ""
+ substituteInPlace Makefile.mac --replace \
+ " -I/opt/local/include -I /usr/local/include -I/opt/local/include" ""
+ substituteInPlace Makefile.mac --replace \
+ "/opt/local/lib/libncurses.a" "${ncurses.out}/lib/libncurses.dylib"
+ '';
+
+ buildPhase = stdenv.lib.optionalString stdenv.isDarwin "make -f Makefile.mac";
+ buildInputs = [ libuuid popt icu ncurses ];
+
+ installPhase = ''
+ mkdir -p $out/sbin
+ mkdir -p $out/share/man/man8
+ for prog in gdisk sgdisk fixparts cgdisk
+ do
+ install -v -m755 $prog $out/sbin
+ install -v -m644 $prog.8 $out/share/man/man8
+ done
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Set of text-mode partitioning tools for Globally Unique Identifier (GUID) Partition Table (GPT) disks";
+ license = licenses.gpl2;
+ homepage = "https://www.rodsbooks.com/gdisk/";
+ platforms = platforms.all;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/gt5/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/gt5/default.nix
new file mode 100644
index 000000000000..61d25f414bbd
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/gt5/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+ name = "gt5-1.4.0";
+
+ src = fetchurl {
+ url = "mirror://sourceforge/gt5/${name}.tar.gz";
+ sha256 = "0gm0gzyp4d9rxqddbaskbz5zvmlhyr4nyb5x9g7x4abyyxqjlnkq";
+ };
+
+ patchPhase = ''
+ sed 's/-o root -g root//' -i Makefile
+ '';
+
+ preConfigure = ''
+ makeFlags="$makeFlags PREFIX=$out"
+ '';
+
+ meta = {
+ description = "A diff-capable 'du' browser";
+ homepage = "http://gt5.sourceforge.net/";
+ license = stdenv.lib.licenses.gpl2Plus;
+ maintainers = with stdenv.lib.maintainers; [viric];
+ platforms = with stdenv.lib.platforms; linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/hardinfo/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/hardinfo/default.nix
new file mode 100644
index 000000000000..fd8fb08cf293
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/hardinfo/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchurl, which, pkgconfig, gtk2, pcre, glib, libxml2
+, libsoup ? null
+}:
+
+stdenv.mkDerivation rec {
+ pname = "hardinfo";
+ version = "0.5.1";
+
+ src = fetchurl {
+ url = "mirror://sourceforge/project/hardinfo.berlios/hardinfo-${version}.tar.bz2";
+ sha256 = "0yhvfc5icam3i4mphlz0m9d9d2irjw8mbsxq203x59wjgh6nrpx0";
+ };
+
+ # Not adding 'hostname' command, the build shouldn't depend on what the build
+ # host is called.
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = [ which gtk2 pcre glib libxml2 libsoup ];
+
+ # Fixes '#error You must compile this program without "-O"'
+ hardeningDisable = [ "all" ];
+
+ # Ignore undefined references to a bunch of libsoup symbols
+ NIX_LDFLAGS = "--unresolved-symbol=ignore-all";
+
+ preConfigure = ''
+ patchShebangs configure
+
+ # -std=gnu89 fixes build error, copied from
+ # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=757525
+ sed -i -e "s/^CFLAGS = \(.*\)/CFLAGS = \1 -std=gnu89/" Makefile.in
+
+ substituteInPlace ./arch/linux/common/modules.h --replace /sbin/modinfo modinfo
+ substituteInPlace ./arch/linux/common/os.h --replace /lib/libc.so.6 ${stdenv.glibc.out}/lib/libc.so.6
+ '';
+
+ # Makefile supports DESTDIR but not PREFIX (it hardcodes $DESTDIR/usr/).
+ installFlags = [ "DESTDIR=$(out)" ];
+ postInstall = ''
+ mv "$out/usr/"* "$out"
+ rmdir "$out/usr"
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = "http://hardinfo.org/";
+ description = "Display information about your hardware and operating system";
+ license = licenses.gpl2;
+ maintainers = with maintainers; [ bjornfor ];
+ platforms = [ "x86_64-linux" "i686-linux" ]; # ARMv7 and AArch64 are unsupported
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/hardlink/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/hardlink/default.nix
new file mode 100644
index 000000000000..c0c6aa72d3ba
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/hardlink/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, pcre2 }:
+
+
+stdenv.mkDerivation {
+ pname = "hardlink";
+ version = "1.3-4";
+
+ src = fetchurl {
+ url = "https://src.fedoraproject.org/cgit/rpms/hardlink.git/snapshot/hardlink-aa6325ac4e8100b8ac7d38c7f0bc2708e69bd855.tar.xz";
+ sha256 = "0g4hyrnd9hpykbf06qvvp3s4yyk7flbd95gilkf7r3w9vqiagvs2";
+ };
+
+ buildInputs = [ pcre2 ];
+ NIX_CFLAGS_LINK = "-lpcre2-8";
+
+ buildPhase = ''
+ $CC -O2 hardlink.c -o hardlink $NIX_CFLAGS_LINK
+ '';
+
+ installPhase = ''
+ mkdir -p $out/bin $out/share/man/man1
+ cp -f hardlink $out/bin/hardlink
+ cp -f hardlink.1 $out/share/man/man1/hardlink.1
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Consolidate duplicate files via hardlinks";
+ homepage = "https://pagure.io/hardlink";
+ repositories.git = "https://src.fedoraproject.org/cgit/rpms/hardlink.git";
+ license = licenses.gpl2Plus;
+ platforms = platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/Gemfile b/infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/Gemfile
new file mode 100644
index 000000000000..2c2e8f27e403
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/Gemfile
@@ -0,0 +1,3 @@
+source 'https://rubygems.org'
+
+gem 'hiera-eyaml'
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/Gemfile.lock b/infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/Gemfile.lock
new file mode 100644
index 000000000000..918df753a382
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/Gemfile.lock
@@ -0,0 +1,17 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ hiera-eyaml (3.0.0)
+ highline (~> 1.6.19)
+ optimist
+ highline (1.6.21)
+ optimist (3.0.0)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ hiera-eyaml
+
+BUNDLED WITH
+ 2.1.4
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/default.nix
new file mode 100644
index 000000000000..be6fb1c7462a
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/default.nix
@@ -0,0 +1,17 @@
+{ lib, bundlerEnv, ruby, bundlerUpdateScript }:
+
+bundlerEnv {
+ inherit ruby;
+ pname = "hiera-eyaml";
+ gemdir = ./.;
+
+ passthru.updateScript = bundlerUpdateScript "hiera-eyaml";
+
+ meta = with lib; {
+ description = "Per-value asymmetric encryption of sensitive data for Hiera";
+ homepage = "https://github.com/TomPoulton/hiera-eyaml";
+ license = licenses.mit;
+ maintainers = with maintainers; [ benley nicknovitski ];
+ platforms = platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/gemset.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/gemset.nix
new file mode 100644
index 000000000000..d5aa722e5fce
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/gemset.nix
@@ -0,0 +1,31 @@
+{
+ hiera-eyaml = {
+ dependencies = ["highline" "optimist"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "049rxnwyivqgyjl0sjg7cb2q44ic0wsml288caspd1ps8v31gl18";
+ type = "gem";
+ };
+ version = "3.0.0";
+ };
+ highline = {
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "06bml1fjsnrhd956wqq5k3w8cyd09rv1vixdpa3zzkl6xs72jdn1";
+ type = "gem";
+ };
+ version = "1.6.21";
+ };
+ optimist = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "05jxrp3nbn5iilc1k7ir90mfnwc5abc9h78s5rpm3qafwqxvcj4j";
+ type = "gem";
+ };
+ version = "3.0.0";
+ };
+} \ No newline at end of file
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/honcho/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/honcho/default.nix
new file mode 100644
index 000000000000..eb96c3f46132
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/honcho/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchFromGitHub, pythonPackages }:
+
+let
+ inherit (pythonPackages) python;
+ pname = "honcho";
+
+in
+
+pythonPackages.buildPythonApplication rec {
+ name = "${pname}-${version}";
+ version = "1.0.1";
+ namePrefix = "";
+
+ src = fetchFromGitHub {
+ owner = "nickstenning";
+ repo = "honcho";
+ rev = "v${version}";
+ sha256 = "11bd87474qpif20xdcn0ra1idj5k16ka51i658wfpxwc6nzsn92b";
+ };
+
+ checkInputs = with pythonPackages; [ jinja2 pytest mock coverage ];
+
+ buildPhase = ''
+ ${python.interpreter} setup.py build
+ '';
+
+ installPhase = ''
+ mkdir -p "$out/${python.sitePackages}"
+
+ export PYTHONPATH="$out/${python.sitePackages}:$PYTHONPATH"
+
+ ${python.interpreter} setup.py install \
+ --install-lib=$out/${python.sitePackages} \
+ --prefix="$out"
+ '';
+
+ checkPhase = ''
+ runHook preCheck
+ PATH=$out/bin:$PATH coverage run -m pytest
+ runHook postCheck
+ '';
+
+ meta = with stdenv.lib; {
+ description = "A Python clone of Foreman, a tool for managing Procfile-based applications";
+ license = licenses.mit;
+ homepage = "https://github.com/nickstenning/honcho";
+ maintainers = with maintainers; [ benley ];
+ platforms = platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/hostctl/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/hostctl/default.nix
new file mode 100644
index 000000000000..6f557e05cd12
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/hostctl/default.nix
@@ -0,0 +1,36 @@
+{ buildGoModule, fetchFromGitHub, lib, installShellFiles }:
+
+buildGoModule rec {
+ pname = "hostctl";
+ version = "1.0.14";
+
+ src = fetchFromGitHub {
+ owner = "guumaster";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "02bjii97l4fy43v2rb93m9b0ad8y6mjvbvp4sz6a5n0w9dm1z1q9";
+ };
+
+ vendorSha256 = "1lqk3cda0frqp2vwkqa4b3xkdw814wgkbr7g9r2mwxn85fpdcq5c";
+
+ buildFlagsArray = [ "-ldflags=-s -w -X github.com/guumaster/hostctl/cmd/hostctl/actions.version=${version}" ];
+
+ nativeBuildInputs = [ installShellFiles ];
+ postInstall = ''
+ installShellCompletion --cmd hostctl \
+ --bash <($out/bin/hostctl completion bash) \
+ --zsh <($out/bin/hostctl completion zsh)
+ '';
+
+ meta = with lib; {
+ description = "Your dev tool to manage /etc/hosts like a pro!";
+ longDescription = ''
+ This tool gives you more control over the use of your hosts file.
+ You can have multiple profiles and switch them on/off as you need.
+ '';
+ homepage = "https://guumaster.github.io/hostctl/";
+ license = licenses.mit;
+ maintainers = with maintainers; [ blaggacao ];
+ };
+}
+
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/htop/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/htop/default.nix
new file mode 100644
index 000000000000..29f361195d5a
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/htop/default.nix
@@ -0,0 +1,28 @@
+{ lib, fetchFromGitHub, stdenv, autoreconfHook
+, ncurses, IOKit
+}:
+
+stdenv.mkDerivation rec {
+ pname = "htop";
+ version = "3.0.2";
+
+ src = fetchFromGitHub {
+ owner = "htop-dev";
+ repo = pname;
+ rev = version;
+ sha256 = "1qmqhbnc5yw4brd24yrp85k09770c1c00nl03mkv5pdz2bvqivk7";
+ };
+
+ nativeBuildInputs = [ autoreconfHook ];
+
+ buildInputs = [ ncurses
+ ] ++ lib.optionals stdenv.isDarwin [ IOKit ];
+
+ meta = with stdenv.lib; {
+ description = "An interactive process viewer for Linux";
+ homepage = "https://htop.dev";
+ license = licenses.gpl2Only;
+ platforms = with platforms; linux ++ freebsd ++ openbsd ++ darwin;
+ maintainers = with maintainers; [ rob relrod ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/hwinfo/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/hwinfo/default.nix
new file mode 100644
index 000000000000..7a212f5bbeeb
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/hwinfo/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchFromGitHub, libx86emu, flex, perl, libuuid }:
+
+stdenv.mkDerivation rec {
+ pname = "hwinfo";
+ version = "21.71";
+
+ src = fetchFromGitHub {
+ owner = "opensuse";
+ repo = "hwinfo";
+ rev = version;
+ sha256 = "1g671fvkg6r30n9vwwlqpdd6yn6jf7n9ynjmslblk7kbnabzayby";
+ };
+
+ patchPhase = ''
+ # VERSION and changelog are usually generated using Git
+ # unless HWINFO_VERSION is defined (see Makefile)
+ export HWINFO_VERSION="${version}"
+ sed -i 's|^\(TARGETS\s*=.*\)\<changelog\>\(.*\)$|\1\2|g' Makefile
+
+ substituteInPlace Makefile --replace "/sbin" "/bin" --replace "/usr/" "/"
+ substituteInPlace src/isdn/cdb/Makefile --replace "lex isdn_cdb.lex" "flex isdn_cdb.lex"
+ substituteInPlace hwinfo.pc.in --replace "prefix=/usr" "prefix=$out"
+ '';
+
+ nativeBuildInputs = [ flex ];
+ buildInputs = [ libx86emu perl libuuid ];
+
+ makeFlags = [ "LIBDIR=/lib" ];
+ #enableParallelBuilding = true;
+
+ installFlags = [ "DESTDIR=$(out)" ];
+
+ meta = with stdenv.lib; {
+ description = "Hardware detection tool from openSUSE";
+ license = licenses.gpl2;
+ homepage = "https://github.com/openSUSE/hwinfo";
+ maintainers = with maintainers; [ bobvanderlinden ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/idle3tools/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/idle3tools/default.nix
new file mode 100644
index 000000000000..fa5234d8cbc3
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/idle3tools/default.nix
@@ -0,0 +1,22 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation {
+ name = "idle3-tools-0.9.1";
+
+ src = fetchurl {
+ url = "mirror://sourceforge/idle3-tools/idle3-tools-0.9.1.tgz";
+ sha256 = "00ia7xq9yldxyl9gz0mr4xa568nav14p0fnv82f2rbbkg060cy4p";
+ };
+
+ preInstall = ''
+ installFlags=DESTDIR=$out
+ '';
+
+ meta = {
+ homepage = "http://idle3-tools.sourceforge.net/";
+ description = "Tool to get/set the infamous idle3 timer in WD HDDs";
+ license = stdenv.lib.licenses.gpl3;
+ maintainers = with stdenv.lib.maintainers; [viric];
+ platforms = with stdenv.lib.platforms; linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/illum/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/illum/default.nix
new file mode 100644
index 000000000000..41fce9b9b912
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/illum/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchgit, pkgconfig, ninja, libevdev, libev }:
+
+stdenv.mkDerivation {
+ version = "0.4";
+ pname = "illum";
+
+ src = fetchgit {
+ url = "https://github.com/jmesmon/illum.git";
+ fetchSubmodules = true;
+ rev = "48ce8631346b1c88a901a8e4fa5fa7e8ffe8e418";
+ sha256 = "05v3hz7n6b1mlhc6zqijblh1vpl0ja1y8y0lafw7mjdz03wxhfdb";
+ };
+
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = [ ninja libevdev libev ];
+
+ configurePhase = ''
+ bash ./configure
+ '';
+
+ installPhase = ''
+ mkdir -p $out/bin
+ mv illum-d $out/bin
+ '';
+
+ meta = {
+ homepage = "https://github.com/jmesmon/illum";
+ description = "Daemon that wires button presses to screen backlight level";
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = [ stdenv.lib.maintainers.dancek ];
+ license = stdenv.lib.licenses.agpl3;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/incron/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/incron/default.nix
new file mode 100644
index 000000000000..d407982bb673
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/incron/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, bash }:
+
+stdenv.mkDerivation rec {
+ name = "incron-0.5.12";
+ src = fetchFromGitHub {
+ owner = "ar-";
+ repo = "incron";
+ rev = name;
+ sha256 = "11d5f98cjafiv9h9zzzrw2s06s2fvdg8gp64km7mdprd2xmy6dih";
+ };
+
+ patches = [ ./default_path.patch ];
+
+ prePatch = ''
+ sed -i "s|/bin/bash|${bash}/bin/bash|g" usertable.cpp
+ '';
+
+ installFlags = [ "PREFIX=$(out)" ];
+ installTargets = [ "install-man" ];
+
+ preInstall = ''
+ mkdir -p $out/bin
+
+ # make install doesn't work because setuid and permissions
+ # just manually install the binaries instead
+ cp incrond incrontab $out/bin/
+ '';
+
+ meta = with stdenv.lib; {
+ description = "A cron-like daemon which handles filesystem events";
+ homepage = "https://github.com/ar-/incron";
+ license = licenses.gpl2;
+ maintainers = [ maintainers.aanderse ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/incron/default_path.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/incron/default_path.patch
new file mode 100644
index 000000000000..ae173ea29e62
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/incron/default_path.patch
@@ -0,0 +1,36 @@
+diff --git usertable.cpp usertable.cpp
+index 11fd04b..a8681bd 100644
+--- a/usertable.cpp
++++ b/usertable.cpp
+@@ -43,9 +43,6 @@
+ #define DONT_FOLLOW(mask) (false)
+ #endif // IN_DONT_FOLLOW
+
+-// this is not enough, but...
+-#define DEFAULT_PATH "/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin"
+-
+
+ PROC_MAP UserTable::s_procMap;
+
+@@ -597,12 +594,20 @@ void UserTable::RunAsUser(std::string cmd) const
+ if (clearenv() != 0)
+ goto failed;
+
++ // try to recreate the user path as best as possible
++ std::string DEFAULT_PATH;
++ DEFAULT_PATH += "/run/wrappers/bin:";
++ DEFAULT_PATH += pwd->pw_dir;
++ DEFAULT_PATH += "/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/etc/profiles/per-user/";
++ DEFAULT_PATH += pwd->pw_name;
++ DEFAULT_PATH += "/bin";
++
+ if ( setenv("LOGNAME", pwd->pw_name, 1) != 0
+ || setenv("USER", pwd->pw_name, 1) != 0
+ || setenv("USERNAME", pwd->pw_name, 1) != 0
+ || setenv("HOME", pwd->pw_dir, 1) != 0
+ || setenv("SHELL", pwd->pw_shell, 1) != 0
+- || setenv("PATH", DEFAULT_PATH, 1) != 0)
++ || setenv("PATH", DEFAULT_PATH.c_str(), 1) != 0)
+ {
+ goto failed;
+ }
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/inxi/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/inxi/default.nix
new file mode 100644
index 000000000000..e5747a09f9c5
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/inxi/default.nix
@@ -0,0 +1,61 @@
+{ lib, stdenv, fetchFromGitHub, perl, perlPackages, makeWrapper
+, ps, dnsutils # dig is recommended for multiple categories
+, withRecommends ? false # Install (almost) all recommended tools (see --recommends)
+, withRecommendedSystemPrograms ? withRecommends, util-linuxMinimal, dmidecode
+, file, hddtemp, iproute, ipmitool, usbutils, kmod, lm_sensors, smartmontools
+, binutils, tree, upower
+, withRecommendedDisplayInformationPrograms ? withRecommends, glxinfo, xorg
+}:
+
+let
+ prefixPath = programs:
+ "--prefix PATH ':' '${stdenv.lib.makeBinPath programs}'";
+ recommendedSystemPrograms = lib.optionals withRecommendedSystemPrograms [
+ util-linuxMinimal dmidecode file hddtemp iproute ipmitool usbutils kmod
+ lm_sensors smartmontools binutils tree upower
+ ];
+ recommendedDisplayInformationPrograms = lib.optionals
+ withRecommendedDisplayInformationPrograms
+ ([ glxinfo ] ++ (with xorg; [ xdpyinfo xprop xrandr ]));
+ programs = [ ps dnsutils ] # Core programs
+ ++ recommendedSystemPrograms
+ ++ recommendedDisplayInformationPrograms;
+in stdenv.mkDerivation rec {
+ pname = "inxi";
+ version = "3.1.09-1";
+
+ src = fetchFromGitHub {
+ owner = "smxi";
+ repo = "inxi";
+ rev = version;
+ sha256 = "0m6s8kxjppy3jm39is5i1lbrah29cw86rq0vamvx46izbdyf84y5";
+ };
+
+ buildInputs = [ perl makeWrapper ];
+
+ installPhase = ''
+ mkdir -p $out/bin
+ cp inxi $out/bin/
+ wrapProgram $out/bin/inxi \
+ --set PERL5LIB "${perlPackages.makePerlPath (with perlPackages; [ CpanelJSONXS ])}" \
+ ${prefixPath programs}
+ 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";
+ 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.
+ '';
+ homepage = "https://smxi.org/docs/inxi.htm";
+ changelog = "https://github.com/smxi/inxi/blob/${version}/inxi.changelog";
+ license = licenses.gpl3Plus;
+ platforms = platforms.unix;
+ maintainers = with maintainers; [ primeos ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/ioping/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/ioping/default.nix
new file mode 100644
index 000000000000..7b65739c1a8d
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/ioping/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, fetchpatch }:
+
+stdenv.mkDerivation rec {
+ pname = "ioping";
+ version = "1.2";
+
+ src = fetchFromGitHub {
+ owner = "koct9i";
+ repo = "ioping";
+ rev = "v${version}";
+ sha256 = "10bv36bqga8sdifxzywzzpjil7vmy62psirz7jbvlsq1bw71aiid";
+ };
+
+ patches = [
+ # add netdata support: https://github.com/koct9i/ioping/pull/41
+ (fetchpatch {
+ url = "https://github.com/koct9i/ioping/commit/e7b818457ddb952cbcc13ae732ba0328f6eb73b3.patch";
+ sha256 = "122ivp4rqsnjszjfn33z8li6glcjhy7689bgipi8cgs5q55j99gf";
+ })
+ ];
+
+ makeFlags = [ "PREFIX=$(out)" ];
+
+ meta = with stdenv.lib; {
+ description = "Disk I/O latency measuring tool";
+ maintainers = with maintainers; [ raskin ];
+ platforms = platforms.unix;
+ license = licenses.gpl3Plus;
+ homepage = "https://github.com/koct9i/ioping";
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/iops/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/iops/default.nix
new file mode 100644
index 000000000000..cf34cb115f14
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/iops/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+ pname = "iops";
+ version = "0.1";
+
+ src = fetchurl {
+ url = "https://www.vanheusden.com/iops/${pname}-${version}.tgz";
+ sha256 = "1knih6dwwiicycp5ml09bj3k8j7air9bng070sfnxwfv786y90bz";
+ };
+
+ installPhase = ''
+ mkdir -p $out/bin
+ cp iops $out/bin
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Measure I/O operations per second of a storage device";
+ longDescription = ''
+ Iops lets you measure how many I/O operations per second a storage device can perform.
+ Usefull for determing e.g. the best RAID-setting of your storage device.
+ '';
+ homepage = "http://www.vanheusden.com/iops/";
+ license = licenses.gpl2;
+ maintainers = with maintainers; [ davidak ];
+ platforms = platforms.linux; # build problems on Darwin
+ };
+}
+
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/ior/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/ior/default.nix
new file mode 100644
index 000000000000..eff85589a1eb
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/ior/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, openmpi, perl, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+ pname = "ior";
+ version = "3.2.1";
+
+ src = fetchFromGitHub {
+ owner = "hpc";
+ repo = pname;
+ rev = version;
+ sha256 = "036cg75c5vq6kijfv8f918vpm9sf1h7lyg6xr9fba7n0dwbbmycv";
+ };
+
+ nativeBuildInputs = [ autoreconfHook ];
+ buildInputs = [ openmpi perl ];
+
+ enableParallelBuilding = true;
+
+ meta = with stdenv.lib; {
+ homepage = "https://ior.readthedocs.io/en/latest/";
+ description = "Parallel file system I/O performance test";
+ license = licenses.gpl2;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ bzizou ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/ipmitool/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/ipmitool/default.nix
new file mode 100644
index 000000000000..b5da2db67fe8
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/ipmitool/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, lib, fetchurl, openssl, fetchpatch, static ? false }:
+
+let
+ pkgname = "ipmitool";
+ version = "1.8.18";
+in
+stdenv.mkDerivation {
+ name = "${pkgname}-${version}";
+
+ src = fetchurl {
+ url = "mirror://sourceforge/${pkgname}/${pkgname}-${version}.tar.gz";
+ sha256 = "0kfh8ny35rvwxwah4yv91a05qwpx74b5slq2lhrh71wz572va93m";
+ };
+
+ patches = [
+ (fetchpatch {
+ url = "https://sources.debian.org/data/main/i/ipmitool/1.8.18-6/debian/patches/0120-openssl1.1.patch";
+ sha256 = "1xvsjxb782lzy72bnqqnsk3r5h4zl3na95s4pqn2qg7cic2mnbfk";
+ })
+ # Fix build on non-linux systems
+ (fetchpatch {
+ url = "https://github.com/ipmitool/ipmitool/commit/5db314f694f75c575cd7c9ffe9ee57aaf3a88866.patch";
+ sha256 = "01niwrgajhrdhl441gzmw6v1r1yc3i8kn98db4b6smfn5fwdp1pa";
+ })
+ ];
+
+ buildInputs = [ openssl ];
+
+ configureFlags = [
+ "--infodir=${placeholder "out"}/share/info"
+ "--mandir=${placeholder "out"}/share/man"
+ ] ++ stdenv.lib.optionals static [
+ "LDFLAGS=-static"
+ "--enable-static"
+ "--disable-shared"
+ ] ++ stdenv.lib.optionals (!static) [
+ "--enable-shared"
+ ];
+
+ makeFlags = stdenv.lib.optional static "AM_LDFLAGS=-all-static";
+ dontDisableStatic = static;
+
+ meta = with lib; {
+ description = ''Command-line interface to IPMI-enabled devices'';
+ license = licenses.bsd3;
+ homepage = "https://sourceforge.net/projects/ipmitool/";
+ platforms = platforms.unix;
+ maintainers = with maintainers; [ fpletz ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/ipmiutil/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/ipmiutil/default.nix
new file mode 100644
index 000000000000..17c28b3cd420
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/ipmiutil/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, openssl }:
+
+stdenv.mkDerivation rec {
+ baseName = "ipmiutil";
+ version = "3.1.6";
+ name = "${baseName}-${version}";
+
+ src = fetchurl {
+ url = "mirror://sourceforge/project/${baseName}/${name}.tar.gz";
+ sha256 = "0jlfb4firph3hc0854n7cw7yjwlax3wdxn37r2jl0l94dj684548";
+ };
+
+ buildInputs = [ openssl ];
+
+ preBuild = ''
+ sed -e "s@/usr@$out@g" -i Makefile */Makefile */*/Makefile
+ sed -e "s@/etc@$out/etc@g" -i Makefile */Makefile */*/Makefile
+ sed -e "s@/var@$out/var@g" -i Makefile */Makefile */*/Makefile
+ '';
+
+ NIX_CFLAGS_COMPILE = "-fno-stack-protector";
+
+ meta = with stdenv.lib; {
+ description = "An easy-to-use IPMI server management utility";
+ homepage = "http://ipmiutil.sourceforge.net/";
+ maintainers = with maintainers; [ raskin ];
+ platforms = platforms.linux;
+ license = licenses.bsd3;
+ downloadPage = "https://sourceforge.net/projects/ipmiutil/files/ipmiutil/";
+ inherit version;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/ipmiutil/default.upstream b/infra/libkookie/nixpkgs/pkgs/tools/system/ipmiutil/default.upstream
new file mode 100644
index 000000000000..45e3a936825a
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/ipmiutil/default.upstream
@@ -0,0 +1,4 @@
+url https://sourceforge.net/projects/ipmiutil/files/
+SF_version_tarball
+SF_redirect
+minimize_overwrite
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/java-service-wrapper/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/java-service-wrapper/default.nix
new file mode 100644
index 000000000000..758942c05494
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/java-service-wrapper/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl
+, jdk
+, ant, cunit, ncurses
+}:
+
+stdenv.mkDerivation rec {
+ pname = "java-service-wrapper";
+ version = "3.5.43";
+
+ src = fetchurl {
+ url = "https://wrapper.tanukisoftware.com/download/${version}/wrapper_${version}_src.tar.gz";
+ sha256 = "19cx3854rk7b2056z8pvxnf4simsg5js7czsy2bys7jl6vh2x02b";
+ };
+
+ buildInputs = [ jdk ];
+ nativeBuildInputs = [ ant cunit ncurses ];
+
+ buildPhase = ''
+ export ANT_HOME=${ant}
+ export JAVA_HOME=${jdk}/lib/openjdk/jre/
+ export JAVA_TOOL_OPTIONS=-Djava.home=$JAVA_HOME
+ export CLASSPATH=${jdk}/lib/openjdk/lib/tools.jar
+
+ ${if stdenv.isi686 then "./build32.sh" else "./build64.sh"}
+ '';
+
+ installPhase = ''
+ mkdir -p $out/{bin,lib}
+ cp bin/wrapper $out/bin/wrapper
+ cp lib/wrapper.jar $out/lib/wrapper.jar
+ cp lib/libwrapper.so $out/lib/libwrapper.so
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Enables a Java Application to be run as a Windows Service or Unix Daemon";
+ homepage = "https://wrapper.tanukisoftware.com/";
+ license = licenses.gpl2;
+ platforms = [ "x86_64-linux" "i686-linux" ];
+ maintainers = [ maintainers.suhr ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/journalwatch/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/journalwatch/default.nix
new file mode 100644
index 000000000000..b41196b85c91
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/journalwatch/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, pythonOlder, systemd, pytest }:
+
+buildPythonPackage rec {
+ pname = "journalwatch";
+ version = "1.1.0";
+ disabled = pythonOlder "3.3";
+
+ src = fetchFromGitHub {
+ owner = "The-Compiler";
+ repo = pname;
+ rev = "v${version}";
+ sha512 = "11g2f1w9lfqw6zxxyg7qrqpb914s6w71j0gnpw7qr7cak2l5jlf2l39dlg30y55rw7jgmf0yg77wwzd0c430mq1n6q1v8w86g1rwkzb";
+ };
+
+ # can be removed post 1.1.0
+ postPatch = ''
+ substituteInPlace test_journalwatch.py \
+ --replace "U Thu Jan 1 00:00:00 1970 prio foo [1337]" "U Thu Jan 1 00:00:00 1970 pprio foo [1337]"
+ '';
+
+
+ doCheck = true;
+ checkInputs = [ pytest ];
+ checkPhase = ''
+ pytest
+ '';
+
+ propagatedBuildInputs = [
+ systemd
+ ];
+
+
+ meta = with stdenv.lib; {
+ description = "journalwatch is a tool to find error messages in the systemd journal.";
+ homepage = "https://github.com/The-Compiler/journalwatch";
+ license = licenses.gpl3Plus;
+ maintainers = with maintainers; [ florianjacob ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/jump/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/jump/default.nix
new file mode 100644
index 000000000000..d91df3232c8a
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/jump/default.nix
@@ -0,0 +1,41 @@
+{ buildGoModule, fetchFromGitHub, lib }:
+
+buildGoModule rec {
+ pname = "jump";
+ version = "0.30.1";
+
+ src = fetchFromGitHub {
+ owner = "gsamokovarov";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "0mph3bqfjnw3yf0a6ml3ccmkr1shviwvvq4d04ky4gppfy6z51jy";
+ };
+
+ vendorSha256 = "1500vim2lmkkls758pwhlx3piqbw6ap0nnhdwz9pcxih4s4as2nk";
+
+ doCheck = false;
+
+ outputs = [ "out" "man"];
+ postInstall = ''
+ install -D --mode=444 man/j.1 man/jump.1 -t $man/man/man1/
+
+ # generate completion scripts for jump
+ export HOME="$NIX_BUILD_TOP"
+ mkdir -p $out/share/{bash-completion/completions,fish/vendor_completions.d,zsh/site-functions}
+ $out/bin/jump shell bash > "$out/share/bash-completion/completions/jump"
+ $out/bin/jump shell fish > $out/share/fish/vendor_completions.d/jump.fish
+ $out/bin/jump shell zsh > $out/share/zsh/site-functions/_jump
+ '';
+
+ meta = with lib; {
+ description = "Navigate directories faster by learning your habits";
+ longDescription = ''
+ Jump integrates with the shell and learns about your
+ navigational habits by keeping track of the directories you visit. It
+ strives to give you the best directory for the shortest search term.
+ '';
+ homepage = "https://github.com/gsamokovarov/jump";
+ license = licenses.mit;
+ maintainers = with maintainers; [ sondr3 ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/kmon/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/kmon/default.nix
new file mode 100644
index 000000000000..502579bb931c
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/kmon/default.nix
@@ -0,0 +1,31 @@
+{ lib, fetchFromGitHub, rustPlatform, python3, libxcb }:
+
+rustPlatform.buildRustPackage rec {
+ pname = "kmon";
+ version = "1.5.1";
+
+ src = fetchFromGitHub {
+ owner = "orhun";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "0j6w4rg2gybcy1cv812qixravy0z0xpp33snrng11q802zq3mkmq";
+ };
+
+ cargoSha256 = "0x5s3yi5bv3h1k54lrgcvkpdkmfphvwhnrmk5lmk6xd9pxfh218p";
+
+ nativeBuildInputs = [ python3 ];
+
+ buildInputs = [ libxcb ];
+
+ postInstall = ''
+ install -D man/kmon.8 -t $out/share/man/man8/
+ '';
+
+ meta = with lib; {
+ description = "Linux Kernel Manager and Activity Monitor";
+ homepage = "https://github.com/orhun/kmon";
+ license = with licenses; [ gpl3 ];
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ misuzu ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/krakenx/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/krakenx/default.nix
new file mode 100644
index 000000000000..e5b1e3ec1c94
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/krakenx/default.nix
@@ -0,0 +1,23 @@
+{ lib, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+ pname = "krakenx";
+ version = "0.0.3";
+
+ src = python3Packages.fetchPypi {
+ inherit pname version;
+ sha256 = "1khw1rxra5hn7hwp16i6kgj89znq8vjsyly3r2dxx2z2bddil000";
+ };
+
+ propagatedBuildInputs = lib.singleton python3Packages.pyusb;
+
+ doCheck = false; # there are no tests
+
+ meta = with lib; {
+ description = "Python script to control NZXT cooler Kraken X52/X62/X72";
+ homepage = "https://github.com/KsenijaS/krakenx";
+ license = licenses.gpl2;
+ maintainers = [ maintainers.willibutz ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/ledmon/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/ledmon/default.nix
new file mode 100644
index 000000000000..6775a4711261
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/ledmon/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, perl, udev, sg3_utils }:
+
+stdenv.mkDerivation rec {
+ pname = "ledmon";
+ version = "0.92";
+
+ src = fetchFromGitHub {
+ owner = "intel";
+ repo = "ledmon";
+ rev = "v${version}";
+ sha256 = "1lz59606vf2sws5xwijxyffm8kxcf8p9qbdpczsq1b5mm3dk6lvp";
+ };
+
+ nativeBuildInputs = [
+ perl # for pod2man
+ ];
+ buildInputs = [ udev sg3_utils ];
+
+ installTargets = [ "install" "install-systemd" ];
+
+ makeFlags = [
+ "MAN_INSTDIR=${placeholder "out"}/share/man"
+ "SYSTEMD_SERVICE_INSTDIR=${placeholder "out"}/lib/systemd/system"
+ "LEDCTL_INSTDIR=${placeholder "out"}/sbin"
+ "LEDMON_INSTDIR=${placeholder "out"}/sbin"
+ ];
+
+ meta = with stdenv.lib; {
+ homepage = "https://github.com/intel/ledmon";
+ description = "Enclosure LED Utilities";
+ platforms = platforms.linux;
+ license = with licenses; [ gpl2 ];
+ maintainers = with stdenv.lib.maintainers; [ sorki ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/loadwatch/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/loadwatch/default.nix
new file mode 100644
index 000000000000..eb7f1e3bb59b
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/loadwatch/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchgit, ... }:
+
+stdenv.mkDerivation {
+ name = "loadwatch-1.1-1-g6d2544c";
+ src = fetchgit {
+ url = "git://woffs.de/git/fd/loadwatch.git";
+ sha256 = "1bhw5ywvhyb6snidsnllfpdi1migy73wg2gchhsfbcpm8aaz9c9b";
+ rev = "6d2544c0caaa8a64bbafc3f851e06b8056c30e6e";
+ };
+ installPhase = ''
+ mkdir -p $out/bin
+ install loadwatch lw-ctl $out/bin
+ '';
+ meta = with stdenv.lib; {
+ description = "Run a program using only idle cycles";
+ license = licenses.gpl2;
+ maintainers = with maintainers; [ woffs ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/localtime/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/localtime/default.nix
new file mode 100644
index 000000000000..805a70c74e9e
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/localtime/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub, buildGoPackage, m4 }:
+
+buildGoPackage rec {
+ name = "localtime-2017-11-07";
+
+ src = fetchFromGitHub {
+ owner = "Stebalien";
+ repo = "localtime";
+ rev = "2e7b4317c723406bd75b2a1d640219ab9f8090ce";
+ sha256 = "04fyna8p7q7skzx9fzmncd6gx7x5pwa9jh8a84hpljlvj0kldfs8";
+ };
+
+ goPackagePath = "github.com/Stebalien/localtime";
+
+ nativeBuildInputs = [ m4 ];
+
+ makeFlags = [
+ "PREFIX=${placeholder "out"}"
+ "BINDIR=${placeholder "out"}/bin"
+ ];
+
+ buildPhase = ''
+ cd go/src/${goPackagePath}
+ make $makeFlags
+ '';
+
+ installPhase = ''
+ make install $makeFlags
+ '';
+
+ meta = with stdenv.lib; {
+ description = "A daemon for keeping the system timezone up-to-date based on the current location";
+ homepage = "https://github.com/Stebalien/localtime";
+ platforms = platforms.linux;
+ license = licenses.gpl3;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/logcheck/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/logcheck/default.nix
new file mode 100644
index 000000000000..71edfde9a0b3
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/logcheck/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, lockfileProgs, perlPackages }:
+
+stdenv.mkDerivation rec {
+ pname = "logcheck";
+ version = "1.3.20";
+ _name = "logcheck_${version}";
+
+ src = fetchurl {
+ url = "mirror://debian/pool/main/l/logcheck/${_name}.tar.xz";
+ sha256 = "1rmkvxhcwr9gb6z4dlgr6rrx5l70hshlxdggs6qx0w1ljcmx1dlz";
+ };
+
+ prePatch = ''
+ # do not set sticky bit in nix store.
+ substituteInPlace Makefile --replace 2750 0750
+ '';
+
+ preConfigure = ''
+ substituteInPlace src/logtail --replace "/usr/bin/perl" "${perlPackages.perl}/bin/perl"
+ substituteInPlace src/logtail2 --replace "/usr/bin/perl" "${perlPackages.perl}/bin/perl"
+
+ sed -i -e 's|! -f /usr/bin/lockfile|! -f ${lockfileProgs}/bin/lockfile|' \
+ -e 's|^\([ \t]*\)lockfile-|\1${lockfileProgs}/bin/lockfile-|' \
+ -e "s|/usr/sbin/logtail2|$out/sbin/logtail2|" \
+ -e 's|mime-construct|${perlPackages.mimeConstruct}/bin/mime-construct|' \
+ -e 's|\$(run-parts --list "\$dir")|"$dir"/*|' src/logcheck
+ '';
+
+ makeFlags = [
+ "DESTDIR=$(out)"
+ "SBINDIR=sbin"
+ "BINDIR=bin"
+ "SHAREDIR=share/logtail/detectrotate"
+ ];
+
+ meta = with stdenv.lib; {
+ description = "Mails anomalies in the system logfiles to the administrator";
+ longDescription = ''
+ Mails anomalies in the system logfiles to the administrator.
+
+ Logcheck helps spot problems and security violations in your logfiles automatically and will send the results to you by e-mail.
+ Logcheck was part of the Abacus Project of security tools, but this version has been rewritten.
+ '';
+ homepage = "https://salsa.debian.org/debian/logcheck";
+ license = licenses.gpl2;
+ maintainers = [ maintainers.bluescreen303 ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/logrotate/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/logrotate/default.nix
new file mode 100644
index 000000000000..4c891e3e5b33
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/logrotate/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchFromGitHub, gzip, popt, autoreconfHook
+, mailutils ? null
+}:
+
+stdenv.mkDerivation rec {
+ pname = "logrotate";
+ version = "3.17.0";
+
+ src = fetchFromGitHub {
+ owner = "logrotate";
+ repo = "logrotate";
+ rev = version;
+ sha256 = "133k4y24p918v4dva6dh70bdfv13jvwl2vlhq0mybrs3ripvnh4h";
+ };
+
+ # Logrotate wants to access the 'mail' program; to be done.
+ patchPhase = ''
+ sed -i -e 's,[a-z/]\+gzip,${gzip}/bin/gzip,' \
+ -e 's,[a-z/]\+gunzip,${gzip}/bin/gunzip,' configure.ac
+
+ ${stdenv.lib.optionalString (mailutils != null) ''
+ sed -i -e 's,[a-z/]\+mail,${mailutils}/bin/mail,' configure.ac
+ ''}
+ '';
+
+ autoreconfPhase = ''
+ ./autogen.sh
+ '';
+
+ nativeBuildInputs = [ autoreconfHook ];
+ buildInputs = [ popt ];
+
+ meta = {
+ homepage = "https://fedorahosted.org/releases/l/o/logrotate/";
+ description = "Rotates and compresses system logs";
+ license = stdenv.lib.licenses.gpl2Plus;
+ maintainers = [ stdenv.lib.maintainers.viric ];
+ platforms = stdenv.lib.platforms.all;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/lr/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/lr/default.nix
new file mode 100644
index 000000000000..8d2febbeb8af
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/lr/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+ pname = "lr";
+ version = "1.5.1";
+
+ src = fetchFromGitHub {
+ owner = "chneukirchen";
+ repo = "lr";
+ rev = "v${version}";
+ sha256 = "1wv2acm4r5y5gg6f64v2hiwpg1f3lnr4fy1a9zssw77fmdc7ys3j";
+ };
+
+ makeFlags = [ "PREFIX=$(out)" ];
+
+ meta = with stdenv.lib; {
+ homepage = "https://github.com/chneukirchen/lr";
+ description = "List files recursively";
+ license = licenses.mit;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ vika_nezrimaya ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/lshw/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/lshw/default.nix
new file mode 100644
index 000000000000..3d1a6ace08e4
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/lshw/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, lib, fetchurl, fetchpatch
+, withGUI ? false, gtk2, pkgconfig, sqlite # compile GUI
+}:
+
+let numVersion = "02.18"; # :(
+in
+stdenv.mkDerivation rec {
+ name = "lshw-${numVersion}b";
+ version = numVersion;
+
+ src = fetchurl {
+ url = "https://ezix.org/software/files/lshw-B.${version}.tar.gz";
+ sha256 = "0brwra4jld0d53d7jsgca415ljglmmx1l2iazpj4ndilr48yy8mf";
+ };
+
+ patches = [
+ (fetchpatch {
+ # fix crash in scan_dmi_sysfs() when run as non-root
+ url = "https://github.com/lyonel/lshw/commit/fbdc6ab15f7eea0ddcd63da355356ef156dd0d96.patch";
+ sha256 = "147wyr5m185f8swsmb4q1ahs9r1rycapbpa2548aqbv298bbish3";
+ })
+ (fetchpatch {
+ # support cross-compilation
+ url = "https://github.com/lyonel/lshw/commit/8486d25cea9b68794504fbd9e5c6e294bac6cb07.patch";
+ sha256 = "08f0wnxsq0agvsc66bhc7lxvk564ir0pp8pg3cym6a621prb9lm0";
+ })
+ ];
+
+ nativeBuildInputs = [ pkgconfig ];
+
+ buildInputs = lib.optionals withGUI [ gtk2 sqlite ];
+
+ # Fix version info.
+ preConfigure = ''
+ sed -e "s/return \"unknown\"/return \"${version}\"/" \
+ -i src/core/version.cc
+ '';
+
+ makeFlags = [ "PREFIX=$(out)" ];
+
+ buildFlags = [ "all" ] ++ lib.optional withGUI "gui";
+
+ installTargets = [ "install" ] ++ lib.optional withGUI "install-gui";
+
+ enableParallelBuilding = true;
+
+ meta = with stdenv.lib; {
+ homepage = "https://ezix.org/project/wiki/HardwareLiSter";
+ description = "Provide detailed information on the hardware configuration of the machine";
+ license = licenses.gpl2;
+ maintainers = with maintainers; [ phreedom ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/mcron/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/mcron/default.nix
new file mode 100644
index 000000000000..ca515cbdfd83
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/mcron/default.nix
@@ -0,0 +1,38 @@
+{ fetchurl, stdenv, guile, which, ed, libtool }:
+
+stdenv.mkDerivation rec {
+ name = "mcron-1.0.6";
+
+ src = fetchurl {
+ url = "mirror://gnu/mcron/${name}.tar.gz";
+ sha256 = "0yvrfzzdy2m7fbqkr61fw01wd9r2jpnbyabxhcsfivgxywknl0fy";
+ };
+
+ patches = [ ./install-vixie-programs.patch ];
+
+ # don't attempt to chmod +s files in the nix store
+ postPatch = ''
+ substituteInPlace makefile.in --replace "rwxs" "rwx"
+ '';
+
+ buildInputs = [ guile which ed libtool ];
+
+ doCheck = true;
+
+ meta = {
+ description = "Flexible implementation of `cron' in Guile";
+
+ longDescription = ''
+ The GNU package mcron (Mellor's cron) is a 100% compatible
+ replacement for Vixie cron. It is written in pure Guile, and
+ allows configuration files to be written in scheme (as well as
+ Vixie's original format) for infinite flexibility in specifying
+ when jobs should be run. Mcron was written by Dale Mellor.
+ '';
+
+ homepage = "https://www.gnu.org/software/mcron/";
+
+ license = stdenv.lib.licenses.gpl3Plus;
+ platforms = stdenv.lib.platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/mcron/install-vixie-programs.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/mcron/install-vixie-programs.patch
new file mode 100644
index 000000000000..d268ecb4a0ab
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/mcron/install-vixie-programs.patch
@@ -0,0 +1,23 @@
+This patch allows us to install the Vixie-compatible binaries as
+non-root without creating /var/run, etc.
+
+--- mcron-1.0.6/makefile.in 2010-06-19 20:44:17.000000000 +0200
++++ mcron-1.0.6/makefile.in 2010-07-04 16:16:25.000000000 +0200
+@@ -1004,15 +1004,11 @@ mcron.c : main.scm crontab.scm makefile.
+ @rm -f mcron.escaped.scm > /dev/null 2>&1
+
+ install-exec-hook:
+- @if [ "x@NO_VIXIE_CLOBBER@" != "xyes" -a "`id -u`" -eq "0" ]; then \
++ @if [ "x@NO_VIXIE_CLOBBER@" != "xyes" ]; then \
+ rm -f $(fpp)cron$(EXEEXT) > /dev/null 2>&1; \
+ $(INSTALL) --mode='u=rwx' mcron$(EXEEXT) $(fpp)cron$(EXEEXT); \
+ rm -f $(fpp)crontab$(EXEEXT) > /dev/null 2>&1; \
+ $(INSTALL) --mode='u=rwxs,og=rx' mcron$(EXEEXT) $(fpp)crontab$(EXEEXT); \
+- $(INSTALL) -d --mode='u=rwx' $(DESTDIR)/var/cron; \
+- $(INSTALL) -d --mode='u=rwx,og=rx' $(DESTDIR)/var/run; \
+- $(INSTALL) -d --mode='u=rwx,og=rx' $(DESTDIR)@GUILE_SITE@; \
+- $(INSTALL) -d --mode='u=rwx,og=rx' $(DESTDIR)@GUILE_SITE@/mcron; \
+ elif [ "x@NO_VIXIE_CLOBBER@" = "xyes" ]; then \
+ echo "Not installing Vixie-style programs"; \
+ else \
+
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/memtester/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/memtester/default.nix
new file mode 100644
index 000000000000..870d7e0dd1db
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/memtester/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+ pname = "memtester";
+ version = "4.5.0";
+
+ preConfigure = ''
+ echo "$CC" > conf-cc
+ echo "$CC" > conf-ld
+ '';
+
+ src = fetchurl {
+ url = "http://pyropus.ca/software/memtester/old-versions/memtester-${version}.tar.gz";
+ sha256 = "0dxfwayns3hjjplkxkpkm1409lmjlpi4chcrahcvdbnl0q6jpmcf";
+ };
+
+ installFlags = [ "INSTALLPATH=$(out)" ];
+
+ meta = with stdenv.lib; {
+ description = "A userspace utility for testing the memory subsystem for faults";
+ homepage = "http://pyropus.ca/software/memtester/";
+ license = licenses.gpl2;
+ maintainers = [ maintainers.dezgeg ];
+ platforms = platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/minijail/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/minijail/default.nix
new file mode 100644
index 000000000000..fac934f7bb25
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/minijail/default.nix
@@ -0,0 +1,60 @@
+{ stdenv, lib, fetchFromGitiles, glibc, libcap, qemu }:
+
+let
+ dumpConstants =
+ if stdenv.buildPlatform == stdenv.hostPlatform then "./dump_constants"
+ else if stdenv.hostPlatform.isAarch32 then "qemu-arm dump_constants"
+ else if stdenv.hostPlatform.isAarch64 then "qemu-aarch64 dump_constants"
+ else if stdenv.hostPlatform.isx86_64 then "qemu-x86_64 dump_constants"
+ else throw "Unsupported host platform";
+in
+
+stdenv.mkDerivation rec {
+ pname = "minijail";
+ version = "16";
+
+ src = fetchFromGitiles {
+ url = "https://android.googlesource.com/platform/external/minijail";
+ rev = "linux-v${version}";
+ sha256 = "0pxazds3w12c30msq6bxs4a9cbds0dkj6n3ca0i1wqvgz864yrgs";
+ };
+
+ nativeBuildInputs =
+ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) qemu;
+ buildInputs = [ libcap ];
+
+ makeFlags = [ "LIBDIR=$(out)/lib" ];
+ dumpConstantsFlags = lib.optional (stdenv.hostPlatform.libc == "glibc")
+ "LDFLAGS=-L${glibc.static}/lib";
+
+ postPatch = ''
+ substituteInPlace common.mk --replace /bin/echo echo
+ patchShebangs platform2_preinstall.sh
+ '';
+
+ postBuild = ''
+ make $makeFlags $buildFlags $dumpConstantsFlags dump_constants
+ ${dumpConstants} > constants.json
+ '';
+
+ installPhase = ''
+ ./platform2_preinstall.sh ${version} $out/include/chromeos
+
+ mkdir -p $out/lib/pkgconfig $out/include/chromeos $out/bin \
+ $out/share/minijail
+
+ cp -v *.so $out/lib
+ cp -v *.pc $out/lib/pkgconfig
+ cp -v libminijail.h scoped_minijail.h $out/include/chromeos
+ cp -v minijail0 $out/bin
+ cp -v constants.json $out/share/minijail
+ '';
+
+ meta = with lib; {
+ homepage = "https://android.googlesource.com/platform/external/minijail/";
+ description = "Sandboxing library and application using Linux namespaces and capabilities";
+ license = licenses.bsd3;
+ maintainers = with maintainers; [ pcarrier qyliss ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/minijail/tools.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/minijail/tools.nix
new file mode 100644
index 000000000000..875ea0dbff95
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/minijail/tools.nix
@@ -0,0 +1,13 @@
+{ buildPythonApplication, lib, minijail }:
+
+buildPythonApplication {
+ pname = "minijail-tools";
+ inherit (minijail) version src;
+
+ meta = with lib; {
+ homepage = "https://android.googlesource.com/platform/external/minijail/+/refs/heads/master/tools/";
+ description = "A set of tools for minijail";
+ license = licenses.asl20;
+ inherit (minijail.meta) maintainers platforms;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/mlc/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/mlc/default.nix
new file mode 100644
index 000000000000..d055c98e04cb
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/mlc/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, patchelf }:
+stdenv.mkDerivation rec {
+ pname = "mlc";
+ version = "3.9";
+
+ src = fetchurl {
+ url = "https://software.intel.com/content/dam/develop/external/us/en/protected/mlc_v${version}.tgz";
+ sha256 = "1x7abm9hbv9hkqa3cgxz6l04m3ycyl40i4zgx1w819pc10n6dhdb";
+ };
+
+ sourceRoot = "Linux";
+
+ installPhase = ''
+ install -Dm755 mlc $out/bin/mlc
+ '';
+
+ nativeBuildInputs = [ patchelf ];
+
+ fixupPhase = ''
+ patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/bin/mlc
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = "https://software.intel.com/content/www/us/en/develop/articles/intelr-memory-latency-checker.html";
+ description = "Intel Memory Latency Checker";
+ license = licenses.unfree;
+ maintainers = with maintainers; [ basvandijk ];
+ platforms = with platforms; linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/monit/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/monit/default.nix
new file mode 100644
index 000000000000..3349749d62e8
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/monit/default.nix
@@ -0,0 +1,41 @@
+{ stdenv
+, fetchurl, bison, flex
+, zlib
+, usePAM ? stdenv.hostPlatform.isLinux, pam
+, useSSL ? true, openssl
+}:
+
+stdenv.mkDerivation rec {
+ name = "monit-5.27.1";
+
+ src = fetchurl {
+ url = "${meta.homepage}dist/${name}.tar.gz";
+ sha256 = "0lgdhif6x11fcpli0qn138rpdvrfnwmkzsy4lc9pas45c78hhx7m";
+ };
+
+ nativeBuildInputs = [ bison flex ];
+ buildInputs = [ zlib.dev ] ++
+ stdenv.lib.optionals useSSL [ openssl ] ++
+ stdenv.lib.optionals usePAM [ pam ];
+
+ configureFlags = [
+ (stdenv.lib.withFeature usePAM "pam")
+ ] ++ (if useSSL then [
+ "--with-ssl-incl-dir=${openssl.dev}/include"
+ "--with-ssl-lib-dir=${openssl.out}/lib"
+ ] else [
+ "--without-ssl"
+ ]) ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+ # will need to check both these are true for musl
+ "libmonit_cv_setjmp_available=yes"
+ "libmonit_cv_vsnprintf_c99_conformant=yes"
+ ];
+
+ meta = {
+ homepage = "http://mmonit.com/monit/";
+ description = "Monitoring system";
+ license = stdenv.lib.licenses.agpl3;
+ maintainers = with stdenv.lib.maintainers; [ raskin wmertens ];
+ platforms = with stdenv.lib.platforms; linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/mq-cli/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/mq-cli/default.nix
new file mode 100644
index 000000000000..a29e1630116d
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/mq-cli/default.nix
@@ -0,0 +1,24 @@
+{ fetchFromGitHub, lib, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+ pname = "mq-cli";
+ version = "1.0.0";
+
+ src = fetchFromGitHub {
+ owner = "aprilabank";
+ repo = "mq-cli";
+ rev = "v${version}";
+ sha256 = "02z85waj5jc312biv2qhbgplsggxgjmfmyv9v8b1ky0iq1mpxjw7";
+ };
+
+ cargoSha256 = "19ccylnmmlm2d8kc178cffpjwrjlia6b4v3nzvxcs81a396ymr7b";
+
+ meta = with lib; {
+ description = "CLI tool to manage POSIX message queues";
+ homepage = "https://github.com/aprilabank/mq-cli";
+ license = licenses.mit;
+ maintainers = with maintainers; [ tazjin ];
+ platforms = platforms.linux;
+ repositories.git = "git://github.com/aprilabank/mq-cli.git";
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/netdata/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/netdata/default.nix
new file mode 100644
index 000000000000..8192dfe6c14d
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/netdata/default.nix
@@ -0,0 +1,84 @@
+{ stdenv, callPackage, fetchFromGitHub, autoreconfHook, pkgconfig
+, CoreFoundation, IOKit, libossp_uuid
+, curl, libcap, libuuid, lm_sensors, zlib, fetchpatch
+, nixosTests
+, withCups ? false, cups
+, withDBengine ? true, libuv, lz4, judy
+, withIpmi ? (!stdenv.isDarwin), freeipmi
+, withNetfilter ? (!stdenv.isDarwin), libmnl, libnetfilter_acct
+, withSsl ? true, openssl
+, withDebug ? false
+}:
+
+with stdenv.lib;
+
+let
+ go-d-plugin = callPackage ./go.d.plugin.nix {};
+in stdenv.mkDerivation rec {
+ version = "1.26.0";
+ pname = "netdata";
+
+ src = fetchFromGitHub {
+ owner = "netdata";
+ repo = "netdata";
+ rev = "v${version}";
+ sha256 = "0pvl1y1qscwp1chrbmk43xf9ddjxgfm0hcslbdbljjis7ng4gacg";
+ };
+
+ nativeBuildInputs = [ autoreconfHook pkgconfig ];
+ buildInputs = [ curl.dev zlib.dev ]
+ ++ optionals stdenv.isDarwin [ CoreFoundation IOKit libossp_uuid ]
+ ++ optionals (!stdenv.isDarwin) [ libcap.dev libuuid.dev ]
+ ++ optionals withCups [ cups ]
+ ++ optionals withDBengine [ libuv lz4.dev judy ]
+ ++ optionals withIpmi [ freeipmi ]
+ ++ optionals withNetfilter [ libmnl libnetfilter_acct ]
+ ++ optionals withSsl [ openssl.dev ];
+
+ patches = [
+ ./no-files-in-etc-and-var.patch
+ ];
+
+ NIX_CFLAGS_COMPILE = optionalString withDebug "-O1 -ggdb -DNETDATA_INTERNAL_CHECKS=1";
+
+ postInstall = ''
+ ln -s ${go-d-plugin}/lib/netdata/conf.d/* $out/lib/netdata/conf.d
+ ln -s ${go-d-plugin}/bin/godplugin $out/libexec/netdata/plugins.d/go.d.plugin
+ '' + optionalString (!stdenv.isDarwin) ''
+ # rename this plugin so netdata will look for setuid wrapper
+ mv $out/libexec/netdata/plugins.d/apps.plugin \
+ $out/libexec/netdata/plugins.d/apps.plugin.org
+ mv $out/libexec/netdata/plugins.d/perf.plugin \
+ $out/libexec/netdata/plugins.d/perf.plugin.org
+ mv $out/libexec/netdata/plugins.d/slabinfo.plugin \
+ $out/libexec/netdata/plugins.d/slabinfo.plugin.org
+ ${optionalString withIpmi ''
+ mv $out/libexec/netdata/plugins.d/freeipmi.plugin \
+ $out/libexec/netdata/plugins.d/freeipmi.plugin.org
+ ''}
+ '';
+
+ preConfigure = optionalString (!stdenv.isDarwin) ''
+ substituteInPlace collectors/python.d.plugin/python_modules/third_party/lm_sensors.py \
+ --replace 'ctypes.util.find_library("sensors")' '"${lm_sensors.out}/lib/libsensors${stdenv.hostPlatform.extensions.sharedLibrary}"'
+ '';
+
+ configureFlags = [
+ "--localstatedir=/var"
+ "--sysconfdir=/etc"
+ ];
+
+ postFixup = ''
+ rm -r $out/sbin
+ '';
+
+ passthru.tests.netdata = nixosTests.netdata;
+
+ meta = {
+ description = "Real-time performance monitoring tool";
+ homepage = "https://www.netdata.cloud/";
+ license = licenses.gpl3;
+ platforms = platforms.unix;
+ maintainers = [ maintainers.lethalman ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/netdata/go.d.plugin.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/netdata/go.d.plugin.nix
new file mode 100644
index 000000000000..3cf3a1b116bf
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/netdata/go.d.plugin.nix
@@ -0,0 +1,31 @@
+{ lib, fetchFromGitHub, buildGoModule }:
+
+buildGoModule rec {
+ pname = "netdata-go.d.plugin";
+ version = "0.25.0";
+
+ src = fetchFromGitHub {
+ owner = "netdata";
+ repo = "go.d.plugin";
+ rev = "v${version}";
+ sha256 = "0cp1asw10a8ndndzq8r57mncrm8521aw3x081vrlfqvhp6qahr3j";
+ };
+
+ vendorSha256 = "16b6i9cpk8j7292qgjvida70rg7nixi6g94wayzikx01vmdbis5r";
+
+ doCheck = false;
+
+ buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+
+ postInstall = ''
+ mkdir -p $out/lib/netdata/conf.d
+ cp -r config/* $out/lib/netdata/conf.d
+ '';
+
+ meta = with lib; {
+ description = "Netdata orchestrator for data collection modules written in go";
+ homepage = "https://github.com/netdata/go.d.plugin";
+ license = licenses.gpl3;
+ maintainers = [ maintainers.lethalman ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/netdata/no-files-in-etc-and-var.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/netdata/no-files-in-etc-and-var.patch
new file mode 100644
index 000000000000..594805fdf187
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/netdata/no-files-in-etc-and-var.patch
@@ -0,0 +1,129 @@
+From 4ecc1475be94a384c122594b5f7d455beb64a2f0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
+Date: Sat, 22 Feb 2020 06:42:14 +0000
+Subject: [PATCH] no files in etc and var
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ collectors/Makefile.am | 2 +-
+ collectors/charts.d.plugin/Makefile.am | 2 +-
+ collectors/node.d.plugin/Makefile.am | 2 +-
+ collectors/python.d.plugin/Makefile.am | 2 +-
+ collectors/statsd.plugin/Makefile.am | 2 +-
+ health/Makefile.am | 2 +-
+ system/Makefile.am | 3 +--
+ web/Makefile.am | 2 +-
+ 8 files changed, 8 insertions(+), 9 deletions(-)
+
+diff --git a/collectors/Makefile.am b/collectors/Makefile.am
+index 9bb52958..c9799165 100644
+--- a/collectors/Makefile.am
++++ b/collectors/Makefile.am
+@@ -32,7 +32,7 @@ usercustompluginsconfigdir=$(configdir)/custom-plugins.d
+ usergoconfigdir=$(configdir)/go.d
+
+ # Explicitly install directories to avoid permission issues due to umask
+-install-exec-local:
++no-install-exec-local:
+ $(INSTALL) -d $(DESTDIR)$(usercustompluginsconfigdir)
+ $(INSTALL) -d $(DESTDIR)$(usergoconfigdir)
+
+diff --git a/collectors/charts.d.plugin/Makefile.am b/collectors/charts.d.plugin/Makefile.am
+index 03c7f0a9..01985db0 100644
+--- a/collectors/charts.d.plugin/Makefile.am
++++ b/collectors/charts.d.plugin/Makefile.am
+@@ -34,7 +34,7 @@ dist_userchartsconfig_DATA = \
+ $(NULL)
+
+ # Explicitly install directories to avoid permission issues due to umask
+-install-exec-local:
++no-install-exec-local:
+ $(INSTALL) -d $(DESTDIR)$(userchartsconfigdir)
+
+ chartsconfigdir=$(libconfigdir)/charts.d
+diff --git a/collectors/node.d.plugin/Makefile.am b/collectors/node.d.plugin/Makefile.am
+index c3142d43..95e32445 100644
+--- a/collectors/node.d.plugin/Makefile.am
++++ b/collectors/node.d.plugin/Makefile.am
+@@ -26,7 +26,7 @@ dist_usernodeconfig_DATA = \
+ $(NULL)
+
+ # Explicitly install directories to avoid permission issues due to umask
+-install-exec-local:
++no-install-exec-local:
+ $(INSTALL) -d $(DESTDIR)$(usernodeconfigdir)
+
+ nodeconfigdir=$(libconfigdir)/node.d
+diff --git a/collectors/python.d.plugin/Makefile.am b/collectors/python.d.plugin/Makefile.am
+index e678f86a..29a319da 100644
+--- a/collectors/python.d.plugin/Makefile.am
++++ b/collectors/python.d.plugin/Makefile.am
+@@ -32,7 +32,7 @@ dist_userpythonconfig_DATA = \
+ $(NULL)
+
+ # Explicitly install directories to avoid permission issues due to umask
+-install-exec-local:
++no-install-exec-local:
+ $(INSTALL) -d $(DESTDIR)$(userpythonconfigdir)
+
+ pythonconfigdir=$(libconfigdir)/python.d
+diff --git a/collectors/statsd.plugin/Makefile.am b/collectors/statsd.plugin/Makefile.am
+index b01302d1..f5b77da4 100644
+--- a/collectors/statsd.plugin/Makefile.am
++++ b/collectors/statsd.plugin/Makefile.am
+@@ -17,5 +17,5 @@ dist_userstatsdconfig_DATA = \
+ $(NULL)
+
+ # Explicitly install directories to avoid permission issues due to umask
+-install-exec-local:
++no-install-exec-local:
+ $(INSTALL) -d $(DESTDIR)$(userstatsdconfigdir)
+diff --git a/health/Makefile.am b/health/Makefile.am
+index 853ed0d7..210330a6 100644
+--- a/health/Makefile.am
++++ b/health/Makefile.am
+@@ -19,7 +19,7 @@ dist_userhealthconfig_DATA = \
+ $(NULL)
+
+ # Explicitly install directories to avoid permission issues due to umask
+-install-exec-local:
++no-install-exec-local:
+ $(INSTALL) -d $(DESTDIR)$(userhealthconfigdir)
+
+ healthconfigdir=$(libconfigdir)/health.d
+diff --git a/system/Makefile.am b/system/Makefile.am
+index ad68c655..74f032f9 100644
+--- a/system/Makefile.am
++++ b/system/Makefile.am
+@@ -17,11 +17,10 @@ include $(top_srcdir)/build/subst.inc
+ SUFFIXES = .in
+
+ dist_config_SCRIPTS = \
+- edit-config \
+ $(NULL)
+
+ # Explicitly install directories to avoid permission issues due to umask
+-install-exec-local:
++no-install-exec-local:
+ $(INSTALL) -d $(DESTDIR)$(configdir)
+
+ nodist_noinst_DATA = \
+diff --git a/web/Makefile.am b/web/Makefile.am
+index ccaccd76..16a2977e 100644
+--- a/web/Makefile.am
++++ b/web/Makefile.am
+@@ -12,7 +12,7 @@ SUBDIRS = \
+ usersslconfigdir=$(configdir)/ssl
+
+ # Explicitly install directories to avoid permission issues due to umask
+-install-exec-local:
++no-install-exec-local:
+ $(INSTALL) -d $(DESTDIR)$(usersslconfigdir)
+
+ dist_noinst_DATA = \
+--
+2.25.0
+
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/nq/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/nq/default.nix
new file mode 100644
index 000000000000..9e6522b20284
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/nq/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, lib, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+ pname = "nq";
+ version = "0.3.1";
+ src = fetchFromGitHub {
+ owner = "chneukirchen";
+ repo = "nq";
+ rev = "v${version}";
+ sha256 = "1db96ykz35r273jyhf7cdknqk4p2jj9l8gbz7pjy1hq4pb6ffk99";
+ };
+ makeFlags = [ "PREFIX=$(out)" ];
+ postPatch = ''
+ sed -i tq \
+ -e 's|\bfq\b|'$out'/bin/fq|g' \
+ -e 's|\bnq\b|'$out'/bin/nq|g'
+ '';
+ meta = with lib; {
+ description = "Unix command line queue utility";
+ homepage = "https://github.com/chneukirchen/nq";
+ license = licenses.publicDomain;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ cstrahan ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/nvtop/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/nvtop/default.nix
new file mode 100644
index 000000000000..1b826e6fab4f
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/nvtop/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, cmake, cudatoolkit, ncurses, addOpenGLRunpath }:
+
+stdenv.mkDerivation rec {
+ pname = "nvtop";
+ version = "1.1.0";
+
+ src = fetchFromGitHub {
+ owner = "Syllo";
+ repo = "nvtop";
+ rev = version;
+ sha256 = "1h24ppdz7l6l0znwbgir49f7r1fshzjavc6i5j33c6bvr318dpqb";
+ };
+
+ cmakeFlags = [
+ "-DNVML_INCLUDE_DIRS=${cudatoolkit}/include"
+ "-DNVML_LIBRARIES=${cudatoolkit}/targets/x86_64-linux/lib/stubs/libnvidia-ml.so"
+ "-DCMAKE_BUILD_TYPE=Release"
+ ];
+
+ nativeBuildInputs = [ cmake addOpenGLRunpath ];
+ buildInputs = [ ncurses cudatoolkit ];
+
+ postFixup = ''
+ addOpenGLRunpath $out/bin/nvtop
+ '';
+
+ meta = with stdenv.lib; {
+ description = "A (h)top like task monitor for NVIDIA GPUs";
+ homepage = "https://github.com/Syllo/nvtop";
+ license = licenses.gpl3;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ willibutz ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/opencl-info/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/opencl-info/default.nix
new file mode 100644
index 000000000000..34295c90ae43
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/opencl-info/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, opencl-clhpp, ocl-icd }:
+
+stdenv.mkDerivation {
+ name = "opencl-info-2014-02-21";
+
+ src = fetchFromGitHub {
+ owner = "marchv";
+ repo = "opencl-info";
+ rev = "3e53d001a98978feb865650cf0e93b045400c0d7";
+ sha256 = "114lxgnjg40ivjjszkv4n3f3yq2lbrvywryvbazf20kqmdz7315l";
+ };
+
+ patches = [
+ # The cl.hpp header was removed from opencl-clhpp. This patch
+ # updates opencl-info to use the new cp2.hpp header.
+ #
+ # Submitted upstream: https://github.com/marchv/opencl-info/pull/2
+ ./opencl-info-clhpp2.diff
+ ];
+
+ buildInputs = [ opencl-clhpp ocl-icd ];
+
+ NIX_LDFLAGS = "-lOpenCL";
+
+ installPhase = ''
+ install -Dm755 opencl-info $out/bin/opencl-info
+ '';
+
+ meta = with stdenv.lib; {
+ description = "A tool to dump OpenCL platform/device information";
+ homepage = "https://github.com/marchv/opencl-info";
+ license = licenses.mit;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ abbradar ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/opencl-info/opencl-info-clhpp2.diff b/infra/libkookie/nixpkgs/pkgs/tools/system/opencl-info/opencl-info-clhpp2.diff
new file mode 100644
index 000000000000..013222beebf7
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/opencl-info/opencl-info-clhpp2.diff
@@ -0,0 +1,22 @@
+diff --git a/opencl-info.cpp b/opencl-info.cpp
+index a23015d..a6de0c1 100644
+--- a/opencl-info.cpp
++++ b/opencl-info.cpp
+@@ -7,7 +7,7 @@
+ #if defined(__APPLE__) || defined(__MACOSX)
+ # include <OpenCL/cl.hpp>
+ #else
+-# include <CL/cl.hpp>
++# include <CL/cl2.hpp>
+ #endif
+
+ #include <iostream>
+@@ -130,7 +130,7 @@ int main() {
+ PconstEnd;
+ P(device, CL_DEVICE_LOCAL_MEM_SIZE);
+ Pbool(device, CL_DEVICE_ERROR_CORRECTION_SUPPORT);
+- Pbool(device, CL_DEVICE_HOST_UNIFIED_MEMORY);
++ // Pbool(device, CL_DEVICE_HOST_UNIFIED_MEMORY); /* Deprecated in 2.0 */
+ P(device, CL_DEVICE_PROFILING_TIMER_RESOLUTION);
+ Pbool(device, CL_DEVICE_ENDIAN_LITTLE);
+ Pbool(device, CL_DEVICE_AVAILABLE);
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/pciutils/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/pciutils/default.nix
new file mode 100644
index 000000000000..cf6616417ed0
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/pciutils/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, pkgconfig, zlib, kmod, which
+, static ? stdenv.targetPlatform.isStatic
+, darwin ? null
+}:
+
+stdenv.mkDerivation rec {
+ name = "pciutils-3.7.0"; # with release-date database
+
+ src = fetchurl {
+ url = "mirror://kernel/software/utils/pciutils/${name}.tar.xz";
+ sha256 = "1ss0rnfsx8gvqjxaji4mvbhf9xyih4cadmgadbwwv8mnx1xvjh4x";
+ };
+
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = [ zlib kmod which ] ++
+ stdenv.lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.IOKit;
+
+ preConfigure = if stdenv.cc.isGNU then null else ''
+ substituteInPlace Makefile --replace 'CC=$(CROSS_COMPILE)gcc' ""
+ '';
+
+ makeFlags = [
+ "SHARED=${if static then "no" else "yes"}"
+ "PREFIX=\${out}"
+ "STRIP="
+ "HOST=${stdenv.hostPlatform.system}"
+ "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
+ "DNS=yes"
+ ];
+
+ installTargets = [ "install" "install-lib" ];
+
+ # Get rid of update-pciids as it won't work.
+ postInstall = "rm $out/sbin/update-pciids $out/man/man8/update-pciids.8";
+
+ meta = with stdenv.lib; {
+ homepage = "http://mj.ucw.cz/pciutils.html";
+ description = "A collection of programs for inspecting and manipulating configuration of PCI devices";
+ license = licenses.gpl2Plus;
+ platforms = platforms.unix;
+ maintainers = [ maintainers.vcunat ]; # not really, but someone should watch it
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/pcstat/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/pcstat/default.nix
new file mode 100644
index 000000000000..436fa5cae6fc
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/pcstat/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage {
+ pname = "pcstat-unstable";
+ version = "2017-05-28";
+
+ goPackagePath = "github.com/tobert/pcstat";
+
+ src = fetchFromGitHub {
+ rev = "91a7346e5b462a61e876c0574cb1ba331a6a5ac5";
+ owner = "tobert";
+ repo = "pcstat";
+ sha256 = "88853e42d16c05e580af4fb8aa815a84ea0fc43e3a25e19c85e649a5f5a2874c";
+ };
+
+ goDeps = ./deps.nix;
+
+ meta = with stdenv.lib; {
+ description = "Page Cache stat: get page cache stats for files on Linux";
+ homepage = "https://github.com/tobert/pcstat";
+ license = licenses.asl20;
+ maintainers = with maintainers; [ aminechikhaoui ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/pcstat/deps.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/pcstat/deps.nix
new file mode 100644
index 000000000000..809bde1122f3
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/pcstat/deps.nix
@@ -0,0 +1,11 @@
+[
+ {
+ goPackagePath = "golang.org/x/sys";
+ fetch = {
+ type = "git";
+ url = "https://go.googlesource.com/sys";
+ rev = "d38bf781f16e180a1b2ad82697d2f81d7b7ecfac";
+ sha256 = "0eedd518ab68c6dfd431a41709d9888bbc13ed31ff64d69dcbd947442b3aaa04";
+ };
+ }
+]
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/builder.sh b/infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/builder.sh
new file mode 100644
index 000000000000..b5196e512f41
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/builder.sh
@@ -0,0 +1,71 @@
+source $stdenv/setup
+
+export PLAN9=$out/plan9
+export PLAN9_TARGET=$PLAN9
+
+plan9portLinkFlags()
+{
+ eval set -- "$NIX_LDFLAGS"
+ local flag
+ for flag in "$@"; do
+ printf ' -Wl,%s' "$flag"
+ done
+}
+
+configurePhase()
+{
+ (
+ echo CC9=\"$(command -v $CC)\"
+ echo CFLAGS=\"$NIX_CFLAGS_COMPILE\"
+ echo LDFLAGS=\"$(plan9portLinkFlags)\"
+ echo X11=\"${libXt_dev}/include\"
+ case "$system" in
+ x86_64-*) echo OBJTYPE=x86_64;;
+ i?86-*) echo OBJTYPE=386;;
+ *power*) echo OBJTYPE=power;;
+ *sparc*) echo OBJTYPE=sparc;;
+ esac
+ if [[ $system =~ .*linux.* ]]; then
+ echo SYSVERSION=2.6.x
+ fi
+ ) >config
+
+ for f in `grep -l -r /usr/local/plan9`; do
+ sed "s,/usr/local/plan9,${PLAN9},g" -i $f
+ done
+}
+
+buildPhase()
+{
+ mkdir -p $PLAN9
+
+ # Copy sources, some necessary bin scripts
+ cp -R * $PLAN9
+
+ local originalPath="$PATH"
+ export PATH="$PLAN9/bin:$PATH"
+ export NPROC=$NIX_BUILD_CORES
+ pushd src
+ ../dist/buildmk
+ mk clean
+ mk libs-nuke
+ mk all
+ mk -k install
+ if [[ -f $PLAN9/bin/quote1 ]]; then
+ cp $PLAN9/bin/quote1 $PLAN9/bin/'"'
+ cp $PLAN9/bin/quote2 $PLAN9/bin/'""'
+ fi
+ popd
+ export PATH="$originalPath"
+}
+
+installPhase()
+{
+ # Copy the `9' utility. This way you can use
+ # $ 9 awk
+ # to use the plan 9 awk
+ mkdir $out/bin
+ ln -s $PLAN9/bin/9 $out/bin
+}
+
+genericBuild
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/darwin-cfframework.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/darwin-cfframework.patch
new file mode 100644
index 000000000000..01541af92e37
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/darwin-cfframework.patch
@@ -0,0 +1,24 @@
+From d1f0bd3de7d3d54523aeefd9731ea850d20eaab4 Mon Sep 17 00:00:00 2001
+From: Jason Felice <jason.m.felice@gmail.com>
+Date: Tue, 2 Jul 2019 13:19:23 -0400
+Subject: [PATCH] Need CoreFoundation
+
+---
+ src/cmd/devdraw/cocoa-screen.m | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/cmd/devdraw/cocoa-screen.m b/src/cmd/devdraw/cocoa-screen.m
+index 97128da2..0e380dd3 100644
+--- a/src/cmd/devdraw/cocoa-screen.m
++++ b/src/cmd/devdraw/cocoa-screen.m
+@@ -56,6 +56,7 @@
+ #endif
+
+ AUTOFRAMEWORK(Cocoa)
++AUTOFRAMEWORK(CoreFoundation)
+
+ #define LOG if(0)NSLog
+ #define panic sysfatal
+--
+2.21.0
+
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/darwin-sw_vers.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/darwin-sw_vers.patch
new file mode 100644
index 000000000000..3e61c83e5403
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/darwin-sw_vers.patch
@@ -0,0 +1,47 @@
+From d21d082275f04f88eabcc8ecdb03ee932c71ebf1 Mon Sep 17 00:00:00 2001
+From: Jason Felice <jason.m.felice@gmail.com>
+Date: Mon, 1 Jul 2019 15:23:19 -0400
+Subject: [PATCH 2/3] Build for 10.12
+
+---
+ bin/osxvers | 3 +--
+ src/cmd/devdraw/mkwsysrules.sh | 4 ++--
+ 2 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/bin/osxvers b/bin/osxvers
+index 4af44da2..3be7e6e9 100755
+--- a/bin/osxvers
++++ b/bin/osxvers
+@@ -2,6 +2,5 @@
+
+ u=`uname`
+ case "$u" in
+-Darwin)
+- sw_vers | awk '$1 == "ProductVersion:" {print $2}' | awk -F. '{printf("CFLAGS=$CFLAGS -DOSX_VERSION=%d%02d%02d\n", $1, $2, $3)}'
++Darwin) printf 'CFLAGS=$CFLAGS -DOSX_VERSION=101200\n';;
+ esac
+diff --git a/src/cmd/devdraw/mkwsysrules.sh b/src/cmd/devdraw/mkwsysrules.sh
+index e94afbd3..40e632db 100644
+--- a/src/cmd/devdraw/mkwsysrules.sh
++++ b/src/cmd/devdraw/mkwsysrules.sh
+@@ -22,7 +22,7 @@ fi
+
+ if [ "x$WSYSTYPE" = "x" ]; then
+ if [ "x`uname`" = "xDarwin" ]; then
+- if sw_vers | grep 'ProductVersion: 10\.[0-5]\.' >/dev/null; then
++ if false; then
+ echo 1>&2 'OS X 10.5 and older are not supported'
+ exit 1
+ else
+@@ -54,7 +54,7 @@ if [ $WSYSTYPE = x11 ]; then
+ XO=`ls x11-*.c 2>/dev/null | sed 's/\.c$/.o/'`
+ echo 'WSYSOFILES=$WSYSOFILES '$XO
+ elif [ $WSYSTYPE = osx-cocoa ]; then
+- if sw_vers|awk '/ProductVersion/{split($2,a,".");exit(a[2]<14)}' >/dev/null; then # 0 is true in sh.
++ if false; then
+ echo 'OBJCFLAGS=$OBJCFLAGS -fobjc-arc'
+ echo 'WSYSOFILES=$WSYSOFILES osx-draw.o cocoa-screen-metal-objc.o cocoa-srv.o cocoa-thread.o'
+ else
+--
+2.21.0
+
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/default.nix
new file mode 100644
index 000000000000..8164dfa9136d
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/default.nix
@@ -0,0 +1,95 @@
+{ stdenv, fetchFromGitHub, which
+, darwin ? null
+, xorgproto ? null
+, libX11
+, libXext ? null
+, libXt ? null
+, fontconfig ? null
+, freetype ? null
+, perl ? null # For building web manuals
+}:
+
+stdenv.mkDerivation {
+ pname = "plan9port";
+ version = "2020-01-08";
+
+ src = fetchFromGitHub {
+ owner = "9fans";
+ repo = "plan9port";
+ rev = "cc3d97d52a72d7eaceb5b636bcdf81c3e19f7a2e";
+ sha256 = "0gb55kj0gzx1kdhiwcrbr7xcgz1im21dyxgxhfhh6d0q9rw0c17g";
+ };
+
+ patches = [
+ ./darwin-sw_vers.patch
+ ./darwin-cfframework.patch
+ ];
+
+ postPatch = ''
+ #hardcoded path
+ substituteInPlace src/cmd/acme/acme.c \
+ --replace /lib/font/bit $out/plan9/font
+
+ #deprecated flags
+ find . -type f \
+ -exec sed -i -e 's/_SVID_SOURCE/_DEFAULT_SOURCE/g' {} \; \
+ -exec sed -i -e 's/_BSD_SOURCE/_DEFAULT_SOURCE/g' {} \;
+
+ substituteInPlace bin/9c \
+ --replace 'which uniq' '${which}/bin/which uniq'
+ '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
+ #add missing ctrl+c\z\x\v keybind for non-Darwin
+ substituteInPlace src/cmd/acme/text.c \
+ --replace "case Kcmd+'c':" "case 0x03: case Kcmd+'c':" \
+ --replace "case Kcmd+'z':" "case 0x1a: case Kcmd+'z':" \
+ --replace "case Kcmd+'x':" "case 0x18: case Kcmd+'x':" \
+ --replace "case Kcmd+'v':" "case 0x16: case Kcmd+'v':"
+ '';
+
+ buildInputs = [
+ perl
+ ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [
+ xorgproto libX11 libXext libXt fontconfig
+ freetype # fontsrv wants ft2build.h provides system fonts for acme and sam.
+ ] ++ stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+ Carbon Cocoa IOKit Metal QuartzCore
+ ]);
+
+ builder = ./builder.sh;
+ libXt_dev = libXt.dev;
+
+ doInstallCheck = true;
+ installCheckPhase = ''
+ $out/bin/9 rc -c 'echo rc is working.'
+
+ # 9l can find and use its libs
+ cd $TMP
+ cat >test.c <<EOF
+ #include <u.h>
+ #include <libc.h>
+ #include <thread.h>
+ void
+ threadmain(int argc, char **argv)
+ {
+ threadexitsall(nil);
+ }
+ EOF
+ $out/bin/9 9c -o test.o test.c
+ $out/bin/9 9l -o test test.o
+ ./test
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = "https://9fans.github.io/plan9port/";
+ description = "Plan 9 from User Space";
+ longDescription = ''
+ Plan 9 from User Space (aka plan9port) is a port of many Plan 9 programs
+ from their native Plan 9 environment to Unix-like operating systems.
+ '';
+ license = licenses.lpl-102;
+ maintainers = with maintainers; [ AndersonTorres bbarker
+ ftrvxmtrx kovirobi ];
+ platforms = platforms.unix;
+ };
+}
+# TODO: investigate the mouse chording support patch
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/procodile/Gemfile b/infra/libkookie/nixpkgs/pkgs/tools/system/procodile/Gemfile
new file mode 100644
index 000000000000..77e4bb430e96
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/procodile/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'procodile'
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/procodile/Gemfile.lock b/infra/libkookie/nixpkgs/pkgs/tools/system/procodile/Gemfile.lock
new file mode 100644
index 000000000000..f53a07d6657c
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/procodile/Gemfile.lock
@@ -0,0 +1,15 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ json (2.2.0)
+ procodile (1.0.23)
+ json
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ procodile
+
+BUNDLED WITH
+ 2.1.4
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/procodile/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/procodile/default.nix
new file mode 100644
index 000000000000..2751601b39b9
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/procodile/default.nix
@@ -0,0 +1,17 @@
+{ lib, bundlerApp, bundlerUpdateScript }:
+
+bundlerApp {
+ pname = "procodile";
+ gemdir = ./.;
+ exes = [ "procodile" ];
+
+ passthru.updateScript = bundlerUpdateScript "procodile";
+
+ meta = with lib; {
+ description = "Run processes in the background (and foreground) on Mac & Linux from a Procfile (for production and/or development environments)";
+ homepage = "https://adam.ac/procodile";
+ license = with licenses; mit;
+ maintainers = with maintainers; [ ravloony manveru nicknovitski ];
+ platforms = platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/procodile/gemset.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/procodile/gemset.nix
new file mode 100644
index 000000000000..36ec2a9cf185
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/procodile/gemset.nix
@@ -0,0 +1,23 @@
+{
+ json = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx";
+ type = "gem";
+ };
+ version = "2.2.0";
+ };
+ procodile = {
+ dependencies = ["json"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "025pbr1kah7cgs527n5q56m5agaa2smzac4rpmpk619xg4r1rdhs";
+ type = "gem";
+ };
+ version = "1.0.23";
+ };
+} \ No newline at end of file
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/proot/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/proot/default.nix
new file mode 100644
index 000000000000..06147df093e6
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/proot/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchFromGitHub
+, talloc, docutils, swig, python, coreutils, enablePython ? true }:
+
+stdenv.mkDerivation {
+ pname = "proot";
+ version = "20190510";
+
+ src = fetchFromGitHub {
+ repo = "proot";
+ owner = "proot-me";
+ rev = "803e54d8a1b3d513108d3fc413ba6f7c80220b74";
+ sha256 = "0gwzqm5wpscj3fchlv3qggf3zzn0v00s4crb5ciwljan1zrqadhy";
+ };
+
+ postPatch = ''
+ substituteInPlace src/GNUmakefile \
+ --replace /bin/echo ${coreutils}/bin/echo
+ # our cross machinery defines $CC and co just right
+ sed -i /CROSS_COMPILE/d src/GNUmakefile
+ '';
+
+ buildInputs = [ talloc ] ++ stdenv.lib.optional enablePython python;
+ nativeBuildInputs = [ docutils ] ++ stdenv.lib.optional enablePython swig;
+
+ enableParallelBuilding = true;
+
+ makeFlags = [ "-C src" ];
+
+ postBuild = ''
+ make -C doc proot/man.1
+ '';
+
+ installFlags = [ "PREFIX=${placeholder "out"}" ];
+
+ postInstall = ''
+ install -Dm644 doc/proot/man.1 $out/share/man/man1/proot.1
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = "https://proot-me.github.io";
+ description = "User-space implementation of chroot, mount --bind and binfmt_misc";
+ platforms = platforms.linux;
+ license = licenses.gpl2;
+ maintainers = with maintainers; [ ianwookim makefu veprbl dtzWill ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/ps_mem/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/ps_mem/default.nix
new file mode 100644
index 000000000000..45a33a1adb7b
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/ps_mem/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, pythonPackages, fetchFromGitHub }:
+
+let
+ version = "3.13";
+ pname = "ps_mem";
+in pythonPackages.buildPythonApplication {
+ name = "${pname}-${version}";
+
+ src = fetchFromGitHub {
+ owner = "pixelb";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "0pgi9hvwfbkzvwicqlkwx4rwal1ikza018yxbwpnf7c80zw0zaw9";
+ };
+
+ meta = with stdenv.lib; {
+ description = "A utility to accurately report the in core memory usage for a program";
+ homepage = "https://github.com/pixelb/ps_mem";
+ license = licenses.lgpl21;
+ maintainers = [ maintainers.gnidorah ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/psensor/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/psensor/default.nix
new file mode 100644
index 000000000000..afbab3634438
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/psensor/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, lib, fetchurl, pkgconfig, lm_sensors, libgtop, libatasmart, gtk3
+, libnotify, udisks2, libXNVCtrl, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+ pname = "psensor";
+
+ version = "1.2.1";
+
+ src = fetchurl {
+ url = "https://wpitchoune.net/psensor/files/psensor-${version}.tar.gz";
+ sha256 = "1ark901va79gfq5p8h8dqypjgm3f8crmj37520q3slwz2rfphkq8";
+ };
+
+ nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
+
+ buildInputs = [
+ lm_sensors libgtop libatasmart gtk3 libnotify udisks2
+ ];
+
+ preConfigure = ''
+ NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libXNVCtrl}/include"
+ NIX_LDFLAGS="$NIX_LDFLAGS -L${libXNVCtrl}/lib"
+ '';
+
+ meta = with lib; {
+ description = "Graphical hardware monitoring application for Linux";
+ homepage = "https://wpitchoune.net/psensor/";
+ license = licenses.mit;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ cstrahan ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/psstop/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/psstop/default.nix
new file mode 100644
index 000000000000..3a5ee2b05813
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/psstop/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, glib }:
+
+stdenv.mkDerivation rec {
+ pname = "psstop";
+ version = "1.3";
+
+ src = fetchFromGitHub {
+ owner = "clearlinux";
+ repo = "psstop";
+ rev = "v${version}";
+ sha256 = "03ir3jjpzm7q8n1qc5jr99hqarr9r529w1zb6f7q4wak2vfj7w9h";
+ };
+
+ nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
+ buildInputs = [ glib ];
+
+ meta = with stdenv.lib; {
+ homepage = "https://github.com/clearlinux/psstop";
+ description = "Show processes' memory usage by looking into pss"; # upstream summary
+ license = licenses.gpl3;
+ maintainers = with maintainers; [ dtzWill ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/r10k/Gemfile b/infra/libkookie/nixpkgs/pkgs/tools/system/r10k/Gemfile
new file mode 100644
index 000000000000..c9363ff3dbdf
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/r10k/Gemfile
@@ -0,0 +1,5 @@
+# frozen_string_literal: true
+# A sample Gemfile
+source "https://rubygems.org"
+
+gem "r10k"
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/r10k/Gemfile.lock b/infra/libkookie/nixpkgs/pkgs/tools/system/r10k/Gemfile.lock
new file mode 100644
index 000000000000..9f55e273ef25
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/r10k/Gemfile.lock
@@ -0,0 +1,48 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ colored2 (3.1.2)
+ cri (2.15.10)
+ faraday (0.17.3)
+ multipart-post (>= 1.2, < 3)
+ faraday_middleware (0.13.1)
+ faraday (>= 0.7.4, < 1.0)
+ fast_gettext (1.1.2)
+ gettext (3.2.9)
+ locale (>= 2.0.5)
+ text (>= 1.3.0)
+ gettext-setup (0.34)
+ fast_gettext (~> 1.1.0)
+ gettext (>= 3.0.2, < 3.3.0)
+ locale
+ locale (2.1.3)
+ log4r (1.1.10)
+ minitar (0.9)
+ multi_json (1.14.1)
+ multipart-post (2.1.1)
+ puppet_forge (2.3.3)
+ faraday (>= 0.9.0, < 0.18.0, != 0.13.1)
+ faraday_middleware (>= 0.9.0, < 0.14.0)
+ gettext-setup (~> 0.11)
+ minitar
+ semantic_puppet (~> 1.0)
+ r10k (3.4.1)
+ colored2 (= 3.1.2)
+ cri (>= 2.15.10, < 3.0.0)
+ fast_gettext (~> 1.1.0)
+ gettext (>= 3.0.2, < 3.3.0)
+ gettext-setup (~> 0.24)
+ log4r (= 1.1.10)
+ multi_json (~> 1.10)
+ puppet_forge (~> 2.3.0)
+ semantic_puppet (1.0.2)
+ text (1.3.1)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ r10k
+
+BUNDLED WITH
+ 2.1.4
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/r10k/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/r10k/default.nix
new file mode 100644
index 000000000000..43d67eddf7db
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/r10k/default.nix
@@ -0,0 +1,23 @@
+{ lib, bundlerApp, bundlerUpdateScript, makeWrapper, git, gnutar, gzip }:
+
+bundlerApp {
+ pname = "r10k";
+ gemdir = ./.;
+ exes = [ "r10k" ];
+
+ buildInputs = [ makeWrapper ];
+
+ postBuild = ''
+ wrapProgram $out/bin/r10k --prefix PATH : ${lib.makeBinPath [ git gnutar gzip ]}
+ '';
+
+ passthru.updateScript = bundlerUpdateScript "r10k";
+
+ meta = with lib; {
+ description = "Puppet environment and module deployment";
+ homepage = "https://github.com/puppetlabs/r10k";
+ license = licenses.asl20;
+ maintainers = with maintainers; [ zimbatm manveru nicknovitski ];
+ platforms = platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/r10k/gemset.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/r10k/gemset.nix
new file mode 100644
index 000000000000..d0e955d4cea9
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/r10k/gemset.nix
@@ -0,0 +1,168 @@
+{
+ colored2 = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i";
+ type = "gem";
+ };
+ version = "3.1.2";
+ };
+ cri = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1h45kw2s4bjwgbfsrncs30av0j4zjync3wmcc6lpdnzbcxs7yms2";
+ type = "gem";
+ };
+ version = "2.15.10";
+ };
+ faraday = {
+ dependencies = ["multipart-post"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "13aghksmni2sl15y7wfpx6k5l3lfd8j9gdyqi6cbw6jgc7bqyyn2";
+ type = "gem";
+ };
+ version = "0.17.3";
+ };
+ faraday_middleware = {
+ dependencies = ["faraday"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1a93rs58bakqck7bcihasz66a1riy22h2zpwrpmb13gp8mw3wkmr";
+ type = "gem";
+ };
+ version = "0.13.1";
+ };
+ fast_gettext = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0ci71w9jb979c379c7vzm88nc3k6lf68kbrsgw9nlx5g4hng0s78";
+ type = "gem";
+ };
+ version = "1.1.2";
+ };
+ gettext = {
+ dependencies = ["locale" "text"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0764vj7gacn0aypm2bf6m46dzjzwzrjlmbyx6qwwwzbmi94r40wr";
+ type = "gem";
+ };
+ version = "3.2.9";
+ };
+ gettext-setup = {
+ dependencies = ["fast_gettext" "gettext" "locale"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1vfnayz20xd8q0sz27816kvgia9z2dpj9fy7z15da239wmmnz7ga";
+ type = "gem";
+ };
+ version = "0.34";
+ };
+ locale = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0997465kxvpxm92fiwc2b16l49mngk7b68g5k35ify0m3q0yxpdn";
+ type = "gem";
+ };
+ version = "2.1.3";
+ };
+ log4r = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0ri90q0frfmigkirqv5ihyrj59xm8pq5zcmf156cbdv4r4l2jicv";
+ type = "gem";
+ };
+ version = "1.1.10";
+ };
+ minitar = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "126mq86x67d1p63acrfka4zx0cx2r0vc93884jggxnrmmnzbxh13";
+ type = "gem";
+ };
+ version = "0.9";
+ };
+ multi_json = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0xy54mjf7xg41l8qrg1bqri75agdqmxap9z466fjismc1rn2jwfr";
+ type = "gem";
+ };
+ version = "1.14.1";
+ };
+ multipart-post = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1zgw9zlwh2a6i1yvhhc4a84ry1hv824d6g2iw2chs3k5aylpmpfj";
+ type = "gem";
+ };
+ version = "2.1.1";
+ };
+ puppet_forge = {
+ dependencies = ["faraday" "faraday_middleware" "gettext-setup" "minitar" "semantic_puppet"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1lyd10ai27lxylywjxpwyxikx5hblsdchid3chymrrv55x217cny";
+ type = "gem";
+ };
+ version = "2.3.3";
+ };
+ r10k = {
+ dependencies = ["colored2" "cri" "fast_gettext" "gettext" "gettext-setup" "log4r" "multi_json" "puppet_forge"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0nlckw4yr2ph14i9h0blsdb5zmrzqh3aknkm0dg3hrcx8ygncai6";
+ type = "gem";
+ };
+ version = "3.4.1";
+ };
+ semantic_puppet = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "046m45rdwpvfz77s7bxid27c89w329c1nj593p74wdd8kknf0nv0";
+ type = "gem";
+ };
+ version = "1.0.2";
+ };
+ text = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1x6kkmsr49y3rnrin91rv8mpc3dhrf3ql08kbccw8yffq61brfrg";
+ type = "gem";
+ };
+ version = "1.3.1";
+ };
+} \ No newline at end of file
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/rocm-smi/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/rocm-smi/default.nix
new file mode 100644
index 000000000000..1ed1d9135165
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/rocm-smi/default.nix
@@ -0,0 +1,30 @@
+{ lib, buildPythonApplication, fetchFromGitHub }:
+
+buildPythonApplication rec {
+ pname = "rocm-smi";
+ version = "3.10.0";
+
+ src = fetchFromGitHub {
+ owner = "RadeonOpenCompute";
+ repo = "ROC-smi";
+ rev = "rocm-${version}";
+ hash = "sha256-0QqaBMkqRVEl89x3hvWQGAgt7LbtMZPhuf7KenQYHaQ=";
+ };
+
+ format = "other";
+
+ dontConfigure = true;
+ dontBuild = true;
+
+ installPhase = ''
+ install -Dm0755 rocm_smi.py $out/bin/rocm-smi
+ '';
+
+ meta = with lib; {
+ description = "System management interface for AMD GPUs supported by ROCm";
+ homepage = "https://github.com/RadeonOpenCompute/ROC-smi";
+ license = with licenses; [ mit ];
+ maintainers = with maintainers; [ danieldk ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/rofi-systemd/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/rofi-systemd/default.nix
new file mode 100644
index 000000000000..5078adbf3b7b
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/rofi-systemd/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchFromGitHub, rofi, systemd, coreutils, util-linux, gawk, makeWrapper, jq
+}:
+
+stdenv.mkDerivation rec {
+ pname = "rofi-systemd";
+ version = "0.1.1";
+
+ src = fetchFromGitHub {
+ owner = "IvanMalison";
+ repo = "rofi-systemd";
+ rev = "v${version}";
+ sha256 = "0lgffb6rk1kf91j4j303lzpx8w2g9zy2gk99p8g8pk62a30c5asm";
+ };
+
+ buildInputs = [ makeWrapper ];
+
+ dontBuild = true;
+
+ installPhase = ''
+ mkdir -p $out/bin
+ cp -a rofi-systemd $out/bin/rofi-systemd
+ '';
+
+ wrapperPath = with stdenv.lib; makeBinPath [
+ coreutils
+ gawk
+ jq
+ rofi
+ systemd
+ util-linux
+ ];
+
+ fixupPhase = ''
+ patchShebangs $out/bin
+
+ wrapProgram $out/bin/rofi-systemd --prefix PATH : "${wrapperPath}"
+ '';
+
+ meta = {
+ description = "Control your systemd units using rofi";
+ homepage = "https://github.com/IvanMalison/rofi-systemd";
+ maintainers = with stdenv.lib.maintainers; [ imalison ];
+ license = stdenv.lib.licenses.gpl3;
+ platforms = with stdenv.lib.platforms; linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/rowhammer-test/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/rowhammer-test/default.nix
new file mode 100644
index 000000000000..02462584c650
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/rowhammer-test/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation {
+ name = "rowhammer-test-20150811";
+
+ src = fetchFromGitHub {
+ owner = "google";
+ repo = "rowhammer-test";
+ rev = "c1d2bd9f629281402c10bb10e52bc1f1faf59cc4"; # 2015-08-11
+ sha256 = "1fbfcnm5gjish47wdvikcsgzlb5vnlfqlzzm6mwiw2j5qkq0914i";
+ };
+
+ NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isi686 "-Wno-error=format";
+
+ buildPhase = "sh -e make.sh";
+
+ installPhase = ''
+ mkdir -p $out/bin
+ cp rowhammer_test double_sided_rowhammer $out/bin
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Test DRAM for bit flips caused by the rowhammer problem";
+ homepage = "https://github.com/google/rowhammer-test";
+ license = licenses.asl20;
+ maintainers = [ maintainers.viric ];
+ platforms = [ "x86_64-linux" "i686-linux" ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/rsyslog/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/rsyslog/default.nix
new file mode 100644
index 000000000000..7be7e5b3d379
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/rsyslog/default.nix
@@ -0,0 +1,118 @@
+{ stdenv, fetchurl, pkgconfig, autoreconfHook, libestr, json_c, zlib, pythonPackages, fastJson
+, libkrb5 ? null, systemd ? null, jemalloc ? null, libmysqlclient ? null, postgresql ? null
+, libdbi ? null, net-snmp ? null, libuuid ? null, curl ? null, gnutls ? null
+, libgcrypt ? null, liblognorm ? null, openssl ? null, librelp ? null, libksi ? null
+, liblogging ? null, libnet ? null, hadoop ? null, rdkafka ? null
+, libmongo-client ? null, czmq ? null, rabbitmq-c ? null, hiredis ? null, mongoc ? null
+, libmaxminddb ? null
+, nixosTests ? null
+}:
+
+with stdenv.lib;
+let
+ mkFlag = cond: name: if cond then "--enable-${name}" else "--disable-${name}";
+in
+stdenv.mkDerivation rec {
+ pname = "rsyslog";
+ version = "8.2006.0";
+
+ src = fetchurl {
+ url = "https://www.rsyslog.com/files/download/rsyslog/${pname}-${version}.tar.gz";
+ sha256 = "15wfhw2nmpiyjpp82jxqgcjy7wgbc2fswk5g6rbdqbvghrj9wn6r";
+ };
+
+ #patches = [ ./fix-gnutls-detection.patch ];
+
+ nativeBuildInputs = [ pkgconfig autoreconfHook ];
+ buildInputs = [
+ fastJson libestr json_c zlib pythonPackages.docutils libkrb5 jemalloc
+ postgresql libdbi net-snmp libuuid curl gnutls libgcrypt liblognorm openssl
+ librelp libksi liblogging libnet hadoop rdkafka libmongo-client czmq
+ rabbitmq-c hiredis mongoc libmaxminddb
+ ] ++ stdenv.lib.optional (libmysqlclient != null) libmysqlclient
+ ++ stdenv.lib.optional stdenv.isLinux systemd;
+
+ configureFlags = [
+ "--sysconfdir=/etc"
+ "--localstatedir=/var"
+ "--with-systemdsystemunitdir=\${out}/etc/systemd/system"
+ (mkFlag true "largefile")
+ (mkFlag true "regexp")
+ (mkFlag (libkrb5 != null) "gssapi-krb5")
+ (mkFlag true "klog")
+ (mkFlag true "kmsg")
+ (mkFlag (systemd != null) "imjournal")
+ (mkFlag true "inet")
+ (mkFlag (jemalloc != null) "jemalloc")
+ (mkFlag true "unlimited-select")
+ (mkFlag false "debug")
+ (mkFlag false "debug-symbols")
+ (mkFlag true "debugless")
+ (mkFlag false "valgrind")
+ (mkFlag false "diagtools")
+ (mkFlag true "usertools")
+ (mkFlag (libmysqlclient != null) "mysql")
+ (mkFlag (postgresql != null) "pgsql")
+ (mkFlag (libdbi != null) "libdbi")
+ (mkFlag (net-snmp != null) "snmp")
+ (mkFlag (libuuid != null) "uuid")
+ (mkFlag (curl != null) "elasticsearch")
+ (mkFlag (gnutls != null) "gnutls")
+ (mkFlag (libgcrypt != null) "libgcrypt")
+ (mkFlag true "rsyslogrt")
+ (mkFlag true "rsyslogd")
+ (mkFlag true "mail")
+ (mkFlag (liblognorm != null) "mmnormalize")
+ (mkFlag (libmaxminddb != null) "mmdblookup")
+ (mkFlag true "mmjsonparse")
+ (mkFlag true "mmaudit")
+ (mkFlag true "mmanon")
+ (mkFlag true "mmutf8fix")
+ (mkFlag true "mmcount")
+ (mkFlag true "mmsequence")
+ (mkFlag true "mmfields")
+ (mkFlag true "mmpstrucdata")
+ (mkFlag (openssl != null) "mmrfc5424addhmac")
+ (mkFlag (librelp != null) "relp")
+ (mkFlag (libksi != null) "ksi-ls12")
+ (mkFlag (liblogging != null) "liblogging-stdlog")
+ (mkFlag (liblogging != null) "rfc3195")
+ (mkFlag true "imfile")
+ (mkFlag false "imsolaris")
+ (mkFlag true "imptcp")
+ (mkFlag true "impstats")
+ (mkFlag true "omprog")
+ (mkFlag (libnet != null) "omudpspoof")
+ (mkFlag true "omstdout")
+ (mkFlag (systemd != null) "omjournal")
+ (mkFlag true "pmlastmsg")
+ (mkFlag true "pmcisconames")
+ (mkFlag true "pmciscoios")
+ (mkFlag true "pmaixforwardedfrom")
+ (mkFlag true "pmsnare")
+ (mkFlag true "omruleset")
+ (mkFlag true "omuxsock")
+ (mkFlag true "mmsnmptrapd")
+ (mkFlag (hadoop != null) "omhdfs")
+ (mkFlag (rdkafka != null) "omkafka")
+ (mkFlag (libmongo-client != null) "ommongodb")
+ (mkFlag (czmq != null) "imczmq")
+ (mkFlag (czmq != null) "omczmq")
+ (mkFlag (rabbitmq-c != null) "omrabbitmq")
+ (mkFlag (hiredis != null) "omhiredis")
+ (mkFlag (curl != null) "omhttpfs")
+ (mkFlag true "generate-man-pages")
+ ];
+
+ passthru.tests = {
+ nixos-rsyslogd = nixosTests.rsyslogd;
+ };
+
+ meta = {
+ homepage = "https://www.rsyslog.com/";
+ description = "Enhanced syslog implementation";
+ changelog = "https://raw.githubusercontent.com/rsyslog/rsyslog/v${version}/ChangeLog";
+ license = licenses.gpl3;
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/rsyslog/fix-gnutls-detection.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/rsyslog/fix-gnutls-detection.patch
new file mode 100644
index 000000000000..c8955ea57dc0
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/rsyslog/fix-gnutls-detection.patch
@@ -0,0 +1,60 @@
+From 588b4ca7412326abd51a5b2060eafbc04611e419 Mon Sep 17 00:00:00 2001
+From: Radovan Sroka <rsroka@redhat.com>
+Date: Tue, 11 Aug 2015 17:09:15 +0200
+Subject: [PATCH] Fix detection of the GnuTLS package
+
+This commit fixes a number of issues that cropped up from these changes:
+23c5b3e replace deprecated GnuTLS functions with newer ones if available
+88f0651 bugfix: ommysql did not work when gnutls was enabled
+ce560b6 build system: Failure action in AC_CHECK_LIB check for
+
+The solution is based on the assumption that the call to AC_CHECK_LIB()
+was added purely to satisfy the subsequent calls to AC_CHECK_FUNCS().
+23c5b3e had the unintentional result of libgnutls being added to LIBS
+and linked to undesired components.
+The next commit removed libgnutls from LIBS which made the following
+calls to AC_CHECK_FUNCS() nonfunctional.
+Another commit made the processing not stop upon detecting a missing
+component which, again, makes the calls to AC_CHECK_FUNCS() malfunction.
+
+The solution is to get rid of AC_CHECK_LIB() and temporarily override
+LIBS for use by AC_CHECK_FUNCS().
+---
+ configure.ac | 14 ++++----------
+ 1 file changed, 4 insertions(+), 10 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 6f82f0c..ba3f791 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -763,18 +763,13 @@ AC_ARG_ENABLE(gnutls,
+ if test "x$enable_gnutls" = "xyes"; then
+ PKG_CHECK_MODULES(GNUTLS, gnutls >= 1.4.0)
+ AC_DEFINE([ENABLE_GNUTLS], [1], [Indicator that GnuTLS is present])
+- AC_CHECK_LIB(
+- [gnutls],
+- [gnutls_global_init],
+- [
+- AC_DEFINE(HAVE_LIB_GNUTLS, 1, [gnutls is available])
+- ],
+- [AC_MSG_WARN([gnutls_global_init function missing or not detected])],
+- []
+- )
++ save_libs=$LIBS
++ LIBS="$LIBS $GNUTLS_LIBS"
+ AC_CHECK_FUNCS(gnutls_certificate_set_retrieve_function,,)
+ AC_CHECK_FUNCS(gnutls_certificate_type_set_priority,,)
++ LIBS=$save_libs
+ fi
++
+ AM_CONDITIONAL(ENABLE_GNUTLS, test x$enable_gnutls = xyes)
+
+ # libgcrypt support
+@@ -1655,7 +1650,6 @@ else
+ AC_MSG_NOTICE([Not running from git source])
+ fi
+
+-
+ AM_CONDITIONAL(ENABLE_GENERATE_MAN_PAGES, test x$have_to_generate_man_pages = xyes)
+
+ # rst2man
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/runit/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/runit/default.nix
new file mode 100644
index 000000000000..acca0acf3ef9
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/runit/default.nix
@@ -0,0 +1,61 @@
+{ stdenv, fetchurl, darwin
+
+# Build runit-init as a static binary
+, static ? false
+}:
+
+stdenv.mkDerivation rec {
+ pname = "runit";
+ version = "2.1.2";
+
+ src = fetchurl {
+ url = "http://smarden.org/runit/${pname}-${version}.tar.gz";
+ sha256 = "065s8w62r6chjjs6m9hapcagy33m75nlnxb69vg0f4ngn061dl3g";
+ };
+
+ patches = [
+ ./fix-ar-ranlib.patch
+ ];
+
+ outputs = [ "out" "man" ];
+
+ sourceRoot = "admin/${pname}-${version}";
+
+ doCheck = true;
+
+ buildInputs = stdenv.lib.optionals static [ stdenv.cc.libc stdenv.cc.libc.static ] ++
+ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.libs.utmp;
+
+ postPatch = ''
+ sed -i "s,\(#define RUNIT\) .*,\1 \"$out/bin/runit\"," src/runit.h
+ # usernamespace sandbox of nix seems to conflict with runit's assumptions
+ # about unix users. Therefor skip the check
+ sed -i '/.\/chkshsgr/d' src/Makefile
+ '' + stdenv.lib.optionalString (!static) ''
+ sed -i 's,-static,,g' src/Makefile
+ '';
+
+ preBuild = ''
+ cd src
+
+ # Both of these are originally hard-coded to gcc
+ echo ${stdenv.cc.targetPrefix}cc > conf-cc
+ echo ${stdenv.cc.targetPrefix}cc ${stdenv.lib.optionalString stdenv.isDarwin "-Xlinker -x "}> conf-ld
+ '';
+
+ installPhase = ''
+ mkdir -p $out/bin
+ cp -t $out/bin $(< ../package/commands)
+
+ mkdir -p $man/share/man
+ cp -r ../man $man/share/man/man8
+ '';
+
+ meta = with stdenv.lib; {
+ description = "UNIX init scheme with service supervision";
+ license = licenses.bsd3;
+ homepage = "http://smarden.org/runit";
+ maintainers = with maintainers; [ joachifm ];
+ platforms = platforms.linux ++ platforms.darwin;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/runit/fix-ar-ranlib.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/runit/fix-ar-ranlib.patch
new file mode 100644
index 000000000000..c65a037d5242
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/runit/fix-ar-ranlib.patch
@@ -0,0 +1,18 @@
+--- runit-2.1.2/src/print-ar.sh
++++ runit-2.1.2/src/print-ar.sh
+@@ -1,7 +1,7 @@
+ cat warn-auto.sh
+ echo 'main="$1"; shift'
+ echo 'rm -f "$main"'
+-echo 'ar cr "$main" ${1+"$@"}'
++echo '$AR cr "$main" ${1+"$@"}'
+ case "`cat systype`" in
+ sunos-5.*) ;;
+ unix_sv*) ;;
+@@ -10,5 +10,5 @@ case "`cat systype`" in
+ dgux-*) ;;
+ hp-ux-*) ;;
+ sco*) ;;
+- *) echo 'ranlib "$main"' ;;
++ *) echo '$RANLIB "$main"' ;;
+ esac
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/s-tui/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/s-tui/default.nix
new file mode 100644
index 000000000000..1192a1762632
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/s-tui/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, python3Packages }:
+
+python3Packages.buildPythonPackage rec {
+ pname = "s-tui";
+ version = "1.0.1";
+
+ src = python3Packages.fetchPypi {
+ inherit pname version;
+ sha256 = "1gqrb2xxii43j7kszy7kvv4f6hr8ac4p0m9q8i1xs5fhsqcx186i";
+ };
+
+ propagatedBuildInputs = with python3Packages; [
+ urwid
+ psutil
+ ];
+
+ LC_ALL = "en_US.UTF-8";
+
+ meta = with stdenv.lib; {
+ homepage = "https://amanusk.github.io/s-tui/";
+ description = "Stress-Terminal UI monitoring tool";
+ license = licenses.gpl2;
+ maintainers = with maintainers; [ infinisil ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/s6-rc/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/s6-rc/default.nix
new file mode 100644
index 000000000000..328dd3242d84
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/s6-rc/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, skawarePackages }:
+
+with skawarePackages;
+
+buildPackage {
+ pname = "s6-rc";
+ version = "0.5.2.0";
+ sha256 = "1qpygkajalaziszhwfv5rr6hc27q05z8dayyv7im06z6vndimchs";
+
+ description = "A service manager for s6-based systems";
+ platforms = stdenv.lib.platforms.linux;
+
+ outputs = [ "bin" "lib" "dev" "doc" "out" ];
+
+ configureFlags = [
+ "--libdir=\${lib}/lib"
+ "--libexecdir=\${lib}/libexec"
+ "--dynlibdir=\${lib}/lib"
+ "--bindir=\${bin}/bin"
+ "--includedir=\${dev}/include"
+ "--with-sysdeps=${skalibs.lib}/lib/skalibs/sysdeps"
+ "--with-include=${skalibs.dev}/include"
+ "--with-include=${execline.dev}/include"
+ "--with-include=${s6.dev}/include"
+ "--with-lib=${skalibs.lib}/lib"
+ "--with-lib=${execline.lib}/lib"
+ "--with-lib=${s6.out}/lib"
+ "--with-dynlib=${skalibs.lib}/lib"
+ "--with-dynlib=${execline.lib}/lib"
+ "--with-dynlib=${s6.out}/lib"
+ ];
+
+ postInstall = ''
+ # remove all s6 executables from build directory
+ rm $(find -name "s6-rc-*" -type f -mindepth 1 -maxdepth 1 -executable)
+ rm s6-rc libs6rc.*
+
+ mv doc $doc/share/doc/s6-rc/html
+ mv examples $doc/share/doc/s6-rc/examples
+ '';
+
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/s6/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/s6/default.nix
new file mode 100644
index 000000000000..a0419c2d2ad4
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/s6/default.nix
@@ -0,0 +1,42 @@
+{ skawarePackages }:
+
+with skawarePackages;
+
+buildPackage {
+ pname = "s6";
+ version = "2.9.2.0";
+ sha256 = "1pfxx50shncg2s47ic4kp02jh1cxfjq75j3mnxjagyzzz0mbfg9n";
+
+ description = "skarnet.org's small & secure supervision software suite";
+
+ # NOTE lib: cannot split lib from bin at the moment,
+ # since some parts of lib depend on executables in bin.
+ # (the `*_startf` functions in `libs6`)
+ outputs = [ /*"bin" "lib"*/ "out" "dev" "doc" ];
+
+ # TODO: nsss support
+ configureFlags = [
+ "--libdir=\${out}/lib"
+ "--libexecdir=\${out}/libexec"
+ "--dynlibdir=\${out}/lib"
+ "--bindir=\${out}/bin"
+ "--includedir=\${dev}/include"
+ "--with-sysdeps=${skalibs.lib}/lib/skalibs/sysdeps"
+ "--with-include=${skalibs.dev}/include"
+ "--with-include=${execline.dev}/include"
+ "--with-lib=${skalibs.lib}/lib"
+ "--with-lib=${execline.lib}/lib"
+ "--with-dynlib=${skalibs.lib}/lib"
+ "--with-dynlib=${execline.lib}/lib"
+ ];
+
+ postInstall = ''
+ # remove all s6 executables from build directory
+ rm $(find -type f -mindepth 1 -maxdepth 1 -executable)
+ rm libs6.*
+
+ mv doc $doc/share/doc/s6/html
+ mv examples $doc/share/doc/s6/examples
+ '';
+
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/safe-rm/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/safe-rm/default.nix
new file mode 100644
index 000000000000..c188f066d180
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/safe-rm/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchgit, perl, coreutils }:
+
+stdenv.mkDerivation rec {
+ pname = "safe-rm";
+ version = "0.12";
+
+ src = fetchgit {
+ url = "https://git.launchpad.net/safe-rm";
+ rev = "refs/tags/${pname}-${version}";
+ sha256 = "0zkmwxyl1870ar6jr9h537vmqgkckqs9jd1yv6m4qqzdsmg5gdbq";
+ };
+
+ propagatedBuildInputs = [ perl coreutils ];
+
+ postFixup = ''
+ sed -e 's@/bin/rm@${coreutils}/bin/rm@' -i $out/bin/safe-rm
+ '';
+
+ installPhase = ''
+ mkdir -p $out/bin
+ cp safe-rm $out/bin
+
+ mkdir -p $out/share/man/man1
+ pod2man safe-rm > $out/share/man/man1/safe-rm.1
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Tool intended to prevent the accidental deletion of important files";
+ homepage = "https://launchpad.net/safe-rm";
+ license = licenses.gpl3;
+ platforms = platforms.all;
+ maintainers = [ maintainers.koral ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/safecopy/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/safecopy/default.nix
new file mode 100644
index 000000000000..e8db6a2fd39b
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/safecopy/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+ name = "safecopy-1.7";
+
+ src = fetchurl {
+ url = "mirror://sourceforge/project/safecopy/safecopy/${name}/${name}.tar.gz";
+ sha256 = "1zf4kk9r8za9pn4hzy1y3j02vrhl1rxfk5adyfq0w0k48xfyvys2";
+ };
+
+ meta = {
+ description = "Data recovery tool for damaged hardware";
+
+ longDescription =
+ '' Safecopy is a data recovery tool which tries to extract as much data as possible from a
+ problematic (i.e. damaged sectors) source - like floppy drives, hard disk partitions, CDs,
+ tape devices, etc, where other tools like dd would fail due to I/O errors.
+
+ Safecopy includes a low level IO layer to read CDROM disks in raw mode, and issue device
+ resets and other helpful low level operations on a number of other device classes.
+ '';
+
+ homepage = "http://safecopy.sourceforge.net";
+
+ license = stdenv.lib.licenses.gpl2Plus;
+
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/setserial/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/setserial/default.nix
new file mode 100644
index 000000000000..68ea32e1e8ac
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/setserial/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, groff }:
+
+stdenv.mkDerivation rec {
+ pname = "setserial";
+ version = "2.17";
+
+ src = fetchurl {
+ url = "mirror://sourceforge/setserial/${pname}-${version}.tar.gz";
+ sha256 = "0jkrnn3i8gbsl48k3civjmvxyv9rbm1qjha2cf2macdc439qfi3y";
+ };
+
+ buildInputs = [ groff ];
+
+ installFlags = [ "DESTDIR=$(out)" ];
+
+ postConfigure = ''
+ sed -e s@/usr/man/@/share/man/@ -i Makefile
+ '';
+
+ preInstall = ''mkdir -p "$out/bin" "$out/share/man/man8"'';
+
+ meta = {
+ description = "Serial port configuration utility";
+ platforms = stdenv.lib.platforms.linux;
+ license = stdenv.lib.licenses.gpl2;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/sg3_utils/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/sg3_utils/default.nix
new file mode 100644
index 000000000000..45e3287511a3
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/sg3_utils/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+ name = "sg3_utils-1.45";
+
+ src = fetchurl {
+ url = "http://sg.danny.cz/sg/p/${name}.tgz";
+ sha256 = "0qasc3qm4i8swjfaywiwpgz76gdxqvm47qycxgmprbsjmxqwk1qb";
+ };
+
+ meta = with stdenv.lib; {
+ homepage = "http://sg.danny.cz/sg/";
+ description = "Utilities that send SCSI commands to devices";
+ platforms = platforms.linux;
+ license = with licenses; [ bsd2 gpl2Plus ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/sleuthkit/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/sleuthkit/default.nix
new file mode 100644
index 000000000000..8dbc28d3a314
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/sleuthkit/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, libewf, afflib, openssl, zlib }:
+
+stdenv.mkDerivation rec {
+ version = "4.6.5";
+ pname = "sleuthkit";
+
+ src = fetchFromGitHub {
+ owner = "sleuthkit";
+ repo = "sleuthkit";
+ rev = "${pname}-${version}";
+ sha256 = "1q1cdixnfv9v4qlzza8xwdsyvq1vdw6gjgkd41yc1d57ldp1qm0c";
+ };
+
+ postPatch = ''
+ substituteInPlace tsk/img/ewf.c --replace libewf_handle_read_random libewf_handle_read_buffer_at_offset
+ '';
+
+ enableParallelBuilding = true;
+
+ nativeBuildInputs = [ autoreconfHook ];
+ buildInputs = [ libewf afflib openssl zlib ];
+
+ # Hack to fix the RPATH.
+ preFixup = "rm -rf */.libs";
+
+ meta = {
+ description = "A forensic/data recovery tool";
+ homepage = "https://www.sleuthkit.org/";
+ maintainers = [ stdenv.lib.maintainers.raskin ];
+ platforms = stdenv.lib.platforms.linux;
+ license = stdenv.lib.licenses.ipl10;
+ inherit version;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/smartmontools/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/smartmontools/default.nix
new file mode 100644
index 000000000000..5d9196fcc163
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/smartmontools/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, autoreconfHook
+, mailutils, inetutils
+, IOKit ? null , ApplicationServices ? null }:
+
+let
+ version = "7.1";
+
+ dbrev = "5062";
+ drivedbBranch = "RELEASE_7_0_DRIVEDB";
+ driverdb = fetchurl {
+ url = "https://sourceforge.net/p/smartmontools/code/${dbrev}/tree/branches/${drivedbBranch}/smartmontools/drivedb.h?format=raw";
+ sha256 = "0gggl55h9gq0z846ndhyd7xrpxh8lqfbidblx0598q2wlh9rvlww";
+ name = "smartmontools-drivedb.h";
+ };
+
+in stdenv.mkDerivation rec {
+ pname = "smartmontools";
+ inherit version;
+
+ src = fetchurl {
+ url = "mirror://sourceforge/smartmontools/${pname}-${version}.tar.gz";
+ sha256 = "0imqb7ka4ia5573w8rnpck571pjjc9698pdjcapy9cfyk4n4swrz";
+ };
+
+ patches = [ ./smartmontools.patch ];
+ postPatch = "cp -v ${driverdb} drivedb.h";
+
+ configureFlags = [
+ "--with-scriptpath=${stdenv.lib.makeBinPath [ mailutils inetutils ]}"
+ ];
+
+ nativeBuildInputs = [ autoreconfHook ];
+ buildInputs = [] ++ stdenv.lib.optionals stdenv.isDarwin [IOKit ApplicationServices];
+ enableParallelBuilding = true;
+
+ meta = with stdenv.lib; {
+ description = "Tools for monitoring the health of hard drives";
+ homepage = "https://www.smartmontools.org/";
+ license = licenses.gpl2Plus;
+ maintainers = with maintainers; [ peti Frostman ];
+ platforms = with platforms; linux ++ darwin;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/smartmontools/smartmontools.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/smartmontools/smartmontools.patch
new file mode 100644
index 000000000000..144b2be2d334
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/smartmontools/smartmontools.patch
@@ -0,0 +1,26 @@
+diff --git a/../smartmontools-6.5/configure b/./configure
+index acb028a..5e2c7a1 100755
+--- a/../smartmontools-6.5/configure
++++ b/./configure
+@@ -6703,7 +6703,7 @@ fi
+ ;;
+ *-*-darwin*)
+ os_deps='os_darwin.o'
+- os_libs='-framework CoreFoundation -framework IOKit'
++ os_libs='-framework ApplicationServices -framework IOKit'
+ os_darwin=yes
+ os_man_filter=Darwin
+ ;;
+diff --git a/../smartmontools-6.5/configure.ac b/./configure.ac
+index 6bd61d7..32ff50c 100644
+--- a/../smartmontools-6.5/configure.ac
++++ b/./configure.ac
+@@ -508,7 +508,7 @@ case "${host}" in
+ ;;
+ *-*-darwin*)
+ os_deps='os_darwin.o'
+- os_libs='-framework CoreFoundation -framework IOKit'
++ os_libs='-framework ApplicationServices -framework IOKit'
+ os_darwin=yes
+ os_man_filter=Darwin
+ ;;
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/snooze/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/snooze/default.nix
new file mode 100644
index 000000000000..fb1ceaf897b8
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/snooze/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchFromGitHub }:
+stdenv.mkDerivation rec {
+ pname = "snooze";
+ version = "0.4";
+ src = fetchFromGitHub {
+ owner = "leahneukirchen";
+ repo = "snooze";
+ rev = "v${version}";
+ sha256 = "0a114brvvjf6vl7grviv0gd6gmikr447m8kq1wilp4yj51sfyxa9";
+ };
+ makeFlags = [ "DESTDIR=$(out)" "PREFIX=/" ];
+
+ meta = with stdenv.lib; {
+ description = "Tool for waiting until a particular time and then running a command";
+ maintainers = with maintainers; [ kaction ];
+ license = licenses.cc0;
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/socklog/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/socklog/default.nix
new file mode 100644
index 000000000000..cf7fbe5e9a13
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/socklog/default.nix
@@ -0,0 +1,59 @@
+{ stdenv, fetchurl }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+ pname = "socklog";
+ version = "2.1.0";
+
+ src = fetchurl {
+ url = "http://smarden.org/socklog/socklog-${version}.tar.gz";
+ sha256 = "0mdlmhiq2j2fip7c4l669ams85yc3c1s1d89am7dl170grw9m1ma";
+ };
+
+ sourceRoot = "admin/socklog-${version}";
+
+ outputs = [ "out" "man" "doc" ];
+
+ postPatch = ''
+ # Fails to run as user without supplementary groups
+ echo "int main() { return 0; }" >src/chkshsgr.c
+
+ # Fixup implicit function declarations
+ sed -i src/pathexec_run.c -e '1i#include <unistd.h>'
+ sed -i src/prot.c -e '1i#include <unistd.h>' -e '2i#include <grp.h>'
+ sed -i src/seek_set.c -e '1i#include <unistd.h>'
+ '';
+
+ configurePhase = ''
+ echo "$NIX_CC/bin/cc $NIX_CFLAGS_COMPILE" >src/conf-cc
+ echo "$NIX_CC/bin/cc -s" >src/conf-ld
+ '';
+
+ buildPhase = ''package/compile'';
+
+ installPhase = ''
+ mkdir -p $out/bin
+ mv command"/"* $out/bin
+
+ for i in {1,8} ; do
+ mkdir -p $man/share/man/man$i
+ mv man"/"*.$i $man/share/man/man$i
+ done
+
+ mkdir -p $doc/share/doc/socklog/html
+ mv doc/*.html $doc/share/doc/socklog/html/
+ '';
+
+ checkPhase = ''package/check'';
+
+ doCheck = true;
+
+ meta = {
+ description = "System and kernel logging services";
+ homepage = "http://smarden.org/socklog/";
+ license = licenses.publicDomain;
+ platforms = platforms.unix;
+ maintainers = [ maintainers.joachifm ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/stress-ng/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/stress-ng/default.nix
new file mode 100644
index 000000000000..9939f9ea1542
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/stress-ng/default.nix
@@ -0,0 +1,72 @@
+{ stdenv, fetchurl
+, attr, judy, keyutils, libaio, libapparmor, libbsd, libcap, libgcrypt, lksctp-tools, zlib
+}:
+
+stdenv.mkDerivation rec {
+ pname = "stress-ng";
+ version = "0.11.19";
+
+ src = fetchurl {
+ url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.xz";
+ sha256 = "0s08qahjc68h5qhnahmb9z19l51p5sw2pmzrlknq1j5900zpa2x5";
+ };
+
+ postPatch = ''
+ sed -i '/\#include <bsd\/string.h>/i #undef HAVE_STRLCAT\n#undef HAVE_STRLCPY' stress-ng.h
+ ''; # needed because of Darwin patch on libbsd
+
+ # All platforms inputs then Linux-only ones
+ buildInputs = [ judy libbsd libgcrypt zlib ]
+ ++ stdenv.lib.optionals stdenv.hostPlatform.isLinux [
+ attr keyutils libaio libapparmor libcap lksctp-tools
+ ];
+
+ makeFlags = [
+ "BINDIR=${placeholder "out"}/bin"
+ "MANDIR=${placeholder "out"}/share/man/man1"
+ "JOBDIR=${placeholder "out"}/share/stress-ng/example-jobs"
+ "BASHDIR=${placeholder "out"}/share/bash-completion/completions"
+ ];
+
+ NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.hostPlatform.isMusl "-D_LINUX_SYSINFO_H=1";
+
+ # Won't build on i686 because the binary will be linked again in the
+ # install phase without checking the dependencies. This will prevent
+ # triggering the rebuild. Why this only happens on i686 remains a
+ # mystery, though. :-(
+ enableParallelBuilding = (!stdenv.isi686);
+
+ meta = with stdenv.lib; {
+ description = "Stress test a computer system";
+ longDescription = ''
+ stress-ng will stress test a computer system in various selectable ways. It
+ was designed to exercise various physical subsystems of a computer as well as
+ the various operating system kernel interfaces. Stress-ng features:
+
+ * over 210 stress tests
+ * over 50 CPU specific stress tests that exercise floating point, integer,
+ bit manipulation and control flow
+ * over 20 virtual memory stress tests
+ * portable: builds on Linux, Solaris, *BSD, Minix, Android, MacOS X,
+ Debian Hurd, Haiku, Windows Subsystem for Linux and SunOs/Dilos with
+ gcc, clang, tcc and pcc.
+
+ stress-ng was originally intended to make a machine work hard and trip hardware
+ issues such as thermal overruns as well as operating system bugs that only
+ occur when a system is being thrashed hard. Use stress-ng with caution as some
+ of the tests can make a system run hot on poorly designed hardware and also can
+ cause excessive system thrashing which may be difficult to stop.
+
+ stress-ng can also measure test throughput rates; this can be useful to observe
+ performance changes across different operating system releases or types of
+ hardware. However, it has never been intended to be used as a precise benchmark
+ test suite, so do NOT use it in this manner.
+ '';
+ homepage = "https://kernel.ubuntu.com/~cking/stress-ng/";
+ downloadPage = "https://kernel.ubuntu.com/~cking/tarballs/stress-ng/";
+ changelog = "https://kernel.ubuntu.com/git/cking/stress-ng.git/plain/debian/changelog?h=V${version}";
+ license = licenses.gpl2Plus;
+ maintainers = with maintainers; [ c0bw3b ];
+ platforms = platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/stress/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/stress/default.nix
new file mode 100644
index 000000000000..1595e8347e15
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/stress/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+ name = "stress-1.0.4";
+
+ src = fetchurl {
+ url = "https://people.seas.harvard.edu/~apw/stress/${name}.tar.gz";
+ sha256 = "0nw210jajk38m3y7h8s130ps2qsbz7j75wab07hi2r3hlz14yzh5";
+ };
+
+ meta = with stdenv.lib; {
+ description = "Simple workload generator for POSIX systems. It imposes a configurable amount of CPU, memory, I/O, and disk stress on the system";
+ license = licenses.gpl2;
+ platforms = platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/suid-chroot/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/suid-chroot/default.nix
new file mode 100644
index 000000000000..9697748e056d
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/suid-chroot/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+ pname = "suid-chroot";
+ version = "1.0.2";
+
+ src = fetchurl {
+ sha256 = "1a9xqhck0ikn8kfjk338h9v1yjn113gd83q0c50k78xa68xrnxjx";
+ url = "http://myweb.tiscali.co.uk/scottrix/linux/download/${pname}-${version}.tar.bz2";
+ };
+
+ postPatch = ''
+ substituteInPlace Makefile --replace /usr $out
+ sed -i -e '/chmod u+s/d' Makefile
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Setuid-safe wrapper for chroot";
+ license = licenses.gpl2Plus;
+ platforms = with platforms; unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/supervise/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/supervise/default.nix
new file mode 100644
index 000000000000..cbf96818f486
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/supervise/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchzip }:
+
+stdenv.mkDerivation rec {
+
+ pname = "supervise";
+ version = "1.4.0";
+
+ src = fetchzip {
+ url = "https://github.com/catern/supervise/releases/download/v${version}/supervise-${version}.tar.gz";
+ sha256 = "0jk6q2f67pfs18ah040lmsbvbrnjap7w04jjddsfn1j5bcrvs13x";
+ };
+
+ meta = with stdenv.lib; {
+ homepage = "https://github.com/catern/supervise";
+ description = "A minimal unprivileged process supervisor making use of modern Linux features";
+ platforms = platforms.linux;
+ license = licenses.gpl3;
+ maintainers = with stdenv.lib.maintainers; [ catern ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/symlinks/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/symlinks/default.nix
new file mode 100644
index 000000000000..93a6bbf0c75b
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/symlinks/default.nix
@@ -0,0 +1,27 @@
+{ fetchurl, stdenv }:
+
+stdenv.mkDerivation rec {
+ pname = "symlinks";
+ version = "1.4.3";
+
+ src = fetchurl {
+ url = "https://github.com/brandt/symlinks/archive/v${version}.tar.gz";
+ sha256 = "1cihrd3dap52z1msdhhgda7b7wy1l5ysfvyba8yxb3zjk0l5n417";
+ };
+
+ buildFlags = [ "CC=${stdenv.cc}/bin/cc" ];
+
+ installPhase = ''
+ mkdir -p $out/bin $out/share/man/man8
+ cp symlinks $out/bin
+ cp symlinks.8 $out/share/man/man8
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Find and remedy problematic symbolic links on a system";
+ homepage = "https://github.com/brandt/symlinks";
+ license = licenses.mit;
+ maintainers = with maintainers; [ goibhniu ckauhaus ];
+ platforms = platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/syslog-ng-incubator/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/syslog-ng-incubator/default.nix
new file mode 100644
index 000000000000..5d802dbed7e5
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/syslog-ng-incubator/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, glib, syslogng
+, eventlog, perl, python, yacc, protobufc, libivykis, libcap, czmq
+}:
+
+stdenv.mkDerivation rec {
+ pname = "syslog-ng-incubator";
+ version = "0.6.2";
+
+ src = fetchFromGitHub {
+ owner = "balabit";
+ repo = "syslog-ng-incubator";
+ rev = "${pname}-${version}";
+ sha256 = "17y85cqcyfbp882gaii731cvz5bg1s8rgda271jh6kgnrz5rbd4s";
+ };
+
+ nativeBuildInputs = [ pkgconfig autoreconfHook yacc ];
+
+ buildInputs = [
+ glib syslogng eventlog perl python protobufc libivykis libcap czmq
+ ];
+
+ configureFlags = [
+ "--with-module-dir=$(out)/lib/syslog-ng"
+ ];
+
+ meta = with stdenv.lib; {
+ homepage = "https://github.com/balabit/syslog-ng-incubator";
+ description = "A collection of tools and modules for syslog-ng";
+ license = licenses.gpl2;
+ maintainers = [];
+ platforms = platforms.linux;
+ broken = true; # 2018-05-12
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/syslog-ng/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/syslog-ng/default.nix
new file mode 100644
index 000000000000..eeb2a99740ee
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/syslog-ng/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchurl, openssl, libcap, curl, which
+, eventlog, pkgconfig, glib, python, systemd, perl
+, riemann_c_client, protobufc, pcre, libnet
+, json_c, libuuid, libivykis, mongoc, rabbitmq-c
+, libesmtp
+}:
+
+stdenv.mkDerivation rec {
+ pname = "syslog-ng";
+ version = "3.28.1";
+
+ src = fetchurl {
+ url = "https://github.com/${pname}/${pname}/releases/download/${pname}-${version}/${pname}-${version}.tar.gz";
+ sha256 = "1s56q8k69sdrqsh3y9lr4di01fqw7xb49wr0dz75jmz084yg8kmg";
+ };
+
+ nativeBuildInputs = [ pkgconfig which ];
+
+ buildInputs = [
+ libcap
+ curl
+ openssl
+ eventlog
+ glib
+ perl
+ python
+ systemd
+ riemann_c_client
+ protobufc
+ pcre
+ libnet
+ json_c
+ libuuid
+ libivykis
+ mongoc
+ rabbitmq-c
+ libesmtp
+ ];
+
+ configureFlags = [
+ "--enable-manpages"
+ "--enable-dynamic-linking"
+ "--enable-systemd"
+ "--enable-smtp"
+ "--with-ivykis=system"
+ "--with-librabbitmq-client=system"
+ "--with-mongoc=system"
+ "--with-jsonc=system"
+ "--with-systemd-journal=system"
+ "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+ ];
+
+ outputs = [ "out" "man" ];
+
+ enableParallelBuilding = true;
+
+ meta = with stdenv.lib; {
+ homepage = "https://www.syslog-ng.com";
+ description = "Next-generation syslogd with advanced networking and filtering capabilities";
+ license = licenses.gpl2;
+ maintainers = with maintainers; [ fpletz ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/systemd-journal2gelf/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/systemd-journal2gelf/default.nix
new file mode 100644
index 000000000000..d10cbb197c50
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/systemd-journal2gelf/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+ pname = "SystemdJournal2Gelf-unstable";
+ version = "20200813";
+
+ src = fetchFromGitHub {
+ rev = "d389dc8583b752cbd37c389a55a6c82200e47394";
+ owner = "parse-nl";
+ repo = "SystemdJournal2Gelf";
+ sha256 = "0p38r5kdfcn6n2d44dygrs5xgv51s5qlsfhzzwn16r3n6x91s62b";
+ fetchSubmodules = true;
+ };
+
+ goPackagePath = "github.com/parse-nl/SystemdJournal2Gelf";
+
+ meta = with stdenv.lib; {
+ description = "Export entries from systemd's journal and send them to a graylog server using gelf";
+ license = licenses.bsd2;
+ maintainers = with maintainers; [ fadenb fpletz ];
+ platforms = platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/testdisk/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/testdisk/default.nix
new file mode 100644
index 000000000000..bbece24bf655
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/testdisk/default.nix
@@ -0,0 +1,68 @@
+{ mkDerivation
+, stdenv
+, fetchurl
+, ncurses
+, libuuid
+, pkgconfig
+, libjpeg
+, zlib
+, libewf
+, enableNtfs ? !stdenv.isDarwin, ntfs3g ? null
+, enableExtFs ? !stdenv.isDarwin, e2fsprogs ? null
+, enableQt ? false, qtbase ? null, qttools ? null, qwt ? null
+}:
+
+assert enableNtfs -> ntfs3g != null;
+assert enableExtFs -> e2fsprogs != null;
+assert enableQt -> qtbase != null;
+assert enableQt -> qttools != null;
+assert enableQt -> qwt != null;
+
+(if enableQt then mkDerivation else stdenv.mkDerivation) rec {
+ pname = "testdisk";
+ version = "7.1";
+ src = fetchurl {
+ url = "https://www.cgsecurity.org/testdisk-${version}.tar.bz2";
+ sha256 = "1zlh44w67py416hkvw6nrfmjickc2d43v51vcli5p374d5sw84ql";
+ };
+
+ enableParallelBuilding = true;
+
+ buildInputs = [
+ ncurses
+ libuuid
+ libjpeg
+ zlib
+ libewf
+ ]
+ ++ stdenv.lib.optional enableNtfs ntfs3g
+ ++ stdenv.lib.optional enableExtFs e2fsprogs
+ ++ stdenv.lib.optionals enableQt [ qtbase qttools qwt ];
+
+ nativeBuildInputs = [ pkgconfig ];
+
+ NIX_CFLAGS_COMPILE="-Wno-unused";
+
+ meta = with stdenv.lib; {
+ homepage = "https://www.cgsecurity.org/wiki/Main_Page";
+ downloadPage = "https://www.cgsecurity.org/wiki/TestDisk_Download";
+ description = "Data recovery utilities";
+ longDescription = ''
+ TestDisk is a powerful free data recovery software. It was primarily
+ designed to help recover lost partitions and/or make non-booting disks
+ bootable again when these symptoms are caused by faulty software: certain
+ types of viruses or human error (such as accidentally deleting a
+ Partition Table).
+
+ PhotoRec is a file data recovery software designed to recover lost files
+ including video, documents and archives from hard disks, CD-ROMs, and
+ lost pictures (thus the Photo Recovery name) from digital camera memory.
+ PhotoRec ignores the file system and goes after the underlying data, so
+ it will still work even if your media's file system has been severely
+ damaged or reformatted.
+ '';
+ license = stdenv.lib.licenses.gpl2Plus;
+ platforms = stdenv.lib.platforms.all;
+ maintainers = with maintainers; [ fgaz eelco ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/thermald/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/thermald/default.nix
new file mode 100644
index 000000000000..4c076db7b8c0
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/thermald/default.nix
@@ -0,0 +1,74 @@
+{ autoconf
+, autoconf-archive
+, automake
+, dbus
+, dbus-glib
+, docbook_xml_dtd_412
+, docbook-xsl-nons
+, fetchFromGitHub
+, gtk-doc
+, libevdev
+, libtool
+, libxml2
+, lzma
+, pkgconfig
+, stdenv
+, upower
+}:
+
+stdenv.mkDerivation rec {
+ pname = "thermald";
+ version = "2.4.1";
+
+ outputs = [ "out" "devdoc" ];
+
+ src = fetchFromGitHub {
+ owner = "intel";
+ repo = "thermal_daemon";
+ rev = "v${version}";
+ sha256 = "0rlac7v1b59m7gh767hkd8a0r4p001nd24786fnmryygbxynd2s6";
+ };
+
+ nativeBuildInputs = [
+ autoconf
+ autoconf-archive
+ automake
+ docbook-xsl-nons
+ docbook_xml_dtd_412
+ gtk-doc
+ libtool
+ pkgconfig
+ ];
+
+ buildInputs = [
+ dbus
+ dbus-glib
+ libevdev
+ libxml2
+ lzma
+ upower
+ ];
+
+ configureFlags = [
+ "--sysconfdir=${placeholder "out"}/etc"
+ "--localstatedir=/var"
+ "--enable-gtk-doc"
+ "--with-dbus-sys-dir=${placeholder "out"}/share/dbus-1/system.d"
+ "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
+ ];
+
+ preConfigure = "NO_CONFIGURE=1 ./autogen.sh";
+
+ postInstall = ''
+ cp ./data/thermal-conf.xml $out/etc/thermald/
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Thermal Daemon";
+ homepage = "https://01.org/linux-thermal-daemon";
+ changelog = "https://github.com/intel/thermal_daemon/blob/master/README.txt";
+ license = licenses.gpl2Plus;
+ platforms = [ "x86_64-linux" "i686-linux" ];
+ maintainers = with maintainers; [ abbradar ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/thinkfan/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/thinkfan/default.nix
new file mode 100644
index 000000000000..62c299cce7a3
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/thinkfan/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchFromGitHub, cmake, libyamlcpp, pkgconfig
+, smartSupport ? false, libatasmart }:
+
+stdenv.mkDerivation rec {
+ pname = "thinkfan";
+ version = "1.1";
+
+ src = fetchFromGitHub {
+ owner = "vmatare";
+ repo = "thinkfan";
+ rev = version;
+ sha256 = "1fxd1w3z65glw6y04myn7ihgswkx6sqnkky159mik4n96pfrsvr5";
+ };
+
+ cmakeFlags = [
+ "-DCMAKE_INSTALL_DOCDIR=share/doc/${pname}"
+ "-DUSE_NVML=OFF"
+ ] ++ stdenv.lib.optional smartSupport "-DUSE_ATASMART=ON";
+
+ nativeBuildInputs = [ cmake pkgconfig ];
+
+ buildInputs = [ libyamlcpp ] ++ stdenv.lib.optional smartSupport libatasmart;
+
+ installPhase = ''
+ runHook preInstall
+
+ install -Dm755 {.,$out/bin}/thinkfan
+
+ cd "$NIX_BUILD_TOP"; cd "$sourceRoot" # attempt to be a bit robust
+ install -Dm644 {.,$out/share/doc/thinkfan}/README
+ cp -R examples $out/share/doc/thinkfan
+ install -Dm644 {src,$out/share/man/man1}/thinkfan.1
+
+ runHook postInstall
+ '';
+
+ meta = with stdenv.lib; {
+ description = "A minimalist fan control program";
+ longDescription = "A minimalist fan control program. Originally designed
+specifically for IBM/Lenovo Thinkpads, it now supports any kind of system via
+the sysfs hwmon interface (/sys/class/hwmon).";
+ license = licenses.gpl3;
+ homepage = "https://github.com/vmatare/thinkfan";
+ maintainers = with maintainers; [ domenkozar ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/throttled/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/throttled/default.nix
new file mode 100644
index 000000000000..b19e4c471c00
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/throttled/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchFromGitHub, python3Packages }:
+
+stdenv.mkDerivation rec {
+ pname = "throttled";
+ version = "0.8";
+
+ src = fetchFromGitHub {
+ owner = "erpalma";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "0qw124gdgjqij3xhgg8j1mdsg6j0xg340as5qf8hd3gwc38sqi9x";
+ };
+
+ nativeBuildInputs = [ python3Packages.wrapPython ];
+
+ pythonPath = with python3Packages; [
+ configparser
+ dbus-python
+ pygobject3
+ ];
+
+ # The upstream unit both assumes the install location, and tries to run in a virtualenv
+ postPatch = ''sed -e 's|ExecStart=.*|ExecStart=${placeholder "out"}/bin/lenovo_fix.py|' -i systemd/lenovo_fix.service'';
+
+ installPhase = ''
+ runHook preInstall
+ install -D -m755 -t $out/bin lenovo_fix.py
+ install -D -t $out/bin lenovo_fix.py mmio.py
+ install -D -m644 -t $out/etc etc/*
+ install -D -m644 -t $out/lib/systemd/system systemd/*
+ runHook postInstall
+ '';
+
+ postFixup = ''wrapPythonPrograms'';
+
+ meta = with stdenv.lib; {
+ description = "Fix for Intel CPU throttling issues";
+ homepage = "https://github.com/erpalma/throttled";
+ license = licenses.mit;
+ platforms = [ "x86_64-linux" ];
+ maintainers = with maintainers; [ michaelpj ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/tm/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/tm/default.nix
new file mode 100644
index 000000000000..390eae4de50a
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/tm/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation {
+
+ name = "tm-0.4.1";
+
+ installPhase=''make install "PREFIX=$out"'';
+
+ patchPhase = ''
+ sed -i 's@/usr/bin/install@install@g ; s/gcc/cc/g' Makefile
+ '';
+
+ src = fetchurl {
+ url = "http://vicerveza.homeunix.net/~viric/soft/tm/tm-0.4.1.tar.gz";
+ sha256 = "3b389bc03b6964ad5ffa57a344b891fdbcf7c9b2604adda723a863f83657c4a0";
+ };
+
+ meta = with stdenv.lib; {
+ homepage = "http://vicerveza.homeunix.net/~viric/soft/tm";
+ description = "Terminal mixer - multiplexer for the i/o of terminal applications";
+ license = licenses.gpl2;
+ maintainers = with maintainers; [ viric ];
+ platforms = platforms.all;
+ };
+
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/tre-command/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/tre-command/default.nix
new file mode 100644
index 000000000000..c3241a04587b
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/tre-command/default.nix
@@ -0,0 +1,28 @@
+{ rustPlatform, fetchFromGitHub, stdenv, installShellFiles }:
+
+rustPlatform.buildRustPackage rec {
+ pname = "tre-command";
+ version = "0.3.3";
+
+ src = fetchFromGitHub {
+ owner = "dduan";
+ repo = "tre";
+ rev = "v${version}";
+ sha256 = "10c8mpqzpw7m3vrm2vl2rx678z3c37hxpqyh3fn83dlh9f4f0j87";
+ };
+
+ cargoSha256 = "0jd6cfs2zi2n34kirpsy12l76whaqwm1pkqa57w1ms5z658z07wj";
+
+ nativeBuildInputs = [ installShellFiles ];
+
+ preFixup = ''
+ installManPage manual/tre.1
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Tree command, improved";
+ homepage = "https://github.com/dduan/tre";
+ license = licenses.mit;
+ maintainers = [ maintainers.dduan ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/tree/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/tree/default.nix
new file mode 100644
index 000000000000..24d11a9c0ee8
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/tree/default.nix
@@ -0,0 +1,59 @@
+{ stdenv, fetchurl }:
+
+let
+ version = "1.8.0";
+
+ # These settings are found in the Makefile, but there seems to be no
+ # way to select one ore the other setting other than editing the file
+ # manually, so we have to duplicate the know how here.
+ systemFlags = with stdenv;
+ if isDarwin then ''
+ CFLAGS="-O2 -Wall -fomit-frame-pointer"
+ LDFLAGS=
+ EXTRA_OBJS=strverscmp.o
+ '' else if isCygwin then ''
+ CFLAGS="-O2 -Wall -fomit-frame-pointer -DCYGWIN"
+ LDFLAGS=-s
+ TREE_DEST=tree.exe
+ EXTRA_OBJS=strverscmp.o
+ '' else if (isFreeBSD || isOpenBSD) then ''
+ CFLAGS="-O2 -Wall -fomit-frame-pointer"
+ LDFLAGS=-s
+ EXTRA_OBJS=strverscmp.o
+ '' else
+ ""; # use linux flags by default
+in
+stdenv.mkDerivation {
+ pname = "tree";
+ inherit version;
+
+ src = fetchurl {
+ url = "http://mama.indstate.edu/users/ice/tree/src/tree-${version}.tgz";
+ sha256 = "1hmpz6k0mr6salv0nprvm1g0rdjva1kx03bdf1scw8a38d5mspbi";
+ };
+
+ configurePhase = ''
+ sed -i Makefile -e 's|^OBJS=|OBJS=$(EXTRA_OBJS) |'
+ makeFlagsArray=(
+ prefix=$out
+ MANDIR=$out/share/man/man1
+ ${systemFlags}
+ CC="$CC"
+ )
+ '';
+
+ meta = {
+ homepage = "http://mama.indstate.edu/users/ice/tree/";
+ description = "Command to produce a depth indented directory listing";
+ license = stdenv.lib.licenses.gpl2;
+
+ longDescription = ''
+ Tree is a recursive directory listing command that produces a
+ depth indented listing of files, which is colorized ala dircolors if
+ the LS_COLORS environment variable is set and output is to tty.
+ '';
+
+ platforms = stdenv.lib.platforms.all;
+ maintainers = [stdenv.lib.maintainers.peti];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/ts/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/ts/default.nix
new file mode 100644
index 000000000000..4046b3638112
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/ts/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl
+, sendmailPath ? "/run/wrappers/bin/sendmail"
+}:
+
+stdenv.mkDerivation rec {
+
+ name = "ts-1.0";
+
+ installPhase=''make install "PREFIX=$out"'';
+
+ patchPhase = ''
+ sed -i s,/usr/sbin/sendmail,${sendmailPath}, mail.c ts.1
+ '';
+
+ src = fetchurl {
+ url = "http://viric.name/~viric/soft/ts/${name}.tar.gz";
+ sha256 = "15dkzczx10fhl0zs9bmcgkxfbwq2znc7bpscljm4rchbzx7y6lsg";
+ };
+
+ meta = with stdenv.lib; {
+ homepage = "http://vicerveza.homeunix.net/~viric/soft/ts";
+ description = "Task spooler - batch queue";
+ license = licenses.gpl2;
+ maintainers = with maintainers; [ viric ];
+ platforms = platforms.all;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/tuptime/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/tuptime/default.nix
new file mode 100644
index 000000000000..213a79fe2700
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/tuptime/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchFromGitHub
+, makeWrapper, installShellFiles
+, python3, sqlite }:
+
+stdenv.mkDerivation rec {
+ pname = "tuptime";
+ version = "5.0.1";
+
+ src = fetchFromGitHub {
+ owner = "rfrail3";
+ repo = "tuptime";
+ rev = version;
+ sha256 = "0nk3yyjavgmc435vj3f0siw4y5nwipsbcsvsf5m7mgvq0xi8f3ls";
+ };
+
+ nativeBuildInputs = [ makeWrapper installShellFiles ];
+
+ buildInputs = [ python3 ];
+
+ outputs = [ "out" "man" ];
+
+ installPhase = ''
+ mkdir -p $out/bin
+ install -m 755 $src/src/tuptime $out/bin/
+
+ installManPage $src/src/man/tuptime.1
+
+ install -Dm 0755 $src/misc/scripts/db-tuptime-migrate-4.0-to-5.0.sh \
+ $out/share/tuptime/db-tuptime-migrate-4.0-to-5.0.sh
+ '';
+
+ preFixup = ''
+ wrapProgram $out/share/tuptime/db-tuptime-migrate-4.0-to-5.0.sh \
+ --prefix PATH : "${stdenv.lib.makeBinPath [ sqlite ]}"
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Total uptime & downtime statistics utility";
+ homepage = "https://github.com/rfrail3/tuptime";
+ license = licenses.gpl2Plus;
+ platforms = platforms.all;
+ maintainers = [ maintainers.evils ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/uefitool/common.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/uefitool/common.nix
new file mode 100644
index 000000000000..7d5ee82dcf98
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/uefitool/common.nix
@@ -0,0 +1,39 @@
+{ version, sha256, installFiles }:
+{ lib, mkDerivation, fetchFromGitHub, qtbase, qmake, cmake, zip }:
+
+mkDerivation rec {
+ passthru = {
+ inherit version;
+ inherit sha256;
+ inherit installFiles;
+ };
+ pname = "uefitool";
+ inherit version;
+
+ src = fetchFromGitHub {
+ inherit sha256;
+ owner = "LongSoft";
+ repo = pname;
+ rev = version;
+ };
+
+ buildInputs = [ qtbase ];
+ nativeBuildInputs = [ qmake cmake zip ];
+
+ configurePhase = ":";
+ buildPhase = "bash unixbuild.sh";
+
+ installPhase = ''
+ mkdir -p "$out"/bin
+ cp ${lib.concatStringsSep " " installFiles} "$out"/bin
+ '';
+
+ meta = with lib; {
+ description = "UEFI firmware image viewer and editor";
+ homepage = "https://github.com/LongSoft/uefitool";
+ license = licenses.bsd2;
+ maintainers = with maintainers; [ ajs124 ];
+ # uefitool supposedly works on other platforms, but their build script only works on linux in nixpkgs
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/uefitool/variants.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/uefitool/variants.nix
new file mode 100644
index 000000000000..0e8d7285aab6
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/uefitool/variants.nix
@@ -0,0 +1,15 @@
+{ libsForQt5 }:
+let
+ common = opts: libsForQt5.callPackage (import ./common.nix opts) {};
+in rec {
+ new-engine = common rec {
+ version = "A58";
+ sha256 = "131hkyr07fg7rnr938yyj0gk528x3402dhisav221c27v84zb7pn";
+ installFiles = [ "UEFITool/UEFITool" "UEFIFind/UEFIFind" "UEFIExtract/UEFIExtract" ];
+ };
+ old-engine = common rec {
+ version = "0.28.0";
+ sha256 = "1n2hd2dysi5bv2iyq40phh1jxc48gdwzs414vfbxvcharcwapnja";
+ installFiles = [ "UEFITool" "UEFIReplace/UEFIReplace" "UEFIPatch/UEFIPatch" ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/undaemonize/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/undaemonize/default.nix
new file mode 100644
index 000000000000..e82ee18b8314
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/undaemonize/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation {
+ name = "undaemonize-2017-07-11";
+ src = fetchFromGitHub {
+ repo = "undaemonize";
+ owner = "nickstenning";
+ rev = "a181cfd900851543ee1f85fe8f76bc8916b446d4";
+ sha256 = "1fkrgj3xfhj820qagh5p0rabl8z2hpad6yp984v92h9pgbfwxs33";
+ };
+ installPhase = ''
+ install -D undaemonize $out/bin/undaemonize
+ '';
+ meta = {
+ description = "Tiny helper utility to force programs which insist on daemonizing themselves to run in the foreground";
+ homepage = "https://github.com/nickstenning/undaemonize";
+ license = stdenv.lib.licenses.mit;
+ maintainers = [ stdenv.lib.maintainers.canndrew ];
+ platforms = stdenv.lib.platforms.linux;
+ };
+}
+
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/uptimed/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/uptimed/default.nix
new file mode 100644
index 000000000000..e9224977542f
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/uptimed/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+ pname = "uptimed";
+ version = "0.4.2";
+
+ src = fetchFromGitHub {
+ sha256 = "0wnnpjfxnycigqj6hag0n6p5piss8cv40y9jda72d9s4df5n91z8";
+ rev = "v${version}";
+ repo = "uptimed";
+ owner = "rpodgorny";
+ };
+
+ nativeBuildInputs = [ autoreconfHook ];
+ patches = [ ./no-var-spool-install.patch ];
+
+ meta = with stdenv.lib; {
+ description = "Uptime record daemon";
+ longDescription = ''
+ An uptime record daemon keeping track of the highest uptimes a computer
+ system ever had. It uses the system boot time to keep sessions apart from
+ each other. Uptimed comes with a console front-end to parse the records,
+ which can also easily be used to show your records on a web page.
+ '';
+ homepage = "https://github.com/rpodgorny/uptimed/";
+ license = licenses.gpl2;
+ platforms = platforms.linux;
+ };
+
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/uptimed/no-var-spool-install.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/uptimed/no-var-spool-install.patch
new file mode 100644
index 000000000000..f591aad4b504
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/uptimed/no-var-spool-install.patch
@@ -0,0 +1,15 @@
+diff -rc uptimed-0.3.16/Makefile.am uptimed-0.3.16-new/Makefile.am
+*** uptimed-0.3.16/Makefile.am 2009-01-02 00:46:00.000000000 +0100
+--- uptimed-0.3.16-new/Makefile.am 2009-09-16 09:24:29.952524967 +0200
+***************
+*** 8,16 ****
+
+ AM_CFLAGS = @CFLAGS@ -DFILE_CONFIG=\"$(sysconfdir)/uptimed.conf\"
+
+- install-data-local:
+- $(INSTALL) -d $(DESTDIR)/var/spool/uptimed
+-
+ srpm: dist
+ @(rpmbuild -ts uptimed-$(PACKAGE_VERSION).tar.gz)
+
+--- 8,13 ----
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/vbetool/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/vbetool/default.nix
new file mode 100644
index 000000000000..dc2ec24e594a
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/vbetool/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, pciutils, libx86, zlib }:
+
+stdenv.mkDerivation rec {
+ pname = "vbetool";
+ version = "1.1";
+
+ src = fetchurl {
+ url = "https://www.codon.org.uk/~mjg59/vbetool/download/${pname}-${version}.tar.gz";
+ sha256 = "0m7rc9v8nz6w9x4x96maza139kin6lg4hscy6i13fna4672ds9jd";
+ };
+
+ buildInputs = [ pciutils libx86 zlib ];
+
+ patchPhase = ''
+ substituteInPlace Makefile.in --replace '$(libdir)/libpci.a' ""
+ '';
+
+ configureFlags = [ "LDFLAGS=-lpci" ];
+
+ meta = with stdenv.lib; {
+ description = "Video BIOS execution tool";
+ homepage = "http://www.codon.org.uk/~mjg59/vbetool/";
+ maintainers = [ maintainers.raskin ];
+ platforms = platforms.linux;
+ license = licenses.gpl2;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/vboot_reference/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/vboot_reference/default.nix
new file mode 100644
index 000000000000..1391a2a5ed23
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/vboot_reference/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchFromGitiles, pkgconfig, libuuid, openssl, libyaml, lzma }:
+
+stdenv.mkDerivation rec {
+ version = "20180311";
+ checkout = "4c84e077858c809ee80a9a6f9b38185cf7dcded7";
+
+ pname = "vboot_reference";
+
+ src = fetchFromGitiles {
+ url = "https://chromium.googlesource.com/chromiumos/platform/vboot_reference";
+ rev = checkout;
+ sha256 = "1zja4ma6flch08h5j2l1hqnxmw2xwylidnddxxd5y2x05dai9ddj";
+ };
+
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = [ openssl libuuid libyaml lzma ];
+
+ enableParallelBuilding = true;
+
+ patches = [ ./dont_static_link.patch ];
+
+ # fix build with gcc9
+ NIX_CFLAGS_COMPILE = [ "-Wno-error" ];
+
+ postPatch = ''
+ substituteInPlace Makefile \
+ --replace "ar qc" '${stdenv.cc.bintools.targetPrefix}ar qc'
+ '';
+
+ preBuild = ''
+ patchShebangs scripts
+ '';
+
+ makeFlags = [
+ "DESTDIR=$(out)"
+ "HOST_ARCH=${stdenv.hostPlatform.parsed.cpu.name}"
+ ];
+
+ postInstall = ''
+ mkdir -p $out/share/vboot
+ cp -r tests/devkeys* $out/share/vboot/
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Chrome OS partitioning and kernel signing tools";
+ license = licenses.bsd3;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ lheckemann ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/vboot_reference/dont_static_link.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/vboot_reference/dont_static_link.patch
new file mode 100644
index 000000000000..506b942e246e
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/vboot_reference/dont_static_link.patch
@@ -0,0 +1,30 @@
+---
+--- a/Makefile
++++ b/Makefile
+@@ -964,7 +964,7 @@ ${UTILLIB21}: ${UTILLIB21_OBJS} ${FWLIB2
+ # Link tests for external repos
+ ${BUILD}/host/linktest/extern: ${HOSTLIB}
+ ${BUILD}/host/linktest/extern: LIBS = ${HOSTLIB}
+-${BUILD}/host/linktest/extern: LDLIBS += -static
++#${BUILD}/host/linktest/extern: LDLIBS += -static
+ TEST_OBJS += ${BUILD}/host/linktest/extern.o
+
+ .PHONY: hostlib
+@@ -1056,7 +1056,7 @@ ${UTIL_BINS} ${UTIL_BINS_STATIC}: ${UTIL
+ ${UTIL_BINS} ${UTIL_BINS_STATIC}: LIBS = ${UTILLIB}
+
+ # Utilities for auto-update toolkits must be statically linked.
+-${UTIL_BINS_STATIC}: LDFLAGS += -static
++${UTIL_BINS_STATIC}:
+
+
+ .PHONY: utils
+@@ -1089,7 +1089,7 @@ futil: ${FUTIL_STATIC_BIN} ${FUTIL_BIN}
+
+ ${FUTIL_STATIC_BIN}: ${FUTIL_STATIC_OBJS} ${UTILLIB}
+ @${PRINTF} " LD $(subst ${BUILD}/,,$@)\n"
+- ${Q}${LD} -o $@ ${CFLAGS} ${LDFLAGS} -static $^ ${LDLIBS}
++ ${Q}${LD} -o $@ ${CFLAGS} ${LDFLAGS} $^ ${LDLIBS}
+
+ ${FUTIL_BIN}: LDLIBS += ${CRYPTO_LIBS}
+ ${FUTIL_BIN}: ${FUTIL_OBJS} ${UTILLIB}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/which/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/which/default.nix
new file mode 100644
index 000000000000..79a50e43ed8b
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/which/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+ name = "which-2.21";
+
+ src = fetchurl {
+ url = "mirror://gnu/which/${name}.tar.gz";
+ sha256 = "1bgafvy3ypbhhfznwjv1lxmd6mci3x1byilnnkc7gcr486wlb8pl";
+ };
+
+ meta = with stdenv.lib; {
+ homepage = "https://www.gnu.org/software/which/";
+ description = "Shows the full path of (shell) commands";
+ platforms = platforms.all;
+ license = licenses.gpl3;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/wsmancli/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/wsmancli/default.nix
new file mode 100644
index 000000000000..79fb92d5bb2a
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/wsmancli/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig
+, openssl, openwsman }:
+
+stdenv.mkDerivation rec {
+ pname = "wsmancli";
+ version = "2.6.0";
+
+ src = fetchFromGitHub {
+ owner = "Openwsman";
+ repo = "wsmancli";
+ rev = "v${version}";
+ sha256 = "0a67fz9lj7xkyfqim6ai9kj7v6hzx94r1bg0g0l5dymgng648b9j";
+ };
+
+ nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
+ buildInputs = [ openwsman openssl ];
+
+ postPatch = ''
+ touch AUTHORS NEWS README
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Openwsman command-line client";
+ longDescription = ''
+ Openwsman provides a command-line tool, wsman, to perform basic
+ operations on the command-line. These operations include Get, Put,
+ Invoke, Identify, Delete, Create, and Enumerate. The command-line tool
+ also has several switches to allow for optional features of the
+ WS-Management specification and Testing.
+ '';
+ downloadPage = "https://github.com/Openwsman/wsmancli/releases";
+ inherit (openwsman.meta) homepage license maintainers platforms;
+ inherit version;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/xe/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/xe/default.nix
new file mode 100644
index 000000000000..2464f624a28e
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/xe/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, lib, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+ pname = "xe";
+ version = "0.11";
+
+ src = fetchFromGitHub {
+ owner = "chneukirchen";
+ repo = "xe";
+ rev = "v${version}";
+ sha256 = "04jr8f6jcijr0bsmn8ajm0aj35qh9my3xjsaq64h8lwg5bpyn29x";
+ };
+
+ makeFlags = [ "PREFIX=$(out)" ];
+
+ meta = with lib; {
+ description = "Simple xargs and apply replacement";
+ homepage = "https://github.com/chneukirchen/xe";
+ license = licenses.publicDomain;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ cstrahan ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/yeshup/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/yeshup/default.nix
new file mode 100644
index 000000000000..3242eeaeebc5
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/yeshup/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+ pname = "yeshup";
+ version = "unstable-2013-10-29";
+
+ src = fetchFromGitHub {
+ owner = "RhysU";
+ repo = "yeshup";
+ rev = "5461a8f957c686ccd0240be3f0fd8124d7381b08";
+ sha256 = "1wwbc158y46jsmdi1lp0m3dlbr9kvzvwxfvzj6646cpy9d6h21v9";
+ };
+
+ installPhase = ''
+ mkdir -p $out/bin
+ cp -v yeshup $out/bin
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = "https://github.com/RhysU/yeshup";
+ platforms = platforms.linux;
+ license = licenses.cc-by-sa-30; # From Stackoverflow answer
+ maintainers = with maintainers; [ obadz ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/zenith/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/zenith/default.nix
new file mode 100644
index 000000000000..35498c4cb563
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/system/zenith/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, rustPlatform, fetchFromGitHub, IOKit }:
+
+rustPlatform.buildRustPackage rec {
+ pname = "zenith";
+ version = "0.11.0";
+
+ src = fetchFromGitHub {
+ owner = "bvaisvil";
+ repo = pname;
+ rev = version;
+ sha256 = "1cxmgpq07q6vfasnkx3grpx1y0f0dg6irb9kdn17nwrypy44l92d";
+ };
+
+ cargoSha256 = "1kgjj11fwvlk700yp9046b3kiq9ay47fiwqpqfhmlbxw3lsh8qvq";
+
+ buildInputs = stdenv.lib.optionals stdenv.isDarwin [ IOKit ];
+
+ meta = with stdenv.lib; {
+ description = "Sort of like top or htop but with zoom-able charts, network, and disk usage";
+ homepage = "https://github.com/bvaisvil/zenith";
+ license = licenses.mit;
+ maintainers = with maintainers; [ bbigras ];
+ # doesn't build on aarch64 https://github.com/bvaisvil/zenith/issues/19
+ # see https://github.com/NixOS/nixpkgs/pull/88616
+ platforms = platforms.x86;
+ };
+}