about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--modules/user/aszlig/profiles/base.nix1
-rw-r--r--pkgs/aszlig/default.nix1
-rw-r--r--pkgs/aszlig/nlast/default.nix13
3 files changed, 15 insertions, 0 deletions
diff --git a/modules/user/aszlig/profiles/base.nix b/modules/user/aszlig/profiles/base.nix
index 2f8f765b..d51d7db4 100644
--- a/modules/user/aszlig/profiles/base.nix
+++ b/modules/user/aszlig/profiles/base.nix
@@ -59,6 +59,7 @@ in {
       htop
       iotop
       moreutils
+      vuizvui.aszlig.nlast
       psmisc
       unfreePkgs.unrar
       unzip
diff --git a/pkgs/aszlig/default.nix b/pkgs/aszlig/default.nix
index d3f42882..81178000 100644
--- a/pkgs/aszlig/default.nix
+++ b/pkgs/aszlig/default.nix
@@ -9,6 +9,7 @@
   librxtx_java = callPackage ./librxtx-java { };
   lockdev = callPackage ./lockdev { };
   mutt = callPackage ./mutt { inherit mutt; };
+  nlast = callPackage ./nlast { };
   psi = callPackage ./psi { };
   pvolctrl = callPackage ./pvolctrl { };
   vim = callPackage ./vim { vim = vim_configurable; };
diff --git a/pkgs/aszlig/nlast/default.nix b/pkgs/aszlig/nlast/default.nix
new file mode 100644
index 00000000..3ff149b6
--- /dev/null
+++ b/pkgs/aszlig/nlast/default.nix
@@ -0,0 +1,13 @@
+{ writeScriptBin, python3, nix }:
+
+writeScriptBin "nlast" ''
+  #!${python3.interpreter}
+  from os import execl
+  from functools import partial
+  from pathlib import Path
+
+  newest = partial(max, key=lambda entry: entry.stat().st_mtime)
+  prefix = newest(Path('/nix/var/log/nix/drvs').iterdir())
+  drvname = prefix.name + newest(prefix.iterdir()).stem
+  execl('${nix}/bin/nix', 'nix', 'log', Path('${builtins.storeDir}') / drvname)
+''