{ config, pkgs, ... }:

{
  environment.systemPackages = with pkgs; [
    git
    vim
  ];

  users.defaultUserShell = pkgs.zsh;
  programs.zsh = {
    enable = true;

    # Disabling compinit in /etc/zshrc so that we can call
    # compinit with a custom zcompdump location in .zshrc.
    enableGlobalCompInit = false;
  };

  environment.sessionVariables =
    let
      config = "$HOME/config/user";
    in
    {
      # Set environment variables for software that doesn't
      # follow the XDG Base Directory specification.

      ZDOTDIR = "${config}/zsh";
    };
}