{ config, lib, pkgs, ... }: { imports = [ ../modules/nvim-coc.nix ]; # 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; configure = { customRC = builtins.readFile ../nvim/init.vim; packages.myVimPackage = with pkgs.vimPlugins; { start = [ commentary coc-css coc-eslint coc-git coc-html coc-json coc-nvim coc-prettier coc-tabnine coc-yaml vim-surround vim-nix ]; opt = [ ]; }; }; coc = { config = { "json.enable" = true; "suggest.enablePreview" = true; }; }; }; home.sessionVariables = let HOME = builtins.getEnv "HOME"; in { 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"; }; home.packages = with pkgs; [ pv fd sd entr ripgrep htop iftop nmap moreutils mtr tree abduco dvtm unstable.vimv ] ++ ( if !stdenv.isDarwin then [ file ldns lsof unar zip ] else [ ]); }