|
- { pkgs, config, ... } :
- let
- wrapPlugin = { name, pkg }: {
- inherit name;
- src = pkg + "/share/zsh/site-functions";
- };
- in {
-
- home.packages = [
- pkgs.swatch
- ];
-
- programs.zsh = {
- enable = true;
- enableAutosuggestions = true;
- enableCompletion = true;
- dotDir = ".config/zsh";
- history = {
- expireDuplicatesFirst = true;
- extended = true;
- ignoreDups = true;
- share = true;
- };
- initExtraBeforeCompInit = ''
- export PATH='/run/wrappers/bin:/home/thorn/.nix-profile/bin:/etc/profiles/per-user/thorn/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/home/thorn/.config/zsh/plugins/fast-syntax-highlighting'
- '';
- initExtra = ''
- setopt promptsubst
- autoload -U colors && colors
- export PROMPT='%{$fg[white]%}%B$(swatch)%b %{$fg[blue]%}%2~ %{$fg[green]%}%B>%b '
- '';
- shellAliases = {
- nf = "neofetch --gtk2 off --gtk3 off --ascii_bold on";
- ls = "ls --color";
- ec = "emacsclient";
- };
- plugins = (map wrapPlugin [
- { name = "fast-syntax-highlighting";
- pkg = pkgs.zsh-fast-syntax-highlighting;
- }
- ]);
- };
- programs.dircolors.enableZshIntegration = true;
- }
|