{ pkgs, ... }: let
kitty-kitten-search = pkgs.runCommand "kitty-kitten-search" {
src = pkgs.fetchFromGitHub {
owner = "trygveaa";
repo = "kitty-kitten-search";
rev = "0760138fad617c5e4159403cbfce8421ccdfe571";
hash = "sha256-egisza7V5dWplRYHIYt4bEQdqXa4E7UhibyWJAup8as=";
};
} ''
mkdir $out
cp $src/scroll_mark.py $out/scroll_mark.py
sed 's/typing/typing_compat/' $src/search.py > $out/search.py
'';
in {
home.file.kitty_search = {
source = "${kitty-kitten-search}/search.py";
target = ".config/kitty/search.py";
};
home.file.kitty_scroll_mark = {
source = "${kitty-kitten-search}/scroll_mark.py";
target = ".config/kitty/scroll_mark.py";
};
programs.kitty = {
extraConfig = ''
map ctrl+shift+f launch --location=hsplit --allow-remote-control kitty +kitten search.py @active-kitty-window-id
'';
};
}