about summary refs log tree commit diff
path: root/pkgs/applications/editors/micro
diff options
context:
space:
mode:
authorsunder <evenquantity@gmail.com>2024-02-03 14:27:40 +0300
committersunder <evenquantity@gmail.com>2024-02-03 14:27:40 +0300
commitc313242fe83e4fa6d28b7cfd6f980a8e24573670 (patch)
treefdff592e20880dd557fc3d80dbd3fe150d7c71a0 /pkgs/applications/editors/micro
parentec29a551e84f4b60911e7924df73d323cdd74ce7 (diff)
micro: fixed clipboard issue
Diffstat (limited to 'pkgs/applications/editors/micro')
-rw-r--r--pkgs/applications/editors/micro/default.nix27
1 files changed, 24 insertions, 3 deletions
diff --git a/pkgs/applications/editors/micro/default.nix b/pkgs/applications/editors/micro/default.nix
index e20a7942719ad..beaf6791f842d 100644
--- a/pkgs/applications/editors/micro/default.nix
+++ b/pkgs/applications/editors/micro/default.nix
@@ -1,5 +1,21 @@
-{ lib, buildGoModule, fetchFromGitHub, installShellFiles, callPackage }:
-
+{ lib
+, stdenv
+, buildGoModule
+, fetchFromGitHub
+, installShellFiles
+, callPackage
+, wl-clipboard
+, xclip
+, makeWrapper
+, withXclip ? true
+, withWlclip ? true
+}:
+let
+  clipboardPkgs = if stdenv.isLinux then
+    lib.optional withXclip xclip ++
+    lib.optional withWlclip wl-clipboard
+    else [ ];
+in
 buildGoModule rec {
   pname = "micro";
   version = "2.0.13";
@@ -13,7 +29,7 @@ buildGoModule rec {
 
   vendorHash = "sha256-ePhObvm3m/nT+7IyT0W6K+y+9UNkfd2kYjle2ffAd9Y=";
 
-  nativeBuildInputs = [ installShellFiles ];
+  nativeBuildInputs = [ installShellFiles makeWrapper ];
 
   subPackages = [ "cmd/micro" ];
 
@@ -34,6 +50,11 @@ buildGoModule rec {
     install -Dm644 assets/micro-logo-mark.svg $out/share/icons/hicolor/scalable/apps/micro.svg
   '';
 
+  postFixup = ''
+    wrapProgram "$out/bin/micro" \
+      --prefix PATH : "${lib.makeBinPath clipboardPkgs}"
+  '';
+
   passthru.tests.expect = callPackage ./test-with-expect.nix { };
 
   meta = with lib; {