{ pkgs, ... }: let homedir = builtins.getEnv "HOME"; gitCommitTemplate = ./lib/git-commit-template; gpgid = "D09299626FA78AF8"; in { imports = [ ./lib/common.nix ./lib/email.nix ]; home = { sessionVariables.PATH = "/usr/local/opt/mysql@5.7/bin:${homedir}/bin:${homedir}/.cabal/bin:${homedir}/.local/bin:$PATH"; packages = with pkgs; [ muchsync hledger-web hledger-ui (haskellPackages.ghcWithPackages (ps: with ps; [hledger])) ]; }; programs = { git = { enable = true; userName = "Ben Sima"; userEmail = "ben@bsima.me"; ignores = [ "*~" "*.swp" ]; package = pkgs.gitAndTools.gitFull; signing = { key = gpgid; signByDefault = false; }; aliases = { authors = "shortlog -s -n"; }; extraConfig = '' [push] default = simple [commit] template = ${gitCommitTemplate} [sendemail] smtpuser = ben@bsima.me smptserverport = 587 smptserver = mail.bsima.me chainreplyto = false composeencoding = UTF-8 ''; }; emacs = { enable = true; extraPackages = epkgs: import ./lib/emacs-packages.nix { inherit epkgs; }; }; }; }