nix/home/modules/menu.nix
2024-01-06 22:38:07 +00:00

40 lines
876 B
Nix

{
lib,
pkgs,
config,
...
}: let
cfg = config.programs.menu;
terminal = config.programs.terminal;
termcmd = "${terminal}/bin/${terminal.pname}";
menucmd = "${config.programs.menu.package}${config.programs.menu.drunCommand}";
in {
options.programs = with lib; {
menu = {
package = mkPackageOption pkgs "wofi" {
example = "pkgs.dmenu-wayland";
};
dmenuCommand = mkOption {
default = "/bin/wofi --show dmenu";
example = "/bin/dmenu";
};
drunCommand = mkOption {
default = "/bin/wofi --show drun";
};
};
};
config = {
programs.wofi = lib.mkIf (cfg.package == pkgs.wofi) {
enable = true;
settings = {
term = termcmd;
insensitive = true;
};
};
wayland.windowManager.sway.config.menu = menucmd;
home.packages = [cfg.package];
};
}