diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 25e657c37d32..6cf65123db85 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -11409,6 +11409,17 @@ githubId = 10786794; name = "Markus Hihn"; }; + jess = { + name = "Jessica"; + email = "jess+nix@jessie.cafe"; + github = "ttrssreal"; + githubId = 43591752; + keys = [ + { + fingerprint = "8092 3BD1 ECD0 E436 671D C8E9 BA33 5068 6C91 8606"; + } + ]; + }; jessemoore = { email = "jesse@jessemoore.dev"; github = "jesseDMoore1994"; diff --git a/pkgs/by-name/pa/particle-cli/package.nix b/pkgs/by-name/pa/particle-cli/package.nix new file mode 100644 index 000000000000..7c408263745b --- /dev/null +++ b/pkgs/by-name/pa/particle-cli/package.nix @@ -0,0 +1,47 @@ +{ + lib, + buildNpmPackage, + fetchFromGitHub, + udev, + nix-update-script, +}: + +buildNpmPackage (finalAttrs: { + pname = "particle-cli"; + version = "3.35.8"; + + src = fetchFromGitHub { + owner = "particle-iot"; + repo = "particle-cli"; + tag = "v${finalAttrs.version}"; + hash = "sha256-t4alWb6W6AHBAsyRGLBTmjB0JpfzKBQ+yt2LESuU7YE="; + }; + + npmDepsHash = "sha256-FEpj9u0KqQ+yLtwFgahun6AUSolbEiWjWstglD9yyQ8="; + + buildInputs = [ + udev + ]; + + dontNpmBuild = true; + dontNpmPrune = true; + + postPatch = '' + ln -s npm-shrinkwrap.json package-lock.json + ''; + + postInstall = '' + install -D -t $out/etc/udev/rules.d \ + $out/lib/node_modules/particle-cli/assets/50-particle.rules + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Command Line Interface for Particle Cloud and devices"; + homepage = "https://github.com/particle-iot/particle-cli"; + maintainers = with lib.maintainers; [ jess ]; + mainProgram = "particle"; + license = lib.licenses.asl20; + }; +})