{ pkgs, ... }: { home.packages = [ pkgs.ag pkgs.cabal2nix pkgs.cloc pkgs.dict pkgs.entr pkgs.fasd pkgs.file pkgs.gimp pkgs.jq pkgs.keepassx pkgs.keybase pkgs.keybase-gui pkgs.mplayer pkgs.mpv pkgs.offlineimap pkgs.pavucontrol pkgs.pinentry pkgs.qtpass pkgs.racket pkgs.ranger pkgs.ripgrep pkgs.scrot pkgs.shutter pkgs.stack2nix pkgs.tdesktop pkgs.transmission-gtk pkgs.tree pkgs.unrar pkgs.vlc pkgs.vpnc pkgs.w3m pkgs.wakatime pkgs.yank pkgs.youtube-dl ]; programs.emacs = { enable = true; extraPackages = epkgs: with epkgs; [ ace-window ag avy bbdb cider circe clj-refactor clojure-mode company counsel counsel-dash counsel-projectile define-word diminish dired-narrow editorconfig emojify #eww #eww-lnum git-gutter-plus git-timemachine haskell-mode #hindent-mode hlint-refactor #hoon-mode #ibuffer ibuffer-vc #indent-guide-mode ivy #link-hint # FIXME lispy magit markdown-mode multiple-cursors neotree nix-mode nix-mode org-bullets org-plus-contrib org-pomodoro org-super-agenda org-trello pass projectile racket-mode restclient s shakespeare-mode #sky-color-clock smart-mode-line solarized-theme swiper sx undo-tree wakatime-mode which-key yaml-mode yasnippet ]; }; programs.vim = { enable = true; plugins = [ "colors-solarized" "fugitive" ]; settings = { ignorecase = true; expandtab = true; history = 1000; tabstop = 4; }; extraConfig = '' " Auto-switch theme let hour = strftime("%H") if 6 <= hour && hour < 18 set background=light else set background=dark endif colorscheme solarized filetype plugin indent on set cuc cul " Crosshair set cc=80 " 80 column lines set linebreak " Break lines at word (requires Wrap lines) set showbreak=+++ " Wrap-broken line prefix set textwidth=80 " Line wrap (number of cols) set showmatch " Highlight matching brace set visualbell " Use visual bell (no beeping) set hlsearch " Highlight all search results set smartcase " Enable smart-case search set incsearch " Searches for strings incrementally ret autoindent " Auto-indent new lines set shiftwidth=4 " Number of auto-indent spaces set smartindent " Enable smart-indent set smarttab " Enable smart-tabs set ruler " Show row and column ruler information set backspace=indent,eol,start " Backspace behaviour imap fd " alternate escape set wildmenu " cool menu effect set mouse=a ''; }; programs.firefox = { enable = true; enableIcedTea = true; }; services.gpg-agent = { enable = true; defaultCacheTtl = 600; enableSshSupport = true; }; programs.home-manager.enable = true; programs.home-manager.path = https://github.com/rycee/home-manager/archive/release-18.03.tar.gz; }