nixos-config/home-manager/modules/nnn/default.nix

75 lines
1.5 KiB
Nix

{
pkgs,
config,
lib,
...
}:
with lib;
let
cfg = config.eboskma.programs.nnn;
in
{
options.eboskma.programs.nnn = {
enable = mkEnableOption "nnn";
};
config = mkIf cfg.enable {
programs.nnn = {
enable = true;
package =
(pkgs.nnn.overrideAttrs (_prevAttrs: {
version = "unstable-2023-10-08";
src = pkgs.fetchFromGitHub {
owner = "jarun";
repo = "nnn";
rev = "7f63bef4d6c9f70b99a4c98435c9c0a68e05be44";
sha256 = "B9WRQW4wbs3+lJ9ACFheTaO+0+G/r67yJZJJPMDIQXI=";
};
})).override
{
withNerdIcons = true;
extraMakeFlags = [
"O_COLEMAK=1"
"O_GITSTATUS=1"
];
};
plugins = {
src =
(pkgs.fetchFromGitHub {
owner = "jarun";
repo = "nnn";
rev = "7f63bef4d6c9f70b99a4c98435c9c0a68e05be44";
sha256 = "B9WRQW4wbs3+lJ9ACFheTaO+0+G/r67yJZJJPMDIQXI=";
})
+ "/plugins";
mappings = {
c = "fzcd";
f = "finder";
V = "imgview";
};
};
extraPackages = with pkgs; [
atool
ffmpegthumbnailer
html2text
(imv.override {
withBackends = [
"libtiff"
"libjpeg"
"libpng"
"librsvg"
"libheif"
];
})
mediainfo
p7zip
pbzip2
pigz
sourceHighlight
zip
];
};
};
}