summary refs log tree commit diff
path: root/pkgs/applications/file-managers/nnn
diff options
context:
space:
mode:
authorTungsten842 <886724vf@anonaddy.me>2023-05-08 22:13:03 +0200
committerTungsten842 <886724vf@anonaddy.me>2023-05-08 22:13:03 +0200
commit504893d0ead59885305bef50b6b1f345755ab938 (patch)
tree3105c43d2d4af08a11587066874b4e22b1c2531d /pkgs/applications/file-managers/nnn
parent897876e4c484f1e8f92009fd11b7d988a121a4e7 (diff)
nnn: add desktop file, fix nerd icons, add option to build with emojis
Diffstat (limited to 'pkgs/applications/file-managers/nnn')
-rw-r--r--pkgs/applications/file-managers/nnn/default.nix22
1 files changed, 18 insertions, 4 deletions
diff --git a/pkgs/applications/file-managers/nnn/default.nix b/pkgs/applications/file-managers/nnn/default.nix
index 27fbcfa4f0b7a..4c3fab6484c94 100644
--- a/pkgs/applications/file-managers/nnn/default.nix
+++ b/pkgs/applications/file-managers/nnn/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , installShellFiles
 , makeWrapper
 , pkg-config
@@ -9,15 +10,17 @@
 , readline
 , which
 , musl-fts
-# options
+  # options
 , conf ? null
 , withIcons ? false
 , withNerdIcons ? false
+, withEmojis ? false
 }:
 
 # Mutually exclusive options
-assert withIcons -> withNerdIcons == false;
-assert withNerdIcons -> withIcons == false;
+assert withIcons -> (withNerdIcons == false && withEmojis == false);
+assert withNerdIcons -> (withIcons == false && withEmojis == false);
+assert withEmojis -> (withIcons == false && withNerdIcons == false);
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "nnn";
@@ -30,6 +33,14 @@ stdenv.mkDerivation (finalAttrs: {
     hash = "sha256-QbKW2wjhUNej3zoX18LdeUHqjNLYhEKyvPH2MXzp/iQ=";
   };
 
+  patches = [
+    # FIXME: remove for next release
+    (fetchpatch {
+      url = "https://github.com/jarun/nnn/commit/20e944f5e597239ed491c213a634eef3d5be735e.patch";
+      hash = "sha256-RxG3AU8i3lRPCjRVZPnej4m1No/SKtsHwbghj9JQ7RQ=";
+    })
+  ];
+
   configFile = lib.optionalString (conf != null) (builtins.toFile "nnn.h" conf);
   preBuild = lib.optionalString (conf != null) "cp ${finalAttrs.configFile} src/nnn.h";
 
@@ -41,10 +52,13 @@ stdenv.mkDerivation (finalAttrs: {
 
   makeFlags = [ "PREFIX=$(out)" ]
     ++ lib.optionals withIcons [ "O_ICONS=1" ]
-    ++ lib.optionals withNerdIcons [ "O_NERD=1" ];
+    ++ lib.optionals withNerdIcons [ "O_NERD=1" ]
+    ++ lib.optionals withEmojis [ "O_EMOJI=1" ];
 
   binPath = lib.makeBinPath [ file which ];
 
+  installTargets = [ "install" "install-desktop" ];
+
   postInstall = ''
     installShellCompletion --bash --name nnn.bash misc/auto-completion/bash/nnn-completion.bash
     installShellCompletion --fish misc/auto-completion/fish/nnn.fish