From e7b4e6e14dbe91de8161117ad0bfee9770fb7bc6 Mon Sep 17 00:00:00 2001 From: Summer Tea Date: Sat, 8 Mar 2025 08:03:29 -0500 Subject: [PATCH] neonmodem: init at 1.0.6 Adds Neon Modem Overdrive: a BBS-style TUI client for Discourse, Lemmy, Lobsters, and Hacker News. Homepage: https://neonmodem.com/ git: https://github.com/mrusme/neonmodem.git Co-authored-by: IogaMaster Resolves: gh-290386 Closes: gh-290467 --- pkgs/by-name/ne/neonmodem/package.nix | 51 +++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 pkgs/by-name/ne/neonmodem/package.nix diff --git a/pkgs/by-name/ne/neonmodem/package.nix b/pkgs/by-name/ne/neonmodem/package.nix new file mode 100644 index 0000000000000..e38dab6772de8 --- /dev/null +++ b/pkgs/by-name/ne/neonmodem/package.nix @@ -0,0 +1,51 @@ +{ + stdenv, + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, + installShellFiles, + writableTmpDirAsHomeHook, +}: + +buildGoModule (finalAttrs: { + pname = "neonmodem"; + version = "1.0.6"; + + src = fetchFromGitHub { + owner = "mrusme"; + repo = "neonmodem"; + tag = "v${finalAttrs.version}"; + hash = "sha256-VLR6eicffA0IXVwEZMvgpm1kVmrLYVZOtq7MSy+vIw8="; + }; + + vendorHash = "sha256-pESNARoUgfg5/cTlTvKF3i7dTMIu0gRG/oV4Ov6h2cY="; + + passthru.updateScript = nix-update-script { }; + + nativeBuildInputs = [ + installShellFiles + writableTmpDirAsHomeHook + ]; + + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + # Will otherwise panic if it can't open $HOME/{Library/Caches,.cache}/neonmodem.log + # Upstream issue: https://github.com/mrusme/neonmodem/issues/53 + mkdir -p "$HOME/${if stdenv.buildPlatform.isDarwin then "Library/Caches" else ".cache"}" + + installShellCompletion --cmd neonmodem \ + --bash <($out/bin/neonmodem completion bash) \ + --fish <($out/bin/neonmodem completion fish) \ + --zsh <($out/bin/neonmodem completion zsh) + ''; + + meta = { + description = "BBS-style TUI client for Discourse, Lemmy, Lobsters, and Hacker News"; + homepage = "https://neonmodem.com"; + downloadPage = "https://github.com/mrusme/neonmodem/releases"; + changelog = "https://github.com/mrusme/neonmodem/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ acuteaangle ]; + mainProgram = "neonmodem"; + }; +})