{ config, lib, pkgs, ... }: { # Let Home Manager install and manage itself. programs.home-manager.enable = true; manual = { html.enable = true; }; programs.neovim = { enable = true; vimAlias = true; vimdiffAlias = true; withNodeJs = true; plugins = with pkgs.vimPlugins; [ commentary coc-git coc-json coc-tabnine coc-yaml vim-surround ]; extraLuaConfig = builtins.readFile ../nvim/init.lua; coc = { enable = true; settings = { "json.enable" = true; "suggest.enablePreview" = true; languageserver = { nix = { command = "${pkgs.nil}/bin/nil"; filetypes = [ "nix" ]; }; }; }; }; }; home.sessionVariables = { EMAIL = "alan@alanpearce.eu"; XDG_CACHE_HOME = if pkgs.stdenv.isDarwin then "$HOME/Library/Caches/XDG" else "$HOME/.cache"; XDG_CONFIG_HOME = "$HOME/.config"; XDG_DATA_HOME = "$HOME/.local/share"; }; programs.zsh.shellAliases = { make = "${pkgs.remake}/bin/remake"; }; programs.htop = { enable = true; settings = { header_margin = 0; tree_view = 1; hide_kernel_threads = 1; hide_userland_threads = 1; }; }; home.packages = with pkgs; [ pv fd sd entr ripgrep iftop nmap moreutils mtr tree abduco dvtm vimv (aspellWithDicts (d: [ d.en d.en-computers d.en-science d.de ])) ] ++ ( if !stdenv.isDarwin then [ file ldns lsof unar zip ] else [ ] ); }