69 lines
1.5 KiB
Nix
69 lines
1.5 KiB
Nix
{
|
|
pkgs,
|
|
...
|
|
}:
|
|
{
|
|
|
|
home.packages = [
|
|
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";
|
|
};
|
|
|
|
}
|