From fbb2f71a767ad522c545f09980105fb4846a0b67 Mon Sep 17 00:00:00 2001 From: Arpit Chakladar Date: Sat, 26 Sep 2026 22:35:47 +0530 Subject: feat: using icons from tera-icon-theme --- modules/communication/neomutt/default.nix | 2 -- modules/desktop/eww/bar/bar.nix | 18 ------------------ modules/desktop/eww/bar/bar.yuck | 22 +++++++++++----------- modules/desktop/niri/default.nix | 4 ++-- modules/desktop/xdg/default.nix | 8 ++++---- modules/development/lazygit/default.nix | 4 ---- modules/development/opencode/default.nix | 6 +----- modules/office/calcurse/default.nix | 6 ++---- modules/security/gopass/default.nix | 6 +----- modules/security/gpg-tui/default.nix | 4 ---- modules/system/systemctl-tui/default.nix | 6 +----- modules/web/chawan/default.nix | 4 ---- 12 files changed, 22 insertions(+), 68 deletions(-) diff --git a/modules/communication/neomutt/default.nix b/modules/communication/neomutt/default.nix index 365ef32..c379a02 100644 --- a/modules/communication/neomutt/default.nix +++ b/modules/communication/neomutt/default.nix @@ -107,8 +107,6 @@ in xdg.configFile."neomutt/mailcap".text = builtins.replaceStrings [ "@@HTML_VIEWER@@" ] [ (lib.getExe config.web.chawan.package) ] (builtins.readFile ./mailcap); - home.file.".local/share/icons/hicolor/scalable/apps/neomutt.svg".source = - "${config.programs.neomutt.package}/share/neomutt/logo/neomutt.svg"; programs.neomutt = { enable = true; diff --git a/modules/desktop/eww/bar/bar.nix b/modules/desktop/eww/bar/bar.nix index 252811f..3f322e4 100644 --- a/modules/desktop/eww/bar/bar.nix +++ b/modules/desktop/eww/bar/bar.nix @@ -92,28 +92,10 @@ [ "@@niri-status-script@@" "@@system-stats-script@@" - "@@icon-offline@@" - "@@icon-wifi@@" - "@@icon-ethernet@@" - "@@icon-proxy@@" - "@@icon-cpu@@" - "@@icon-ram@@" - "@@icon-audio@@" - "@@icon-calendar@@" - "@@icon-battery@@" ] [ (lib.getExe niri-status) (lib.getExe system-stats) - "${../../../../assets/icons/bar/offline.svg}" - "${../../../../assets/icons/bar/wifi.svg}" - "${../../../../assets/icons/bar/ethernet.svg}" - "${../../../../assets/icons/bar/proxy.svg}" - "${../../../../assets/icons/bar/cpu.svg}" - "${../../../../assets/icons/bar/ram.svg}" - "${../../../../assets/icons/bar/audio.svg}" - "${../../../../assets/icons/bar/calendar.svg}" - "${../../../../assets/icons/bar/battery.svg}" ] (builtins.readFile ./bar.yuck); }; diff --git a/modules/desktop/eww/bar/bar.yuck b/modules/desktop/eww/bar/bar.yuck index 2f314ac..66e552f 100644 --- a/modules/desktop/eww/bar/bar.yuck +++ b/modules/desktop/eww/bar/bar.yuck @@ -88,7 +88,7 @@ :spacing 4 :tooltip "${system_stats.net.tooltip}" (image :class "system-icon" - :path "${system_stats.net.status == 'down' ? '@@icon-offline@@' : system_stats.net.routes[0].type == 'wifi' ? '@@icon-wifi@@' : system_stats.net.routes[0].type == 'ethernet' ? '@@icon-ethernet@@' : system_stats.net.routes[0].type == 'tun' ? '@@icon-proxy@@' : '@@icon-offline@@'}" + :icon "${system_stats.net.status == 'down' ? 'network-offline' : system_stats.net.routes[0].type == 'wifi' ? 'network-wireless' : system_stats.net.routes[0].type == 'ethernet' ? 'network-wired' : system_stats.net.routes[0].type == 'tun' ? 'network-vpn' : 'network-offline'}" :image-width 24 :image-height 24) (label :class "system-label small" @@ -101,7 +101,7 @@ :spacing 4 :tooltip "${system_stats.cpu.tooltip}" (image :class "system-icon" - :path "@@icon-cpu@@" + :icon "cpu" :image-width 24 :image-height 24) (label :class "system-label" :text "${system_stats.cpu.percent}%")) @@ -111,7 +111,7 @@ :spacing 4 :tooltip "${system_stats.ram.tooltip}" (image :class "system-icon" - :path "@@icon-ram@@" + :icon "drive-harddisk" :image-width 24 :image-height 24) (label :class "system-label" :text "${system_stats.ram.percent}%")) @@ -121,7 +121,7 @@ :spacing 4 :tooltip "${system_stats.battery.tooltip}" (image :class "system-icon" - :path "@@icon-battery@@" + :icon "battery" :image-width 24 :image-height 24) (label :class "system-label" @@ -135,19 +135,19 @@ :spacing 4 :class "system-item" :tooltip "${system_stats.sound.tooltip}" - (image :class "system-icon" - :path "@@icon-audio@@" - :image-width 24 - :image-height 24) - (label :class "system-label" - :text "${system_stats.sound.mute ? '-' : (system_stats.sound.percent + '%')}"))) + (image :class "system-icon" + :icon "audio-volume-high" + :image-width 24 + :image-height 24) + (label :class "system-label" + :text "${system_stats.sound.mute ? '-' : (system_stats.sound.percent + '%')}"))) (box :orientation "v" :class "system-item" :space-evenly false :spacing 4 :tooltip "${full_date} ${time} (${date})" (image :class "system-icon" - :path "@@icon-calendar@@" + :icon "calendar" :image-width 24 :image-height 24) (label :class "system-label small" :text time) diff --git a/modules/desktop/niri/default.nix b/modules/desktop/niri/default.nix index 3368766..918a3dc 100644 --- a/modules/desktop/niri/default.nix +++ b/modules/desktop/niri/default.nix @@ -90,8 +90,8 @@ in home.pointerCursor = { enable = true; - package = pkgs.adwaita-icon-theme; - name = "Adwaita"; + package = pkgs.vimix-cursors; + name = "Vimix-cursors"; size = 20; gtk.enable = true; x11.enable = true; diff --git a/modules/desktop/xdg/default.nix b/modules/desktop/xdg/default.nix index 72b0290..d04d697 100644 --- a/modules/desktop/xdg/default.nix +++ b/modules/desktop/xdg/default.nix @@ -45,12 +45,12 @@ in package = pkgs.gnome-themes-extra; }; iconTheme = { - name = "Adwaita"; - package = pkgs.adwaita-icon-theme; + name = "Tela"; + package = pkgs.tela-icon-theme; }; cursorTheme = { - name = "Adwaita"; - package = pkgs.adwaita-icon-theme; + name = "Vimix-cursors"; + package = pkgs.vimix-cursors; size = 20; }; colorScheme = "dark"; diff --git a/modules/development/lazygit/default.nix b/modules/development/lazygit/default.nix index 95d2bf1..a7bfdc6 100644 --- a/modules/development/lazygit/default.nix +++ b/modules/development/lazygit/default.nix @@ -81,10 +81,6 @@ in update.method = "never"; }; }; - - home.file.".local/share/icons/hicolor/scalable/apps/git.svg" = { - source = ../../../assets/icons/apps/git.svg; - }; }) (lib.mkIf (cfg.enable && config.terminal.kitty.enable) { xdg.desktopEntries."lazygit" = { diff --git a/modules/development/opencode/default.nix b/modules/development/opencode/default.nix index 8b61ff9..41e3edf 100644 --- a/modules/development/opencode/default.nix +++ b/modules/development/opencode/default.nix @@ -21,10 +21,6 @@ in config = lib.mkMerge [ (lib.mkIf cfg.enable { - home.file.".local/share/icons/hicolor/scalable/apps/opencode.svg" = { - source = ../../../assets/icons/apps/opencode.svg; - }; - programs.opencode = { enable = true; package = pkgs.opencode; @@ -34,7 +30,7 @@ in xdg.desktopEntries."opencode" = { name = "opencode"; exec = "${lib.getExe config.terminal.kitty.package} --class opencode -e ${lib.getExe cfg.package}"; - icon = "opencode"; + icon = "visualstudiocode"; categories = [ "Development" ]; comment = "AI-powered coding assistant"; terminal = false; diff --git a/modules/office/calcurse/default.nix b/modules/office/calcurse/default.nix index 588cf02..6340cb8 100644 --- a/modules/office/calcurse/default.nix +++ b/modules/office/calcurse/default.nix @@ -92,9 +92,7 @@ in (lib.mkIf cfg.enable { home.packages = [ cfg.package ]; xdg.configFile."calcurse/conf" = { - text = - builtins.replaceStrings [ "@@CALCURSE_ICON@@" ] [ "${../../../assets/icons/apps/calcurse.svg}" ] - (builtins.readFile ./conf); + text = builtins.replaceStrings [ "@@CALCURSE_ICON@@" ] [ "calendar" ] (builtins.readFile ./conf); force = true; }; xdg.configFile."calcurse/keys" = { @@ -106,7 +104,7 @@ in xdg.desktopEntries."calcurse" = { name = "calcurse"; exec = "${lib.getExe config.terminal.kitty.package} --class calcurse -e ${lib.getExe cfg.package}"; - icon = "org.gnome.Calendar-symbolic"; + icon = "calendar"; categories = [ "Office" "Calendar" diff --git a/modules/security/gopass/default.nix b/modules/security/gopass/default.nix index 173318b..1bd63f8 100644 --- a/modules/security/gopass/default.nix +++ b/modules/security/gopass/default.nix @@ -99,10 +99,6 @@ in PASSWORD_STORE_DIR = config.programs.password-store.settings.PASSWORD_STORE_DIR; }; - home.file.".local/share/icons/hicolor/scalable/apps/gopass.svg" = { - source = ../../../assets/icons/apps/gopass.svg; - }; - home.activation.copyCreationTemplatesForGopass = lib.mkIf cfg.creation-templates.enable ( lib.hm.dag.entryAfter [ "writeBoundary" ] '' $DRY_RUN_CMD mkdir -p $VERBOSE_ARG "${config.programs.password-store.settings.PASSWORD_STORE_DIR}/.gopass/create" @@ -115,7 +111,7 @@ in xdg.desktopEntries."gopass" = { name = "gopass"; exec = "${lib.getExe config.terminal.kitty.package} --class gopass -e ${lib.getExe cfg.package}"; - icon = "gopass"; + icon = "password-manager"; comment = "Standard Unix password manager (Go implementation)"; categories = [ "Utility" ]; terminal = false; diff --git a/modules/security/gpg-tui/default.nix b/modules/security/gpg-tui/default.nix index 2a5e61f..412331e 100644 --- a/modules/security/gpg-tui/default.nix +++ b/modules/security/gpg-tui/default.nix @@ -21,10 +21,6 @@ in config = lib.mkMerge [ (lib.mkIf cfg.enable { - home.file.".local/share/icons/hicolor/scalable/apps/gpg.svg" = { - source = ../../../assets/icons/apps/gpg.svg; - }; - home.packages = [ cfg.package ]; }) (lib.mkIf (cfg.enable && config.terminal.kitty.enable) { diff --git a/modules/system/systemctl-tui/default.nix b/modules/system/systemctl-tui/default.nix index 66b23a6..2091c57 100644 --- a/modules/system/systemctl-tui/default.nix +++ b/modules/system/systemctl-tui/default.nix @@ -21,17 +21,13 @@ in config = lib.mkMerge [ (lib.mkIf cfg.enable { - home.file.".local/share/icons/hicolor/scalable/apps/systemd.svg" = { - source = ../../../assets/icons/apps/systemd.svg; - }; - home.packages = [ cfg.package ]; }) (lib.mkIf (cfg.enable && config.terminal.kitty.enable) { xdg.desktopEntries."systemctl-tui" = { name = "systemctl-tui"; exec = "${lib.getExe config.terminal.kitty.package} --class systemctl-tui -e ${lib.getExe cfg.package}"; - icon = "systemd"; + icon = "preferences-system"; categories = [ "System" ]; comment = "TUI for systemctl"; terminal = false; diff --git a/modules/web/chawan/default.nix b/modules/web/chawan/default.nix index 0f1256d..1e56f89 100644 --- a/modules/web/chawan/default.nix +++ b/modules/web/chawan/default.nix @@ -30,10 +30,6 @@ in config = lib.mkMerge [ (lib.mkIf cfg.enable { - home.file.".local/share/icons/hicolor/scalable/apps/internet-web-browser.svg" = { - source = ../../../assets/icons/apps/internet-web-browser.svg; - }; - programs.chawan = { enable = true; settings = { -- cgit v1.2.3 From 8c11cd451c5bb42b306c7d65392798350a26fce7 Mon Sep 17 00:00:00 2001 From: Arpit Chakladar Date: Sat, 26 Sep 2026 22:36:02 +0530 Subject: chore(assets): deleted all unused icons --- assets/icons/apps/calcurse.svg | 1 - assets/icons/apps/git.svg | 1 - assets/icons/apps/gopass.svg | 495 ----------------------------- assets/icons/apps/gpg.svg | 88 ----- assets/icons/apps/internet-web-browser.svg | 9 - assets/icons/apps/opencode.svg | 1 - assets/icons/apps/systemd.svg | 1 - assets/icons/bar/audio.svg | 1 - assets/icons/bar/battery.svg | 1 - assets/icons/bar/calendar.svg | 1 - assets/icons/bar/cpu.svg | 1 - assets/icons/bar/ethernet.svg | 1 - assets/icons/bar/offline.svg | 1 - assets/icons/bar/proxy.svg | 1 - assets/icons/bar/ram.svg | 1 - assets/icons/bar/wifi.svg | 1 - 16 files changed, 605 deletions(-) delete mode 100644 assets/icons/apps/calcurse.svg delete mode 100644 assets/icons/apps/git.svg delete mode 100644 assets/icons/apps/gopass.svg delete mode 100644 assets/icons/apps/gpg.svg delete mode 100644 assets/icons/apps/internet-web-browser.svg delete mode 100644 assets/icons/apps/opencode.svg delete mode 100644 assets/icons/apps/systemd.svg delete mode 100644 assets/icons/bar/audio.svg delete mode 100644 assets/icons/bar/battery.svg delete mode 100644 assets/icons/bar/calendar.svg delete mode 100644 assets/icons/bar/cpu.svg delete mode 100644 assets/icons/bar/ethernet.svg delete mode 100644 assets/icons/bar/offline.svg delete mode 100644 assets/icons/bar/proxy.svg delete mode 100644 assets/icons/bar/ram.svg delete mode 100644 assets/icons/bar/wifi.svg diff --git a/assets/icons/apps/calcurse.svg b/assets/icons/apps/calcurse.svg deleted file mode 100644 index 7e2fdf9..0000000 --- a/assets/icons/apps/calcurse.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/assets/icons/apps/git.svg b/assets/icons/apps/git.svg deleted file mode 100644 index 1efd9e6..0000000 --- a/assets/icons/apps/git.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/icons/apps/gopass.svg b/assets/icons/apps/gopass.svg deleted file mode 100644 index e33a18b..0000000 --- a/assets/icons/apps/gopass.svg +++ /dev/null @@ -1,495 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/icons/apps/gpg.svg b/assets/icons/apps/gpg.svg deleted file mode 100644 index 7671d73..0000000 --- a/assets/icons/apps/gpg.svg +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - diff --git a/assets/icons/apps/internet-web-browser.svg b/assets/icons/apps/internet-web-browser.svg deleted file mode 100644 index 51c3569..0000000 --- a/assets/icons/apps/internet-web-browser.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/assets/icons/apps/opencode.svg b/assets/icons/apps/opencode.svg deleted file mode 100644 index da63e3b..0000000 --- a/assets/icons/apps/opencode.svg +++ /dev/null @@ -1 +0,0 @@ -opencode \ No newline at end of file diff --git a/assets/icons/apps/systemd.svg b/assets/icons/apps/systemd.svg deleted file mode 100644 index ea245bc..0000000 --- a/assets/icons/apps/systemd.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/icons/bar/audio.svg b/assets/icons/bar/audio.svg deleted file mode 100644 index c905a3d..0000000 --- a/assets/icons/bar/audio.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/icons/bar/battery.svg b/assets/icons/bar/battery.svg deleted file mode 100644 index cb121fc..0000000 --- a/assets/icons/bar/battery.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/assets/icons/bar/calendar.svg b/assets/icons/bar/calendar.svg deleted file mode 100644 index 4d9f019..0000000 --- a/assets/icons/bar/calendar.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/assets/icons/bar/cpu.svg b/assets/icons/bar/cpu.svg deleted file mode 100644 index d18f711..0000000 --- a/assets/icons/bar/cpu.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/assets/icons/bar/ethernet.svg b/assets/icons/bar/ethernet.svg deleted file mode 100644 index 909a594..0000000 --- a/assets/icons/bar/ethernet.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/assets/icons/bar/offline.svg b/assets/icons/bar/offline.svg deleted file mode 100644 index b696524..0000000 --- a/assets/icons/bar/offline.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/assets/icons/bar/proxy.svg b/assets/icons/bar/proxy.svg deleted file mode 100644 index 6c30597..0000000 --- a/assets/icons/bar/proxy.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/assets/icons/bar/ram.svg b/assets/icons/bar/ram.svg deleted file mode 100644 index f2a7f3d..0000000 --- a/assets/icons/bar/ram.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/assets/icons/bar/wifi.svg b/assets/icons/bar/wifi.svg deleted file mode 100644 index 580a02f..0000000 --- a/assets/icons/bar/wifi.svg +++ /dev/null @@ -1 +0,0 @@ - -- cgit v1.2.3 From 5c8698ea33bae80f6d247ad295a5ce1c30dfde10 Mon Sep 17 00:00:00 2001 From: Arpit Chakladar Date: Sat, 26 Sep 2026 23:07:08 +0530 Subject: feat(desktop/icons): using icons submodule, to provide icons for all modules --- modules/communication/neomutt/default.nix | 3 +- modules/communication/senpai/default.nix | 3 +- modules/desktop/default.nix | 1 + modules/desktop/icons/default.nix | 190 ++++++++++++++++++++++++++++++ modules/desktop/niri/default.nix | 2 +- modules/development/lazygit/default.nix | 5 +- modules/development/opencode/default.nix | 3 +- modules/gaming/heroic/default.nix | 3 +- modules/networking/bluetui/default.nix | 3 +- modules/networking/impala/default.nix | 3 +- modules/networking/usque/default.nix | 5 +- modules/office/calcurse/default.nix | 7 +- modules/security/gopass/default.nix | 3 +- modules/security/gpg-tui/default.nix | 3 +- modules/system/btop/default.nix | 3 +- modules/system/systemctl-tui/default.nix | 3 +- modules/web/aria2/default.nix | 5 +- modules/web/chawan/default.nix | 3 +- 18 files changed, 228 insertions(+), 20 deletions(-) create mode 100644 modules/desktop/icons/default.nix diff --git a/modules/communication/neomutt/default.nix b/modules/communication/neomutt/default.nix index c379a02..6c11b03 100644 --- a/modules/communication/neomutt/default.nix +++ b/modules/communication/neomutt/default.nix @@ -7,6 +7,7 @@ }: let cfg = config.communication.neomutt; + icons = config.desktop.icons.apps; mbsyncNamesFromName = (import ./lib.nix { inherit lib; }).mbsyncNamesFromName; @@ -143,7 +144,7 @@ in xdg.desktopEntries."neomutt" = { name = "NeoMutt"; exec = "${lib.getExe config.terminal.kitty.package} --class neomutt -e ${lib.getExe config.programs.neomutt.package}"; - icon = "neomutt"; + icon = icons.neomutt; categories = [ "Network" "Email" diff --git a/modules/communication/senpai/default.nix b/modules/communication/senpai/default.nix index 49f82d9..4f295f7 100644 --- a/modules/communication/senpai/default.nix +++ b/modules/communication/senpai/default.nix @@ -7,6 +7,7 @@ }: let cfg = config.communication.senpai; + icons = config.desktop.icons.apps; in { imports = [ ./assertions.nix ]; @@ -74,7 +75,7 @@ in xdg.desktopEntries."senpai" = { name = "Senpai"; exec = "${lib.getExe config.terminal.kitty.package} --class senpai -e ${lib.getExe cfg.package}"; - icon = "senpai"; + icon = icons.senpai; categories = [ "Network" "Chat" diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix index d851699..382eca3 100644 --- a/modules/desktop/default.nix +++ b/modules/desktop/default.nix @@ -9,6 +9,7 @@ let in { imports = [ + ./icons ./rofi ./wl-clipboard ./xdg diff --git a/modules/desktop/icons/default.nix b/modules/desktop/icons/default.nix new file mode 100644 index 0000000..2963d37 --- /dev/null +++ b/modules/desktop/icons/default.nix @@ -0,0 +1,190 @@ +# Icon definitions for Tela-nord-dark theme +{ + config, + lib, + ... +}: +let + cfg = config.desktop; +in +{ + options.desktop.icons = { + apps = { + calcurse = lib.mkOption { + type = lib.types.str; + default = "calendar"; + description = "Icon for calcurse calendar app"; + }; + git = lib.mkOption { + type = lib.types.str; + default = "git"; + description = "Icon for git/lazygit"; + }; + gopass = lib.mkOption { + type = lib.types.str; + default = "password-manager"; + description = "Icon for gopass password manager"; + }; + gpg = lib.mkOption { + type = lib.types.str; + default = "dialog-password"; + description = "Icon for GPG/gpg-tui"; + }; + browser = lib.mkOption { + type = lib.types.str; + default = "internet-web-browser"; + description = "Icon for web browser/chawan"; + }; + opencode = lib.mkOption { + type = lib.types.str; + default = "visualstudiocode"; + description = "Icon for opencode"; + }; + systemctl = lib.mkOption { + type = lib.types.str; + default = "preferences-system"; + description = "Icon for systemctl-tui"; + }; + neomutt = lib.mkOption { + type = lib.types.str; + default = "neomutt"; + description = "Icon for neomutt email client"; + }; + btop = lib.mkOption { + type = lib.types.str; + default = "btop"; + description = "Icon for btop system monitor"; + }; + senpai = lib.mkOption { + type = lib.types.str; + default = "senpai"; + description = "Icon for senpai IRC client"; + }; + niriPowerOffMonitors = lib.mkOption { + type = lib.types.str; + default = "system-shutdown-symbolic"; + description = "Icon for niri poweroff monitors action"; + }; + bluetui = lib.mkOption { + type = lib.types.str; + default = "bluetooth-active-symbolic"; + description = "Icon for bluetui bluetooth manager"; + }; + heroic = lib.mkOption { + type = lib.types.str; + default = "com.heroicgameslauncher.hgl"; + description = "Icon for heroic games launcher"; + }; + impala = lib.mkOption { + type = lib.types.str; + default = "network-wireless-signal-excellent-symbolic"; + description = "Icon for impala wifi manager"; + }; + usqueVpn = lib.mkOption { + type = lib.types.str; + default = "network-vpn-symbolic"; + description = "Icon for usque VPN connected"; + }; + usqueVpnDisconnected = lib.mkOption { + type = lib.types.str; + default = "network-vpn-disconnected-symbolic"; + description = "Icon for usque VPN disconnected"; + }; + aria2 = lib.mkOption { + type = lib.types.str; + default = "folder-download"; + description = "Icon for aria2 download manager"; + }; + yazi = lib.mkOption { + type = lib.types.str; + default = "yazi"; + description = "Icon for yazi file manager"; + }; + }; + + bar = { + offline = lib.mkOption { + type = lib.types.str; + default = "network-offline"; + description = "Bar icon for offline network"; + }; + wifi = lib.mkOption { + type = lib.types.str; + default = "network-wireless"; + description = "Bar icon for wifi network"; + }; + ethernet = lib.mkOption { + type = lib.types.str; + default = "network-wired"; + description = "Bar icon for ethernet network"; + }; + vpn = lib.mkOption { + type = lib.types.str; + default = "network-vpn"; + description = "Bar icon for VPN network"; + }; + cpu = lib.mkOption { + type = lib.types.str; + default = "cpu"; + description = "Bar icon for CPU"; + }; + ram = lib.mkOption { + type = lib.types.str; + default = "drive-harddisk"; + description = "Bar icon for RAM"; + }; + battery = lib.mkOption { + type = lib.types.str; + default = "battery"; + description = "Bar icon for battery"; + }; + audio = lib.mkOption { + type = lib.types.str; + default = "audio-volume-high"; + description = "Bar icon for audio"; + }; + calendar = lib.mkOption { + type = lib.types.str; + default = "calendar"; + description = "Bar icon for calendar"; + }; + }; + }; + + config = lib.mkIf cfg.enable { + desktop.icons = { + apps = { + calcurse = "calendar"; + git = "git"; + gopass = "password-manager"; + gpg = "dialog-password"; + browser = "internet-web-browser"; + opencode = "visualstudiocode"; + systemctl = "preferences-system"; + neomutt = "neomutt"; + btop = "btop"; + senpai = "senpai"; + niriPowerOffMonitors = "system-shutdown-symbolic"; + bluetui = "bluetooth-active-symbolic"; + heroic = "com.heroicgameslauncher.hgl"; + impala = "network-wireless-signal-excellent-symbolic"; + usqueVpn = "network-vpn-symbolic"; + usqueVpnDisconnected = "network-vpn-disconnected-symbolic"; + aria2 = "folder-download"; + yazi = "yazi"; + }; + + bar = { + offline = "network-offline"; + wifi = "network-wireless"; + ethernet = "network-wired"; + vpn = "network-vpn"; + cpu = "cpu"; + ram = "drive-harddisk"; + battery = "battery"; + audio = "audio-volume-high"; + calendar = "calendar"; + }; + }; + }; +} diff --git a/modules/desktop/niri/default.nix b/modules/desktop/niri/default.nix index 918a3dc..e98c5da 100644 --- a/modules/desktop/niri/default.nix +++ b/modules/desktop/niri/default.nix @@ -153,7 +153,7 @@ in { name = "Poweroff Monitors"; command = "${lib.getExe cfg.niri.package} msg action power-off-monitors"; - icon = "network-vpn-symbolic"; + icon = config.desktop.icons.apps.niriPowerOffMonitors; } ]; }; diff --git a/modules/development/lazygit/default.nix b/modules/development/lazygit/default.nix index a7bfdc6..c08468c 100644 --- a/modules/development/lazygit/default.nix +++ b/modules/development/lazygit/default.nix @@ -8,6 +8,7 @@ let cfg = config.development.lazygit; base16Colors = import ../../colors/base16 { inherit config lib pkgs; }; + icons = config.desktop.icons.apps; in { imports = [ @@ -77,8 +78,8 @@ in command = "delta --paging=never {{diffArgs}}"; } ]; + update.method = "never"; }; - update.method = "never"; }; }; }) @@ -86,7 +87,7 @@ in xdg.desktopEntries."lazygit" = { name = "lazygit"; exec = "${lib.getExe config.terminal.kitty.package} --class lazygit -e ${lib.getExe cfg.package}"; - icon = "git"; + icon = icons.git; categories = [ "Development" ]; comment = "A simple terminal UI for git commands"; terminal = false; diff --git a/modules/development/opencode/default.nix b/modules/development/opencode/default.nix index 41e3edf..a0115ef 100644 --- a/modules/development/opencode/default.nix +++ b/modules/development/opencode/default.nix @@ -7,6 +7,7 @@ }: let cfg = config.development.opencode; + icons = config.desktop.icons.apps; in { options.development.opencode = { @@ -30,7 +31,7 @@ in xdg.desktopEntries."opencode" = { name = "opencode"; exec = "${lib.getExe config.terminal.kitty.package} --class opencode -e ${lib.getExe cfg.package}"; - icon = "visualstudiocode"; + icon = icons.opencode; categories = [ "Development" ]; comment = "AI-powered coding assistant"; terminal = false; diff --git a/modules/gaming/heroic/default.nix b/modules/gaming/heroic/default.nix index cf4c03d..b86c01a 100644 --- a/modules/gaming/heroic/default.nix +++ b/modules/gaming/heroic/default.nix @@ -7,6 +7,7 @@ }: let cfg = config.gaming.heroic; + icons = config.desktop.icons.apps; in { options.gaming.heroic = { @@ -40,7 +41,7 @@ in xdg.desktopEntries."heroic" = { name = "Heroic Games Launcher"; exec = "${lib.getExe' cfg.package "heroic"} %u"; - icon = "com.heroicgameslauncher.hgl"; + icon = icons.heroic; comment = "An Open Source Launcher for GOG, Epic Games and Amazon Games"; categories = [ "Game" ]; mimeType = [ "x-scheme-handler/heroic" ]; diff --git a/modules/networking/bluetui/default.nix b/modules/networking/bluetui/default.nix index 1e33ac2..782b653 100644 --- a/modules/networking/bluetui/default.nix +++ b/modules/networking/bluetui/default.nix @@ -7,6 +7,7 @@ }: let cfg = config.networking.bluetui; + icons = config.desktop.icons.apps; in { imports = [ @@ -27,7 +28,7 @@ in xdg.desktopEntries."bluetui" = { name = "bluetui"; exec = "${lib.getExe config.terminal.kitty.package} -e ${lib.getExe cfg.package}"; - icon = "bluetooth-active-symbolic"; + icon = icons.bluetui; categories = [ "Network" ]; comment = "Bluetooth TUI client"; terminal = false; diff --git a/modules/networking/impala/default.nix b/modules/networking/impala/default.nix index 3c52065..28ab8be 100644 --- a/modules/networking/impala/default.nix +++ b/modules/networking/impala/default.nix @@ -7,6 +7,7 @@ }: let cfg = config.networking.impala; + icons = config.desktop.icons.apps; in { imports = [ @@ -27,7 +28,7 @@ in xdg.desktopEntries."impala" = { name = "impala"; exec = "${lib.getExe config.terminal.kitty.package} -e ${lib.getExe cfg.package}"; - icon = "network-wireless-signal-excellent-symbolic"; + icon = icons.impala; categories = [ "Network" ]; comment = "TUI for managing wifi on Linux"; terminal = false; diff --git a/modules/networking/usque/default.nix b/modules/networking/usque/default.nix index 36ec12e..9a639dd 100644 --- a/modules/networking/usque/default.nix +++ b/modules/networking/usque/default.nix @@ -7,6 +7,7 @@ }: let cfg = config.networking.usque; + icons = config.desktop.icons.apps; usqueWarpScript = pkgs.writeShellApplication { name = "usque-warp"; @@ -76,12 +77,12 @@ in { name = "WARP Connect"; command = "${lib.getExe cfg.warp.package} connect"; - icon = "network-vpn-symbolic"; + icon = icons.usqueVpn; } { name = "WARP Disconnect"; command = "${lib.getExe cfg.warp.package} disconnect"; - icon = "network-vpn-disconnected-symbolic"; + icon = icons.usqueVpnDisconnected; } ]; }) diff --git a/modules/office/calcurse/default.nix b/modules/office/calcurse/default.nix index 6340cb8..0555ec6 100644 --- a/modules/office/calcurse/default.nix +++ b/modules/office/calcurse/default.nix @@ -7,6 +7,7 @@ }: let cfg = config.office.calcurse; + icons = config.desktop.icons.apps; calcurseSync = pkgs.writeShellScriptBin "calcurse-sync" (builtins.readFile ./calcurse-sync.sh); @@ -92,7 +93,9 @@ in (lib.mkIf cfg.enable { home.packages = [ cfg.package ]; xdg.configFile."calcurse/conf" = { - text = builtins.replaceStrings [ "@@CALCURSE_ICON@@" ] [ "calendar" ] (builtins.readFile ./conf); + text = builtins.replaceStrings [ "@@CALCURSE_ICON@@" ] [ icons.calcurse ] ( + builtins.readFile ./conf + ); force = true; }; xdg.configFile."calcurse/keys" = { @@ -104,7 +107,7 @@ in xdg.desktopEntries."calcurse" = { name = "calcurse"; exec = "${lib.getExe config.terminal.kitty.package} --class calcurse -e ${lib.getExe cfg.package}"; - icon = "calendar"; + icon = icons.calcurse; categories = [ "Office" "Calendar" diff --git a/modules/security/gopass/default.nix b/modules/security/gopass/default.nix index 1bd63f8..2ee269c 100644 --- a/modules/security/gopass/default.nix +++ b/modules/security/gopass/default.nix @@ -7,6 +7,7 @@ }: let cfg = config.security.gopass; + icons = config.desktop.icons.apps; in { imports = [ ./assertions.nix ]; @@ -111,7 +112,7 @@ in xdg.desktopEntries."gopass" = { name = "gopass"; exec = "${lib.getExe config.terminal.kitty.package} --class gopass -e ${lib.getExe cfg.package}"; - icon = "password-manager"; + icon = icons.gopass; comment = "Standard Unix password manager (Go implementation)"; categories = [ "Utility" ]; terminal = false; diff --git a/modules/security/gpg-tui/default.nix b/modules/security/gpg-tui/default.nix index 412331e..a4b64fd 100644 --- a/modules/security/gpg-tui/default.nix +++ b/modules/security/gpg-tui/default.nix @@ -7,6 +7,7 @@ }: let cfg = config.security.gpg-tui; + icons = config.desktop.icons.apps; in { options.security.gpg-tui = { @@ -27,7 +28,7 @@ in xdg.desktopEntries."gpg-tui" = { name = "gpg-tui"; exec = "${lib.getExe config.terminal.kitty.package} --class gpg-tui -e ${lib.getExe cfg.package}"; - icon = "gpg"; + icon = icons.gpg; categories = [ "Security" ]; comment = "Terminal UI for GnuPG"; terminal = false; diff --git a/modules/system/btop/default.nix b/modules/system/btop/default.nix index 453bafb..a521c33 100644 --- a/modules/system/btop/default.nix +++ b/modules/system/btop/default.nix @@ -7,6 +7,7 @@ }: let cfg = config.system.btop; + icons = config.desktop.icons.apps; in { imports = [ ./assertions.nix ]; @@ -53,7 +54,7 @@ in xdg.desktopEntries."btop" = { name = "btop++"; exec = "${lib.getExe config.terminal.kitty.package} --class btop -e ${lib.getExe cfg.package}"; - icon = "btop"; + icon = icons.btop; categories = [ "System" "Monitor" diff --git a/modules/system/systemctl-tui/default.nix b/modules/system/systemctl-tui/default.nix index 2091c57..8653a46 100644 --- a/modules/system/systemctl-tui/default.nix +++ b/modules/system/systemctl-tui/default.nix @@ -7,6 +7,7 @@ }: let cfg = config.system.systemctl-tui; + icons = config.desktop.icons.apps; in { options.system.systemctl-tui = { @@ -27,7 +28,7 @@ in xdg.desktopEntries."systemctl-tui" = { name = "systemctl-tui"; exec = "${lib.getExe config.terminal.kitty.package} --class systemctl-tui -e ${lib.getExe cfg.package}"; - icon = "preferences-system"; + icon = icons.systemctl; categories = [ "System" ]; comment = "TUI for systemctl"; terminal = false; diff --git a/modules/web/aria2/default.nix b/modules/web/aria2/default.nix index b9b00f5..43853dc 100644 --- a/modules/web/aria2/default.nix +++ b/modules/web/aria2/default.nix @@ -6,6 +6,7 @@ }: let cfg = config.web.aria2; + icons = config.desktop.icons.apps; in { options.web.aria2 = { @@ -33,12 +34,12 @@ in { name = "aria2 Start"; command = "systemctl --user start aria2"; - icon = "folder-download"; + icon = icons.aria2; } { name = "aria2 Stop"; command = "systemctl --user stop aria2"; - icon = "folder-download"; + icon = icons.aria2; } ]; }) diff --git a/modules/web/chawan/default.nix b/modules/web/chawan/default.nix index 1e56f89..61a8aab 100644 --- a/modules/web/chawan/default.nix +++ b/modules/web/chawan/default.nix @@ -7,6 +7,7 @@ }: let cfg = config.web.chawan; + icons = config.desktop.icons.apps; in { imports = [ @@ -57,7 +58,7 @@ in xdg.desktopEntries."chawan" = { name = "Chawan"; exec = "${lib.getExe config.terminal.kitty.package} --class chawan -e ${lib.getExe cfg.package} ${cfg.home-url}"; - icon = "internet-web-browser"; + icon = icons.browser; categories = [ "Network" ]; comment = "Text-based web browser"; terminal = false; -- cgit v1.2.3 From fa46338b1bf59f9bd2c56c0fe56e86f002f0890d Mon Sep 17 00:00:00 2001 From: Arpit Chakladar Date: Sat, 26 Sep 2026 23:11:23 +0530 Subject: feat(desktop/icons): changed the icons for aria2 service actions --- modules/desktop/icons/default.nix | 12 ++++++++++++ modules/web/aria2/default.nix | 8 ++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/modules/desktop/icons/default.nix b/modules/desktop/icons/default.nix index 2963d37..d310268 100644 --- a/modules/desktop/icons/default.nix +++ b/modules/desktop/icons/default.nix @@ -95,6 +95,16 @@ in default = "folder-download"; description = "Icon for aria2 download manager"; }; + aria2Start = lib.mkOption { + type = lib.types.str; + default = "media-playback-start-symbolic"; + description = "Icon for aria2 start action"; + }; + aria2Stop = lib.mkOption { + type = lib.types.str; + default = "media-playback-stop-symbolic"; + description = "Icon for aria2 stop action"; + }; yazi = lib.mkOption { type = lib.types.str; default = "yazi"; @@ -171,6 +181,8 @@ in usqueVpn = "network-vpn-symbolic"; usqueVpnDisconnected = "network-vpn-disconnected-symbolic"; aria2 = "folder-download"; + aria2Start = "media-playback-start-symbolic"; + aria2Stop = "media-playback-stop-symbolic"; yazi = "yazi"; }; diff --git a/modules/web/aria2/default.nix b/modules/web/aria2/default.nix index 43853dc..49ee618 100644 --- a/modules/web/aria2/default.nix +++ b/modules/web/aria2/default.nix @@ -32,14 +32,14 @@ in (lib.mkIf (cfg.enable && config.desktop.enable) { desktop.rofi.action.actions = [ { - name = "aria2 Start"; + name = "aria2 Service Start"; command = "systemctl --user start aria2"; - icon = icons.aria2; + icon = icons.aria2Start; } { - name = "aria2 Stop"; + name = "aria2 Service Stop"; command = "systemctl --user stop aria2"; - icon = icons.aria2; + icon = icons.aria2Stop; } ]; }) -- cgit v1.2.3