programs.zsh.ohMyZsh: add `package` option to make package overrides on module-base easier

Changed files
+13 -3
nixos
modules
programs
+13 -3
nixos/modules/programs/zsh/oh-my-zsh.nix
···
'';
};
+
package = mkOption {
+
default = pkgs.oh-my-zsh;
+
defaultText = "pkgs.oh-my-zsh";
+
description = ''
+
Package to install for `oh-my-zsh` usage.
+
'';
+
+
type = types.package;
+
};
+
plugins = mkOption {
default = [];
type = types.listOf(types.str);
···
# Prevent zsh from overwriting oh-my-zsh's prompt
programs.zsh.promptInit = mkDefault "";
-
environment.systemPackages = with pkgs; [ oh-my-zsh ];
+
environment.systemPackages = [ cfg.package ];
-
programs.zsh.interactiveShellInit = with pkgs; with builtins; ''
+
programs.zsh.interactiveShellInit = with builtins; ''
# oh-my-zsh configuration generated by NixOS
-
export ZSH=${oh-my-zsh}/share/oh-my-zsh
+
export ZSH=${cfg.package}/share/oh-my-zsh
${optionalString (length(cfg.plugins) > 0)
"plugins=(${concatStringsSep " " cfg.plugins})"