60 lines
1.6 KiB
Nix
60 lines
1.6 KiB
Nix
{ ... }: {
|
|
# Optional fragment: import from `home.users.<name>.extraModules` only on hosts that need Yazi so this
|
|
# module (and its `pkgs.yazi` wiring) is not evaluated when omitted.
|
|
flake.homeManagerModules.wisdomShellYazi =
|
|
{ config, lib, pkgs, ... }:
|
|
let
|
|
root = config.chiasson.home;
|
|
cfg = config.chiasson.home.shell.yazi;
|
|
in
|
|
{
|
|
options.chiasson.home.shell.yazi.enable = lib.mkEnableOption "Yazi as `y` + 7zz with rar.";
|
|
|
|
config = lib.mkIf (root.enable && cfg.enable) {
|
|
programs.yazi = {
|
|
enable = true;
|
|
package = pkgs.yazi.override {
|
|
_7zz = pkgs._7zz-rar;
|
|
};
|
|
shellWrapperName = "y";
|
|
settings = {
|
|
manager = {
|
|
ratio = [
|
|
1
|
|
4
|
|
3
|
|
];
|
|
sort_by = "natural";
|
|
sort_sensitive = true;
|
|
sort_reverse = false;
|
|
sort_dir_first = true;
|
|
linemode = "none";
|
|
show_hidden = true;
|
|
show_symlink = true;
|
|
};
|
|
preview = {
|
|
image_filter = "lanczos3";
|
|
image_quality = 90;
|
|
tab_size = 1;
|
|
max_width = 600;
|
|
max_height = 900;
|
|
cache_dir = "";
|
|
ueberzug_scale = 1;
|
|
ueberzug_offset = [
|
|
0
|
|
0
|
|
0
|
|
0
|
|
];
|
|
};
|
|
tasks = {
|
|
micro_workers = 5;
|
|
macro_workers = 10;
|
|
bizarre_retry = 5;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|