about summary refs log tree commit diff
path: root/pkgs/applications/science/robotics
diff options
context:
space:
mode:
authorwucke13 <wucke13@gmail.com>2018-11-07 14:24:19 +0100
committerwucke13 <wucke13@gmail.com>2019-05-31 12:51:51 +0200
commit170009b12326a66fe02963e223e5648603bc2488 (patch)
treeb8d2a5417b77e00f1417e0d5e6d47fe4187e388a /pkgs/applications/science/robotics
parent40cc9cfdb686cee937fdd92bb83dac1d095e86f4 (diff)
downloadnixlib-170009b12326a66fe02963e223e5648603bc2488.tar
nixlib-170009b12326a66fe02963e223e5648603bc2488.tar.gz
nixlib-170009b12326a66fe02963e223e5648603bc2488.tar.bz2
nixlib-170009b12326a66fe02963e223e5648603bc2488.tar.lz
nixlib-170009b12326a66fe02963e223e5648603bc2488.tar.xz
nixlib-170009b12326a66fe02963e223e5648603bc2488.tar.zst
nixlib-170009b12326a66fe02963e223e5648603bc2488.zip
betaflight-configurator: init at 10.5.1
Diffstat (limited to 'pkgs/applications/science/robotics')
-rw-r--r--pkgs/applications/science/robotics/betaflight-configurator/default.nix53
1 files changed, 53 insertions, 0 deletions
diff --git a/pkgs/applications/science/robotics/betaflight-configurator/default.nix b/pkgs/applications/science/robotics/betaflight-configurator/default.nix
new file mode 100644
index 000000000000..10181a7b1fdf
--- /dev/null
+++ b/pkgs/applications/science/robotics/betaflight-configurator/default.nix
@@ -0,0 +1,53 @@
+{stdenv, fetchurl, unzip, runtimeShell, makeDesktopItem, nwjs }:
+
+let
+  strippedName = "betaflight-configurator";
+  desktopItem = makeDesktopItem {
+    name = strippedName;
+    exec = strippedName;
+    icon = "${strippedName}-icon.png";
+    comment = "Betaflight configuration tool";
+    desktopName = "Betaflight Configurator";
+    genericName = "Flight controller configuration tool";
+  };
+in
+stdenv.mkDerivation rec {
+  name = "${strippedName}-${version}";
+  version = "10.5.1";
+  src = fetchurl {
+    url = "https://github.com/betaflight/betaflight-configurator/releases/download/${version}/${strippedName}_${version}_linux64.zip";
+    sha256 = "1l4blqgaqfrnydk05q6pwdqdhcly2f8nwzrv0749cqmfiinh8ygc";
+  };
+
+  buildInputs = [ unzip ];
+  
+  installPhase = ''
+    mkdir -p $out/bin \
+             $out/opt/${strippedName} \
+             $out/share/icons
+
+    cp -r . $out/opt/${strippedName}/
+    cp icon/*_icon_128.png $out/share/icons/${strippedName}-icon.png
+    cp -r ${desktopItem}/share/applications $out/share/
+
+    cat >$out/bin/${strippedName}<<EOL
+    #!${runtimeShell}
+
+    ${nwjs}/bin/nw $out/opt/${strippedName} 
+    EOL
+    chmod +x $out/bin/${strippedName}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "The Betaflight flight control system configuration tool";
+    longDescription = ''
+      A crossplatform configuration tool for the Betaflight flight control system.
+      Various types of aircraft are supported by the tool and by Betaflight, e.g. 
+      quadcopters, hexacopters, octocopters and fixed-wing aircraft.
+    '';
+    homepage    = https://github.com/betaflight/betaflight/wiki;
+    license     = licenses.gpl3;
+    maintainers = with maintainers; [ wucke13 ];
+    platforms   = platforms.linux;
+  };
+}