zaphyra's git: nixfiles

zaphyra's nixfiles

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
{
  config,
  lib,
  pkgs,
  ...
}:

{

  options.zaphyra.programs.zsh.enable = lib.mkEnableOption "zsh shell";

  config = lib.mkIf config.zaphyra.programs.zsh.enable {
    home.packages = [
      pkgs.zsh
      (lib.lowPrio pkgs.zsh-completions)
    ];

    programs.zsh = {
      enable = true;
      enableCompletion = true;
      enableVteIntegration = true;

      dotDir = ".config/zsh";

      history = {
        path = "${config.xdg.dataHome}/zsh/zsh_history";
        save = 100000000;
        size = 1000000000;
        expireDuplicatesFirst = true;
        ignoreDups = true;
        share = true;
      };

      oh-my-zsh = {
        enable = true;
        plugins = [
          "git"
          "gitfast"
          "sudo"
          "systemd"
        ];
        extraConfig = ''
          zstyle ':completion:*' menu select
        '';
      };
    };
  };

}