{ config, lib, pkgs, ... }: with lib; { config = { programs.zsh = { enable = true; zplug = { enable = true; zplugHome = ~/.customZplugHome; plugins = [ { name = "plugins/git"; tags = [ "from:oh-my-zsh" ]; } { name = "lib/clipboard"; tags = [ "from:oh-my-zsh" ''if:"[[ $OSTYPE == *darwin* ]]"'' ]; } ]; }; }; test.stubs = { zplug = { }; zsh = { }; }; nmt.script = '' assertFileContains home-files/.zshrc \ 'source @zplug@/init.zsh' assertFileContains home-files/.zshrc \ 'zplug "plugins/git", from:oh-my-zsh' assertFileContains home-files/.zshrc \ 'zplug "lib/clipboard", from:oh-my-zsh, if:"[[ $OSTYPE == *darwin* ]]"' assertFileContains home-files/.zshrc \ 'if ! zplug check; then zplug install fi' assertFileRegex home-files/.zshrc \ '^zplug load$' assertFileContains home-files/.zshrc \ 'export ZPLUG_HOME=${config.programs.zsh.zplug.zplugHome}' ''; }; }