aboutsummaryrefslogtreecommitdiffstats
path: root/modules/desktop
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar@gmail.com>2026-09-26 23:18:20 +0530
committerArpit Chakladar <arpitchakladar@gmail.com>2026-09-26 23:18:20 +0530
commit768b32e38701874b6b722c6647ee5c2c49a8e164 (patch)
tree878c961c2e429939e3ff19cda989cf403df7a224 /modules/desktop
parentf47e3cd423eb9cf9e1943d7f14e597e044ee92a9 (diff)
parentfa46338b1bf59f9bd2c56c0fe56e86f002f0890d (diff)
downloadhome-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.nix1
-rw-r--r--modules/desktop/eww/bar/bar.nix18
-rw-r--r--modules/desktop/eww/bar/bar.yuck22
-rw-r--r--modules/desktop/icons/default.nix202
-rw-r--r--modules/desktop/niri/default.nix6
-rw-r--r--modules/desktop/xdg/default.nix8
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";