nixos-config/modules/alacritty.nix
2021-11-02 17:33:58 -04:00

38 lines
1.1 KiB
Nix

{ config, pkgs, lib, ... }:
let
cfg = config.sconfig.alacritty;
in
{
options.sconfig.alacritty.enable = lib.mkEnableOption "Enable Alacritty";
config = lib.mkIf cfg.enable {
environment.systemPackages = [
pkgs.alacritty
(pkgs.writeTextFile {
name = "alacritty.yml";
destination = "/etc/xdg/alacritty.yml";
text = ''
env:
TERM: xterm-256color
key_bindings:
- { key: N, mods: Control|Shift, action: SpawnNewInstance }
- { key: T, mods: Control|Shift, action: SpawnNewInstance }
- { key: PageUp, mods: Shift, action: ScrollHalfPageUp }
- { key: PageDown, mods: Shift, action: ScrollHalfPageDown }
'';
})
];
programs.bash.interactiveShellInit = ''
function _set_title() {
printf "\033]0;%s@%s:%s\007" "''${USER}" "''${HOSTNAME%%.*}" "''${PWD/#$HOME/\~}"
}
[ -z "$VTE_VERSION" ] && PROMPT_COMMAND="_set_title; $PROMPT_COMMAND"
'';
environment.etc."xdg/alacritty.yml".source =
"/run/current-system/sw/etc/xdg/alacritty.yml";
};
}