{ config , lib , pkgs , ... }: { imports = [ ./neovim.nix ]; # Let Home Manager install and manage itself. programs.home-manager.enable = true; manual = { html.enable = true; }; home.sessionVariables = { EMAIL = "alan@alanpearce.eu"; MANPAGER = "sh -c 'col -bx | bat -l man -p'"; }; xdg = { enable = true; cacheHome = if pkgs.stdenv.isDarwin then "${config.home.homeDirectory}/Library/Caches/XDG" else "${config.home.homeDirectory}/.cache"; configHome = "${config.home.homeDirectory}/.config"; dataHome = "${config.home.homeDirectory}/.local/share"; stateHome = "${config.home.homeDirectory}/.local/state"; }; programs.zsh.shellAliases = { make = "remake"; }; programs.htop = { enable = true; settings = { header_margin = 0; tree_view = 1; hide_kernel_threads = 1; hide_userland_threads = 1; }; }; programs.bat = { enable = true; extraPackages = with pkgs.bat-extras; [ batdiff batman batgrep batpipe prettybat ]; }; home.packages = with pkgs; [ pv fd sd ripgrep comma knot-dns moreutils mtr tree remake abduco dvtm tere (aspellWithDicts (d: [ d.en d.en-computers d.en-science d.de ])) ] ++ ( if !stdenv.isDarwin then [ file lsof unar zip ] else [ ] ); }