voidconf/modules/zsh.nix
2024-02-17 18:49:37 +01:00

43 lines
1.1 KiB
Nix

{ config, lib, ... }:
with lib;
let cfg = config.voidconf.zsh;
in {
options.voidconf.zsh = {
enable = mkEnableOption "Enables opinionated zsh configuration";
skim.enable = mkEnableOption "Enables skim support for shell history";
highlightStyle = mkOption {
type = types.str;
default = "fg=magenta,bg=black,bold,underline";
description = ''
Colors for zsh autosuggestions. Check the documentation for more info.
'';
};
};
config = mkIf cfg.enable {
programs = {
skim.keybindings = cfg.skim.enable;
zsh = {
enable = true;
enableCompletion = true;
autosuggestions = {
enable = true;
highlightStyle = cfg.highlightStyle;
async = true;
};
syntaxHighlighting = {
enable = true;
};
shellAliases = {
ls = "ls --color=tty";
l = "ls -lah";
la = "ls -a";
lr = "ls -rt";
llr = "ls -lhrt";
llar = "ls -lhArt";
grep = "grep --color=auto";
};
};
};
};
}