{ pkgs, self, config, ... }: { home.packages = with pkgs; [ # shell utils coreutils direnv ripgrep tree wget # data manipulation jless jq yq # dicts aspell aspellDicts.en aspellDicts.en-computers aspellDicts.en-science # nix related nil nix-direnv nixd nixfmt nixpkgs-fmt rnix-lsp # my own stuff self.packages.${pkgs.system}.git-blame-stats self.packages.${pkgs.system}.git-broom ]; xdg = { configFile = { "aspell/config".text = '' local-data-dir ${pkgs.aspell}/lib/aspell data-dir ${pkgs.aspellDicts.en}/lib/aspell personal ${config.xdg.configHome}/aspell/en_US.personal repl ${config.xdg.configHome}/aspell/en_US.repl ''; }; }; home.sessionVariables = { EDITOR = "emacsclient -a="; VISUAL = "emacsclient -a="; LESS = "-FRSXM"; LESSCHARSET = "utf-8"; PAGER = "less"; ASPELL_CONF = "conf ${config.xdg.configHome}/aspell/config;"; # for some reason, if I don't set this, zsh is picked up and mess up stuff. SHELL = "${pkgs.fish}/bin/fish"; }; programs.direnv = { enable = true; nix-direnv.enable = true; enableZshIntegration = true; config = { global.disable_stdin = true; global.strict_env = true; }; }; }