{ config, lib, pkgs, ... }: with lib; let cfg = config.custom.programs.networkmanager-dmenu; hm = config.home-manager.users.${config.custom.username}; rofi = getExe hm.programs.rofi.package; in { options.custom.programs.networkmanager-dmenu = { enable = mkOption {default = false;}; }; config = mkIf cfg.enable { # https://github.com/firecat53/networkmanager-dmenu environment.systemPackages = [pkgs.networkmanager_dmenu]; home-manager.sharedModules = [ { # https://github.com/firecat53/networkmanager-dmenu/blob/main/config.ini.example xdg.configFile = { "networkmanager-dmenu/config.ini".text = let menu = if config.custom.menu == "rofi" then "${rofi} -dmenu -p 󰛳" else ""; in '' [dmenu] compact = true dmenu_command = ${menu} active_chars =  highlight = true wifi_icons = 󰤯󰤟󰤢󰤥󰤨 format = {icon} {name} [dmenu_passphrase] obscure = true ''; }; } ]; }; }