{ pkgs, ... }: let getPkgs = builtins.attrValues; in { hm.home.packages = getPkgs { inherit (pkgs) direnv ; } ++ [ # from https://gist.github.com/mikeboiko/58ab730afd65bca0a125bc12b6f4670d (pkgs.writeTextFile { name = "rbw-helper"; text = '' declare -A params if [ "x$1" == "xget" ]; then read line while [ -n "$line" ]; do key=$\{line%%=*} value=$\{line#*=} params[$key]=$value read line done if [ "x$\{params['protocol']}" != "xhttps" ]; then exit fi if [ -z "$\{params["host"]}" ]; then exit fi rbw ls > /dev/null 2>&1 if [ $? -ne 0 ]; then echo "Please login to rbw to use git credential helper" > /dev/stderr exit fi user=`rbw get --full $\{params["host"]} | grep "Username:" | cut -d' ' -f2-` pass=`rbw get $\{params["host"]}` if [ "x$user" == "x" ] || [ "x$pass" == "x" ]; then echo "Couldn't find host in rbw DB." > /dev/stderr exit fi echo username=$user echo password=$pass fi ''; executable = true; destination = "/bin/git-credential-rw"; }) ]; hm.programs.direnv = { enable = true; nix-direnv = { enable = true; }; enableFishIntegration = true; }; hm.programs.git = { enable = true; userName = "atagen"; userEmail = "boss@atagen.co"; }; }