[home] Add rofi configuration for i3+sway

- Add rofi package to desktop role with solarized theme
- Configure rofi with drun, run, and window modes
- Set up proper keybindings: Super+d for rofi (i3) and wofi (sway)
- Fix shared config structure to avoid undefined menu reference

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-10-27 19:12:15 -07:00
parent c42e09e972
commit bda76c6abc
2 changed files with 23 additions and 3 deletions

View File

@@ -4,7 +4,6 @@ with lib;
let
cfg = config.home.i3_sway;
i3_cfg = config.xsession.windowManager.i3.config;
shared_config = recursiveUpdate rec {
modifier = "Mod4";
@@ -20,7 +19,7 @@ let
keybindings = {
"${shared_config.modifier}+Return" = "exec ${terminal}";
"${shared_config.modifier}+Shift+q" = "kill";
"${shared_config.modifier}+d" = "exec ${i3_cfg.menu}";
# Menu binding will be overridden in each window manager config
"${shared_config.modifier}+h" = "focus left";
"${shared_config.modifier}+j" = "focus down";
@@ -115,7 +114,9 @@ in {
config = {
xsession.windowManager.i3 = let
base_i3_config = recursiveUpdate shared_config {
menu = "rofi -show drun";
keybindings = {
"${shared_config.modifier}+d" = "exec rofi -show drun";
"${shared_config.modifier}+Shift+e" =
"exec i3-nagbar -t warning -m 'Do you want to exit i3?' -b 'Yes' 'i3-msg exit'";
};
@@ -153,7 +154,9 @@ in {
wayland.windowManager.sway = let
base_sway_config = recursiveUpdate shared_config {
menu = "wofi --show drun";
keybindings = {
"${shared_config.modifier}+d" = "exec wofi --show drun";
"${shared_config.modifier}+Shift+e" =
"exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit'";
};