{ 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; }; }; }; }