https://sw.kovidgoyal.net/kitty/build/#notes-for-linux-macos-packagers recommends to split kitty into three packages with kitty-shell-integration being the one that includes some files useful for the shell integration. We already use kitty.terminfo in Nixpkgs instead of kitty-terminfo but we can't use kitty.shell-integration instead of kitty-shell-integration because shell-integration is not a valid shell variable name. I named it kitty.shell_integration instead. This package can then be used by a future kitty nixos module that still needs to be created. Without this commit, kitty would modify the user's ~/.bashrc when using bash.
Currently compile fails on Darwin on command
running "perl" "./Configure" "--prefix=/private/tmp/nix-build-wezterm-20210814-124438-54e29167.drv-0/source/target/aarch64-apple-darwin/release/build/openssl-sys-90b3c73e9c998931/out/openssl-build/install" "no-dso" "no-shared" "no-ssl3" "no-unit-test" "no-comp" "no-zlib" "no-zlib-dynamic" "no-md2" "no-rc5" "no-weak-ssl-ciphers" "no-camellia" "no-idea" "no-seed" "darwin64-arm64-cc" "-O2" "-ffunction-sections" "-fdata-sections" "-fPIC"
with
`Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }'
This commit fixes this issue.
Terminator is currently wrapped twice, which makes the python hook use a
wrapped executable name to set argv[0]. As a result, Terminator can't be
matched to its desktop entry and fails to group correctly in e.g. the GNOME app
launcher. Ensuring we only wrap the executable once solves this.
stimuliFile would get rebuild with every change in version, since the
stimulusGenerator derivation would depend on the version string. Since
the script often doesn't change between releases, this causes
unnecessary rebuilds and cache duplication.
Additionally we add a test to passthru which checks if the hash of the
script is still up to date: By making its name depend on the version
string, it'll get rebuild on every version change, even if the hash
stays the same. This way we can detect new hash mismatches.