1
Files
flake-nixinator/home/modules/nnn/default.nix
2023-06-16 23:12:01 +02:00

86 lines
1.9 KiB
Nix

# TODO: Expose some settings
{
config,
nixosConfig,
lib,
mylib,
pkgs,
...
}:
with lib;
with mylib.modules; let
cfg = config.modules.nnn;
in {
options.modules.nnn = import ./options.nix {inherit lib mylib;};
config = mkIf cfg.enable {
home.sessionVariables = {
# NNN_TERMINAL = "alacritty";
NNN_PAGER = "bat";
# NNN_FIFO = "/tmp/nnn.fifo"; # For nnn preview
};
programs.nnn = {
package = pkgs.nnn.override {
# These two are mutually exclusive
withIcons = false;
withNerdIcons = true;
};
enable = true;
extraPackages = with pkgs; [
xdragon # Drag and drop (why man)
];
bookmarks = {
c = "~/.config";
d = "~/Documents";
D = "~/Downloads";
h = "~/Notes/HHU";
l = "~/Local";
m = "~/Mount";
n = "~/Notes";
N = "~/NixFlake";
p = "~/Pictures";
t = "~/Notes/TU";
v = "~/Videos";
};
plugins = {
mappings = {
c = "fzcd";
d = "dragdrop";
f = "finder";
j = "autojump";
k = "kdeconnect";
p = "preview-tui";
# s = "suedit";
# s = "x2sel";
v = "imgview";
};
src =
(pkgs.fetchFromGitHub {
owner = "jarun";
repo = "nnn";
rev = "26d5b5c6141f0424869db8ca47e1d370f7b898d5";
sha256 = "sha256-a2Fq17mS/m7wRvPc1EkUun198SoeRZtJEABGjPWW+6E=";
})
+ "/plugins";
};
};
xdg.desktopEntries.nnn = {
type = "Application";
name = "nnn";
comment = "Terminal file manager";
exec = "nnn";
terminal = true;
icon = "nnn";
mimeType = ["inode/directory"];
categories = ["System" "FileTools" "FileManager" "ConsoleOnly"];
# keywords = ["File" "Manager" "Management" "Explorer" "Launcher"];
};
};
}