From 5032239a236595451f22ea948c42281f8aa04645 Mon Sep 17 00:00:00 2001 From: Arpit Chakladar Date: Thu, 23 Jul 2026 18:30:05 +0530 Subject: feat: migrate from lf to yazi as default file manager - Replace lf module with yazi module including base16 theme - Remove file-preview and file-preview-clean scripts (no longer needed) - Add yazi-file-chooser script for XDG Desktop Portal integration - Update i3 keybinding to use yazi - Add GTK_USE_PORTAL and TERMCMD session variables - Add extraLinks support to mkScriptModule --- modules/file-management/yazi/default.nix | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 modules/file-management/yazi/default.nix (limited to 'modules/file-management/yazi/default.nix') diff --git a/modules/file-management/yazi/default.nix b/modules/file-management/yazi/default.nix new file mode 100644 index 0000000..b43ed5e --- /dev/null +++ b/modules/file-management/yazi/default.nix @@ -0,0 +1,32 @@ +# yazi - Terminal file manager with native previews +{ config, lib, ... }: +{ + imports = [ ./theme.nix ]; + + options.file-management.yazi = { + enable = lib.mkEnableOption "Enables yazi."; + package = lib.mkOption { + type = lib.types.package; + default = config.programs.yazi.finalPackage; + defaultText = lib.literalExpression "config.programs.yazi.finalPackage"; + description = "The yazi package to use. Defaults to the wrapped finalPackage from programs.yazi."; + }; + }; + + config = lib.mkIf config.file-management.yazi.enable { + programs.yazi = { + enable = true; + shellWrapperName = "yy"; + enableZshIntegration = config.terminal.zsh.enable; + settings = { + mgr = { + show_hidden = true; + }; + }; + }; + + xdg.mimeApps.defaultApplications = { + "inode/directory" = "yazi.desktop"; + }; + }; +} -- cgit v1.2.3