Add xplr (terminal filemgr)

This commit is contained in:
ItsDrike 2024-04-05 01:22:59 +02:00
parent aee32f4113
commit 239c5e956c
Signed by: ItsDrike
GPG key ID: FA2745890B7048C0
3 changed files with 74 additions and 0 deletions

View file

@ -1,6 +1,7 @@
_: {
imports = [
./yazi
./xplr
];
}

View file

@ -0,0 +1,58 @@
{
pkgs,
lib,
osConfig,
...
}: let
device = osConfig.modules.device;
acceptedTypes = ["laptop" "desktop" "hybrid" "server" "lite"];
in {
config = lib.mkIf (builtins.elem device.type acceptedTypes) {
home.packages = with pkgs; [
xplr
];
xdg.configFile."xplr/init.lua".text = let
# get plugin derivations from plugins.nix so that this file remains clean
inherit (import ./plugins.nix pkgs) wl-clipboard-plugin nuke-plugin;
in ''
version = '${pkgs.xplr.version}'
package.path =
"${wl-clipboard-plugin}/init.lua;" ..
"${nuke-plugin}/init.lua;" ..
package.path
require("wl-clipboard").setup{
copy_command = "wl-copy -t text/uri-list",
paste_command = "wl-paste",
keep_selection = true,
}
require("nuke").setup{
pager = "less -R",
open = {
run_executables = true, -- default: false
custom = {
{extension = "jpg", command = "imv {}"},
{extension = "pdf", command = "zathura {}"},
{mime_regex = "^video/.*", command = "mpv {}"},
{mime_regex = ".*", command = "xdg-open {}"}
}
},
view = {
show_line_numbers = true, -- default: false
},
smart_view = {
custom = {
{extension = "so", command = "ldd -r {} | less"},
},
}
}
'';
};
}

View file

@ -0,0 +1,15 @@
pkgs: {
wl-clipboard-plugin = pkgs.fetchFromGitHub {
owner = "sayanarijit";
repo = "wl-clipboard.xplr";
rev = "a3ffc87460c5c7f560bffea689487ae14b36d9c3";
hash = "sha256-I4rh5Zks9hiXozBiPDuRdHwW5I7ppzEpQNtirY0Lcks=";
};
nuke-plugin = pkgs.fetchFromGitHub {
owner = "Junker";
repo = "nuke.xplr";
rev = "f83a7ed58a7212771b15fbf1fdfb0a07b23c81e9";
hash = "sha256-k/yre9SYNPYBM2W1DPpL6Ypt3w3EMO9dznHwa+fw/n0=";
};
}