2023-03-19 16:29:16 +00:00
|
|
|
{
|
|
|
|
options,
|
|
|
|
config,
|
|
|
|
lib,
|
|
|
|
pkgs,
|
|
|
|
...
|
|
|
|
}:
|
|
|
|
with lib; let
|
|
|
|
cfg = config.aa.tools.zsh;
|
|
|
|
in {
|
|
|
|
options.aa.tools.zsh = with types; {
|
|
|
|
enable = mkEnableOption "zsh";
|
|
|
|
};
|
|
|
|
|
|
|
|
config = mkIf cfg.enable {
|
2023-03-25 17:31:15 +00:00
|
|
|
# Already set in home-manager below, but without this building fails with
|
|
|
|
# an assertion error that suggests setting this
|
|
|
|
programs.zsh.enable = true;
|
|
|
|
|
2023-03-19 16:29:16 +00:00
|
|
|
aa.home.extraOptions = {
|
|
|
|
programs.zsh = {
|
|
|
|
enable = true;
|
|
|
|
enableAutosuggestions = true;
|
|
|
|
enableCompletion = true;
|
|
|
|
envExtra = ''
|
|
|
|
export PATH=~/.local/bin:$PATH
|
2023-03-26 15:37:59 +00:00
|
|
|
export EDITOR=nvim
|
2023-03-19 16:29:16 +00:00
|
|
|
'';
|
|
|
|
initExtra = ''
|
|
|
|
base16_darktooth
|
|
|
|
bindkey -v
|
|
|
|
bindkey '^A' beginning-of-line
|
|
|
|
bindkey '^E' end-of-line
|
|
|
|
bindkey '^R' history-incremental-search-backward
|
2023-03-26 15:37:59 +00:00
|
|
|
alias view="nvim -R $1"
|
2023-03-19 16:29:16 +00:00
|
|
|
alias l='ls -la'
|
|
|
|
'';
|
|
|
|
|
|
|
|
plugins = with pkgs; [
|
|
|
|
{
|
|
|
|
name = "zsh-syntax-highlighting";
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "zsh-users";
|
|
|
|
repo = "zsh-syntax-highlighting";
|
2023-03-26 17:02:24 +00:00
|
|
|
rev = "0.7.1";
|
|
|
|
sha256 = "sha256-gOG0NLlaJfotJfs+SUhGgLTNOnGLjoqnUp54V9aFJg8=";
|
2023-03-19 16:29:16 +00:00
|
|
|
};
|
|
|
|
file = "zsh-syntax-highlighting.zsh";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "powerlevel10k";
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "romkatv";
|
|
|
|
repo = "powerlevel10k";
|
2023-03-26 16:56:26 +00:00
|
|
|
rev = "v1.17.0";
|
|
|
|
sha256 = "sha256-fgrwbWj6CcPoZ6GbCZ47HRUg8ZSJWOsa7aipEqYuE0Q=";
|
2023-03-19 16:29:16 +00:00
|
|
|
};
|
|
|
|
file = "powerlevel10k.zsh-theme";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "powerlevel10k-config";
|
|
|
|
src = lib.cleanSource ./.;
|
|
|
|
file = "p10k.zsh";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "base16-shell";
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "chriskempson";
|
|
|
|
repo = "base16-shell";
|
|
|
|
rev = "ce8e1e540367ea83cc3e01eec7b2a11783b3f9e1";
|
|
|
|
sha256 = "1yj36k64zz65lxh28bb5rb5skwlinixxz6qwkwaf845ajvm45j1q";
|
|
|
|
};
|
|
|
|
file = "base16-shell.plugin.zsh";
|
|
|
|
}
|
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|