{ pkgs, ...}: let duplicity = pkgs.duplicity.overrideAttrs (oldAttrs: rec { propagatedBuildInputs = oldAttrs.propagatedBuildInputs ++ [ pkgs.backblaze-b2 ]; doCheck = false; doInstallCheck = false; }); in { imports = [ ./development.nix ./gui.nix ./hacking.nix ./gaming.nix ]; home.packages = with pkgs; [ # Some base applications htop socat tmux mpv manpages fzf bat python2 python3 keepassxc qemu unzip keybase mc bat jdk11 ranger exa usbutils pciutils gnupg libusb mosh reptyr rtv # backup things duplicity ]; programs.home-manager.enable = true; programs.zsh = { enable = true; shellAliases = { l = "ls -lh"; ll = "ls -lah"; }; history = { extended = true; ignoreDups = true; share = false; }; oh-my-zsh = { enable = true; plugins = [ "git" ]; }; }; programs.man.enable = true; programs.vim = { enable = true; #extraConfig = builtins.readFile vim/vimrc; extraConfig = '' let mapleader="," set hlsearch map n :silent :nohlsearch nnoremap :NERDTreeToggle nnoremap :NERDTreeVCS @% let NERDTreeQuitOnOpen=1 set shortmess=atI set cursorline set incsearch set lazyredraw set encoding=utf8 set title " Learn proper keybindings dude! noremap noremap noremap noremap inoremap inoremap inoremap inoremap " Backups not needed set nobackup set nowritebackup " CoC settings inoremap coc#refresh() " Use `[g` and `]g` to navigate diagnostics nmap [g (coc-diagnostic-prev) nmap ]g (coc-diagnostic-next) " Remap keys for gotos nmap gd (coc-definition) nmap gy (coc-type-definition) nmap gi (coc-implementation) nmap gr (coc-references) " Use K to show documentation in preview window nnoremap K :call show_documentation() function! s:show_documentation() if (index(['vim','help'], &filetype) >= 0) execute 'h '.expand('') else call CocAction('doHover') endif endfunction " Do default action for next item. nnoremap j :CocNext " Do default action for previous item. nnoremap k :CocPrev ''; settings = { expandtab = true; number = true; relativenumber = true; tabstop = 4; shiftwidth = 4; }; plugins = with pkgs.vimPlugins; [ idris-vim sensible vim-airline The_NERD_tree fugitive vim-gitgutter rust-vim coc-rls coc-nvim coc-json ]; }; programs.ssh = { enable = true; }; programs.direnv = { enable = true; enableBashIntegration = true; enableZshIntegration = true; }; services.keybase.enable = true; }