aboutsummaryrefslogtreecommitdiffstats
path: root/modules/desktop
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-26 22:28:14 +0530
committerArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-26 22:28:14 +0530
commitb93a73ba98e94cbb971dce6554c7c55bce517c0e (patch)
tree1c687bc941183d7badba76f6fdf801fa3cfd9042 /modules/desktop
parentae21713f260fc1599c36c0e4cf572d24b0379ef4 (diff)
downloadhome-manager-config-b93a73ba98e94cbb971dce6554c7c55bce517c0e.tar.gz
home-manager-config-b93a73ba98e94cbb971dce6554c7c55bce517c0e.zip
feat: replace feh with swayimg, refactor waybar icons and window rewrites
- Replace feh module with swayimg (Wayland-native image viewer with Lua config) - Extract shared app icons into waybar lib, switch to title-based matching in window module - Remove gnome-keyring wrapper from ente-auth, drop custom desktop entry - Clean up bluetui/impala desktop entries (lowercase name, drop --class flag) - Add PASSWORD_STORE_DIR session variable to gopass - Switch Chromium to True Amoled Black theme
Diffstat (limited to 'modules/desktop')
-rw-r--r--modules/desktop/waybar/lib.nix26
-rw-r--r--modules/desktop/waybar/module/default.nix4
-rw-r--r--modules/desktop/waybar/module/window.nix24
-rw-r--r--modules/desktop/waybar/module/workspaces.nix52
4 files changed, 74 insertions, 32 deletions
diff --git a/modules/desktop/waybar/lib.nix b/modules/desktop/waybar/lib.nix
index 3eaaab0..4e59cd3 100644
--- a/modules/desktop/waybar/lib.nix
+++ b/modules/desktop/waybar/lib.nix
@@ -1,7 +1,31 @@
{ ... }:
let
mkIcon = color: icon: "<span foreground='${color}' font_size='120%'>${icon}</span>";
+ icons = {
+ "Chromium" = mkIcon "#4285F4" "";
+ "Kitty" = mkIcon "#F5A97F" "󰄛";
+ "VLC" = mkIcon "#FF8800" "󰕼";
+ "Swayimg" = mkIcon "#7EC699" "󰋩";
+ "Zathura" = mkIcon "#E06C75" "";
+ "Heroic" = mkIcon "#4B93FF" "󱎓";
+ "Steam" = mkIcon "#1B2838" "󰓓";
+ "Bruno" = mkIcon "#F97316" "󰩃";
+ "VSCodium" = mkIcon "#3993EE" "";
+ "VirtManager" = mkIcon "#AD8AFF" "󰟀";
+ "Opencode" = mkIcon "#98C379" "󰘦";
+ "EnteAuth" = mkIcon "#E5C07B" "󰍀";
+ "Yazi" = mkIcon "#56B6C2" "󰉋";
+ "W3M" = mkIcon "#8BE9FD" "󰖟";
+ "bluetui" = mkIcon "#BD93F9" "";
+ "impala" = mkIcon "#50FA7B" "󰤢";
+ "neomutt" = mkIcon "#FFB86C" "󰇮";
+ "Rofi" = mkIcon "#BD93F9" "";
+ "Aria2" = mkIcon "#8BE9FD" "";
+ "screen-recording" = mkIcon "#FF5555" "";
+ "system-monitor" = mkIcon "#50FA7B" "󰄨";
+ "neovim" = mkIcon "#005900" "";
+ };
in
{
- inherit mkIcon;
+ inherit mkIcon icons;
}
diff --git a/modules/desktop/waybar/module/default.nix b/modules/desktop/waybar/module/default.nix
index 99b8420..133f597 100644
--- a/modules/desktop/waybar/module/default.nix
+++ b/modules/desktop/waybar/module/default.nix
@@ -3,10 +3,10 @@
...
}@input:
let
- inherit (import ../lib.nix { inherit lib; }) mkIcon;
+ inherit (import ../lib.nix { inherit lib; }) mkIcon icons;
args = input // {
- inherit mkIcon;
+ inherit mkIcon icons;
};
modules = {
diff --git a/modules/desktop/waybar/module/window.nix b/modules/desktop/waybar/module/window.nix
index 06f0c5b..a6ea1e9 100644
--- a/modules/desktop/waybar/module/window.nix
+++ b/modules/desktop/waybar/module/window.nix
@@ -1,4 +1,26 @@
-{ ... }:
+{ icons, ... }:
{
expand = true;
+ format = "{}";
+ rewrite = {
+ "(.*) - Chromium" = "${icons."Chromium"} $1";
+ "(.*?)(?: - )?VLC Media Player" = "${icons."VLC"} $1";
+ "(.*)heroic(.*)" = "${icons."Heroic"} $1$2";
+ "(.*)Steam(.*)" = "${icons."Steam"} $1$2";
+ "bruno" = "${icons."Bruno"} Bruno";
+ "(.*) - VSCodium" = "${icons."VSCodium"} $1";
+ "Virtual Machine Manager" = "${icons."VirtManager"} Virtual Machine Manager";
+ "OC \\|(.*)" = "${icons."Opencode"} $1";
+ "OpenCode" = "${icons."Opencode"} OpenCode";
+ "Ente Auth" = "${icons."EnteAuth"} Ente Auth";
+ "Yazi:(.*)" = "${icons."Yazi"} $1";
+ "Swayimg:(.*)" = "${icons."Swayimg"} $1";
+ "(.*)w3m(.*)" = "${icons."W3M"} $1$2";
+ "bluetui" = "${icons."bluetui"} bluetui";
+ "impala" = "${icons."impala"} impala";
+ "neomutt" = "${icons."neomutt"} NeoMutt";
+ "screen-recording" = "${icons."screen-recording"} Screen Recording";
+ "system-monitor" = "${icons."system-monitor"} System Monitor";
+ "nvim(.*)" = "${icons."neovim"} $1";
+ };
}
diff --git a/modules/desktop/waybar/module/workspaces.nix b/modules/desktop/waybar/module/workspaces.nix
index ccfeaa6..8a3be38 100644
--- a/modules/desktop/waybar/module/workspaces.nix
+++ b/modules/desktop/waybar/module/workspaces.nix
@@ -1,14 +1,9 @@
{
config,
lib,
- mkIcon,
+ icons,
...
}:
-let
- mkWindowRewrite =
- enable: color: icon:
- lib.mkIf enable (mkIcon color icon);
-in
{
format = "{windows} <span rise='-3000' font_size='small'>{id}</span>";
persistent-workspaces = {
@@ -27,27 +22,28 @@ in
};
window-rewrite-default = "";
window-rewrite = {
- "class<chromium-browser>" = mkWindowRewrite config.web.chromium.enable "#4285F4" "";
- "class<kitty>" = mkWindowRewrite config.terminal.kitty.enable "#F5A97F" "󰄛";
- "class<vlc>" = mkWindowRewrite config.media.vlc.enable "#FF8800" "󰕼";
- "class<feh>" = mkWindowRewrite config.media.feh.enable "#7EC699" "󰋩";
- "class<org.pwmt.zathura>" = mkWindowRewrite config.office.zathura.enable "#E06C75" "";
- "class<heroic>" = mkWindowRewrite config.gaming.heroic.enable "#4B93FF" "󱎓";
- "class<Steam>" = mkWindowRewrite config.gaming.steam.enable "#1B2838" "󰓓";
- "class<bruno>" = mkWindowRewrite config.development.bruno.enable "#F97316" "󰩃";
- "class<codium>" = mkWindowRewrite config.development.vscodium.enable "#3993EE" "";
- "class<.virt-manager-wrapped>" = mkWindowRewrite config.development.qemu.enable "#AD8AFF" "󰟀";
- "class<opencode>" = mkWindowRewrite config.development.opencode.enable "#98C379" "󰘦";
- "class<io.ente.auth>" = mkWindowRewrite config.security.enteauth.enable "#E5C07B" "󰍀";
- "class<yazi>" = mkWindowRewrite config.file-management.yazi.enable "#56B6C2" "󰉋";
- "class<w3m>" = mkWindowRewrite config.web.w3m.enable "#8BE9FD" "󰖟";
- "class<bluetui>" = mkWindowRewrite config.networking.bluetui.enable "#BD93F9" "";
- "class<impala>" = mkWindowRewrite config.networking.impala.enable "#50FA7B" "󰤢";
- "class<neomutt>" = mkWindowRewrite config.communication.neomutt.enable "#FFB86C" "󰇮";
- "class<rofi>" = mkWindowRewrite config.desktop.rofi.enable "#BD93F9" "";
- "class<aria2-run>" = mkWindowRewrite config.scripts.aria2-run.enable "#8BE9FD" "";
- "class<screen-recording>" = mkWindowRewrite config.scripts.screen-recording.enable "#FF5555" "";
- "class<system-monitor>" = mkWindowRewrite config.scripts.system-monitor.enable "#50FA7B" "󰄨";
- "class<neovim>" = mkWindowRewrite config.development.nixvim.enable "#005900" "";
+ "class<chromium-browser>" = lib.mkIf config.web.chromium.enable icons."Chromium";
+ "class<kitty>" = lib.mkIf config.terminal.kitty.enable icons."Kitty";
+ "class<vlc>" = lib.mkIf config.media.vlc.enable icons."VLC";
+ "class<org.pwmt.zathura>" = lib.mkIf config.office.zathura.enable icons."Zathura";
+ "class<heroic>" = lib.mkIf config.gaming.heroic.enable icons."Heroic";
+ "class<Steam>" = lib.mkIf config.gaming.steam.enable icons."Steam";
+ "class<bruno>" = lib.mkIf config.development.bruno.enable icons."Bruno";
+ "class<codium>" = lib.mkIf config.development.vscodium.enable icons."VSCodium";
+ "class<io.ente.auth>" = lib.mkIf config.security.enteauth.enable icons."EnteAuth";
+
+ "title<Virtual Machine Manager>" = lib.mkIf config.development.qemu.enable icons."VirtManager";
+ "title<OC \\| (.*)>" = lib.mkIf config.development.opencode.enable icons."Opencode";
+ "title<Swayimg:(.*)>" = lib.mkIf config.media.swayimg.enable icons."Swayimg";
+ "title<Yazi:(.*)>" = lib.mkIf config.file-management.yazi.enable icons."Yazi";
+ "title<(.*)w3m(.*)>" = lib.mkIf config.web.w3m.enable icons."W3M";
+ "title<bluetui>" = lib.mkIf config.networking.bluetui.enable icons."bluetui";
+ "title<impala>" = lib.mkIf config.networking.impala.enable icons."impala";
+ "title<neomutt>" = lib.mkIf config.communication.neomutt.enable icons."neomutt";
+ "title<screen-recording>" =
+ lib.mkIf config.scripts.screen-recording.enable
+ icons."screen-recording";
+ "title<system-monitor>" = lib.mkIf config.scripts.system-monitor.enable icons."system-monitor";
+ "title<nvim(.*)>" = lib.mkIf config.development.nixvim.enable icons."neovim";
};
}