Initial commit
This commit is contained in:
35
wrap-arduino-cli.nix
Normal file
35
wrap-arduino-cli.nix
Normal file
@@ -0,0 +1,35 @@
|
||||
{ lib, pkgs }:
|
||||
let
|
||||
wrap = {
|
||||
packages ? []
|
||||
, libraries ? []
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.callPackage ./lib.nix {}) latestVersion;
|
||||
|
||||
builtinPackages = (map latestVersion (builtins.attrValues pkgs.arduinoPackages.tools.builtin));
|
||||
|
||||
libPath = pkgs.symlinkJoin {
|
||||
name = "arduino-libraries";
|
||||
paths = libraries;
|
||||
};
|
||||
|
||||
dataPath = pkgs.symlinkJoin {
|
||||
name = "arduino-data";
|
||||
paths = builtinPackages ++ packages ++ [
|
||||
# Add some dummy files to keep the CLI happy
|
||||
(pkgs.writeTextDir "inventory.yaml" (builtins.toJSON {}))
|
||||
(pkgs.writeTextDir "package_index.json" (builtins.toJSON {packages = [];}))
|
||||
(pkgs.writeTextDir "library_index.json" (builtins.toJSON {libraries = [];}))
|
||||
];
|
||||
};
|
||||
in
|
||||
pkgs.runCommand "arduino-cli-wrapped" {
|
||||
buildInputs = [ pkgs.makeWrapper ];
|
||||
meta.mainProgram = "arduino-cli";
|
||||
} ''
|
||||
makeWrapper ${pkgs.arduino-cli}/bin/arduino-cli $out/bin/arduino-cli --set ARDUINO_UPDATER_ENABLE_NOTIFICATION false --set ARDUINO_DIRECTORIES_DATA ${dataPath} --set ARDUINO_DIRECTORIES_USER ${libPath}
|
||||
'';
|
||||
in
|
||||
lib.makeOverridable wrap
|
||||
|
||||
Reference in New Issue
Block a user