about summary refs log tree commit diff
path: root/pkgs/applications/misc/monitorcontrol
diff options
context:
space:
mode:
authorCameron Leslie <cameronleslie@gmail.com>2022-12-28 11:42:08 -0800
committerCameron Leslie <cameronleslie@gmail.com>2022-12-28 11:42:08 -0800
commita8cfa9b5a306f7ad0d1df1bed9a649530f6c78e8 (patch)
tree3712bc6e90419d629fa027330c57cea18e8df84c /pkgs/applications/misc/monitorcontrol
parent67253945376ed8ac3dc166c5b3c469cd53deb4e9 (diff)
monitorcontrol: init at 4.1.0
Diffstat (limited to 'pkgs/applications/misc/monitorcontrol')
-rw-r--r--pkgs/applications/misc/monitorcontrol/default.nix33
1 files changed, 33 insertions, 0 deletions
diff --git a/pkgs/applications/misc/monitorcontrol/default.nix b/pkgs/applications/misc/monitorcontrol/default.nix
new file mode 100644
index 0000000000000..f9002b10b063f
--- /dev/null
+++ b/pkgs/applications/misc/monitorcontrol/default.nix
@@ -0,0 +1,33 @@
+{ lib, fetchurl, stdenv, undmg }:
+
+# This cannot be built from source due to the problematic nature of XCode - so
+# this is what it's like when doves cry?
+
+stdenv.mkDerivation rec {
+  pname = "MonitorControl";
+  version = "4.1.0";
+
+  src = fetchurl {
+    url =
+      "https://github.com/MonitorControl/${pname}/releases/download/v${version}/MonitorControl.${version}.dmg";
+    sha256 = "iaxM9j78Sq1EH5TCY240N+D5bG6quk2dZj8T7nt9ATo=";
+  };
+
+  nativeBuildInputs = [ undmg ];
+
+  sourceRoot = "MonitorControl.app";
+
+  installPhase = ''
+    mkdir -p "$out/Applications/MonitorControl.app"
+    cp -R . "$out/Applications/MonitorControl.app"
+  '';
+
+  meta = with lib; {
+    description = "A macOS system extension to control brightness and volume of external displays with native OSD";
+    longDescription = "Controls your external display brightness and volume and shows native OSD. Use menulet sliders or the keyboard, including native Apple keys!";
+    homepage = "https://github.com/MonitorControl/MonitorControl#readme";
+    license = licenses.mit;
+    maintainers = with maintainers; [ cbleslie ];
+    platforms = platforms.darwin;
+  };
+}