package.nix 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. { buildGoModule
  2. , lib
  3. , makeWrapper
  4. , xsel
  5. , wl-clipboard
  6. , xorgClipboardSupport ? true
  7. , waylandClipboardSupport ? true
  8. }:
  9. let
  10. anyClipboardSupport = xorgClipboardSupport || waylandClipboardSupport;
  11. in
  12. buildGoModule {
  13. pname = "discordo";
  14. version = "git";
  15. src = let fs = lib.fileset; in fs.toSource {
  16. root = ../.;
  17. fileset = fs.unions [
  18. ../go.mod
  19. ../go.sum
  20. ../main.go
  21. ../cmd
  22. ../internal
  23. ];
  24. };
  25. vendorHash = "sha256-gEwTpt/NPN1+YpTBmW8F34UotowrOcA0mfFgBdVFiTA=";
  26. nativeBuildInputs = lib.optional anyClipboardSupport makeWrapper;
  27. postInstall = lib.optionalString xorgClipboardSupport ''
  28. wrapProgram $out/bin/discordo \
  29. --prefix PATH : ${lib.makeBinPath [ xsel ]}
  30. '' + lib.optionalString waylandClipboardSupport ''
  31. wrapProgram $out/bin/discordo \
  32. --prefix PATH : ${lib.makeBinPath [ wl-clipboard ]}
  33. '';
  34. meta = {
  35. description = "A lightweight, secure, and feature-rich Discord terminal client";
  36. homepage = "https://github.com/ayn2op/discordo";
  37. license = lib.licenses.gpl3;
  38. maintainers = [ lib.maintainers.arian-d ];
  39. mainProgram = "discordo";
  40. };
  41. }