about summary refs log tree commit diff
path: root/pkgs/larbs-scripts/displayselect/wrapper.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/larbs-scripts/displayselect/wrapper.nix')
-rw-r--r--pkgs/larbs-scripts/displayselect/wrapper.nix40
1 files changed, 40 insertions, 0 deletions
diff --git a/pkgs/larbs-scripts/displayselect/wrapper.nix b/pkgs/larbs-scripts/displayselect/wrapper.nix
new file mode 100644
index 0000000..bcc051b
--- /dev/null
+++ b/pkgs/larbs-scripts/displayselect/wrapper.nix
@@ -0,0 +1,40 @@
+{ stdenv, buildEnv, callPackage, lib, xrandr, libnotify, arandr }:
+
+displayselect:
+
+let
+
+  mapCase = options:
+  builtins.concatStringsSep "\n"
+  (builtins.map
+  (option: "\t\"${option}\") ${builtins.getAttr option options} ;;")
+  (builtins.attrNames options));
+
+  wrapper = { moreOptions ? {} }:
+  let
+    dmenu = callPackage ../../larbs/dmenu { };
+  in
+  buildEnv {
+    name = "displayselect-env";
+
+    paths = [
+      xrandr
+      arandr
+      libnotify
+      dmenu
+    ];
+
+    postBuild = ''
+      mkdir -p $out/bin
+      cp ${displayselect}/bin/displayselect $out/bin
+      echo ${mapCase moreOptions} >> $out/bin/test
+    '';
+
+
+    meta = {
+      description = "A fancy monitor configuration menu.";
+      homepage = "https://github.com/LukeSmithXYZ/voidrice";
+    };
+  };
+in
+  lib.makeOverridable wrapper