Add some aliases to kitty
This commit is contained in:
parent
c5623b5174
commit
4b53af1bf1
4 changed files with 94 additions and 66 deletions
|
@ -173,6 +173,7 @@ in
|
||||||
cat = "bat --theme=GitHub ";
|
cat = "bat --theme=GitHub ";
|
||||||
catp = "bat --theme=GitHub -p ";
|
catp = "bat --theme=GitHub -p ";
|
||||||
l = "exa -l --color=always ";
|
l = "exa -l --color=always ";
|
||||||
|
e = "$EDITOR";
|
||||||
"cp+" = "rsync -avzP";
|
"cp+" = "rsync -avzP";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -207,13 +208,6 @@ in
|
||||||
echo (__original_fish_title) - fish
|
echo (__original_fish_title) - fish
|
||||||
end
|
end
|
||||||
|
|
||||||
# Set up an editor alias
|
|
||||||
if test -n "$EDITOR"
|
|
||||||
alias e="$EDITOR"
|
|
||||||
else
|
|
||||||
alias e="kak"
|
|
||||||
end
|
|
||||||
|
|
||||||
# Source iTerm2 integration
|
# Source iTerm2 integration
|
||||||
if test -e ~/.iterm2_shell_integration.fish; and test $__CFBundleIdentifier = "com.googlecode.iterm2"
|
if test -e ~/.iterm2_shell_integration.fish; and test $__CFBundleIdentifier = "com.googlecode.iterm2"
|
||||||
source ~/.iterm2_shell_integration.fish
|
source ~/.iterm2_shell_integration.fish
|
||||||
|
|
|
@ -32,7 +32,6 @@ in
|
||||||
# Rebind $VISUAL, $EDITOR and e command
|
# Rebind $VISUAL, $EDITOR and e command
|
||||||
set -gx VISUAL "kak -c $kak_session"
|
set -gx VISUAL "kak -c $kak_session"
|
||||||
set -gx EDITOR "kak -c $kak_session"
|
set -gx EDITOR "kak -c $kak_session"
|
||||||
alias e="kak -c $kak_session"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
kill-kak-session = ''
|
kill-kak-session = ''
|
||||||
|
@ -47,7 +46,6 @@ in
|
||||||
# Rebind $VISUAL, $EDITOR and e command
|
# Rebind $VISUAL, $EDITOR and e command
|
||||||
set -gx VISUAL "kak"
|
set -gx VISUAL "kak"
|
||||||
set -gx EDITOR "kak"
|
set -gx EDITOR "kak"
|
||||||
alias e="kak"
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
programs.fish.tide = {
|
programs.fish.tide = {
|
||||||
|
|
|
@ -76,73 +76,106 @@ with lib;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config.linux.graphical = mkIf (cfg.enable && cfg.setDefault) {
|
config = mkIf cfg.enable {
|
||||||
defaults.terminal.package = cfg.package;
|
linux.graphical = mkIf cfg.setDefault {
|
||||||
};
|
defaults.terminal.package = cfg.package;
|
||||||
|
};
|
||||||
|
programs.kitty = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
config.programs.kitty = mkIf cfg.enable {
|
package = cfg.package;
|
||||||
enable = true;
|
|
||||||
|
|
||||||
package = cfg.package;
|
font.package = pkgs.fantasque-sans-mono;
|
||||||
|
font.name = "Fantasque Sans Mono";
|
||||||
|
font.size = cfg.fontSize;
|
||||||
|
|
||||||
font.package = pkgs.fantasque-sans-mono;
|
settings =
|
||||||
font.name = "Fantasque Sans Mono";
|
let
|
||||||
font.size = cfg.fontSize;
|
# Background color and transparency
|
||||||
|
background =
|
||||||
|
if isNull cfg.background then
|
||||||
|
{
|
||||||
|
background_opacity = "0.93";
|
||||||
|
dynamic_background_opacity = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
background_image = "${cfg.background}";
|
||||||
|
background_image_layout = "scaled";
|
||||||
|
background_tint = "0.85";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
mkMerge [
|
||||||
|
background
|
||||||
|
{
|
||||||
|
# Scrollback (128MBs)
|
||||||
|
scrollback_pager_history_size = 128;
|
||||||
|
|
||||||
settings =
|
# Disable Shell integration (leave it for Nix)
|
||||||
let
|
shell_integration = "no-rc";
|
||||||
# Background color and transparency
|
|
||||||
background =
|
|
||||||
if isNull cfg.background then
|
|
||||||
{
|
|
||||||
background_opacity = "0.93";
|
|
||||||
dynamic_background_opacity = true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
background_image = "${cfg.background}";
|
|
||||||
background_image_layout = "scaled";
|
|
||||||
background_tint = "0.85";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
mkMerge [
|
|
||||||
background
|
|
||||||
{
|
|
||||||
# Scrollback (128MBs)
|
|
||||||
scrollback_pager_history_size = 128;
|
|
||||||
|
|
||||||
# Disable Shell integration (leave it for Nix)
|
# Allow remote control (for kakoune integration)
|
||||||
shell_integration = "no-rc";
|
allow_remote_control = true;
|
||||||
|
|
||||||
# Allow remote control (for kakoune integration)
|
# Mouse focus
|
||||||
allow_remote_control = true;
|
focus_follows_mouse = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
# Mouse focus
|
keybindings = {
|
||||||
focus_follows_mouse = true;
|
"${cfg.cmd}+shift+equal" = "no_op"; # Not possible with a JIS keyboard
|
||||||
}
|
"${cfg.cmd}+shift+^" = "change_font_size all +2.0"; # ... so use ^ instead
|
||||||
];
|
|
||||||
|
|
||||||
keybindings = {
|
## Clear screen
|
||||||
"${cfg.cmd}+shift+equal" = "no_op"; # Not possible with a JIS keyboard
|
"${cfg.cmd}+backspace" = "clear_terminal to_cursor active";
|
||||||
"${cfg.cmd}+shift+^" = "change_font_size all +2.0"; # ... so use ^ instead
|
"${cfg.cmd}+shift+backspace" = "clear_terminal reset active";
|
||||||
|
|
||||||
## Clear screen
|
## Command scrolling
|
||||||
"${cfg.cmd}+backspace" = "clear_terminal to_cursor active";
|
"${cfg.cmd}+shift+j" = "scroll_to_prompt 1";
|
||||||
"${cfg.cmd}+shift+backspace" = "clear_terminal reset active";
|
"${cfg.cmd}+shift+k" = "scroll_to_prompt -1";
|
||||||
## Hints
|
};
|
||||||
"${cfg.cmd}+shift+p>n" = "kitten hints --type=linenum --linenum-action=tab kak {path} +{line}";
|
|
||||||
|
extraConfig =
|
||||||
|
let
|
||||||
|
# Nerd Fonts glyph map
|
||||||
|
glyphMap = pkgs.fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/Sharparam/dotfiles/main/kitty/.config/kitty/font-nerd-symbols.conf";
|
||||||
|
hash = "sha256-1OaDWLC3y8ASD2ttRWWgPEpRnfKXu6H6vS3cFVpzT0o=";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
''
|
||||||
|
include ${glyphMap}
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
extraConfig =
|
# Open protocol
|
||||||
let
|
xdg.configFile."kitty/open-actions.conf".text = ''
|
||||||
# Nerd Fonts glyph map
|
protocol file
|
||||||
glyphMap = pkgs.fetchurl {
|
fragment_matches [0-9]+
|
||||||
url = "https://raw.githubusercontent.com/Sharparam/dotfiles/main/kitty/.config/kitty/font-nerd-symbols.conf";
|
action launch --type=overlay --cwd=current -- $\{EDITOR} +$\{FRAGMENT} -- $\{FILE_PATH}
|
||||||
hash = "sha256-1OaDWLC3y8ASD2ttRWWgPEpRnfKXu6H6vS3cFVpzT0o=";
|
|
||||||
};
|
# Open HTML files with xdg-open
|
||||||
in
|
protocol file
|
||||||
''
|
mime text/html
|
||||||
include ${glyphMap}
|
action launch xdg-open $\{FILE_PATH}
|
||||||
'';
|
|
||||||
|
# Open text files without fragments in the editor
|
||||||
|
protocol file
|
||||||
|
mime text/*
|
||||||
|
action launch --type=overlay --cwd=current -- $\{EDITOR} -- $\{FILE_PATH}
|
||||||
|
|
||||||
|
# Open other files with xdg-open
|
||||||
|
protocol file
|
||||||
|
action launch xdg-open $\{FILE_PATH}
|
||||||
|
'';
|
||||||
|
|
||||||
|
programs.fish.shellAliases = {
|
||||||
|
e = lib.mkForce "kitten edit-in-kitty";
|
||||||
|
"ssh+" = "kitten ssh";
|
||||||
|
"clip" = "kitten clipboard";
|
||||||
|
"rg" = "kitten hyperlinked-grep";
|
||||||
|
"icat" = "kitten icat";
|
||||||
|
"notify" = "kitten notify";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -115,6 +115,9 @@
|
||||||
|
|
||||||
services.dbus.packages = with pkgs; [ gcr ];
|
services.dbus.packages = with pkgs; [ gcr ];
|
||||||
|
|
||||||
|
services.avahi.enable = true;
|
||||||
|
networking.firewall.allowedTCPPorts = [ 8010 ];
|
||||||
|
|
||||||
# Open ports in the firewall.
|
# Open ports in the firewall.
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
|
|
Loading…
Add table
Reference in a new issue