From 6621b1998e6f02772adb2df2fc19343691b086cf Mon Sep 17 00:00:00 2001 From: Arpit Chakladar Date: Sat, 25 Jul 2026 11:00:04 +0530 Subject: feat(display): using proper window classes for i3 --- modules/file-management/yazi/assertions.nix | 13 +++++++++++++ modules/file-management/yazi/default.nix | 15 ++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 modules/file-management/yazi/assertions.nix (limited to 'modules/file-management') diff --git a/modules/file-management/yazi/assertions.nix b/modules/file-management/yazi/assertions.nix new file mode 100644 index 0000000..b100fca --- /dev/null +++ b/modules/file-management/yazi/assertions.nix @@ -0,0 +1,13 @@ +# Assertions - Validates kitty is enabled for yazi desktop entry +{ config, ... }: +{ + assertions = [ + { + assertion = !config.file-management.yazi.enable || config.terminal.kitty.enable; + message = '' + file-management.yazi is enabled but terminal.kitty.enable is not. + yazi's desktop entry requires kitty as the terminal launcher. Please enable terminal.kitty. + ''; + } + ]; +} diff --git a/modules/file-management/yazi/default.nix b/modules/file-management/yazi/default.nix index b43ed5e..f52943f 100644 --- a/modules/file-management/yazi/default.nix +++ b/modules/file-management/yazi/default.nix @@ -1,7 +1,10 @@ # yazi - Terminal file manager with native previews { config, lib, ... }: { - imports = [ ./theme.nix ]; + imports = [ + ./theme.nix + ./assertions.nix + ]; options.file-management.yazi = { enable = lib.mkEnableOption "Enables yazi."; @@ -25,6 +28,16 @@ }; }; + xdg.desktopEntries."yazi" = { + name = "Yazi"; + exec = "${lib.getExe config.terminal.kitty.package} -e ${lib.getExe config.file-management.yazi.package}"; + icon = "kitty"; + categories = [ "Utility" ]; + comment = "Terminal file manager"; + terminal = false; + type = "Application"; + }; + xdg.mimeApps.defaultApplications = { "inode/directory" = "yazi.desktop"; }; -- cgit v1.2.3