54 lines
1.4 KiB
Nix
54 lines
1.4 KiB
Nix
{
|
|
self,
|
|
inputs,
|
|
...
|
|
}: {
|
|
flake.nixosModules.zsh = {
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}: {
|
|
programs.zsh = {
|
|
enable = true;
|
|
package = self.packages.${pkgs.stdenv.hostPlatform.system}.myZsh;
|
|
};
|
|
};
|
|
perSystem = {
|
|
pkgs,
|
|
lib,
|
|
self',
|
|
...
|
|
}: {
|
|
packages = {
|
|
myZsh = inputs.wrappers.wrappers.zsh.wrap {
|
|
inherit pkgs;
|
|
zshAliases = {
|
|
ls = lib.getExe pkgs.lsd;
|
|
cat = lib.getExe pkgs.bat;
|
|
lg = lib.getExe pkgs.lazygit;
|
|
man = "man -P \"${lib.getExe pkgs.bat} -p\"";
|
|
nsh = "nix-shell -p";
|
|
};
|
|
zshrc.content = ''
|
|
export CARAPACE_BRIDGES='zsh,fish,bash,inshellisense' # optional
|
|
zstyle ':completion:*' format $'\e[2;37mCompleting %d\e[m'
|
|
source <(${pkgs.carapace}/bin/carapace _carapace)
|
|
setopt NO_CASE_GLOB
|
|
zstyle ':completion:*' matcher-list 'm:{[:lower:]}={[:upper:]}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
|
|
|
|
export EDITOR=nvim
|
|
|
|
eval "$(${pkgs.devenv}/bin/devenv hook zsh)"
|
|
eval "$(${self.packages.${pkgs.host.stdenv.hostPlatform.system}.ohMyPosh}/bin/oh-my-posh init zsh)"
|
|
|
|
${pkgs.any-nix-shell}/bin/any-nix-shell zsh --info-right | source /dev/stdin
|
|
'';
|
|
};
|
|
ohMyPosh = inputs.wrappers.wrappers.oh-my-posh.wrap {
|
|
inherit pkgs;
|
|
configFile = ./config.toml;
|
|
};
|
|
};
|
|
};
|
|
}
|