{ config, lib, pkgs, ... }: { options.zpha.programs.vicinae.enable = lib.mkEnableOption "vicinae"; config = lib.mkIf config.zpha.programs.vicinae.enable { preservation.preserveAt."/persist".users.zaphyra.directories = [ ".config/vicinae" ".local/share/vicinae" ]; zpha.programs.niri.settings.binds = { "Mod+Space".spawn = [ (lib.getExe pkgs.vicinae) "toggle" ]; }; users.users.zaphyra.maid = { packages = [ pkgs.vicinae ]; systemd.services.vicinae = { after = [ "niri-session.target" ]; partOf = [ "niri-session.target" ]; wantedBy = [ "niri-session.target" ]; environment = lib.mkForce { }; unitConfig.ConditionEnvironment = "WAYLAND_DISPLAY"; serviceConfig = { Restart = "on-failure"; ExecStart = "${lib.getExe pkgs.vicinae} server"; }; }; }; }; }