Switch to standard alacritty. Remove custom alt-keybinds, as they are replaced with option_as_alt
This commit is contained in:
parent
bbb0aa3972
commit
4cb4e30f3d
|
@ -48,6 +48,9 @@ esac";
|
||||||
padding.y = 0;
|
padding.y = 0;
|
||||||
decorations = if stdenv.isDarwin then "Buttonless" else "Full";
|
decorations = if stdenv.isDarwin then "Buttonless" else "Full";
|
||||||
startup_mode = "Windowed";
|
startup_mode = "Windowed";
|
||||||
|
opacity = 0.8;
|
||||||
|
blur = true;
|
||||||
|
option_as_alt = "OnlyRight";
|
||||||
};
|
};
|
||||||
mouse.hide_when_typing = true;
|
mouse.hide_when_typing = true;
|
||||||
font = {
|
font = {
|
||||||
|
@ -62,95 +65,13 @@ esac";
|
||||||
shell.program = "${pkgs.zsh}/bin/zsh";
|
shell.program = "${pkgs.zsh}/bin/zsh";
|
||||||
shell.args = [ "--login" "-c" "${tmux-menu}" ];
|
shell.args = [ "--login" "-c" "${tmux-menu}" ];
|
||||||
|
|
||||||
key_bindings = import ./keybinds.nix { bind-broken-mac-keybinds = stdenv.isDarwin; };
|
keyboard.bindings = import ./keybinds.nix { bind-broken-mac-keybinds = stdenv.isDarwin; };
|
||||||
};
|
|
||||||
|
|
||||||
alt-patch-package = pkgs.fetchgit {
|
|
||||||
url = "https://github.com/loovjo/alacritty-modifiers-patch";
|
|
||||||
rev = "36ac4031248ba132f280017bfd8bf0a32e214f9d";
|
|
||||||
hash = "sha256-to5Tq64w8Tvt+KHjiKga3B31XC5TT/4kMR1zqp9A3AI=";
|
|
||||||
fetchSubmodules = true;
|
|
||||||
# deepClone = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
rpathLibs = with pkgs; [
|
|
||||||
# expat
|
|
||||||
# fontconfig
|
|
||||||
# freetype
|
|
||||||
# libGL
|
|
||||||
# xorg.libX11
|
|
||||||
# xorg.libXcursor
|
|
||||||
# xorg.libXi
|
|
||||||
# xorg.libXrandr
|
|
||||||
# xorg.libXxf86vm
|
|
||||||
# xorg.libxcb
|
|
||||||
];
|
|
||||||
|
|
||||||
alacritty-alt-patch = with pkgs; rustPlatform.buildRustPackage {
|
|
||||||
pname = "alacritty-alt-patch";
|
|
||||||
version = "latest";
|
|
||||||
|
|
||||||
src = alt-patch-package;
|
|
||||||
cargoLock = { lockFile = alt-patch-package + "/Cargo.lock"; };
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
cmake
|
|
||||||
installShellFiles
|
|
||||||
makeWrapper
|
|
||||||
ncurses
|
|
||||||
pkg-config
|
|
||||||
python311
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = rpathLibs
|
|
||||||
++ (with pkgs.darwin.apple_sdk.frameworks; [
|
|
||||||
AppKit
|
|
||||||
CoreGraphics
|
|
||||||
CoreServices
|
|
||||||
CoreText
|
|
||||||
Foundation
|
|
||||||
libiconv
|
|
||||||
OpenGL
|
|
||||||
]);
|
|
||||||
|
|
||||||
doCheck = false; # meow
|
|
||||||
|
|
||||||
outputs = [ "out" "terminfo" ];
|
|
||||||
|
|
||||||
postPatch = lib.optionalString (!xdg-utils.meta.broken) ''
|
|
||||||
substituteInPlace alacritty/src/config/ui_config.rs \
|
|
||||||
--replace xdg-open ${xdg-utils}/bin/xdg-open
|
|
||||||
'';
|
|
||||||
|
|
||||||
checkFlags = [ "--skip=term::test::mock_term" ]; # broken on aarch64
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
mkdir $out/Applications
|
|
||||||
cp -r extra/osx/Alacritty.app $out/Applications
|
|
||||||
cp -r $out/bin $out/Applications/Alacritty.app/Contents/MacOS # the original script used ln -s instead of cp -r, seems launchpad dies when having symlinks inside the application?
|
|
||||||
|
|
||||||
installShellCompletion --zsh extra/completions/_alacritty
|
|
||||||
installShellCompletion --bash extra/completions/alacritty.bash
|
|
||||||
installShellCompletion --fish extra/completions/alacritty.fish
|
|
||||||
install -dm 755 "$out/share/man/man1"
|
|
||||||
# gzip -c extra/alacritty.man > "$out/share/man/man1/alacritty.1.gz"
|
|
||||||
# gzip -c extra/alacritty-msg.man > "$out/share/man/man1/alacritty-msg.1.gz"
|
|
||||||
install -Dm 644 alacritty.yml $out/share/doc/alacritty.yml
|
|
||||||
install -dm 755 "$terminfo/share/terminfo/a/"
|
|
||||||
tic -xe alacritty,alacritty-direct -o "$terminfo/share/terminfo" extra/alacritty.info
|
|
||||||
mkdir -p $out/nix-support
|
|
||||||
echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
|
|
||||||
'';
|
|
||||||
|
|
||||||
dontPatchELF = true;
|
|
||||||
|
|
||||||
# passthru.tests.test = nixosTests.terminal-emulators.alacritty;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = base-cfg;
|
settings = base-cfg;
|
||||||
package = if stdenv.isDarwin then alacritty-alt-patch else pkgs.alacritty;
|
package = pkgs.alacritty;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,171 +1,42 @@
|
||||||
{ bind-broken-mac-keybinds }:
|
{ bind-broken-mac-keybinds }:
|
||||||
let
|
let
|
||||||
broken-options = [
|
|
||||||
{ key = ''Backslash''; mods = ''Option''; chars = ''|''; }
|
|
||||||
{ key = ''Backslash''; mods = ''Shift|Option''; chars = ''\\''; }
|
|
||||||
{ key = ''Key6''; mods = ''Option''; chars = ''^''; } # huh?
|
|
||||||
{ key = ''Minus''; mods = ''Shift|Option''; chars = ''_''; }
|
|
||||||
{ key = ''LBracket''; mods = ''Option''; chars = ''[''; }
|
|
||||||
{ key = ''LBracket''; mods = ''Shift|Option''; chars = ''{''; }
|
|
||||||
{ key = ''RBracket''; mods = ''Option''; chars = '']''; }
|
|
||||||
{ key = ''RBracket''; mods = ''Shift|Option''; chars = ''}''; }
|
|
||||||
{ key = ''Key2''; mods = ''Option''; chars = ''@''; }
|
|
||||||
];
|
|
||||||
|
|
||||||
ralts = [
|
|
||||||
{ key = ''A''; mods = ''Alt''; chars = ''\x1ba''; }
|
|
||||||
{ key = ''B''; mods = ''Alt''; chars = ''\x1bb''; }
|
|
||||||
{ key = ''C''; mods = ''Alt''; chars = ''\x1bc''; }
|
|
||||||
{ key = ''D''; mods = ''Alt''; chars = ''\x1bd''; }
|
|
||||||
{ key = ''E''; mods = ''Alt''; chars = ''\x1be''; }
|
|
||||||
{ key = ''F''; mods = ''Alt''; chars = ''\x1bf''; }
|
|
||||||
{ key = ''G''; mods = ''Alt''; chars = ''\x1bg''; }
|
|
||||||
{ key = ''H''; mods = ''Alt''; chars = ''\x1bh''; }
|
|
||||||
{ key = ''I''; mods = ''Alt''; chars = ''\x1bi''; }
|
|
||||||
{ key = ''J''; mods = ''Alt''; chars = ''\x1bj''; }
|
|
||||||
{ key = ''K''; mods = ''Alt''; chars = ''\x1bk''; }
|
|
||||||
{ key = ''L''; mods = ''Alt''; chars = ''\x1bl''; }
|
|
||||||
{ key = ''M''; mods = ''Alt''; chars = ''\x1bm''; }
|
|
||||||
{ key = ''N''; mods = ''Alt''; chars = ''\x1bn''; }
|
|
||||||
{ key = ''O''; mods = ''Alt''; chars = ''\x1bo''; }
|
|
||||||
{ key = ''P''; mods = ''Alt''; chars = ''\x1bp''; }
|
|
||||||
{ key = ''Q''; mods = ''Alt''; chars = ''\x1bq''; }
|
|
||||||
{ key = ''R''; mods = ''Alt''; chars = ''\x1br''; }
|
|
||||||
{ key = ''S''; mods = ''Alt''; chars = ''\x1bs''; }
|
|
||||||
{ key = ''T''; mods = ''Alt''; chars = ''\x1bt''; }
|
|
||||||
{ key = ''U''; mods = ''Alt''; chars = ''\x1bu''; }
|
|
||||||
{ key = ''V''; mods = ''Alt''; chars = ''\x1bv''; }
|
|
||||||
{ key = ''W''; mods = ''Alt''; chars = ''\x1bw''; }
|
|
||||||
{ key = ''X''; mods = ''Alt''; chars = ''\x1bx''; }
|
|
||||||
{ key = ''Y''; mods = ''Alt''; chars = ''\x1by''; }
|
|
||||||
{ key = ''Z''; mods = ''Alt''; chars = ''\x1bz''; }
|
|
||||||
{ key = ''A''; mods = ''Alt|Shift''; chars = ''\x1bA''; }
|
|
||||||
{ key = ''B''; mods = ''Alt|Shift''; chars = ''\x1bB''; }
|
|
||||||
{ key = ''C''; mods = ''Alt|Shift''; chars = ''\x1bC''; }
|
|
||||||
{ key = ''D''; mods = ''Alt|Shift''; chars = ''\x1bD''; }
|
|
||||||
{ key = ''E''; mods = ''Alt|Shift''; chars = ''\x1bE''; }
|
|
||||||
{ key = ''F''; mods = ''Alt|Shift''; chars = ''\x1bF''; }
|
|
||||||
{ key = ''G''; mods = ''Alt|Shift''; chars = ''\x1bG''; }
|
|
||||||
{ key = ''H''; mods = ''Alt|Shift''; chars = ''\x1bH''; }
|
|
||||||
{ key = ''I''; mods = ''Alt|Shift''; chars = ''\x1bI''; }
|
|
||||||
{ key = ''J''; mods = ''Alt|Shift''; chars = ''\x1bJ''; }
|
|
||||||
{ key = ''K''; mods = ''Alt|Shift''; chars = ''\x1bK''; }
|
|
||||||
{ key = ''L''; mods = ''Alt|Shift''; chars = ''\x1bL''; }
|
|
||||||
{ key = ''M''; mods = ''Alt|Shift''; chars = ''\x1bM''; }
|
|
||||||
{ key = ''N''; mods = ''Alt|Shift''; chars = ''\x1bN''; }
|
|
||||||
{ key = ''O''; mods = ''Alt|Shift''; chars = ''\x1bO''; }
|
|
||||||
{ key = ''P''; mods = ''Alt|Shift''; chars = ''\x1bP''; }
|
|
||||||
{ key = ''Q''; mods = ''Alt|Shift''; chars = ''\x1bQ''; }
|
|
||||||
{ key = ''R''; mods = ''Alt|Shift''; chars = ''\x1bR''; }
|
|
||||||
{ key = ''S''; mods = ''Alt|Shift''; chars = ''\x1bS''; }
|
|
||||||
{ key = ''T''; mods = ''Alt|Shift''; chars = ''\x1bT''; }
|
|
||||||
{ key = ''U''; mods = ''Alt|Shift''; chars = ''\x1bU''; }
|
|
||||||
{ key = ''V''; mods = ''Alt|Shift''; chars = ''\x1bV''; }
|
|
||||||
{ key = ''W''; mods = ''Alt|Shift''; chars = ''\x1bW''; }
|
|
||||||
{ key = ''X''; mods = ''Alt|Shift''; chars = ''\x1bX''; }
|
|
||||||
{ key = ''Y''; mods = ''Alt|Shift''; chars = ''\x1bY''; }
|
|
||||||
{ key = ''Z''; mods = ''Alt|Shift''; chars = ''\x1bZ''; }
|
|
||||||
{ key = ''Key1''; mods = ''Alt''; chars = ''\x1b1''; }
|
|
||||||
{ key = ''Key2''; mods = ''Alt''; chars = ''\x1b2''; }
|
|
||||||
{ key = ''Key3''; mods = ''Alt''; chars = ''\x1b3''; }
|
|
||||||
{ key = ''Key4''; mods = ''Alt''; chars = ''\x1b4''; }
|
|
||||||
{ key = ''Key5''; mods = ''Alt''; chars = ''\x1b5''; }
|
|
||||||
{ key = ''Key6''; mods = ''Alt''; chars = ''\x1b6''; }
|
|
||||||
{ key = ''Key7''; mods = ''Alt''; chars = ''\x1b7''; }
|
|
||||||
{ key = ''Key8''; mods = ''Alt''; chars = ''\x1b8''; }
|
|
||||||
{ key = ''Key9''; mods = ''Alt''; chars = ''\x1b9''; }
|
|
||||||
{ key = ''Key0''; mods = ''Alt''; chars = ''\x1b0''; }
|
|
||||||
{ key = ''Grave''; mods = ''Alt''; chars = ''\x1b`''; } # Alt + `
|
|
||||||
{ key = ''Grave''; mods = ''Alt|Shift''; chars = ''\x1b~''; } # Alt + ~
|
|
||||||
{ key = ''Period''; mods = ''Alt''; chars = ''\x1b.''; } # Alt + .
|
|
||||||
{ key = ''Key8''; mods = ''Alt|Shift''; chars = ''\x1b*''; } # Alt + *
|
|
||||||
{ key = ''Key3''; mods = ''Alt|Shift''; chars = ''\x1b#''; } # Alt + #
|
|
||||||
{ key = ''Period''; mods = ''Alt|Shift''; chars = ''\x1b>''; } # Alt + >
|
|
||||||
{ key = ''Comma''; mods = ''Alt|Shift''; chars = ''\x1b<''; } # Alt + <
|
|
||||||
{ key = ''Minus''; mods = ''Alt|Shift''; chars = ''\x1b_''; } # Alt + _
|
|
||||||
{ key = ''Key5''; mods = ''Alt|Shift''; chars = ''\x1b%''; } # Alt + %
|
|
||||||
{ key = ''Key6''; mods = ''Alt|Shift''; chars = ''\x1b^''; } # Alt + ^
|
|
||||||
{ key = ''Backslash''; mods = ''Alt''; chars = ''\x1b\\''; } # Alt + \
|
|
||||||
{ key = ''Backslash''; mods = ''Alt|Shift''; chars = ''\x1b|''; } # Alt + |
|
|
||||||
];
|
|
||||||
|
|
||||||
alt-arrows = [
|
alt-arrows = [
|
||||||
{ key = ''Left''; mods = ''Option''; chars = ''\x1bb''; }
|
{ key = ''Left''; mods = ''Alt''; chars = ''\u001bb''; }
|
||||||
{ key = ''Right''; mods = ''Option''; chars = ''\x1bf''; }
|
{ key = ''Right''; mods = ''Alt''; chars = ''\u001bf''; }
|
||||||
];
|
|
||||||
|
|
||||||
ctrl-binds = [
|
|
||||||
# { key = ''A''; mods = ''Control''; chars = ''\x01''; }
|
|
||||||
{ key = ''A''; mods = ''Control''; chars = ''\x01''; }
|
|
||||||
{ key = ''B''; mods = ''Control''; chars = ''\x02''; }
|
|
||||||
{ key = ''C''; mods = ''Control''; chars = ''\x03''; }
|
|
||||||
{ key = ''D''; mods = ''Control''; chars = ''\x04''; }
|
|
||||||
{ key = ''E''; mods = ''Control''; chars = ''\x05''; }
|
|
||||||
{ key = ''F''; mods = ''Control''; chars = ''\x06''; }
|
|
||||||
{ key = ''G''; mods = ''Control''; chars = ''\x07''; }
|
|
||||||
{ key = ''H''; mods = ''Control''; chars = ''\x08''; }
|
|
||||||
{ key = ''I''; mods = ''Control''; chars = ''\x09''; }
|
|
||||||
{ key = ''J''; mods = ''Control''; chars = ''\x0A''; }
|
|
||||||
{ key = ''K''; mods = ''Control''; chars = ''\x0B''; }
|
|
||||||
{ key = ''L''; mods = ''Control''; chars = ''\x0C''; }
|
|
||||||
{ key = ''M''; mods = ''Control''; chars = ''\x0D''; }
|
|
||||||
{ key = ''N''; mods = ''Control''; chars = ''\x0E''; }
|
|
||||||
{ key = ''O''; mods = ''Control''; chars = ''\x0F''; }
|
|
||||||
{ key = ''P''; mods = ''Control''; chars = ''\x10''; }
|
|
||||||
{ key = ''Q''; mods = ''Control''; chars = ''\x11''; }
|
|
||||||
{ key = ''R''; mods = ''Control''; chars = ''\x12''; }
|
|
||||||
{ key = ''S''; mods = ''Control''; chars = ''\x13''; }
|
|
||||||
{ key = ''T''; mods = ''Control''; chars = ''\x14''; }
|
|
||||||
{ key = ''U''; mods = ''Control''; chars = ''\x15''; }
|
|
||||||
{ key = ''V''; mods = ''Control''; chars = ''\x16''; }
|
|
||||||
{ key = ''W''; mods = ''Control''; chars = ''\x17''; }
|
|
||||||
{ key = ''X''; mods = ''Control''; chars = ''\x18''; }
|
|
||||||
{ key = ''Y''; mods = ''Control''; chars = ''\x19''; }
|
|
||||||
{ key = ''Z''; mods = ''Control''; chars = ''\x1A''; }
|
|
||||||
];
|
];
|
||||||
|
|
||||||
tmux-binds = [
|
tmux-binds = [
|
||||||
{ key = ''Period''; mods = ''Control''; chars = ''\x1D''; } # tmux escape
|
{ key = ''Period''; mods = ''Control''; chars = ''\u001D''; } # tmux escape
|
||||||
|
|
||||||
{ key = ''Period''; mods = ''Shift|Command''; chars = ''\x1D:''; }
|
{ key = ''Period''; mods = ''Shift|Command''; chars = ''\u001D:''; }
|
||||||
{ key = ''Key0''; mods = ''Command''; chars = ''\x1D0''; }
|
{ key = ''Key0''; mods = ''Command''; chars = ''\u001D0''; }
|
||||||
{ key = ''Key1''; mods = ''Command''; chars = ''\x1D1''; }
|
{ key = ''Key1''; mods = ''Command''; chars = ''\u001D1''; }
|
||||||
{ key = ''Key2''; mods = ''Command''; chars = ''\x1D2''; }
|
{ key = ''Key2''; mods = ''Command''; chars = ''\u001D2''; }
|
||||||
{ key = ''Key3''; mods = ''Command''; chars = ''\x1D3''; }
|
{ key = ''Key3''; mods = ''Command''; chars = ''\u001D3''; }
|
||||||
{ key = ''Key4''; mods = ''Command''; chars = ''\x1D4''; }
|
{ key = ''Key4''; mods = ''Command''; chars = ''\u001D4''; }
|
||||||
{ key = ''Key5''; mods = ''Command''; chars = ''\x1D5''; }
|
{ key = ''Key5''; mods = ''Command''; chars = ''\u001D5''; }
|
||||||
{ key = ''Key6''; mods = ''Command''; chars = ''\x1D6''; }
|
{ key = ''Key6''; mods = ''Command''; chars = ''\u001D6''; }
|
||||||
{ key = ''Key7''; mods = ''Command''; chars = ''\x1D7''; }
|
{ key = ''Key7''; mods = ''Command''; chars = ''\u001D7''; }
|
||||||
{ key = ''Key8''; mods = ''Command''; chars = ''\x1D8''; }
|
{ key = ''Key8''; mods = ''Command''; chars = ''\u001D8''; }
|
||||||
{ key = ''Key9''; mods = ''Command''; chars = ''\x1D9''; }
|
{ key = ''Key9''; mods = ''Command''; chars = ''\u001D9''; }
|
||||||
|
|
||||||
{ key = ''T''; mods = ''Command''; chars = ''\x1Dc''; }
|
{ key = ''T''; mods = ''Command''; chars = ''\u001Dc''; }
|
||||||
{ key = ''R''; mods = ''Command''; chars = ''\x1D$''; }
|
{ key = ''R''; mods = ''Command''; chars = ''\u001D$''; }
|
||||||
{ key = ''W''; mods = ''Shift|Command''; chars = ''\x1D&''; } # kill window
|
{ key = ''W''; mods = ''Shift|Command''; chars = ''\u001D&''; } # kill window
|
||||||
{ key = ''W''; mods = ''Command''; chars = ''\x1Dx''; } # kill pane
|
{ key = ''W''; mods = ''Command''; chars = ''\u001Dx''; } # kill pane
|
||||||
|
|
||||||
{ key = ''Left''; mods = ''Command''; chars = ''\x1Dp''; }
|
{ key = ''Left''; mods = ''Command''; chars = ''\u001Dp''; }
|
||||||
{ key = ''Right''; mods = ''Command''; chars = ''\x1Dn''; }
|
{ key = ''Right''; mods = ''Command''; chars = ''\u001Dn''; }
|
||||||
|
|
||||||
{ key = ''Right''; mods = ''Shift|Command''; chars = ''\x1D\x1b[C''; }
|
{ key = ''Right''; mods = ''Shift|Command''; chars = ''\u001D\u001b[C''; }
|
||||||
{ key = ''Left''; mods = ''Shift|Command''; chars = ''\x1D\x1b[D''; }
|
{ key = ''Left''; mods = ''Shift|Command''; chars = ''\u001D\u001b[D''; }
|
||||||
|
|
||||||
{ key = ''O''; mods = ''Command''; chars = ''\x1Dw''; } # ''open'', open a window
|
{ key = ''O''; mods = ''Command''; chars = ''\u001Dw''; } # ''open'', open a window
|
||||||
|
|
||||||
{ key = ''A''; mods = ''Command''; chars = ''\x1D;''; } # Last pane
|
{ key = ''A''; mods = ''Command''; chars = ''\u001D;''; } # Last pane
|
||||||
];
|
];
|
||||||
|
|
||||||
others = [
|
std-binds = alt-arrows ++ tmux-binds;
|
||||||
{ key = ''Escape''; chars = ''\x1B''; }
|
|
||||||
];
|
|
||||||
|
|
||||||
std-binds = tmux-binds;
|
|
||||||
mac-binds =
|
|
||||||
ralts
|
|
||||||
;
|
|
||||||
in
|
in
|
||||||
if bind-broken-mac-keybinds then
|
|
||||||
std-binds ++ mac-binds
|
|
||||||
else
|
|
||||||
std-binds
|
std-binds
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user