home

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 765c8ae0b4aae1451b243bc421c5ee6144f8d7f2
parent efe5354a787b148a69c66d4a161aaaf985292697
Author: Vincent Demeester <vincent@sbr.pm>
Date:   Thu, 27 Jun 2019 19:16:31 +0200

profiles.zsh: move to .config/zsh and more

- bumping history size
- use syntax highlighting and emoji-cli plugins

Signed-off-by: Vincent Demeester <vincent@sbr.pm>

Diffstat:
Mmodules/profiles/zsh.nix | 79+++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------
1 file changed, 57 insertions(+), 22 deletions(-)

diff --git a/modules/profiles/zsh.nix b/modules/profiles/zsh.nix @@ -1,4 +1,4 @@ -{ config, lib, ... }: +{ config, lib, pkgs, ... }: with lib; let @@ -14,26 +14,61 @@ in }; }; }; - config = mkIf cfg.enable { - programs.zsh = { - enable = true; - autocd = true; - defaultKeymap = "emacs"; - enableAutosuggestions = true; - history = { - expireDuplicatesFirst = true; - ignoreDups = true; + config = mkIf cfg.enable (mkMerge [ + { + home.packages = with pkgs; [ + zsh-syntax-highlighting + ]; + programs.zsh = { + enable = true; + dotDir = ".config/zsh"; + autocd = true; + defaultKeymap = "emacs"; + enableAutosuggestions = true; + history = { + size = 100000; + expireDuplicatesFirst = true; + ignoreDups = true; + }; + localVariables = { + EMOJI_CLI_KEYBIND = "^n"; + EMOJI_CLI_USE_EMOJI = "yes"; + }; + shellAliases = import ./aliases.shell.nix; + plugins = [ + { + # will source emoji-cli.plugin.zsh + name = "emoji-cli"; + src = pkgs.fetchFromGitHub { + owner = "b4b4r07"; + repo = "emoji-cli"; + rev = "26e2d67d566bfcc741891c8e063a00e0674abc92"; + sha256 = "0n88w4k5vaz1iyikpmlzdrrkxmfn91x5s4q405k1fxargr1w6bmx"; + }; + } + ]; + initExtra = '' + if [ -e /home/vincent/.nix-profile/etc/profile.d/nix.sh ]; then . /home/vincent/.nix-profile/etc/profile.d/nix.sh; fi + # make sure navigation using emacs keybindings works on all non-alphanumerics + autoload -U select-word-style + select-word-style bash + # syntax highlighting + source ${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh + ''; + profileExtra = '' + if [ -e /home/vincent/.nix-profile/etc/profile.d/nix.sh ]; then . /home/vincent/.nix-profile/etc/profile.d/nix.sh; fi + export NIX_PATH=$HOME/.nix-defexpr/channels:$NIX_PATH + ''; }; - shellAliases = import ./aliases.shell.nix; - initExtra = '' - if [ -e /home/vincent/.nix-profile/etc/profile.d/nix.sh ]; then . /home/vincent/.nix-profile/etc/profile.d/nix.sh; fi - autoload -U select-word-style - select-word-style bash - ''; - profileExtra = '' - if [ -e /home/vincent/.nix-profile/etc/profile.d/nix.sh ]; then . /home/vincent/.nix-profile/etc/profile.d/nix.sh; fi - export NIX_PATH=$HOME/.nix-defexpr/channels:$NIX_PATH - ''; - }; - }; + programs.fzf = { + enable = true; + enableZshIntegration = true; + }; + } + (mkIf config.profiles.emacs.enable { + /*programs.zsh.initExtra = '' + export EDITOR=et + '';*/ + }) + ]); }