aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArpit Chakladar <arpit@chakladar.me>2026-10-10 05:13:35 +0530
committerArpit Chakladar <arpit@chakladar.me>2026-10-10 05:13:35 +0530
commit89115e2fd99176f0a9942c1cdbb1ea18c684a152 (patch)
tree14889871bb0271e6f3506a004f59b5916a05211b
parent42911d0ce4c8231a6f9ee5718550a9a2531142ec (diff)
downloadhome-manager-config-89115e2fd99176f0a9942c1cdbb1ea18c684a152.tar.gz
home-manager-config-89115e2fd99176f0a9942c1cdbb1ea18c684a152.zip
fix(eww): resolve terminal app icons
-rw-r--r--modules/desktop/eww/bar/bar.nix11
-rw-r--r--modules/desktop/eww/bar/niri-status.lua18
-rw-r--r--modules/file-management/yazi/default.nix3
-rw-r--r--modules/networking/bluetui/default.nix2
-rw-r--r--modules/networking/impala/default.nix2
5 files changed, 30 insertions, 6 deletions
diff --git a/modules/desktop/eww/bar/bar.nix b/modules/desktop/eww/bar/bar.nix
index 009b28c..98b4003 100644
--- a/modules/desktop/eww/bar/bar.nix
+++ b/modules/desktop/eww/bar/bar.nix
@@ -78,7 +78,16 @@
niri-status = mkLuaScript {
name = "niri-status";
- path = ./niri-status.lua;
+ path = pkgs.writeText "eww-niri-status.lua" (
+ builtins.replaceStrings
+ [ "@@impala-icon@@" "@@bluetui-icon@@" "@@yazi-icon@@" ]
+ [
+ config.desktop.icons.apps.impala
+ config.desktop.icons.apps.bluetui
+ config.desktop.icons.apps.yazi
+ ]
+ (builtins.readFile ./niri-status.lua)
+ );
description = "Emit workspace and active window information list.";
luaPackages = ps: [
ps.lgi
diff --git a/modules/desktop/eww/bar/niri-status.lua b/modules/desktop/eww/bar/niri-status.lua
index cdeb89b..c54aa9b 100644
--- a/modules/desktop/eww/bar/niri-status.lua
+++ b/modules/desktop/eww/bar/niri-status.lua
@@ -74,6 +74,11 @@ do
end
local icon_cache = {}
+local icon_aliases = {
+ impala = "@@impala-icon@@",
+ bluetui = "@@bluetui-icon@@",
+ ["file-explorer"] = "@@yazi-icon@@",
+}
local function g_list_to_table(gl)
if gl == nil then
@@ -125,15 +130,24 @@ local function resolve_icon_path(app_id)
end
end
+ local alias = icon_aliases[string.lower(app_id)]
+ if alias then
+ local ok_alias, lookup = pcall(icon_theme.lookup_icon, icon_theme, alias, 24, Gtk.IconLookupFlags.FORCE_SIZE)
+ if ok_alias and lookup then
+ icon_path = lookup:get_filename() or ""
+ end
+ end
+
local gicon = app_info and app_info:get_icon()
- if gicon then
+ if icon_path == "" and gicon then
local ok2, lookup = pcall(icon_theme.lookup_by_gicon, icon_theme, gicon, 24, Gtk.IconLookupFlags.FORCE_SIZE)
if ok2 and lookup then
icon_path = lookup:get_filename() or ""
end
end
if icon_path == "" then
- local ok2, lookup = pcall(icon_theme.lookup_icon, icon_theme, app_id, 24, Gtk.IconLookupFlags.FORCE_SIZE)
+ local icon_name = icon_aliases[string.lower(app_id)] or app_id
+ local ok2, lookup = pcall(icon_theme.lookup_icon, icon_theme, icon_name, 24, Gtk.IconLookupFlags.FORCE_SIZE)
if ok2 and lookup then
icon_path = lookup:get_filename() or ""
end
diff --git a/modules/file-management/yazi/default.nix b/modules/file-management/yazi/default.nix
index b56c816..54c740e 100644
--- a/modules/file-management/yazi/default.nix
+++ b/modules/file-management/yazi/default.nix
@@ -7,6 +7,7 @@
}:
let
cfg = config.file-management.yazi;
+ icons = config.desktop.icons.apps;
yaziFileChooserScript = pkgs.writeShellApplication {
name = "yazi-file-chooser";
@@ -76,7 +77,7 @@ in
xdg.desktopEntries."yazi" = {
name = "Yazi";
exec = "${lib.getExe config.terminal.kitty.package} --class yazi -e ${lib.getExe cfg.package}";
- icon = "yazi";
+ icon = icons.yazi;
categories = [ "Utility" ];
comment = "Terminal file manager";
terminal = false;
diff --git a/modules/networking/bluetui/default.nix b/modules/networking/bluetui/default.nix
index 782b653..8f5efe2 100644
--- a/modules/networking/bluetui/default.nix
+++ b/modules/networking/bluetui/default.nix
@@ -27,7 +27,7 @@ in
config = lib.mkIf cfg.enable {
xdg.desktopEntries."bluetui" = {
name = "bluetui";
- exec = "${lib.getExe config.terminal.kitty.package} -e ${lib.getExe cfg.package}";
+ exec = "${lib.getExe config.terminal.kitty.package} --class bluetui -e ${lib.getExe cfg.package}";
icon = icons.bluetui;
categories = [ "Network" ];
comment = "Bluetooth TUI client";
diff --git a/modules/networking/impala/default.nix b/modules/networking/impala/default.nix
index 28ab8be..f054571 100644
--- a/modules/networking/impala/default.nix
+++ b/modules/networking/impala/default.nix
@@ -27,7 +27,7 @@ in
config = lib.mkIf cfg.enable {
xdg.desktopEntries."impala" = {
name = "impala";
- exec = "${lib.getExe config.terminal.kitty.package} -e ${lib.getExe cfg.package}";
+ exec = "${lib.getExe config.terminal.kitty.package} --class impala -e ${lib.getExe cfg.package}";
icon = icons.impala;
categories = [ "Network" ];
comment = "TUI for managing wifi on Linux";