{ config, lib, ... }: let cfg = config.programs.sioyek; in { programs.sioyek = { bindings = { "move_up" = "k"; "move_down" = "j"; "move_left" = "l"; "move_right" = "h"; "screen_down" = [ "d" "" ]; "screen_up" = [ "u" "" ]; "toggle_two_page_mode" = [ "T" ]; "goto_mark" = [ "`" "'" ]; }; config.should_launch_new_window = "1"; }; xdg.mimeApps = let associations = { "application/pdf" = [ "sioyek.desktop" ]; }; in lib.mkIf cfg.enable { enable = true; associations.added = associations; defaultApplications = associations; }; }