{ inputs, pkgs, ... }: { imports = [ inputs.nixvim.homeManagerModules.nixvim ./plugins ./options.nix ./theme.nix ./keymaps.nix ]; # Install home packages needed for nixvim home.packages = [ pkgs.nixpkgs-fmt pkgs.black pkgs.yamllint pkgs.yamlfmt pkgs.prettierd pkgs.sqlfmt pkgs.nodePackages_latest.sql-formatter pkgs.alejandra pkgs.shellcheck pkgs.shellharden pkgs.shfmt pkgs.stylua pkgs.glow ]; programs.nixvim = { enable = true; package = pkgs.neovim-unwrapped; enableMan = true; # install man pages for nixvim options clipboard.register = "unnamedplus"; # use system clipboard instead of internal registers globals.mapleader = " "; extraConfigLua = '' vim.api.nvim_set_keymap("", '', '', { noremap = true, silent = true }) ''; extraConfigVim = '' " ================ Persistent Undo ================== " Keep undo history across sessions, by storing in file. " Only works all the time. if has('persistent_undo') silent !mkdir ~/.vim/backups > /dev/null 2>&1 set undodir=~/.vim/backups set undofile endif " ================ Vim Wiki config ================= " See :h vimwiki_list for info on registering wiki paths let wiki_0 = {} let wiki_0.path = '~/docs/wiki/' let wiki_0.index = 'home' let wiki_0.syntax = 'markdown' let wiki_0.ext = '.md' " ==== dbui let g:db_ui_hide_schemas = ['pg_catalog', 'pg_toast_temp.*', 'pg_toast'] let g:db_ui_use_nerd_fonts = 1 let g:db_ui_execute_on_save = 0 ''; }; }