diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 9d7ca48ec832..a3da2c02e436 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -11363,6 +11363,12 @@ githubId = 1651325; name = "maralorn"; }; + marble = { + email = "nixpkgs@computer-in.love"; + github = "cyber-murmel"; + githubId = 30078229; + name = "marble"; + }; marcovergueira = { email = "vergueira.marco@gmail.com"; github = "marcovergueira"; diff --git a/pkgs/by-name/el/elf2nucleus/package.nix b/pkgs/by-name/el/elf2nucleus/package.nix new file mode 100644 index 000000000000..c6cafbfc4578 --- /dev/null +++ b/pkgs/by-name/el/elf2nucleus/package.nix @@ -0,0 +1,39 @@ +{ + installShellFiles +, fetchFromGitHub +, lib +, micronucleus +, rustPlatform +}: + +rustPlatform.buildRustPackage rec { + pname = "elf2nucleus"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "kpcyrd"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-FAIOtGfGow+0DrPPEBEfvaiinNZLQlGWKJ4DkMj63OA="; + }; + + cargoSha256 = "sha256-IeQnI6WTzxSI/VzoHtVukZtB1jX98wzLOT01NMLD5wQ="; + + nativeBuildInputs = [ installShellFiles ]; + + buildInputs = [ micronucleus ]; + + postInstall = '' + installShellCompletion --cmd elf2nucleus \ + --bash <($out/bin/elf2nucleus --completions bash) \ + --fish <($out/bin/elf2nucleus --completions fish) \ + --zsh <($out/bin/elf2nucleus --completions zsh) + ''; + + meta = with lib; { + description = "Integrate micronucleus into the cargo buildsystem, flash an AVR firmware from an elf file"; + homepage = "https://github.com/kpcyrd/elf2nucleus"; + license = licenses.gpl3Plus; + maintainers = [ maintainers.marble ]; + }; +}