diff options
| author | Arpit Chakladar <arpitchakladar@gmail.com> | 2026-09-26 23:18:20 +0530 |
|---|---|---|
| committer | Arpit Chakladar <arpitchakladar@gmail.com> | 2026-09-26 23:18:20 +0530 |
| commit | 768b32e38701874b6b722c6647ee5c2c49a8e164 (patch) | |
| tree | 878c961c2e429939e3ff19cda989cf403df7a224 /modules/desktop | |
| parent | f47e3cd423eb9cf9e1943d7f14e597e044ee92a9 (diff) | |
| parent | fa46338b1bf59f9bd2c56c0fe56e86f002f0890d (diff) | |
| download | home-manager-config-768b32e38701874b6b722c6647ee5c2c49a8e164.tar.gz home-manager-config-768b32e38701874b6b722c6647ee5c2c49a8e164.zip | |
Merge branch 'using-icon-pack'
Diffstat (limited to 'modules/desktop')
| -rw-r--r-- | modules/desktop/default.nix | 1 | ||||
| -rw-r--r-- | modules/desktop/eww/bar/bar.nix | 18 | ||||
| -rw-r--r-- | modules/desktop/eww/bar/bar.yuck | 22 | ||||
| -rw-r--r-- | modules/desktop/icons/default.nix | 202 | ||||
| -rw-r--r-- | modules/desktop/niri/default.nix | 6 | ||||
| -rw-r--r-- | modules/desktop/xdg/default.nix | 8 |
6 files changed, 221 insertions, 36 deletions
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/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/icons/default.nix b/modules/desktop/icons/default.nix new file mode 100644 index 0000000..d310268 --- /dev/null +++ b/modules/desktop/icons/default.nix @@ -0,0 +1,202 @@ +# 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"; + }; + 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"; + 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"; + aria2Start = "media-playback-start-symbolic"; + aria2Stop = "media-playback-stop-symbolic"; + 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 3368766..e98c5da 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; @@ -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/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"; |
