{ lib, config, pkgs, inputs, ... }: with lib; let cfg = config.modules.desktop.nwg-drawer; in { options.modules.desktop.nwg-drawer = { enable = mkEnableOption "Enable nwg-drawer, a GTK based application launcher for wayland"; package = mkOption { type = types.package; default = pkgs.nwg-drawer; example = "pkgs.nwg-drawer"; }; }; config = mkIf cfg.enable { hm.systemd.user.services.nwg-drawer = { Unit = { Description = "nwg-drawer, a GTK based application launcher for wayland"; After = [ "graphical-session-pre.target" ]; PartOf = [ "graphical-session.target" ]; }; Install = { WantedBy = [ "graphical-session.target" ]; }; Service = { Type = "simple"; ExecStart = "${lib.getExe cfg.package} -r -nofs -nocats -ovl -term wezterm -spacing 15 -fm nautilus"; Restart = "on-failure"; RestartSec = 5; }; }; hm.xdg.configFile."nwg-drawer/drawer.css".text = config.modules.desktop.themes.nwg-drawer; }; }